|
|
1.1 root 1: 37 \fBaaa\fR Adjust after addition
2: d5 0a \fBaad\fR Adjust AX before division
3: d4 0a \fBaam\fR Adjust AX after multiply
4: 3f \fBaas\fR Adjust AL after subtraction
5: .sp \n(pDu
6: \fBadc\fR Add with carry
7: 83 /2 \fBadcl\fR \fIimm8s,rm32\fR
8: 83 /2 \fBadcw\fR \fIimm8s,rm16\fR
9: 14 \fBadcb\fR \fIimm8,al\fR
10: 15 \fBadcw\fR \fIimm16,ax\fR
11: 15 \fBadcl\fR \fIimm32,eax\fR
12: 15 \fBadcl\fR \fIimm32\fR
13: 80 /2 \fBadcb\fR \fIimm8,rm8\fR
14: 81 /2 \fBadcw\fR \fIimm16,rm16\fR
15: 81 /2 \fBadcl\fR \fIimm32,rm32\fR
16: 12 /r \fBadcb\fR \fIrm8,r8\fR
17: 13 /r \fBadcw\fR \fIrm16,r16\fR
18: 13 /r \fBadcl\fR \fIrm32,r32\fR
19: 10 /r \fBadcb\fR \fIr8,rm8\fR
20: 11 /r \fBadcw\fR \fIr16,rm16\fR
21: 11 /r \fBadcl\fR \fIr32,rm32\fR
22: .sp \n(pDu
23: \fBadd\fR Add
24: 83 /0 \fBaddl\fR \fIimm8s,rm32\fR
25: 83 /0 \fBaddw\fR \fIimm8s,rm16\fR
26: 04 \fBaddb\fR \fIimm8,al\fR
27: 05 \fBaddw\fR \fIimm16,ax\fR
28: 05 \fBaddl\fR \fIimm32,eax\fR
29: 05 \fBaddl\fR \fIimm32\fR
30: 80 /0 \fBaddb\fR \fIimm8,rm8\fR
31: 81 /0 \fBaddw\fR \fIimm16,rm16\fR
32: 81 /0 \fBaddl\fR \fIimm32,rm32\fR
33: 02 /r \fBaddb\fR \fIrm8,r8\fR
34: 03 /r \fBaddw\fR \fIrm16,r16\fR
35: 03 /r \fBaddl\fR \fIrm32,r32\fR
36: 00 /r \fBaddb\fR \fIr8,rm8\fR
37: 01 /r \fBaddw\fR \fIr16,rm16\fR
38: 01 /r \fBaddl\fR \fIr32,rm32\fR
39: .sp \n(pDu
40: \fBand\fR Logical AND
41: 83 /4 \fBandl\fR \fIimm8s,rm32\fR
42: 83 /4 \fBandw\fR \fIimm8s,rm16\fR
43: 24 \fBandb\fR \fIimm8,al\fR
44: 25 \fBandw\fR \fIimm16,ax\fR
45: 25 \fBandl\fR \fIimm32,eax\fR
46: 25 \fBandl\fR \fIimm32\fR
47: 80 /4 \fBandb\fR \fIimm8,rm8\fR
48: 81 /4 \fBandw\fR \fIimm16,rm16\fR
49: 81 /4 \fBandl\fR \fIimm32,rm32\fR
50: 22 /r \fBandb\fR \fIrm8,r8\fR
51: 23 /r \fBandw\fR \fIrm16,r16\fR
52: 23 /r \fBandl\fR \fIrm32,r32\fR
53: 20 /r \fBandb\fR \fIr8,rm8\fR
54: 21 /r \fBandw\fR \fIr16,rm16\fR
55: 21 /r \fBandl\fR \fIr32,rm32\fR
56: .sp \n(pDu
57: 63 /r \fBarpl\fR \fIr16,rm16\fR Adjust RPL field of selector
58: .sp \n(pDu
59: \fBbound\fR Check if register is within bounds
60: 62 /r \fBboundw\fR \fIm16,r16\fR
61: 62 /r \fBboundl\fR \fIm32,r32\fR
62: .sp \n(pDu
63: \fBbsf\fR Bit scan forward
64: 0F bc \fBbsfw\fR \fIrm16,r16\fR
65: 0F bc \fBbsfl\fR \fIrm32,r32\fR
66: .sp \n(pDu
67: \fBbsr\fR Bit scan reverse
68: 0F bd \fBbsrw\fR \fIrm16,r16\fR
69: 0F bd \fBbsrl\fR \fIrm32,r32\fR
70: .sp \n(pDu
71: \fBbt\fR Save bit in carry flag
72: 0F a3 \fBbtw\fR \fIr16,rm16\fR
73: 0F a3 \fBbtl\fR \fIr32,rm32\fR
74: 0F ba /4 \fBbtw\fR \fIimm8,rm16\fR
75: 0F ba /4 \fBbtl\fR \fIimm8,rm32\fR
76: .sp \n(pDu
77: \fBbtc\fR Bit test and complement
78: 0F bb \fBbtcw\fR \fIr16,rm16\fR
79: 0F bb \fBbtcl\fR \fIr32,rm32\fR
80: 0F ba /7 \fBbtcw\fR \fIimm8,rm16\fR
81: 0F ba /7 \fBbtcl\fR \fIimm8,rm32\fR
82: .sp \n(pDu
83: \fBbtr\fR Bit test and reset
84: 0F b3 \fBbtrw\fR \fIr16,rm16\fR
85: 0F b3 \fBbtrl\fR \fIr32,rm32\fR
86: 0F ba /6 \fBbtrw\fR \fIimm8,rm16\fR
87: 0F ba /6 \fBbtrl\fR \fIimm8,rm32\fR
88: .sp \n(pDu
89: \fBbts\fR Bit test and set
90: 0F ab \fBbtsw\fR \fIr16,rm16\fR
91: 0F ab \fBbtsl\fR \fIr32,rm32\fR
92: 0F ba /5 \fBbtsw\fR \fIimm8,rm16\fR
93: 0F ba /5 \fBbtsl\fR \fIimm8,rm32\fR
94: .sp \n(pDu
95: e8 \fBcall\fR \fIreli\fR Call Procedure
96: 98 \fBcbtw\fR Sign extend AL
97: 98 \fBcbw\fR Sign extend AL
98: 99 \fBcdq\fR Double word to quad word
99: f8 \fBclc\fR Clear carry
100: fc \fBcld\fR Clear direction Flag
101: fa \fBcli\fR Clear interrupt Flag
102: 99 \fBcltd\fR Double word to quad word
103: 0F 06 \fBclts\fR Clear task-switched flag in CR0
104: f5 \fBcmc\fR Complement carry flag
105: .sp \n(pDu
106: \fBcmp\fR Compare
107: 83 /7 \fBcmpl\fR \fIimm8s,rm32\fR
108: 83 /7 \fBcmpw\fR \fIimm8s,rm16\fR
109: 3c \fBcmpb\fR \fIimm8,al\fR
110: 3d \fBcmpw\fR \fIimm16,ax\fR
111: 3d \fBcmpl\fR \fIimm32,eax\fR
112: 3d \fBcmpl\fR \fIimm32\fR
113: 80 /7 \fBcmpb\fR \fIimm8,rm8\fR
114: 81 /7 \fBcmpw\fR \fIimm16,rm16\fR
115: 81 /7 \fBcmpl\fR \fIimm32,rm32\fR
116: 3a /r \fBcmpb\fR \fIrm8,r8\fR
117: 3b /r \fBcmpw\fR \fIrm16,r16\fR
118: 3b /r \fBcmpl\fR \fIrm32,r32\fR
119: 38 /r \fBcmpb\fR \fIr8,rm8\fR
120: 39 /r \fBcmpw\fR \fIr16,rm16\fR
121: 39 /r \fBcmpl\fR \fIr32,rm32\fR
122: .sp \n(pDu
123: a6 \fBcmpsb\fR Compare bytes
124: a7 \fBcmpsl\fR Compare long
125: a7 \fBcmpsw\fR Compare words
126: 99 \fBcwd\fR Word to double word
127: 98 \fBcwde\fR Sign extend AX
128: 99 \fBcwtd\fR Word to double word
129: 98 \fBcwtl\fR Sign extend AX
130: 27 \fBdaa\fR Decimal adjust after addition
131: 2f \fBdas\fR Decimal adjust after subtraction
132: .sp \n(pDu
133: \fBdec\fR Decrement by 1
134: 48 +r \fBdecw\fR \fIr16\fR
135: 48 +r \fBdecl\fR \fIr32\fR
136: fe /1 \fBdecb\fR \fIrm8\fR
137: ff /1 \fBdecw\fR \fIrm16\fR
138: ff /1 \fBdecl\fR \fIrm32\fR
139: .sp \n(pDu
140: \fBdiv\fR Unsigned divide
141: f6 /6 \fBdivb\fR \fIrm8,al\fR
142: f6 /6 \fBdivb\fR \fIrm8\fR
143: f7 /6 \fBdivw\fR \fIrm16,ax\fR
144: f7 /6 \fBdivw\fR \fIrm16\fR
145: f7 /6 \fBdivl\fR \fIrm32,eax\fR
146: f7 /6 \fBdivl\fR \fIrm32\fR
147: .sp \n(pDu
148: c8 \fBenter\fR \fIimm8,imm16\fR Make stack frame for procedure
149: d9 f0 \fBf2xm1\fR ST = 2 ** ST - 1
150: d9 e1 \fBfabs\fR ST = abs(ST)
151: .sp \n(pDu
152: \fBfadd\fR Floating add
153: d8 /0 \fBfadds\fR \fIm32\fR
154: dc /0 \fBfaddl\fR \fIm64\fR
155: d8 c0 +r \fBfadd\fR \fIfpreg,st0\fR
156: d8 c0 +r \fBfadd\fR \fIfpreg\fR
157: de c1 \fBfadd\fR
158: dc c0 +r \fBfadd\fR \fIst0,fpreg\fR
159: .sp \n(pDu
160: \fBfaddp\fR Floating add and pop
161: de c0 +r \fBfaddp\fR \fIst0,fpreg\fR
162: de c0 +r \fBfaddp\fR \fIfpreg\fR
163: de c1 \fBfaddp\fR
164: .sp \n(pDu
165: df /4 \fBfbld\fR \fIm80\fR Load Binary Coded Decimal
166: df /6 \fBfbstp\fR \fIm80\fR Store Binary Coded Decimal and Pop
167: d9 e0 \fBfchs\fR Change Floating Sign
168: 9B db e2 \fBfclex\fR Clear floating point exception flags
169: .sp \n(pDu
170: \fBfcom\fR Floating Compare
171: d8 /2 \fBfcoms\fR \fIm32\fR
172: dc /2 \fBfcoml\fR \fIm64\fR
173: d8 d0 +r \fBfcom\fR \fIfpreg,st0\fR
174: d8 d0 +r \fBfcom\fR \fIfpreg\fR
175: d8 d1 \fBfcom\fR
176: .sp \n(pDu
177: \fBfcomp\fR Floating Compare and Pop
178: d8 /3 \fBfcomps\fR \fIm32\fR
179: dc /3 \fBfcompl\fR \fIm64\fR
180: d8 d8 +r \fBfcomp\fR \fIfpreg\fR
181: d8 d9 \fBfcomp\fR
182: .sp \n(pDu
183: de d9 \fBfcompp\fR Floating Compare and pop twice
184: d9 ff \fBfcos\fR Cosine
185: d9 f6 \fBfdecstp\fR Decrement Stack Top Pointer
186: .sp \n(pDu
187: \fBfdiv\fR Floating divide
188: d8 /6 \fBfdivs\fR \fIm32\fR
189: dc /6 \fBfdivl\fR \fIm64\fR
190: d8 f0 +r \fBfdiv\fR \fIfpreg,st0\fR
191: d8 f0 +r \fBfdiv\fR \fIfpreg\fR
192: de f1 \fBfdiv\fR
193: dc f0 +r \fBfdiv\fR \fIst0,fpreg\fR
194: .sp \n(pDu
195: \fBfdivp\fR Floating divide and pop
196: de f0 +r \fBfdivp\fR \fIst0,fpreg\fR
197: de f0 +r \fBfdivp\fR \fIfpreg\fR
198: de f1 \fBfdivp\fR
199: .sp \n(pDu
200: \fBfdivr\fR Reverse floating divide
201: d8 /7 \fBfdivrs\fR \fIm32\fR
202: dc /7 \fBfdivrl\fR \fIm64\fR
203: d8 f8 +r \fBfdivr\fR \fIfpreg,st0\fR
204: d8 f8 +r \fBfdivr\fR \fIfpreg\fR
205: de f9 \fBfdivr\fR
206: dc f8 +r \fBfdivr\fR \fIst0,fpreg\fR
207: .sp \n(pDu
208: \fBfdivrp\fR Reverse floating divide and pop
209: de f8 +r \fBfdivrp\fR \fIst0,fpreg\fR
210: de f8 +r \fBfdivrp\fR \fIfpreg\fR
211: de f9 \fBfdivrp\fR
212: .sp \n(pDu
213: dd c0 +r \fBffree\fR \fIfpreg\fR Free Floating Point Register
214: .sp \n(pDu
215: \fBfiadd\fR Add integer to float
216: da /0 \fBfiaddl\fR \fIm32\fR
217: de /0 \fBfiadds\fR \fIm16\fR
218: .sp \n(pDu
219: \fBficom\fR Compare float to integer
220: da /2 \fBficoml\fR \fIm32\fR
221: de /2 \fBficoms\fR \fIm16\fR
222: .sp \n(pDu
223: \fBficomp\fR Compare float to integer and pop
224: da /3 \fBficompl\fR \fIm32\fR
225: de /3 \fBficomps\fR \fIm16\fR
226: .sp \n(pDu
227: \fBfidiv\fR Divide float by integer
228: da /6 \fBfidivl\fR \fIm32\fR
229: de /6 \fBfidivs\fR \fIm16\fR
230: .sp \n(pDu
231: \fBfidivr\fR Reverse divide integer by float
232: da /7 \fBfidivrl\fR \fIm32\fR
233: de /7 \fBfidivrs\fR \fIm16\fR
234: .sp \n(pDu
235: \fBfild\fR Load integer
236: db /0 \fBfildl\fR \fIm32\fR
237: df /0 \fBfilds\fR \fIm16\fR
238: df /5 \fBfildll\fR \fIm64\fR
239: .sp \n(pDu
240: \fBfimul\fR Multiply integer to float
241: da /1 \fBfimull\fR \fIm32\fR
242: de /1 \fBfimuls\fR \fIm16\fR
243: .sp \n(pDu
244: d9 f7 \fBfincstp\fR Increment Stack Top Pointer
245: 9B db e3 \fBfinit\fR Initialize Floating Point Unit
246: .sp \n(pDu
247: \fBfist\fR Store integer
248: db /2 \fBfistl\fR \fIm32\fR
249: df /2 \fBfists\fR \fIm16\fR
250: .sp \n(pDu
251: \fBfistp\fR Store integer and pop
252: db /3 \fBfistpl\fR \fIm32\fR
253: df /3 \fBfistps\fR \fIm16\fR
254: df /7 \fBfistpll\fR \fIm32\fR
255: .sp \n(pDu
256: \fBfisub\fR Subtract integer from float
257: da /4 \fBfisubl\fR \fIm32\fR
258: de /4 \fBfisubs\fR \fIm16\fR
259: .sp \n(pDu
260: \fBfisubr\fR Reverse subtract integer from float
261: da /5 \fBfisubrl\fR \fIm32\fR
262: de /5 \fBfisubrs\fR \fIm16\fR
263: .sp \n(pDu
264: \fBfld\fR Load Real
265: d9 c0 +r \fBfld\fR \fIfpreg\fR
266: d9 /0 \fBflds\fR \fIm32\fR
267: dd /0 \fBfldl\fR \fIm32\fR
268: db /5 \fBfldt\fR \fIm64\fR
269: .sp \n(pDu
270: d9 e8 \fBfld1\fR Load Constant 1
271: d9 /5 \fBfldcw\fR \fIm32\fR Load Floating Point Control Word
272: d9 /4 \fBfldenv\fR \fIm32\fR Load FPU Environment
273: d9 ea \fBfldl2e\fR Load Constant log(e) base 2
274: d9 e9 \fBfldl2t\fR Load Constant log(10) base 2
275: d9 ec \fBfldlg2\fR Load Constant log(2) base 10
276: d9 ed \fBfldln2\fR Load Constant log(2) base e
277: d9 eb \fBfldpi\fR Load Constant pi
278: d9 ee \fBfldz\fR Load Constant 0.0
279: .sp \n(pDu
280: \fBfmul\fR Floating multiply
281: d8 /1 \fBfmuls\fR \fIm32\fR
282: dc /1 \fBfmull\fR \fIm64\fR
283: d8 c8 +r \fBfmul\fR \fIfpreg,st0\fR
284: d8 c8 +r \fBfmul\fR \fIfpreg\fR
285: de c9 \fBfmul\fR
286: dc c8 +r \fBfmul\fR \fIst0,fpreg\fR
287: .sp \n(pDu
288: \fBfmulp\fR Floating multiply and pop
289: de c8 +r \fBfmulp\fR \fIst0,fpreg\fR
290: de c8 +r \fBfmulp\fR \fIfpreg\fR
291: de c9 \fBfmulp\fR
292: .sp \n(pDu
293: db e2 \fBfnclex\fR Clear floating point exception flags no wait
294: db e3 \fBfninit\fR Initialize Floating Point Unit no wait
295: d9 d0 \fBfnop\fR No Operation
296: dd /6 \fBfnsave\fR \fIm32\fR Store FPU State no wait
297: d9 /7 \fBfnstcw\fR \fIm32\fR Store Control Word no wait
298: d9 /6 \fBfnstenv\fR \fIm32\fR Store FPU Environment no wait
299: .sp \n(pDu
300: \fBfnstsw\fR Store Status Word no wait
301: dd /7 \fBfnstsw\fR \fIm16\fR
302: df e0 \fBfnstsw\fR \fIax\fR
303: .sp \n(pDu
304: d9 f3 \fBfpatan\fR Partial Arctangent
305: d9 f8 \fBfprem\fR Partial Remainder toward 0
306: d9 f5 \fBfprem1\fR Partial Remainder < 1/2 modulus
307: d9 f2 \fBfptan\fR Partial Tangent
308: d9 fc \fBfrndint\fR Round To Integer
309: dd /4 \fBfrstor\fR \fIm32\fR Resore FPU State
310: db f4 \fBfrstpm\fR set 287XL real mode (nop for 387/486)
311: 9B dd /6 \fBfsave\fR \fIm32\fR Store FPU State
312: d9 fd \fBfscale\fR Scale
313: db e4 \fBfsetpm\fR set 287 protected mode (nop for 387/486)
314: d9 fe \fBfsin\fR Sine
315: d9 fb \fBfsincos\fR Sine and Cosine
316: d9 fa \fBfsqrt\fR Square Root
317: .sp \n(pDu
318: \fBfst\fR Store Real
319: dd d0 +r \fBfst\fR \fIfpreg\fR
320: d9 /2 \fBfsts\fR \fIm32\fR
321: dd /2 \fBfstl\fR \fIm64\fR
322: .sp \n(pDu
323: 9B d9 /7 \fBfstcw\fR \fIm32\fR Store Control Word
324: 9B d9 /6 \fBfstenv\fR \fIm32\fR Store FPU Environment
325: .sp \n(pDu
326: \fBfstp\fR Store Real and pop
327: dd d8 +r \fBfstp\fR \fIfpreg\fR
328: d9 /3 \fBfstps\fR \fIm32\fR
329: dd /3 \fBfstpl\fR \fIm64\fR
330: db /7 \fBfstpt\fR \fIm80\fR
331: .sp \n(pDu
332: \fBfstsw\fR Store Status Word
333: 9B dd /7 \fBfstsw\fR \fIm16\fR
334: 9B df e0 \fBfstsw\fR \fIax\fR
335: .sp \n(pDu
336: \fBfsub\fR Floating subtract
337: d8 /4 \fBfsubs\fR \fIm32\fR
338: dc /4 \fBfsubl\fR \fIm64\fR
339: d8 e0 +r \fBfsub\fR \fIfpreg,st0\fR
340: d8 e0 +r \fBfsub\fR \fIfpreg\fR
341: de e1 \fBfsub\fR
342: dc e0 +r \fBfsub\fR \fIst0,fpreg\fR
343: .sp \n(pDu
344: \fBfsubp\fR Floating subtract and pop
345: de e0 +r \fBfsubp\fR \fIst0,fpreg\fR
346: de e0 +r \fBfsubp\fR \fIfpreg\fR
347: de e1 \fBfsubp\fR
348: .sp \n(pDu
349: \fBfsubr\fR Reverse floating subtract
350: d8 /5 \fBfsubrs\fR \fIm32\fR
351: dc /5 \fBfsubrl\fR \fIm64\fR
352: d8 e8 +r \fBfsubr\fR \fIfpreg,st0\fR
353: d8 e8 +r \fBfsubr\fR \fIfpreg\fR
354: de e9 \fBfsubr\fR
355: dc e8 +r \fBfsubr\fR \fIst0,fpreg\fR
356: .sp \n(pDu
357: \fBfsubrp\fR Reverse floating subtract and pop
358: de e8 +r \fBfsubrp\fR \fIst0,fpreg\fR
359: de e8 +r \fBfsubrp\fR \fIfpreg\fR
360: de e9 \fBfsubrp\fR
361: .sp \n(pDu
362: d9 e4 \fBftst\fR Test
363: .sp \n(pDu
364: \fBfucom\fR Unordered compare real
365: dd e0 +r \fBfucom\fR \fIst0,fpreg\fR
366: dd e0 +r \fBfucom\fR \fIfpreg\fR
367: dd e1 \fBfucom\fR
368: .sp \n(pDu
369: \fBfucomp\fR Unordered compare real and pop
370: dd e8 +r \fBfucomp\fR \fIst0,fpreg\fR
371: dd e8 +r \fBfucomp\fR \fIfpreg\fR
372: dd e9 \fBfucomp\fR
373: .sp \n(pDu
374: da e9 \fBfucompp\fR Unordered compare %st %st1 and pop twice
375: 9b \fBfwait\fR Wait for coprocessor
376: d9 e5 \fBfxam\fR Examine
377: .sp \n(pDu
378: \fBfxch\fR Floating exchange
379: d9 c8 +r \fBfxch\fR \fIst0,fpreg\fR
380: d9 c8 +r \fBfxch\fR \fIfpreg,st0\fR
381: d9 c8 +r \fBfxch\fR \fIfpreg\fR
382: d9 c9 \fBfxch\fR
383: .sp \n(pDu
384: d9 f4 \fBfxtract\fR Extract Exponent and Significand
385: d9 f1 \fBfyl2x\fR %st1 * log(%st) base 2
386: d9 f9 \fBfyl2xp1\fR %st1 * log(%st + 1.0) base 2
387: f4 \fBhlt\fR Halt
388: ff /2 \fBicall\fR \fIrm32\fR Call indirect
389: .sp \n(pDu
390: \fBidiv\fR Signed divide
391: f6 /7 \fBidivb\fR \fIrm8,al\fR
392: f6 /7 \fBidivb\fR \fIrm8\fR
393: f7 /7 \fBidivw\fR \fIrm16,ax\fR
394: f7 /7 \fBidivw\fR \fIrm16\fR
395: f7 /7 \fBidivl\fR \fIrm32,eax\fR
396: f7 /7 \fBidivl\fR \fIrm32\fR
397: .sp \n(pDu
398: ff /4 \fBijmp\fR \fIrm32\fR Jump indirect
399: ff /3 \fBilcall\fR \fIm32\fR Long call indirect
400: ff /5 \fBiljmp\fR \fIm32\fR Long jump indirect
401: .sp \n(pDu
402: \fBimul\fR Signed multiply
403: f6 /5 \fBimulb\fR \fIrm8\fR
404: f7 /5 \fBimulw\fR \fIrm16\fR
405: f7 /5 \fBimull\fR \fIrm32\fR
406: 0F af /r \fBimulw\fR \fIrm16,r16\fR
407: 0F af /r \fBimull\fR \fIrm32,r32\fR
408: 6b \fBimulw\fR \fIimm8s,rm16,r16\fR
409: 6b \fBimull\fR \fIimm8s,rm32,r32\fR
410: 6b /r \fBimulw\fR \fIimm8s,r16\fR
411: 6b /r \fBimull\fR \fIimm8s,r32\fR
412: 69 \fBimulw\fR \fIimm16,rm16,r16\fR
413: 69 \fBimull\fR \fIimm32,rm32,r32\fR
414: 69 /r \fBimulw\fR \fIimm16,r16\fR
415: 69 /r \fBimull\fR \fIimm32,r32\fR
416: .sp \n(pDu
417: \fBin\fR Input from port
418: ec \fBin\fR \fIdx,al\fR
419: ed \fBin\fR \fIdx,ax\fR
420: ed \fBin\fR \fIdx,eax\fR
421: e4 \fBinb\fR \fIimm8\fR
422: e5 \fBinw\fR \fIimm8\fR
423: e5 \fBinl\fR \fIimm8\fR
424: ec \fBinb\fR \fI(dx)\fR
425: ed \fBinw\fR \fI(dx)\fR
426: ed \fBinl\fR \fI(dx)\fR
427: .sp \n(pDu
428: \fBinc\fR Increment by one
429: 40 +r \fBincw\fR \fIr16\fR
430: 40 +r \fBincl\fR \fIr32\fR
431: fe /0 \fBincb\fR \fIrm8\fR
432: ff /0 \fBincw\fR \fIrm16\fR
433: ff /0 \fBincl\fR \fIrm32\fR
434: .sp \n(pDu
435: 6c \fBinsb\fR Input byte from port into ES:(E)DI
436: 6c \fBinsb\fR \fI(dx)\fR Input byte from port into ES:(E)DI
437: 6d \fBinsl\fR Input long from port into ES:(E)DI
438: 6d \fBinsl\fR \fI(dx)\fR Input long from port into ES:(E)DI
439: 6d \fBinsw\fR Input word from port into ES:(E)DI
440: 6d \fBinsw\fR \fI(dx)\fR Input word from port into ES:(E)DI
441: cc \fBint\fR \fIcon3\fR Interrupt 3
442: cd \fBint\fR \fIimm8\fR Interrupt
443: ce \fBinto\fR Int 4 if overflow is 1
444: cf \fBiret\fR Interrupt return
445: cf \fBiretd\fR Different mode different opcode ?
446: 07 \fBja\fR \fIreli\fR Jump if above
447:
448: 03 \fBjae\fR \fIreli\fR Jump if above or equal
449: 02 \fBjb\fR \fIreli\fR Jump if below
450: 06 \fBjbe\fR \fIreli\fR Jump if below or equal
451: 02 \fBjc\fR \fIreli\fR Jump if carry
452: e3 \fBjcxz\fR \fIrel8\fR Jump if CX is zero
453: 04 \fBje\fR \fIreli\fR Jump if equal
454: e3 \fBjecxz\fR \fIrel8\fR Jump if CX is zero
455:
456: 0f \fBjg\fR \fIreli\fR Jump if greater
457: 0d \fBjge\fR \fIreli\fR Jump if greater or equal
458: 0c \fBjl\fR \fIreli\fR Jump if less
459: 0e \fBjle\fR \fIreli\fR Jump if less or equal
460: e9 \fBjmp\fR \fIreli\fR Jump absolute
461: 06 \fBjna\fR \fIreli\fR Jump if not above
462: 02 \fBjnae\fR \fIreli\fR Jump if not above or equal
463: 03 \fBjnb\fR \fIreli\fR Jump if not below
464: 07 \fBjnbe\fR \fIreli\fR Jump if not below or equal
465: 03 \fBjnc\fR \fIreli\fR Jump if no carry
466: 05 \fBjne\fR \fIreli\fR Jump if not equal
467: 0e \fBjng\fR \fIreli\fR Jump if not greater
468: 0c \fBjnge\fR \fIreli\fR Jump if not greater or equal
469: 0d \fBjnl\fR \fIreli\fR Jump if not less
470: 0f \fBjnle\fR \fIreli\fR Jump if not less or equal
471: 01 \fBjno\fR \fIreli\fR Jump if not overflow
472: 0b \fBjnp\fR \fIreli\fR Jump if not parity
473: 09 \fBjns\fR \fIreli\fR Jump if not sign
474: 05 \fBjnz\fR \fIreli\fR Jump if not zero
475: 00 \fBjo\fR \fIreli\fR Jump if overflow
476: 0a \fBjp\fR \fIreli\fR Jump if parity
477: 0a \fBjpe\fR \fIreli\fR Jump if parity even
478: 0b \fBjpo\fR \fIreli\fR Jump if parity odd
479: 08 \fBjs\fR \fIreli\fR Jump if sign
480: 04 \fBjz\fR \fIreli\fR Jump if zero
481: 04 \fBjz\fR \fIreli\fR Jump if zero
482: 9f \fBlahf\fR Load flags into AH register
483: .sp \n(pDu
484: \fBlar\fR Load access rights byte
485: 0F 02 /r \fBlarw\fR \fIrm16,r16\fR
486: 0F 02 /r \fBlarl\fR \fIrm32,r32\fR
487: .sp \n(pDu
488: 9a \fBlcall\fR \fIimm16x,imm32\fR Long call
489: .sp \n(pDu
490: \fBlds\fR load full pointer DS:r16
491: c5 /r \fBldsw\fR \fIm16,r16\fR
492: c5 /r \fBldsl\fR \fIm32,r32\fR
493: .sp \n(pDu
494: \fBlea\fR Load effective address
495: 8d /r \fBleaw\fR \fIm16,r16\fR
496: 8d /r \fBleal\fR \fIm32,r32\fR
497: .sp \n(pDu
498: c9 \fBleave\fR High level procedure exit
499: .sp \n(pDu
500: \fBles\fR Load full pointer ES:r16
501: c4 /r \fBlesw\fR \fIm16,r16\fR
502: c4 /r \fBlesl\fR \fIm32,r32\fR
503: .sp \n(pDu
504: \fBlfs\fR Load full pointer FS:r16
505: 0F b4 /r \fBlfsw\fR \fIm16,r16\fR
506: 0F b4 /r \fBlfsl\fR \fIm32,r32\fR
507: .sp \n(pDu
508: \fBlgdt\fR Load m into DGTR
509: 0F 01 /2 \fBlgdtw\fR \fIm16\fR
510: 0F 01 /2 \fBlgdtl\fR \fIm32\fR
511: .sp \n(pDu
512: \fBlgs\fR Load full pointer GS:r16
513: 0F b5 /r \fBlgsw\fR \fIm16,r16\fR
514: 0F b5 /r \fBlgsl\fR \fIm32,r32\fR
515: .sp \n(pDu
516: \fBlidt\fR Load m into IDTR
517: 0F 01 /3 \fBlidtw\fR \fIm16\fR
518: 0F 01 /3 \fBlidtl\fR \fIm32\fR
519: .sp \n(pDu
520: ea \fBljmp\fR \fIimm16x,imm32\fR Long jump
521: 0F 00 /2 \fBlldt\fR \fIrm16\fR Load local descriptor table register
522: 0F 01 /6 \fBlmsw\fR \fIrm16\fR Load machine status word
523: f0 \fBlock\fR Assert lock signal for next instruction
524: ac \fBlodsb\fR Load string operand byte
525: ad \fBlodsl\fR Load string operand long
526: ad \fBlodsw\fR Load string operand word
527: e2 \fBloop\fR \fIrel8\fR Dec count jmp if count <> 0
528: e1 \fBloope\fR \fIrel8\fR Dec count jmp if count <> 0 and ZF = 1
529: e0 \fBloopne\fR \fIrel8\fR Dec count jmp if count <> 0 and ZF = 0
530: e0 \fBloopnz\fR \fIrel8\fR Dec count jmp if count <> 0 and ZF = 0
531: e1 \fBloopz\fR \fIrel8\fR Dec count jmp if count <> 0 and ZF = 1
532: cb \fBlret\fR Far return
533: ca \fBlret\fR \fIimm16\fR Far return pop imm16 bytes of parms
534: .sp \n(pDu
535: \fBlsl\fR Load segment limit
536: 0F 03 /r \fBlslw\fR \fIrm16,r16\fR
537: 0F 03 /r \fBlsll\fR \fIrm32,r32\fR
538: .sp \n(pDu
539: \fBlss\fR Load full pointer SS:r16
540: 0F b2 /r \fBlssw\fR \fIm16,r16\fR
541: 0F b2 /r \fBlssl\fR \fIm32,r32\fR
542: .sp \n(pDu
543: 0F 00 /3 \fBltr\fR \fIrm16\fR Load task register
544: .sp \n(pDu
545: \fBmov\fR Move data
546: a0 \fBmovb\fR \fImoffs,al\fR
547: a1 \fBmovw\fR \fImoffs,ax\fR
548: a1 \fBmovl\fR \fImoffs,eax\fR
549: a2 \fBmovb\fR \fIal,moffs\fR
550: a3 \fBmovw\fR \fIax,moffs\fR
551: a3 \fBmovl\fR \fIeax,moffs\fR
552: 8a /r \fBmovb\fR \fIrm8,r8\fR
553: 8b /r \fBmovw\fR \fIrm16,r16\fR
554: 8b /r \fBmovl\fR \fIrm32,r32\fR
555: 88 /r \fBmovb\fR \fIr8,rm8\fR
556: 89 /r \fBmovw\fR \fIr16,rm16\fR
557: 89 /r \fBmovl\fR \fIr32,rm32\fR
558: 8c /r \fBmovw\fR \fIsreg,rm16\fR
559: 8e /r \fBmovw\fR \fIrm16,sreg\fR
560: b0 +r \fBmovb\fR \fIimm8,r8\fR
561: b8 +r \fBmovw\fR \fIimm16,r16\fR
562: b8 +r \fBmovl\fR \fIimm32,r32\fR
563: c6 \fBmovb\fR \fIimm8,rm8\fR
564: c7 \fBmovw\fR \fIimm16,rm16\fR
565: c7 \fBmovl\fR \fIimm32,rm32\fR
566: 0F 20 /r \fBmovl\fR \fIctlreg,r32\fR
567: 0F 22 /r \fBmovl\fR \fIr32,ctlreg\fR
568: 0F 21 /r \fBmovl\fR \fIdbreg,r32\fR
569: 0F 23 /r \fBmovl\fR \fIr32,dbreg\fR
570: 0F 24 /r \fBmovl\fR \fItreg,r32\fR
571: 0F 26 /r \fBmovl\fR \fIr32,treg\fR
572: .sp \n(pDu
573: a4 \fBmovsb\fR Move bytes
574: a5 \fBmovsl\fR Move longs
575: a5 \fBmovsw\fR Move words
576: .sp \n(pDu
577: \fBmovsx\fR Move with sign extend
578: 0F be /r \fBmovsxb\fR \fIrm8,r16\fR
579: 0F be /r \fBmovsxb\fR \fIrm8,r32\fR
580: 0F bf /r \fBmovsxw\fR \fIrm16,r32\fR
581: 0F be /r \fBmovsbw\fR \fIrm8,r16\fR
582: 0F be /r \fBmovsbl\fR \fIrm8,r32\fR
583: 0F bf /r \fBmovswl\fR \fIrm16,r32\fR
584: .sp \n(pDu
585: \fBmovzx\fR Move with zero extend
586: 0F b6 /r \fBmovzxb\fR \fIrm8,r16\fR
587: 0F b6 /r \fBmovzxb\fR \fIrm8,r32\fR
588: 0F b7 /r \fBmovzxw\fR \fIrm16,r32\fR
589: 0F b6 /r \fBmovzbw\fR \fIrm8,r16\fR
590: 0F b6 /r \fBmovzbl\fR \fIrm8,r32\fR
591: 0F b7 /r \fBmovzwl\fR \fIrm16,r32\fR
592: .sp \n(pDu
593: \fBmul\fR Unsigned multiply
594: f6 /4 \fBmulb\fR \fIrm8,al\fR
595: f6 /4 \fBmulb\fR \fIrm8\fR
596: f7 /4 \fBmulw\fR \fIrm16,ax\fR
597: f7 /4 \fBmulw\fR \fIrm16\fR
598: f7 /4 \fBmull\fR \fIrm32,eax\fR
599: f7 /4 \fBmull\fR \fIrm32\fR
600: .sp \n(pDu
601: \fBneg\fR Negate
602: f6 /3 \fBnegb\fR \fIrm8\fR
603: f7 /3 \fBnegw\fR \fIrm16\fR
604: f7 /3 \fBnegl\fR \fIrm32\fR
605: .sp \n(pDu
606: 90 \fBnop\fR No operation
607: .sp \n(pDu
608: \fBnot\fR Invert bits
609: f6 /2 \fBnotb\fR \fIrm8\fR
610: f7 /2 \fBnotw\fR \fIrm16\fR
611: f7 /2 \fBnotl\fR \fIrm32\fR
612: .sp \n(pDu
613: \fBor\fR Logical inclusive OR
614: 83 /1 \fBorl\fR \fIimm8s,rm32\fR
615: 83 /1 \fBorw\fR \fIimm8s,rm16\fR
616: 0c \fBorb\fR \fIimm8,al\fR
617: 0d \fBorw\fR \fIimm16,ax\fR
618: 0d \fBorl\fR \fIimm32,eax\fR
619: 0d \fBorl\fR \fIimm32\fR
620: 80 /1 \fBorb\fR \fIimm8,rm8\fR
621: 81 /1 \fBorw\fR \fIimm16,rm16\fR
622: 81 /1 \fBorl\fR \fIimm32,rm32\fR
623: 0a /r \fBorb\fR \fIrm8,r8\fR
624: 0b /r \fBorw\fR \fIrm16,r16\fR
625: 0b /r \fBorl\fR \fIrm32,r32\fR
626: 08 /r \fBorb\fR \fIr8,rm8\fR
627: 09 /r \fBorw\fR \fIr16,rm16\fR
628: 09 /r \fBorl\fR \fIr32,rm32\fR
629: .sp \n(pDu
630: \fBout\fR Output from port
631: e6 \fBoutb\fR \fIimm8\fR
632: e7 \fBoutw\fR \fIimm8\fR
633: e7 \fBoutl\fR \fIimm8\fR
634: ee \fBoutb\fR \fI(dx)\fR
635: ef \fBoutw\fR \fI(dx)\fR
636: ef \fBoutl\fR \fI(dx)\fR
637: ee \fBout\fR \fIal,dx\fR
638: ef \fBout\fR \fIax,dx\fR
639: ef \fBout\fR \fIeax,dx\fR
640: .sp \n(pDu
641: 6e \fBoutsb\fR Output byte to port into ES:(E)DI
642: 6f \fBoutsl\fR Output long to port into ES:(E)DI
643: 6f \fBoutsw\fR Output word to port into ES:(E)DI
644: .sp \n(pDu
645: \fBpop\fR Pop a word from the stack
646: 58 +r \fBpopw\fR \fIr16\fR
647: 58 +r \fBpopl\fR \fIr32\fR
648: 1f \fBpopw\fR \fIds\fR
649: 07 \fBpopw\fR \fIes\fR
650: 17 \fBpopw\fR \fIss\fR
651: 0F a1 \fBpopw\fR \fIfs\fR
652: 0F a9 \fBpopw\fR \fIgs\fR
653: 8f /0 \fBpopw\fR \fIm16\fR
654: 8f /0 \fBpopl\fR \fIm32\fR
655: .sp \n(pDu
656: \fBpopa\fR Pop all
657: 61 \fBpopaw\fR
658: 61 \fBpopal\fR
659: .sp \n(pDu
660: \fBpopf\fR Pop stack into flags
661: 9d \fBpopfw\fR
662: 9d \fBpopfl\fR
663: .sp \n(pDu
664: \fBpush\fR Push a word on the stack
665: 50 +r \fBpushw\fR \fIr16\fR
666: 50 +r \fBpushl\fR \fIr32\fR
667: 6a \fBpushb\fR \fIimm8s\fR
668: 68 \fBpushw\fR \fIimm16\fR
669: 68 \fBpushl\fR \fIimm32\fR
670: 0e \fBpushw\fR \fIcs\fR
671: 1e \fBpushw\fR \fIds\fR
672: 06 \fBpushw\fR \fIes\fR
673: 16 \fBpushw\fR \fIss\fR
674: 0F a0 \fBpushw\fR \fIfs\fR
675: 0F a8 \fBpushw\fR \fIgs\fR
676: ff /6 \fBpushw\fR \fIm16\fR
677: ff /6 \fBpushl\fR \fIm32\fR
678: .sp \n(pDu
679: \fBpusha\fR Push all
680: 60 \fBpushaw\fR
681: 60 \fBpushal\fR
682: .sp \n(pDu
683: \fBpushf\fR Push flags
684: 9c \fBpushfw\fR
685: 9c \fBpushfl\fR
686: .sp \n(pDu
687: \fBrcl\fR Rotate carry left
688: d0 /2 \fBrclb\fR \fIcon1,rm8\fR
689: d0 /2 \fBrclb\fR \fIrm8\fR
690: d2 /2 \fBrclb\fR \fIcl,rm8\fR
691: c0 /2 \fBrclb\fR \fIimm8,rm8\fR
692: d1 /2 \fBrclw\fR \fIcon1,rm16\fR
693: d1 /2 \fBrclw\fR \fIrm16\fR
694: d3 /2 \fBrclw\fR \fIcl,rm16\fR
695: c1 /2 \fBrclw\fR \fIimm8,rm16\fR
696: d1 /2 \fBrcll\fR \fIcon1,rm32\fR
697: d1 /2 \fBrcll\fR \fIrm32\fR
698: d3 /2 \fBrcll\fR \fIcl,rm32\fR
699: c1 /2 \fBrcll\fR \fIimm8,rm32\fR
700: .sp \n(pDu
701: \fBrcr\fR Rotate carry right
702: d0 /3 \fBrcrb\fR \fIcon1,rm8\fR
703: d0 /3 \fBrcrb\fR \fIrm8\fR
704: d2 /3 \fBrcrb\fR \fIcl,rm8\fR
705: c0 /3 \fBrcrb\fR \fIimm8,rm8\fR
706: d1 /3 \fBrcrw\fR \fIcon1,rm16\fR
707: d1 /3 \fBrcrw\fR \fIrm16\fR
708: d3 /3 \fBrcrw\fR \fIcl,rm16\fR
709: c1 /3 \fBrcrw\fR \fIimm8,rm16\fR
710: d1 /3 \fBrcrl\fR \fIcon1,rm32\fR
711: d1 /3 \fBrcrl\fR \fIrm32\fR
712: d3 /3 \fBrcrl\fR \fIcl,rm32\fR
713: c1 /3 \fBrcrl\fR \fIimm8,rm32\fR
714: .sp \n(pDu
715: f3 \fBrep\fR rep following instruction CX times
716: f3 \fBrepe\fR repe following instruction CX times or eq
717: f2 \fBrepne\fR repne following instruction CX times or ne
718: f2 \fBrepnz\fR alternate name for repnz
719: f3 \fBrepz\fR alternate name for repe
720: c3 \fBret\fR Return
721: c2 \fBret\fR \fIimm16\fR Return pop imm16 bytes of parms
722: .sp \n(pDu
723: \fBrol\fR Rotate left
724: d0 /0 \fBrolb\fR \fIcon1,rm8\fR
725: d0 /0 \fBrolb\fR \fIrm8\fR
726: d2 /0 \fBrolb\fR \fIcl,rm8\fR
727: c0 /0 \fBrolb\fR \fIimm8,rm8\fR
728: d1 /0 \fBrolw\fR \fIcon1,rm16\fR
729: d1 /0 \fBrolw\fR \fIrm16\fR
730: d3 /0 \fBrolw\fR \fIcl,rm16\fR
731: c1 /0 \fBrolw\fR \fIimm8,rm16\fR
732: d1 /0 \fBroll\fR \fIcon1,rm32\fR
733: d1 /0 \fBroll\fR \fIrm32\fR
734: d3 /0 \fBroll\fR \fIcl,rm32\fR
735: c1 /0 \fBroll\fR \fIimm8,rm32\fR
736: .sp \n(pDu
737: \fBror\fR Rotate right
738: d0 /1 \fBrorb\fR \fIcon1,rm8\fR
739: d0 /1 \fBrorb\fR \fIrm8\fR
740: d2 /1 \fBrorb\fR \fIcl,rm8\fR
741: c0 /1 \fBrorb\fR \fIimm8,rm8\fR
742: d1 /1 \fBrorw\fR \fIcon1,rm16\fR
743: d1 /1 \fBrorw\fR \fIrm16\fR
744: d3 /1 \fBrorw\fR \fIcl,rm16\fR
745: c1 /1 \fBrorw\fR \fIimm8,rm16\fR
746: d1 /1 \fBrorl\fR \fIcon1,rm32\fR
747: d1 /1 \fBrorl\fR \fIrm32\fR
748: d3 /1 \fBrorl\fR \fIcl,rm32\fR
749: c1 /1 \fBrorl\fR \fIimm8,rm32\fR
750: .sp \n(pDu
751: 9e \fBsahf\fR Store AH into flags
752: .sp \n(pDu
753: \fBsal\fR Shift arithmetic left
754: d0 /4 \fBsalb\fR \fIcon1,rm8\fR
755: d0 /4 \fBsalb\fR \fIrm8\fR
756: d2 /4 \fBsalb\fR \fIcl,rm8\fR
757: c0 /4 \fBsalb\fR \fIimm8,rm8\fR
758: d1 /4 \fBsalw\fR \fIcon1,rm16\fR
759: d1 /4 \fBsalw\fR \fIrm16\fR
760: d3 /4 \fBsalw\fR \fIcl,rm16\fR
761: c1 /4 \fBsalw\fR \fIimm8,rm16\fR
762: d1 /4 \fBsall\fR \fIcon1,rm32\fR
763: d1 /4 \fBsall\fR \fIrm32\fR
764: d3 /4 \fBsall\fR \fIcl,rm32\fR
765: c1 /4 \fBsall\fR \fIimm8,rm32\fR
766: .sp \n(pDu
767: \fBsar\fR Shift arithmetic right
768: d0 /7 \fBsarb\fR \fIcon1,rm8\fR
769: d0 /7 \fBsarb\fR \fIrm8\fR
770: d2 /7 \fBsarb\fR \fIcl,rm8\fR
771: c0 /7 \fBsarb\fR \fIimm8,rm8\fR
772: d1 /7 \fBsarw\fR \fIcon1,rm16\fR
773: d1 /7 \fBsarw\fR \fIrm16\fR
774: d3 /7 \fBsarw\fR \fIcl,rm16\fR
775: c1 /7 \fBsarw\fR \fIimm8,rm16\fR
776: d1 /7 \fBsarl\fR \fIcon1,rm32\fR
777: d1 /7 \fBsarl\fR \fIrm32\fR
778: d3 /7 \fBsarl\fR \fIcl,rm32\fR
779: c1 /7 \fBsarl\fR \fIimm8,rm32\fR
780: .sp \n(pDu
781: \fBsbb\fR Subtract with borrow
782: 83 /3 \fBsbbl\fR \fIimm8s,rm32\fR
783: 83 /3 \fBsbbw\fR \fIimm8s,rm16\fR
784: 1c \fBsbbb\fR \fIimm8,al\fR
785: 1d \fBsbbw\fR \fIimm16,ax\fR
786: 1d \fBsbbl\fR \fIimm32,eax\fR
787: 1d \fBsbbl\fR \fIimm32\fR
788: 80 /3 \fBsbbb\fR \fIimm8,rm8\fR
789: 81 /3 \fBsbbw\fR \fIimm16,rm16\fR
790: 81 /3 \fBsbbl\fR \fIimm32,rm32\fR
791: 1a /r \fBsbbb\fR \fIrm8,r8\fR
792: 1b /r \fBsbbw\fR \fIrm16,r16\fR
793: 1b /r \fBsbbl\fR \fIrm32,r32\fR
794: 18 /r \fBsbbb\fR \fIr8,rm8\fR
795: 19 /r \fBsbbw\fR \fIr16,rm16\fR
796: 19 /r \fBsbbl\fR \fIr32,rm32\fR
797: .sp \n(pDu
798: ae \fBscasb\fR Compare string bytes
799: af \fBscasl\fR Compare string longs
800: af \fBscasw\fR Compare string words
801:
802: 0F 97 \fBseta\fR \fIrm8\fR Set byte if above
803: 0F 93 \fBsetae\fR \fIrm8\fR Set byte if above or equal
804: 0F 92 \fBsetb\fR \fIrm8\fR Set byte if below
805: 0F 96 \fBsetbe\fR \fIrm8\fR Set byte if below or equal
806: 0F 92 \fBsetc\fR \fIrm8\fR Set byte if carry
807: 0F 94 \fBsete\fR \fIrm8\fR Set byte if equal
808: 0F 9f \fBsetg\fR \fIrm8\fR Set byte if greater
809: 0F 9d \fBsetge\fR \fIrm8\fR Set byte if greater or equal
810: 0F 9c \fBsetl\fR \fIrm8\fR Set byte if less
811: 0F 9e \fBsetle\fR \fIrm8\fR Set byte if less or equal
812: 0F 96 \fBsetna\fR \fIrm8\fR Set byte if not above
813: 0F 92 \fBsetnae\fR \fIrm8\fR Set byte if not above or equal
814: 0F 93 \fBsetnb\fR \fIrm8\fR Set byte if not below
815: 0F 97 \fBsetnbe\fR \fIrm8\fR Set byte if not below or equal
816: 0F 93 \fBsetnc\fR \fIrm8\fR Set byte if no carry
817: 0F 95 \fBsetne\fR \fIrm8\fR Set byte if not equal
818: 0F 9e \fBsetng\fR \fIrm8\fR Set byte if not greater
819: 0F 9c \fBsetnge\fR \fIrm8\fR Set byte if not greater or equal
820: 0F 9d \fBsetnl\fR \fIrm8\fR Set byte if not less
821: 0F 9f \fBsetnle\fR \fIrm8\fR Set byte if not less or equal
822: 0F 91 \fBsetno\fR \fIrm8\fR Set byte if not overflow
823: 0F 9b \fBsetnp\fR \fIrm8\fR Set byte if not parity
824: 0F 99 \fBsetns\fR \fIrm8\fR Set byte if not sign
825: 0F 95 \fBsetnz\fR \fIrm8\fR Set byte if not zero
826: 0F 90 \fBseto\fR \fIrm8\fR Set byte if overflow
827: 0F 9a \fBsetp\fR \fIrm8\fR Set byte if parity
828: 0F 9a \fBsetpe\fR \fIrm8\fR Set byte if parity even
829: 0F 9b \fBsetpo\fR \fIrm8\fR Set byte if parity odd
830: 0F 98 \fBsets\fR \fIrm8\fR Set byte if sign
831: 0F 94 \fBsetz\fR \fIrm8\fR Set byte if zero
832: 0F 94 \fBsetz\fR \fIrm8\fR Set byte if zero
833:
834: 0F 01 /0 \fBsgdt\fR \fImem32\fR Store gdtr
835: .sp \n(pDu
836: \fBshl\fR Shift arithmetic left
837: d0 /4 \fBshlb\fR \fIcon1,rm8\fR
838: d0 /4 \fBshlb\fR \fIrm8\fR
839: d2 /4 \fBshlb\fR \fIcl,rm8\fR
840: c0 /4 \fBshlb\fR \fIimm8,rm8\fR
841: d1 /4 \fBshlw\fR \fIcon1,rm16\fR
842: d1 /4 \fBshlw\fR \fIrm16\fR
843: d3 /4 \fBshlw\fR \fIcl,rm16\fR
844: c1 /4 \fBshlw\fR \fIimm8,rm16\fR
845: d1 /4 \fBshll\fR \fIcon1,rm32\fR
846: d1 /4 \fBshll\fR \fIrm32\fR
847: d3 /4 \fBshll\fR \fIcl,rm32\fR
848: c1 /4 \fBshll\fR \fIimm8,rm32\fR
849: .sp \n(pDu
850: \fBshld\fR Shift double precision left
851: 0F a4 \fBshldw\fR \fIimm8,r16,rm16\fR
852: 0F a4 \fBshldl\fR \fIimm8,r32,rm32\fR
853: 0F a5 \fBshldw\fR \fIcl,r16,rm16\fR
854: 0F a5 \fBshldl\fR \fIcl,r32,rm32\fR
855: .sp \n(pDu
856: \fBshr\fR Shift right
857: d0 /5 \fBshrb\fR \fIcon1,rm8\fR
858: d0 /5 \fBshrb\fR \fIrm8\fR
859: d2 /5 \fBshrb\fR \fIcl,rm8\fR
860: c0 /5 \fBshrb\fR \fIimm8,rm8\fR
861: d1 /5 \fBshrw\fR \fIcon1,rm16\fR
862: d1 /5 \fBshrw\fR \fIrm16\fR
863: d3 /5 \fBshrw\fR \fIcl,rm16\fR
864: c1 /5 \fBshrw\fR \fIimm8,rm16\fR
865: d1 /5 \fBshrl\fR \fIcon1,rm32\fR
866: d1 /5 \fBshrl\fR \fIrm32\fR
867: d3 /5 \fBshrl\fR \fIcl,rm32\fR
868: c1 /5 \fBshrl\fR \fIimm8,rm32\fR
869: .sp \n(pDu
870: \fBshrd\fR Shift double precision right
871: 0F ac \fBshrdw\fR \fIimm8,r16,rm16\fR
872: 0F ac \fBshrdl\fR \fIimm8,r32,rm32\fR
873: 0F ad \fBshrdw\fR \fIcl,r16,rm16\fR
874: 0F ad \fBshrdl\fR \fIcl,r32,rm32\fR
875: 0F ad \fBshrdw\fR \fIr16,rm16\fR
876: 0F ad \fBshrdl\fR \fIr32,rm32\fR
877: .sp \n(pDu
878: 0F 01 /1 \fBsidt\fR \fImem32\fR Store idtr
879: 0F 00 /0 \fBsldt\fR \fIrm16\fR Store ldtr to EA word
880: 0F 01 /4 \fBsmsw\fR \fIrm16\fR Store machine status to EA word
881: f9 \fBstc\fR Set carry flag
882: fd \fBstd\fR Clear direction flag
883: fb \fBsti\fR Set interrupt flag
884: aa \fBstosb\fR Store string byte
885: ab \fBstosl\fR Store string long
886: ab \fBstosw\fR Store string word
887: 0F 00 /1 \fBstr\fR Store task register
888: .sp \n(pDu
889: \fBsub\fR Subtract
890: 83 /5 \fBsubl\fR \fIimm8s,rm32\fR
891: 83 /5 \fBsubw\fR \fIimm8s,rm16\fR
892: 2c \fBsubb\fR \fIimm8,al\fR
893: 2d \fBsubw\fR \fIimm16,ax\fR
894: 2d \fBsubl\fR \fIimm32,eax\fR
895: 2d \fBsubl\fR \fIimm32\fR
896: 80 /5 \fBsubb\fR \fIimm8,rm8\fR
897: 81 /5 \fBsubw\fR \fIimm16,rm16\fR
898: 81 /5 \fBsubl\fR \fIimm32,rm32\fR
899: 2a /r \fBsubb\fR \fIrm8,r8\fR
900: 2b /r \fBsubw\fR \fIrm16,r16\fR
901: 2b /r \fBsubl\fR \fIrm32,r32\fR
902: 28 /r \fBsubb\fR \fIr8,rm8\fR
903: 29 /r \fBsubw\fR \fIr16,rm16\fR
904: 29 /r \fBsubl\fR \fIr32,rm32\fR
905: .sp \n(pDu
906: \fBtest\fR Logical compare
907: a8 \fBtestb\fR \fIimm8,al\fR
908: a9 \fBtestw\fR \fIimm16,ax\fR
909: a9 \fBtestl\fR \fIimm32,eax\fR
910: a9 \fBtestl\fR \fIimm32\fR
911: f6 /0 \fBtestb\fR \fIimm8,rm8\fR
912: f7 /0 \fBtestw\fR \fIimm16,rm16\fR
913: f7 /0 \fBtestl\fR \fIimm32,rm32\fR
914: 84 /r \fBtestb\fR \fIr8,rm8\fR
915: 85 /r \fBtestw\fR \fIr16,rm16\fR
916: 85 /r \fBtestl\fR \fIr32,rm32\fR
917: .sp \n(pDu
918: 0F 00 /4 \fBverr\fR \fIrm16\fR Verify segment for read
919: 0F 00 /5 \fBverw\fR \fIrm16\fR Verify segment for write
920: 9b \fBwait\fR Wait for coprocessor
921: .sp \n(pDu
922: \fBxchg\fR Exchange register
923: 90 +r \fBxchgw\fR \fIr16,ax\fR
924: 90 +r \fBxchgw\fR \fIax,r16\fR
925: 90 +r \fBxchgl\fR \fIr32,eax\fR
926: 90 +r \fBxchgl\fR \fIr32\fR
927: 90 +r \fBxchgl\fR \fIeax,r32\fR
928: 86 /r \fBxchgb\fR \fIrm8,r8\fR
929: 87 /r \fBxchgw\fR \fIrm16,r16\fR
930: 87 /r \fBxchgl\fR \fIrm32,r32\fR
931: 86 /r \fBxchgb\fR \fIr8,rm8\fR
932: 87 /r \fBxchgw\fR \fIr16,rm16\fR
933: 87 /r \fBxchgl\fR \fIr32,rm32\fR
934: .sp \n(pDu
935: d7 \fBxlat\fR Table lookup translation
936: d7 \fBxlatb\fR Table lookup translation
937: .sp \n(pDu
938: \fBxor\fR Logical exclusive OR
939: 83 /6 \fBxorl\fR \fIimm8s,rm32\fR
940: 83 /6 \fBxorw\fR \fIimm8s,rm16\fR
941: 34 \fBxorb\fR \fIimm8,al\fR
942: 35 \fBxorw\fR \fIimm16,ax\fR
943: 35 \fBxorl\fR \fIimm32,eax\fR
944: 35 \fBxorl\fR \fIimm32\fR
945: 80 /6 \fBxorb\fR \fIimm8,rm8\fR
946: 81 /6 \fBxorw\fR \fIimm16,rm16\fR
947: 81 /6 \fBxorl\fR \fIimm32,rm32\fR
948: 32 /r \fBxorb\fR \fIrm8,r8\fR
949: 33 /r \fBxorw\fR \fIrm16,r16\fR
950: 33 /r \fBxorl\fR \fIrm32,r32\fR
951: 30 /r \fBxorb\fR \fIr8,rm8\fR
952: 31 /r \fBxorw\fR \fIr16,rm16\fR
953: 31 /r \fBxorl\fR \fIr32,rm32\fR
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.