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