| [bits 16] |
| mov al, 0 |
| mov byte al, 0 |
| mov al, byte 0 |
| mov byte al, byte 0 |
| ;mov al, word 0 |
| mov byte [0], 0 |
| mov [0], word 0 |
| mov dword [0], dword 0 |
| ;mov [0], 0 |
| mov eax, 0 |
| mov dword eax, 0 |
| mov eax, dword 0 |
| ;mov eax, word 0 |
| mov dword eax, dword 0 |
| mov bx, 1h |
| mov cr0, eax |
| mov cr2, ebx |
| mov cr4, edx |
| mov ecx, cr4 |
| mov dr3, edx |
| mov eax, dr7 |
| |
| mov [0], al |
| mov [0], bl |
| mov [1], al |
| mov [1], bl |
| mov ecx, edx |
| movsx ax, [ecx] |
| ;movzx eax, [edx] |
| movzx ebx, word [eax] |
| movzx ecx, byte [ebx] |
| fnstenv [es:ecx+5] |
| nop |
| |
| push cs |
| push word cs |
| push dword cs ; NASM unsupported |
| push ds |
| push es |
| push fs |
| push gs |
| pop ds |
| pop es |
| pop fs |
| pop gs |
| xchg al, bl |
| xchg al, [0] |
| xchg [0], al |
| xchg ax, bx |
| xchg cx, ax |
| xchg [0], ax |
| xchg [0], cx |
| xchg cx, [0] |
| xchg eax, edx |
| xchg ebx, eax |
| xchg ecx, ebx |
| xchg [0], ecx |
| xchg eax, [0] |
| in al, 55 |
| in ax, 99 |
| in eax, 100 |
| in al, dx |
| in ax, dx |
| in eax, dx |
| out 55, al |
| out 66, ax |
| out 77, eax |
| out dx, al |
| out dx, ax |
| out dx, eax |
| lea bx, [5] |
| lea ebx, [32] |
| lds si, [0] |
| lds ax, [1] |
| ;lds ax, dword [1] |
| les di, [5] |
| lds eax, [7] |
| les ebx, [9] |
| lss esp, [11] |
| lfs ecx, [13] |
| lgs edx, [15] |
| ;; TODO: add arith stuff |
| imul eax, 4 |
| aad |
| aam |
| aad 5 |
| aam 10 |
| shl al, 5 |
| shl bl, 1 |
| shl cl, cl |
| shr ax, 5 |
| shr bx, 1 |
| shr cx, cl |
| shld ax, bx, 5 |
| shrd cx, dx, cl |
| shld ecx, edx, 10 |
| shld eax, ebx, cl |
| retn |
| retf |
| retn 8 |
| retf 16 |
| enter 10, 12 |
| setc al |
| setc [0] |
| ;; TODO: add bit manip |
| int 10 |
| ;; TODO: add bound |
| ;; TODO: add protection control |
| fld dword [0] |
| fld qword [4] |
| fld tword [16] |
| fld st2 |
| fstp dword [0] |
| fstp st4 |
| fild word [0] |
| fild dword [4] |
| fild qword [8] |
| fbld [100] |
| fbld tword [10] |
| fst dword [1] |
| fst qword [8] |
| fst st1 |
| fxch |
| fxch st1 |
| fxch st0, st2 |
| fxch st2, st0 |
| fcom dword [0] |
| fcom qword [8] |
| fcom st1 |
| fcom st0, st0 |
| fucom st7 |
| fucomp st0, st5 |
| fadd dword [10] |
| fadd qword [5] |
| fadd st0 |
| fadd st0, st5 |
| fadd to st7 |
| fadd st6, st0 |
| faddp ;NASM unsupported |
| faddp st2 |
| faddp st5, st0 |
| fiadd word [10] |
| fisub dword [4] |
| fldcw [0] |
| fnstcw [4] |
| fstcw word [4] |
| fnstsw [8] |
| fnstsw ax |
| fstsw word [0] |
| fstsw ax |
| ffree st1 |
| ffreep st0 ;NASM unsupported |
| jc short label |
| jc label |
| label: |
| jz label |
| jz near label |
| loop label |
| jcxz label |
| jecxz label |
| call label |
| call [label] |
| call dword [label] |
| ;jmp label |
| jmp short label |
| jmp near label |
| jmp far [label] |
| jmp far dword [label] |
| call far word [label] |
| loop short label |
| jcxz short label |
| jecxz short label |
| [bits 16] |
| push si |
| push esi |
| [bits 32] |
| push esi |