| .intel_syntax noprefix |
| .text |
| start: |
| |
| # operand sizes |
| |
| add al, [eax] |
| add al, byte ptr [eax] |
| add ax, [eax] |
| add ax, word ptr [eax] |
| add eax, [eax] |
| add eax, dword ptr [eax] |
| add byte ptr [eax], 1 |
| add dword ptr [eax], 1 |
| add word ptr [eax], 1 |
| addpd xmm0, [eax] |
| addpd xmm0, xmmword ptr [eax] |
| addps xmm0, [eax] |
| addps xmm0, xmmword ptr [eax] |
| addsd xmm0, [eax] |
| addsd xmm0, qword ptr [eax] |
| addss xmm0, [eax] |
| addss xmm0, dword ptr [eax] |
| bound ax, dword ptr [ecx] |
| bound eax, qword ptr [ecx] |
| call word ptr [eax] |
| call dword ptr [eax] |
| call fword ptr [eax] |
| cmps [esi], byte ptr es:[edi] |
| cmps dword ptr [esi], es:[edi] |
| cmps word ptr [esi], word ptr es:[edi] |
| cmpxchg8b qword ptr [eax] |
| fadd dword ptr [eax] |
| fadd qword ptr [eax] |
| fbld [eax] |
| fbld tbyte ptr [eax] |
| fbstp [eax] |
| fbstp tbyte ptr [eax] |
| fiadd dword ptr [eax] |
| fiadd word ptr [eax] |
| fild dword ptr [eax] |
| fild qword ptr [eax] |
| fild word ptr [eax] |
| fist dword ptr [eax] |
| fist word ptr [eax] |
| fistp dword ptr [eax] |
| fistp qword ptr [eax] |
| fistp word ptr [eax] |
| fisttp dword ptr [eax] |
| fisttp qword ptr [eax] |
| fisttp word ptr [eax] |
| fld dword ptr [eax] |
| fld qword ptr [eax] |
| fld tbyte ptr [eax] |
| fldcw [eax] |
| fldcw word ptr [eax] |
| fldenv [eax] |
| fldenvd [eax] |
| fldenvw [eax] |
| fst dword ptr [eax] |
| fst qword ptr [eax] |
| fstp dword ptr [eax] |
| fstp qword ptr [eax] |
| fstp tbyte ptr [eax] |
| lds ax, [eax] |
| lds eax, [eax] |
| lds ax, dword ptr [eax] |
| lds eax, fword ptr [eax] |
| lea eax, [eax] |
| lea eax, byte ptr [eax] |
| lea eax, dword ptr [eax] |
| lea eax, fword ptr [eax] |
| lea eax, qword ptr [eax] |
| lea eax, tbyte ptr [eax] |
| lea eax, word ptr [eax] |
| lea eax, xmmword ptr [eax] |
| lgdt [eax] |
| lgdtd [eax] |
| lgdtw [eax] |
| movs es:[edi], byte ptr [esi] |
| movs dword ptr es:[edi], [esi] |
| movs word ptr es:[edi], word ptr [esi] |
| movsx eax, byte ptr [eax] |
| movsx eax, word ptr [eax] |
| paddb mm0, [eax] |
| paddb mm0, qword ptr [eax] |
| paddb xmm0, [eax] |
| paddb xmm0, xmmword ptr [eax] |
| pinsrw mm0, word ptr [eax], 3 |
| pinsrw xmm0, word ptr [eax], 7 |
| push dword ptr [eax] |
| xlat [ebx] |
| xlat byte ptr [ebx] |
| xlatb |
| |
| # memory operands |
| |
| mov eax, dword ptr [byte+eax] |
| mov eax, dword ptr byte[eax] |
| mov eax, [dword+eax] |
| mov eax, dword[eax] |
| mov eax, [fword+eax] |
| mov eax, fword[eax] |
| mov eax, [qword+eax+dword] |
| mov eax, qword[eax+dword] |
| mov eax, [tbyte+eax+dword*2] |
| mov eax, tbyte[eax+dword*2] |
| mov eax, [word+eax*dword] |
| mov eax, word[eax*dword] |
| movzx eax, word ptr byte ptr [eax] |
| movzx eax, byte ptr [word ptr [eax]] |
| movzx eax, word ptr es:[eax] |
| movzx eax, byte ptr [fs:[eax]] |
| movzx eax, gs:word ptr [eax] |
| |
| mov eax, FLAT:1 |
| mov eax, FLAT:[1] |
| mov eax, gs:1 |
| mov eax, gs:[1] |
| mov eax, x |
| mov eax, FLAT:x |
| mov eax, gs:x |
| mov eax, [x] |
| |
| mov eax, [eax*1] |
| mov eax, [eax*+1] |
| mov eax, [+1*eax] |
| mov eax, [eax*+2] |
| mov eax, [+2*eax] |
| mov eax, [ecx*dword] |
| mov eax, [dword*ecx] |
| mov eax, 1[eax] |
| mov eax, [eax]+1 |
| mov eax, [eax - 5 + ecx] |
| mov eax, [eax + 5 and 3 + ecx] |
| mov eax, [eax + 5 * 3 + ecx] |
| mov eax, [oword][eax] |
| mov eax, [eax][oword] |
| mov eax, xmmword[eax][ecx] |
| mov eax, [eax]+[ecx] |
| mov eax, [eax]+1[ecx] |
| mov eax, [eax+2[ecx]] |
| mov eax, [eax][ecx]+3 |
| mov eax, [4][eax][ecx] |
| mov eax, [eax][5][ecx] |
| mov eax, [eax][ecx][6] |
| mov eax, [eax+ecx*(2+2)+7] |
| mov eax, [eax+(ecx+2)*4] |
| mov eax, [[eax]] |
| mov eax, [eax[ecx]] |
| mov eax, [[eax][ecx]] |
| mov eax, es:[eax] |
| mov eax, fs:gs:[eax] |
| |
| # expressions |
| |
| push + 1 |
| push - 1 |
| push not 1 |
| push 1 + 1 |
| push 2 - 1 |
| push 2 * 2 |
| push 3 / 2 |
| push 3 mod 2 |
| push 4 shl 1 |
| push 5 shr 2 |
| push 6 and 3 |
| push 7 xor 4 |
| push 8 or 5 |
| |
| push +dword |
| push -dword |
| push not dword |
| push not +dword |
| push not -dword |
| push not not dword |
| |
| # offset expressions |
| |
| mov eax, 1 |
| mov eax, [1] |
| mov eax, dword ptr 1 |
| mov eax, dword ptr [1] |
| mov eax, offset x |
| mov eax, offset flat:x |
| mov eax, offset gs:x |
| mov eax, offset [x] |
| mov eax, offset flat:[x] |
| mov eax, offset gs:[x] |
| mov eax, [offset x] |
| mov eax, [offset [x]] |
| mov eax, dword ptr [offset [x]] |
| mov eax, FLAT:[offset [x]] |
| mov eax, gs:[offset [x]] |
| mov eax, offset [dword ptr [x]] |
| mov eax, offset [gs:[x]] |
| mov eax, [eax + offset x] |
| mov eax, [eax + offset 1] |
| mov eax, [offset x + eax] |
| mov eax, [offset 1 + eax] |
| mov eax, offset x + 1[eax] |
| mov eax, [eax] + offset x |
| mov eax, [eax] + offset 1 |
| mov eax, offset x + [1] |
| mov eax, [offset x] - [1] |
| mov eax, offset x + es:[2] |
| mov eax, offset x + offset es:[3] |
| mov eax, [4] + offset x |
| mov eax, [5] + [offset x] |
| mov eax, ss:[6] + offset x |
| mov eax, ss:[7] + [offset x] |
| |
| # other operands |
| call 3:5 |
| jmp 5:[3] |
| call dword ptr xtrn |
| jmp word ptr xtrn |
| call [xtrn] |
| jmp [xtrn] |