15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)[bits 16] 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov al, 0 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov byte al, 0 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov al, byte 0 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov byte al, byte 0 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles);mov al, word 0 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov byte [0], 0 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov [0], word 0 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov dword [0], dword 0 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles);mov [0], 0 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov eax, 0 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov dword eax, 0 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov eax, dword 0 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles);mov eax, word 0 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov dword eax, dword 0 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov bx, 1h 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov cr0, eax 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov cr2, ebx 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov cr4, edx 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov ecx, cr4 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov dr3, edx 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov eax, dr7 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov [0], al 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov [0], bl 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)mov [1], al 27mov [1], bl 28mov ecx, edx 29movsx ax, [ecx] 30;movzx eax, [edx] 31movzx ebx, word [eax] 32movzx ecx, byte [ebx] 33fnstenv [es:ecx+5] 34nop 35 36push cs 37push word cs 38push dword cs ; NASM unsupported 39push ds 40push es 41push fs 42push gs 43pop ds 44pop es 45pop fs 46pop gs 47xchg al, bl 48xchg al, [0] 49xchg [0], al 50xchg ax, bx 51xchg cx, ax 52xchg [0], ax 53xchg [0], cx 54xchg cx, [0] 55xchg eax, edx 56xchg ebx, eax 57xchg ecx, ebx 58xchg [0], ecx 59xchg eax, [0] 60in al, 55 61in ax, 99 62in eax, 100 63in al, dx 64in ax, dx 65in eax, dx 66out 55, al 67out 66, ax 68out 77, eax 69out dx, al 70out dx, ax 71out dx, eax 72lea bx, [5] 73lea ebx, [32] 74lds si, [0] 75lds ax, [1] 76;lds ax, dword [1] 77les di, [5] 78lds eax, [7] 79les ebx, [9] 80lss esp, [11] 81lfs ecx, [13] 82lgs edx, [15] 83;; TODO: add arith stuff 84imul eax, 4 85aad 86aam 87aad 5 88aam 10 89shl al, 5 90shl bl, 1 91shl cl, cl 92shr ax, 5 93shr bx, 1 94shr cx, cl 95shld ax, bx, 5 96shrd cx, dx, cl 97shld ecx, edx, 10 98shld eax, ebx, cl 99retn 100retf 101retn 8 102retf 16 103enter 10, 12 104setc al 105setc [0] 106;; TODO: add bit manip 107int 10 108;; TODO: add bound 109;; TODO: add protection control 110fld dword [0] 111fld qword [4] 112fld tword [16] 113fld st2 114fstp dword [0] 115fstp st4 116fild word [0] 117fild dword [4] 118fild qword [8] 119fbld [100] 120fbld tword [10] 121fst dword [1] 122fst qword [8] 123fst st1 124fxch 125fxch st1 126fxch st0, st2 127fxch st2, st0 128fcom dword [0] 129fcom qword [8] 130fcom st1 131fcom st0, st0 132fucom st7 133fucomp st0, st5 134fadd dword [10] 135fadd qword [5] 136fadd st0 137fadd st0, st5 138fadd to st7 139fadd st6, st0 140faddp ;NASM unsupported 141faddp st2 142faddp st5, st0 143fiadd word [10] 144fisub dword [4] 145fldcw [0] 146fnstcw [4] 147fstcw word [4] 148fnstsw [8] 149fnstsw ax 150fstsw word [0] 151fstsw ax 152ffree st1 153ffreep st0 ;NASM unsupported 154jc short label 155jc label 156label: 157jz label 158jz near label 159loop label 160jcxz label 161jecxz label 162call label 163call [label] 164call dword [label] 165;jmp label 166jmp short label 167jmp near label 168jmp far [label] 169jmp far dword [label] 170call far word [label] 171loop short label 172jcxz short label 173jecxz short label 174[bits 16] 175push si 176push esi 177[bits 32] 178push esi 179