1 .intel_syntax noprefix 2 .equiv byte, 1 3 .equiv word, 2 4 .equiv dword, 4 5 .equiv fword, 6 6 .equiv qword, 8 7 .equiv tbyte, 10 8 .equiv oword, 16 9 .equiv xmmword, 16 10 .text 11start: 12 13 # operand sizes 14 15 add al, [eax] 16 add al, byte ptr [eax] 17 add ax, [eax] 18 add ax, word ptr [eax] 19 add eax, [eax] 20 add eax, dword ptr [eax] 21 add byte ptr [eax], 1 22 add dword ptr [eax], 1 23 add word ptr [eax], 1 24 addpd xmm0, [eax] 25 addpd xmm0, xmmword ptr [eax] 26 addps xmm0, [eax] 27 addps xmm0, xmmword ptr [eax] 28 addsd xmm0, [eax] 29 addsd xmm0, qword ptr [eax] 30 addss xmm0, [eax] 31 addss xmm0, dword ptr [eax] 32 call word ptr [eax] 33 call dword ptr [eax] 34 call fword ptr [eax] 35 cmps [esi], byte ptr es:[edi] 36 cmps dword ptr [esi], es:[edi] 37 cmps word ptr [esi], word ptr es:[edi] 38 cmpxchg8b qword ptr [eax] 39 fadd dword ptr [eax] 40 fadd qword ptr [eax] 41 fbld [eax] 42 fbld tbyte ptr [eax] 43 fbstp [eax] 44 fbstp tbyte ptr [eax] 45 fiadd dword ptr [eax] 46 fiadd word ptr [eax] 47 fild dword ptr [eax] 48 fild qword ptr [eax] 49 fild word ptr [eax] 50 fist dword ptr [eax] 51 fist word ptr [eax] 52 fistp dword ptr [eax] 53 fistp qword ptr [eax] 54 fistp word ptr [eax] 55 fisttp dword ptr [eax] 56 fisttp qword ptr [eax] 57 fisttp word ptr [eax] 58 fld dword ptr [eax] 59 fld qword ptr [eax] 60 fld tbyte ptr [eax] 61 fldcw [eax] 62 fldcw word ptr [eax] 63 fldenv [eax] 64 fldenvd [eax] 65 fldenvw [eax] 66 fst dword ptr [eax] 67 fst qword ptr [eax] 68 fstp dword ptr [eax] 69 fstp qword ptr [eax] 70 fstp tbyte ptr [eax] 71 lds ax, [eax] 72 lds eax, [eax] 73 lds ax, dword ptr [eax] 74 lds eax, fword ptr [eax] 75 lea eax, [eax] 76 lea eax, byte ptr [eax] 77 lea eax, dword ptr [eax] 78 lea eax, fword ptr [eax] 79 lea eax, qword ptr [eax] 80 lea eax, tbyte ptr [eax] 81 lea eax, word ptr [eax] 82 lea eax, xmmword ptr [eax] 83 lgdt [eax] 84 lgdtd [eax] 85 lgdtw [eax] 86 movs es:[edi], byte ptr [esi] 87 movs dword ptr es:[edi], [esi] 88 movs word ptr es:[edi], word ptr [esi] 89 movsx eax, byte ptr [eax] 90 movsx eax, word ptr [eax] 91 paddb mm0, [eax] 92 paddb mm0, qword ptr [eax] 93 paddb xmm0, [eax] 94 paddb xmm0, xmmword ptr [eax] 95 pinsrw mm0, word ptr [eax], 3 96 pinsrw xmm0, word ptr [eax], 7 97 push dword ptr [eax] 98 xlat [ebx] 99 xlat byte ptr [ebx] 100 xlatb 101 102 # memory operands 103 104 mov eax, dword ptr [byte+eax] 105 mov eax, dword ptr byte[eax] 106 mov eax, [dword+eax] 107 mov eax, dword[eax] 108 mov eax, [fword+eax] 109 mov eax, fword[eax] 110 mov eax, [qword+eax+dword] 111 mov eax, qword[eax+dword] 112 mov eax, [tbyte+eax+dword*2] 113 mov eax, tbyte[eax+dword*2] 114 mov eax, [word+eax*dword] 115 mov eax, word[eax*dword] 116 117 mov eax, [eax*+2] 118 mov eax, [+2*eax] 119 mov eax, [ecx*dword] 120 mov eax, [dword*ecx] 121 mov eax, 1[eax] 122 mov eax, [eax]+1 123 mov eax, [eax - 5 + ecx] 124 mov eax, [eax + 5 and 3 + ecx] 125 mov eax, [eax + 5*3 + ecx] 126 mov eax, [oword][eax] 127 mov eax, [eax][oword] 128 mov eax, xmmword[eax][ecx] 129 mov eax, [eax]+1[ecx] 130 mov eax, [eax][ecx]+1 131 mov eax, [1][eax][ecx] 132 mov eax, [eax][1][ecx] 133 mov eax, [eax][ecx][1] 134 mov eax, [[eax]] 135 mov eax, [eax[ecx]] 136 mov eax, [[eax][ecx]] 137 mov eax, es:[eax] 138 139 # expressions 140 141 push + 1 142 push - 1 143 push not 1 144 push 1 + 1 145 push 2 - 1 146 push 2 * 2 147 push 3 / 2 148 push 3 mod 2 149 push 4 shl 1 150 push 5 shr 2 151 push 6 and 3 152 push 7 xor 4 153 push 8 or 5 154 155 push +dword 156 push -dword 157 push not dword 158 push not +dword 159 push not -dword 160 push not not dword 161 162 # offset expressions 163 164 mov eax, offset x 165 mov eax, offset flat:x 166 mov eax, flat:x 167 mov eax, offset [x] 168 mov eax, offset flat:[x] 169 mov eax, flat:[x] 170 mov eax, [offset x] 171 mov eax, [eax + offset x] 172 mov eax, [eax + offset 1] 173 mov eax, [offset x + eax] 174 mov eax, offset x+1[eax] 175 mov eax, [eax] + offset x 176 mov eax, [eax] + offset 1 177 mov eax, offset x + [1] 178 mov eax, [offset x] - [1] 179 mov eax, offset x + es:[2] 180 mov eax, offset x + offset es:[3] 181 mov eax, [4] + offset x 182 mov eax, [5] + [offset x] 183 mov eax, ss:[6] + offset x 184 mov eax, ss:[7] + [offset x] 185 mov eax, dword ptr [8] 186 187 # other operands 188 call 3:5 189 jmp 5:3 190 call dword ptr xtrn 191 jmp word ptr xtrn 192 193 # Force a good alignment. 194 .p2align 4,0 195