diff options
Diffstat (limited to 'arch/x86/lib/x86-opcode-map.txt')
-rw-r--r-- | arch/x86/lib/x86-opcode-map.txt | 719 |
1 files changed, 719 insertions, 0 deletions
diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt new file mode 100644 index 000000000000..083dd59dd74b --- /dev/null +++ b/arch/x86/lib/x86-opcode-map.txt | |||
@@ -0,0 +1,719 @@ | |||
1 | # x86 Opcode Maps | ||
2 | # | ||
3 | #<Opcode maps> | ||
4 | # Table: table-name | ||
5 | # Referrer: escaped-name | ||
6 | # opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...] | ||
7 | # (or) | ||
8 | # opcode: escape # escaped-name | ||
9 | # EndTable | ||
10 | # | ||
11 | #<group maps> | ||
12 | # GrpTable: GrpXXX | ||
13 | # reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...] | ||
14 | # EndTable | ||
15 | # | ||
16 | |||
17 | Table: one byte opcode | ||
18 | Referrer: | ||
19 | # 0x00 - 0x0f | ||
20 | 00: ADD Eb,Gb | ||
21 | 01: ADD Ev,Gv | ||
22 | 02: ADD Gb,Eb | ||
23 | 03: ADD Gv,Ev | ||
24 | 04: ADD AL,Ib | ||
25 | 05: ADD rAX,Iz | ||
26 | 06: PUSH ES (i64) | ||
27 | 07: POP ES (i64) | ||
28 | 08: OR Eb,Gb | ||
29 | 09: OR Ev,Gv | ||
30 | 0a: OR Gb,Eb | ||
31 | 0b: OR Gv,Ev | ||
32 | 0c: OR AL,Ib | ||
33 | 0d: OR rAX,Iz | ||
34 | 0e: PUSH CS (i64) | ||
35 | 0f: escape # 2-byte escape | ||
36 | # 0x10 - 0x1f | ||
37 | 10: ADC Eb,Gb | ||
38 | 11: ADC Ev,Gv | ||
39 | 12: ADC Gb,Eb | ||
40 | 13: ADC Gv,Ev | ||
41 | 14: ADC AL,Ib | ||
42 | 15: ADC rAX,Iz | ||
43 | 16: PUSH SS (i64) | ||
44 | 17: POP SS (i64) | ||
45 | 18: SBB Eb,Gb | ||
46 | 19: SBB Ev,Gv | ||
47 | 1a: SBB Gb,Eb | ||
48 | 1b: SBB Gv,Ev | ||
49 | 1c: SBB AL,Ib | ||
50 | 1d: SBB rAX,Iz | ||
51 | 1e: PUSH DS (i64) | ||
52 | 1f: POP DS (i64) | ||
53 | # 0x20 - 0x2f | ||
54 | 20: AND Eb,Gb | ||
55 | 21: AND Ev,Gv | ||
56 | 22: AND Gb,Eb | ||
57 | 23: AND Gv,Ev | ||
58 | 24: AND AL,Ib | ||
59 | 25: AND rAx,Iz | ||
60 | 26: SEG=ES (Prefix) | ||
61 | 27: DAA (i64) | ||
62 | 28: SUB Eb,Gb | ||
63 | 29: SUB Ev,Gv | ||
64 | 2a: SUB Gb,Eb | ||
65 | 2b: SUB Gv,Ev | ||
66 | 2c: SUB AL,Ib | ||
67 | 2d: SUB rAX,Iz | ||
68 | 2e: SEG=CS (Prefix) | ||
69 | 2f: DAS (i64) | ||
70 | # 0x30 - 0x3f | ||
71 | 30: XOR Eb,Gb | ||
72 | 31: XOR Ev,Gv | ||
73 | 32: XOR Gb,Eb | ||
74 | 33: XOR Gv,Ev | ||
75 | 34: XOR AL,Ib | ||
76 | 35: XOR rAX,Iz | ||
77 | 36: SEG=SS (Prefix) | ||
78 | 37: AAA (i64) | ||
79 | 38: CMP Eb,Gb | ||
80 | 39: CMP Ev,Gv | ||
81 | 3a: CMP Gb,Eb | ||
82 | 3b: CMP Gv,Ev | ||
83 | 3c: CMP AL,Ib | ||
84 | 3d: CMP rAX,Iz | ||
85 | 3e: SEG=DS (Prefix) | ||
86 | 3f: AAS (i64) | ||
87 | # 0x40 - 0x4f | ||
88 | 40: INC eAX (i64) | REX (o64) | ||
89 | 41: INC eCX (i64) | REX.B (o64) | ||
90 | 42: INC eDX (i64) | REX.X (o64) | ||
91 | 43: INC eBX (i64) | REX.XB (o64) | ||
92 | 44: INC eSP (i64) | REX.R (o64) | ||
93 | 45: INC eBP (i64) | REX.RB (o64) | ||
94 | 46: INC eSI (i64) | REX.RX (o64) | ||
95 | 47: INC eDI (i64) | REX.RXB (o64) | ||
96 | 48: DEC eAX (i64) | REX.W (o64) | ||
97 | 49: DEC eCX (i64) | REX.WB (o64) | ||
98 | 4a: DEC eDX (i64) | REX.WX (o64) | ||
99 | 4b: DEC eBX (i64) | REX.WXB (o64) | ||
100 | 4c: DEC eSP (i64) | REX.WR (o64) | ||
101 | 4d: DEC eBP (i64) | REX.WRB (o64) | ||
102 | 4e: DEC eSI (i64) | REX.WRX (o64) | ||
103 | 4f: DEC eDI (i64) | REX.WRXB (o64) | ||
104 | # 0x50 - 0x5f | ||
105 | 50: PUSH rAX/r8 (d64) | ||
106 | 51: PUSH rCX/r9 (d64) | ||
107 | 52: PUSH rDX/r10 (d64) | ||
108 | 53: PUSH rBX/r11 (d64) | ||
109 | 54: PUSH rSP/r12 (d64) | ||
110 | 55: PUSH rBP/r13 (d64) | ||
111 | 56: PUSH rSI/r14 (d64) | ||
112 | 57: PUSH rDI/r15 (d64) | ||
113 | 58: POP rAX/r8 (d64) | ||
114 | 59: POP rCX/r9 (d64) | ||
115 | 5a: POP rDX/r10 (d64) | ||
116 | 5b: POP rBX/r11 (d64) | ||
117 | 5c: POP rSP/r12 (d64) | ||
118 | 5d: POP rBP/r13 (d64) | ||
119 | 5e: POP rSI/r14 (d64) | ||
120 | 5f: POP rDI/r15 (d64) | ||
121 | # 0x60 - 0x6f | ||
122 | 60: PUSHA/PUSHAD (i64) | ||
123 | 61: POPA/POPAD (i64) | ||
124 | 62: BOUND Gv,Ma (i64) | ||
125 | 63: ARPL Ew,Gw (i64) | MOVSXD Gv,Ev (o64) | ||
126 | 64: SEG=FS (Prefix) | ||
127 | 65: SEG=GS (Prefix) | ||
128 | 66: Operand-Size (Prefix) | ||
129 | 67: Address-Size (Prefix) | ||
130 | 68: PUSH Iz (d64) | ||
131 | 69: IMUL Gv,Ev,Iz | ||
132 | 6a: PUSH Ib (d64) | ||
133 | 6b: IMUL Gv,Ev,Ib | ||
134 | 6c: INS/INSB Yb,DX | ||
135 | 6d: INS/INSW/INSD Yz,DX | ||
136 | 6e: OUTS/OUTSB DX,Xb | ||
137 | 6f: OUTS/OUTSW/OUTSD DX,Xz | ||
138 | # 0x70 - 0x7f | ||
139 | 70: JO Jb | ||
140 | 71: JNO Jb | ||
141 | 72: JB/JNAE/JC Jb | ||
142 | 73: JNB/JAE/JNC Jb | ||
143 | 74: JZ/JE Jb | ||
144 | 75: JNZ/JNE Jb | ||
145 | 76: JBE/JNA Jb | ||
146 | 77: JNBE/JA Jb | ||
147 | 78: JS Jb | ||
148 | 79: JNS Jb | ||
149 | 7a: JP/JPE Jb | ||
150 | 7b: JNP/JPO Jb | ||
151 | 7c: JL/JNGE Jb | ||
152 | 7d: JNL/JGE Jb | ||
153 | 7e: JLE/JNG Jb | ||
154 | 7f: JNLE/JG Jb | ||
155 | # 0x80 - 0x8f | ||
156 | 80: Grp1 Eb,Ib (1A) | ||
157 | 81: Grp1 Ev,Iz (1A) | ||
158 | 82: Grp1 Eb,Ib (1A),(i64) | ||
159 | 83: Grp1 Ev,Ib (1A) | ||
160 | 84: TEST Eb,Gb | ||
161 | 85: TEST Ev,Gv | ||
162 | 86: XCHG Eb,Gb | ||
163 | 87: XCHG Ev,Gv | ||
164 | 88: MOV Eb,Gb | ||
165 | 89: MOV Ev,Gv | ||
166 | 8a: MOV Gb,Eb | ||
167 | 8b: MOV Gv,Ev | ||
168 | 8c: MOV Ev,Sw | ||
169 | 8d: LEA Gv,M | ||
170 | 8e: MOV Sw,Ew | ||
171 | 8f: Grp1A (1A) | POP Ev (d64) | ||
172 | # 0x90 - 0x9f | ||
173 | 90: NOP | PAUSE (F3) | XCHG r8,rAX | ||
174 | 91: XCHG rCX/r9,rAX | ||
175 | 92: XCHG rDX/r10,rAX | ||
176 | 93: XCHG rBX/r11,rAX | ||
177 | 94: XCHG rSP/r12,rAX | ||
178 | 95: XCHG rBP/r13,rAX | ||
179 | 96: XCHG rSI/r14,rAX | ||
180 | 97: XCHG rDI/r15,rAX | ||
181 | 98: CBW/CWDE/CDQE | ||
182 | 99: CWD/CDQ/CQO | ||
183 | 9a: CALLF Ap (i64) | ||
184 | 9b: FWAIT/WAIT | ||
185 | 9c: PUSHF/D/Q Fv (d64) | ||
186 | 9d: POPF/D/Q Fv (d64) | ||
187 | 9e: SAHF | ||
188 | 9f: LAHF | ||
189 | # 0xa0 - 0xaf | ||
190 | a0: MOV AL,Ob | ||
191 | a1: MOV rAX,Ov | ||
192 | a2: MOV Ob,AL | ||
193 | a3: MOV Ov,rAX | ||
194 | a4: MOVS/B Xb,Yb | ||
195 | a5: MOVS/W/D/Q Xv,Yv | ||
196 | a6: CMPS/B Xb,Yb | ||
197 | a7: CMPS/W/D Xv,Yv | ||
198 | a8: TEST AL,Ib | ||
199 | a9: TEST rAX,Iz | ||
200 | aa: STOS/B Yb,AL | ||
201 | ab: STOS/W/D/Q Yv,rAX | ||
202 | ac: LODS/B AL,Xb | ||
203 | ad: LODS/W/D/Q rAX,Xv | ||
204 | ae: SCAS/B AL,Yb | ||
205 | af: SCAS/W/D/Q rAX,Xv | ||
206 | # 0xb0 - 0xbf | ||
207 | b0: MOV AL/R8L,Ib | ||
208 | b1: MOV CL/R9L,Ib | ||
209 | b2: MOV DL/R10L,Ib | ||
210 | b3: MOV BL/R11L,Ib | ||
211 | b4: MOV AH/R12L,Ib | ||
212 | b5: MOV CH/R13L,Ib | ||
213 | b6: MOV DH/R14L,Ib | ||
214 | b7: MOV BH/R15L,Ib | ||
215 | b8: MOV rAX/r8,Iv | ||
216 | b9: MOV rCX/r9,Iv | ||
217 | ba: MOV rDX/r10,Iv | ||
218 | bb: MOV rBX/r11,Iv | ||
219 | bc: MOV rSP/r12,Iv | ||
220 | bd: MOV rBP/r13,Iv | ||
221 | be: MOV rSI/r14,Iv | ||
222 | bf: MOV rDI/r15,Iv | ||
223 | # 0xc0 - 0xcf | ||
224 | c0: Grp2 Eb,Ib (1A) | ||
225 | c1: Grp2 Ev,Ib (1A) | ||
226 | c2: RETN Iw (f64) | ||
227 | c3: RETN | ||
228 | c4: LES Gz,Mp (i64) | ||
229 | c5: LDS Gz,Mp (i64) | ||
230 | c6: Grp11 Eb,Ib (1A) | ||
231 | c7: Grp11 Ev,Iz (1A) | ||
232 | c8: ENTER Iw,Ib | ||
233 | c9: LEAVE (d64) | ||
234 | ca: RETF Iw | ||
235 | cb: RETF | ||
236 | cc: INT3 | ||
237 | cd: INT Ib | ||
238 | ce: INTO (i64) | ||
239 | cf: IRET/D/Q | ||
240 | # 0xd0 - 0xdf | ||
241 | d0: Grp2 Eb,1 (1A) | ||
242 | d1: Grp2 Ev,1 (1A) | ||
243 | d2: Grp2 Eb,CL (1A) | ||
244 | d3: Grp2 Ev,CL (1A) | ||
245 | d4: AAM Ib (i64) | ||
246 | d5: AAD Ib (i64) | ||
247 | d6: | ||
248 | d7: XLAT/XLATB | ||
249 | d8: ESC | ||
250 | d9: ESC | ||
251 | da: ESC | ||
252 | db: ESC | ||
253 | dc: ESC | ||
254 | dd: ESC | ||
255 | de: ESC | ||
256 | df: ESC | ||
257 | # 0xe0 - 0xef | ||
258 | e0: LOOPNE/LOOPNZ Jb (f64) | ||
259 | e1: LOOPE/LOOPZ Jb (f64) | ||
260 | e2: LOOP Jb (f64) | ||
261 | e3: JrCXZ Jb (f64) | ||
262 | e4: IN AL,Ib | ||
263 | e5: IN eAX,Ib | ||
264 | e6: OUT Ib,AL | ||
265 | e7: OUT Ib,eAX | ||
266 | e8: CALL Jz (f64) | ||
267 | e9: JMP-near Jz (f64) | ||
268 | ea: JMP-far Ap (i64) | ||
269 | eb: JMP-short Jb (f64) | ||
270 | ec: IN AL,DX | ||
271 | ed: IN eAX,DX | ||
272 | ee: OUT DX,AL | ||
273 | ef: OUT DX,eAX | ||
274 | # 0xf0 - 0xff | ||
275 | f0: LOCK (Prefix) | ||
276 | f1: | ||
277 | f2: REPNE (Prefix) | ||
278 | f3: REP/REPE (Prefix) | ||
279 | f4: HLT | ||
280 | f5: CMC | ||
281 | f6: Grp3_1 Eb (1A) | ||
282 | f7: Grp3_2 Ev (1A) | ||
283 | f8: CLC | ||
284 | f9: STC | ||
285 | fa: CLI | ||
286 | fb: STI | ||
287 | fc: CLD | ||
288 | fd: STD | ||
289 | fe: Grp4 (1A) | ||
290 | ff: Grp5 (1A) | ||
291 | EndTable | ||
292 | |||
293 | Table: 2-byte opcode # First Byte is 0x0f | ||
294 | Referrer: 2-byte escape | ||
295 | # 0x0f 0x00-0x0f | ||
296 | 00: Grp6 (1A) | ||
297 | 01: Grp7 (1A) | ||
298 | 02: LAR Gv,Ew | ||
299 | 03: LSL Gv,Ew | ||
300 | 04: | ||
301 | 05: SYSCALL (o64) | ||
302 | 06: CLTS | ||
303 | 07: SYSRET (o64) | ||
304 | 08: INVD | ||
305 | 09: WBINVD | ||
306 | 0a: | ||
307 | 0b: UD2 (1B) | ||
308 | 0c: | ||
309 | 0d: NOP Ev | ||
310 | 0e: | ||
311 | 0f: | ||
312 | # 0x0f 0x10-0x1f | ||
313 | 10: | ||
314 | 11: | ||
315 | 12: | ||
316 | 13: | ||
317 | 14: | ||
318 | 15: | ||
319 | 16: | ||
320 | 17: | ||
321 | 18: Grp16 (1A) | ||
322 | 19: | ||
323 | 1a: | ||
324 | 1b: | ||
325 | 1c: | ||
326 | 1d: | ||
327 | 1e: | ||
328 | 1f: NOP Ev | ||
329 | # 0x0f 0x20-0x2f | ||
330 | 20: MOV Rd,Cd | ||
331 | 21: MOV Rd,Dd | ||
332 | 22: MOV Cd,Rd | ||
333 | 23: MOV Dd,Rd | ||
334 | 24: | ||
335 | 25: | ||
336 | 26: | ||
337 | 27: | ||
338 | 28: movaps Vps,Wps | movapd Vpd,Wpd (66) | ||
339 | 29: movaps Wps,Vps | movapd Wpd,Vpd (66) | ||
340 | 2a: | ||
341 | 2b: | ||
342 | 2c: | ||
343 | 2d: | ||
344 | 2e: | ||
345 | 2f: | ||
346 | # 0x0f 0x30-0x3f | ||
347 | 30: WRMSR | ||
348 | 31: RDTSC | ||
349 | 32: RDMSR | ||
350 | 33: RDPMC | ||
351 | 34: SYSENTER | ||
352 | 35: SYSEXIT | ||
353 | 36: | ||
354 | 37: GETSEC | ||
355 | 38: escape # 3-byte escape 1 | ||
356 | 39: | ||
357 | 3a: escape # 3-byte escape 2 | ||
358 | 3b: | ||
359 | 3c: | ||
360 | 3d: | ||
361 | 3e: | ||
362 | 3f: | ||
363 | # 0x0f 0x40-0x4f | ||
364 | 40: CMOVO Gv,Ev | ||
365 | 41: CMOVNO Gv,Ev | ||
366 | 42: CMOVB/C/NAE Gv,Ev | ||
367 | 43: CMOVAE/NB/NC Gv,Ev | ||
368 | 44: CMOVE/Z Gv,Ev | ||
369 | 45: CMOVNE/NZ Gv,Ev | ||
370 | 46: CMOVBE/NA Gv,Ev | ||
371 | 47: CMOVA/NBE Gv,Ev | ||
372 | 48: CMOVS Gv,Ev | ||
373 | 49: CMOVNS Gv,Ev | ||
374 | 4a: CMOVP/PE Gv,Ev | ||
375 | 4b: CMOVNP/PO Gv,Ev | ||
376 | 4c: CMOVL/NGE Gv,Ev | ||
377 | 4d: CMOVNL/GE Gv,Ev | ||
378 | 4e: CMOVLE/NG Gv,Ev | ||
379 | 4f: CMOVNLE/G Gv,Ev | ||
380 | # 0x0f 0x50-0x5f | ||
381 | 50: | ||
382 | 51: | ||
383 | 52: | ||
384 | 53: | ||
385 | 54: | ||
386 | 55: | ||
387 | 56: | ||
388 | 57: | ||
389 | 58: | ||
390 | 59: | ||
391 | 5a: | ||
392 | 5b: | ||
393 | 5c: | ||
394 | 5d: | ||
395 | 5e: | ||
396 | 5f: | ||
397 | # 0x0f 0x60-0x6f | ||
398 | 60: | ||
399 | 61: | ||
400 | 62: | ||
401 | 63: | ||
402 | 64: | ||
403 | 65: | ||
404 | 66: | ||
405 | 67: | ||
406 | 68: | ||
407 | 69: | ||
408 | 6a: | ||
409 | 6b: | ||
410 | 6c: | ||
411 | 6d: | ||
412 | 6e: | ||
413 | 6f: | ||
414 | # 0x0f 0x70-0x7f | ||
415 | 70: | ||
416 | 71: Grp12 (1A) | ||
417 | 72: Grp13 (1A) | ||
418 | 73: Grp14 (1A) | ||
419 | 74: | ||
420 | 75: | ||
421 | 76: | ||
422 | 77: | ||
423 | 78: VMREAD Ed/q,Gd/q | ||
424 | 79: VMWRITE Gd/q,Ed/q | ||
425 | 7a: | ||
426 | 7b: | ||
427 | 7c: | ||
428 | 7d: | ||
429 | 7e: | ||
430 | 7f: | ||
431 | # 0x0f 0x80-0x8f | ||
432 | 80: JO Jz (f64) | ||
433 | 81: JNO Jz (f64) | ||
434 | 82: JB/JNAE/JC Jz (f64) | ||
435 | 83: JNB/JAE/JNC Jz (f64) | ||
436 | 84: JZ/JE Jz (f64) | ||
437 | 85: JNZ/JNE Jz (f64) | ||
438 | 86: JBE/JNA Jz (f64) | ||
439 | 87: JNBE/JA Jz (f64) | ||
440 | 88: JS Jz (f64) | ||
441 | 89: JNS Jz (f64) | ||
442 | 8a: JP/JPE Jz (f64) | ||
443 | 8b: JNP/JPO Jz (f64) | ||
444 | 8c: JL/JNGE Jz (f64) | ||
445 | 8d: JNL/JGE Jz (f64) | ||
446 | 8e: JLE/JNG Jz (f64) | ||
447 | 8f: JNLE/JG Jz (f64) | ||
448 | # 0x0f 0x90-0x9f | ||
449 | 90: SETO Eb | ||
450 | 91: SETNO Eb | ||
451 | 92: SETB/C/NAE Eb | ||
452 | 93: SETAE/NB/NC Eb | ||
453 | 94: SETE/Z Eb | ||
454 | 95: SETNE/NZ Eb | ||
455 | 96: SETBE/NA Eb | ||
456 | 97: SETA/NBE Eb | ||
457 | 98: SETS Eb | ||
458 | 99: SETNS Eb | ||
459 | 9a: SETP/PE Eb | ||
460 | 9b: SETNP/PO Eb | ||
461 | 9c: SETL/NGE Eb | ||
462 | 9d: SETNL/GE Eb | ||
463 | 9e: SETLE/NG Eb | ||
464 | 9f: SETNLE/G Eb | ||
465 | # 0x0f 0xa0-0xaf | ||
466 | a0: PUSH FS (d64) | ||
467 | a1: POP FS (d64) | ||
468 | a2: CPUID | ||
469 | a3: BT Ev,Gv | ||
470 | a4: SHLD Ev,Gv,Ib | ||
471 | a5: SHLD Ev,Gv,CL | ||
472 | a6: | ||
473 | a7: GrpRNG | ||
474 | a8: PUSH GS (d64) | ||
475 | a9: POP GS (d64) | ||
476 | aa: RSM | ||
477 | ab: BTS Ev,Gv | ||
478 | ac: SHRD Ev,Gv,Ib | ||
479 | ad: SHRD Ev,Gv,CL | ||
480 | ae: Grp15 (1A),(1C) | ||
481 | af: IMUL Gv,Ev | ||
482 | # 0x0f 0xb0-0xbf | ||
483 | b0: CMPXCHG Eb,Gb | ||
484 | b1: CMPXCHG Ev,Gv | ||
485 | b2: LSS Gv,Mp | ||
486 | b3: BTR Ev,Gv | ||
487 | b4: LFS Gv,Mp | ||
488 | b5: LGS Gv,Mp | ||
489 | b6: MOVZX Gv,Eb | ||
490 | b7: MOVZX Gv,Ew | ||
491 | b8: JMPE | POPCNT Gv,Ev (F3) | ||
492 | b9: Grp10 (1A) | ||
493 | ba: Grp8 Ev,Ib (1A) | ||
494 | bb: BTC Ev,Gv | ||
495 | bc: BSF Gv,Ev | ||
496 | bd: BSR Gv,Ev | ||
497 | be: MOVSX Gv,Eb | ||
498 | bf: MOVSX Gv,Ew | ||
499 | # 0x0f 0xc0-0xcf | ||
500 | c0: XADD Eb,Gb | ||
501 | c1: XADD Ev,Gv | ||
502 | c2: | ||
503 | c3: movnti Md/q,Gd/q | ||
504 | c4: | ||
505 | c5: | ||
506 | c6: | ||
507 | c7: Grp9 (1A) | ||
508 | c8: BSWAP RAX/EAX/R8/R8D | ||
509 | c9: BSWAP RCX/ECX/R9/R9D | ||
510 | ca: BSWAP RDX/EDX/R10/R10D | ||
511 | cb: BSWAP RBX/EBX/R11/R11D | ||
512 | cc: BSWAP RSP/ESP/R12/R12D | ||
513 | cd: BSWAP RBP/EBP/R13/R13D | ||
514 | ce: BSWAP RSI/ESI/R14/R14D | ||
515 | cf: BSWAP RDI/EDI/R15/R15D | ||
516 | # 0x0f 0xd0-0xdf | ||
517 | d0: | ||
518 | d1: | ||
519 | d2: | ||
520 | d3: | ||
521 | d4: | ||
522 | d5: | ||
523 | d6: | ||
524 | d7: | ||
525 | d8: | ||
526 | d9: | ||
527 | da: | ||
528 | db: | ||
529 | dc: | ||
530 | dd: | ||
531 | de: | ||
532 | df: | ||
533 | # 0x0f 0xe0-0xef | ||
534 | e0: | ||
535 | e1: | ||
536 | e2: | ||
537 | e3: | ||
538 | e4: | ||
539 | e5: | ||
540 | e6: | ||
541 | e7: | ||
542 | e8: | ||
543 | e9: | ||
544 | ea: | ||
545 | eb: | ||
546 | ec: | ||
547 | ed: | ||
548 | ee: | ||
549 | ef: | ||
550 | # 0x0f 0xf0-0xff | ||
551 | f0: | ||
552 | f1: | ||
553 | f2: | ||
554 | f3: | ||
555 | f4: | ||
556 | f5: | ||
557 | f6: | ||
558 | f7: | ||
559 | f8: | ||
560 | f9: | ||
561 | fa: | ||
562 | fb: | ||
563 | fc: | ||
564 | fd: | ||
565 | fe: | ||
566 | ff: | ||
567 | EndTable | ||
568 | |||
569 | Table: 3-byte opcode 1 | ||
570 | Referrer: 3-byte escape 1 | ||
571 | 80: INVEPT Gd/q,Mdq (66) | ||
572 | 81: INVPID Gd/q,Mdq (66) | ||
573 | f0: MOVBE Gv,Mv | CRC32 Gd,Eb (F2) | ||
574 | f1: MOVBE Mv,Gv | CRC32 Gd,Ev (F2) | ||
575 | EndTable | ||
576 | |||
577 | Table: 3-byte opcode 2 | ||
578 | Referrer: 3-byte escape 2 | ||
579 | # all opcode is for SSE | ||
580 | EndTable | ||
581 | |||
582 | GrpTable: Grp1 | ||
583 | 0: ADD | ||
584 | 1: OR | ||
585 | 2: ADC | ||
586 | 3: SBB | ||
587 | 4: AND | ||
588 | 5: SUB | ||
589 | 6: XOR | ||
590 | 7: CMP | ||
591 | EndTable | ||
592 | |||
593 | GrpTable: Grp1A | ||
594 | 0: POP | ||
595 | EndTable | ||
596 | |||
597 | GrpTable: Grp2 | ||
598 | 0: ROL | ||
599 | 1: ROR | ||
600 | 2: RCL | ||
601 | 3: RCR | ||
602 | 4: SHL/SAL | ||
603 | 5: SHR | ||
604 | 6: | ||
605 | 7: SAR | ||
606 | EndTable | ||
607 | |||
608 | GrpTable: Grp3_1 | ||
609 | 0: TEST Eb,Ib | ||
610 | 1: | ||
611 | 2: NOT Eb | ||
612 | 3: NEG Eb | ||
613 | 4: MUL AL,Eb | ||
614 | 5: IMUL AL,Eb | ||
615 | 6: DIV AL,Eb | ||
616 | 7: IDIV AL,Eb | ||
617 | EndTable | ||
618 | |||
619 | GrpTable: Grp3_2 | ||
620 | 0: TEST Ev,Iz | ||
621 | 1: | ||
622 | 2: NOT Ev | ||
623 | 3: NEG Ev | ||
624 | 4: MUL rAX,Ev | ||
625 | 5: IMUL rAX,Ev | ||
626 | 6: DIV rAX,Ev | ||
627 | 7: IDIV rAX,Ev | ||
628 | EndTable | ||
629 | |||
630 | GrpTable: Grp4 | ||
631 | 0: INC Eb | ||
632 | 1: DEC Eb | ||
633 | EndTable | ||
634 | |||
635 | GrpTable: Grp5 | ||
636 | 0: INC Ev | ||
637 | 1: DEC Ev | ||
638 | 2: CALLN Ev (f64) | ||
639 | 3: CALLF Ep | ||
640 | 4: JMPN Ev (f64) | ||
641 | 5: JMPF Ep | ||
642 | 6: PUSH Ev (d64) | ||
643 | 7: | ||
644 | EndTable | ||
645 | |||
646 | GrpTable: Grp6 | ||
647 | 0: SLDT Rv/Mw | ||
648 | 1: STR Rv/Mw | ||
649 | 2: LLDT Ew | ||
650 | 3: LTR Ew | ||
651 | 4: VERR Ew | ||
652 | 5: VERW Ew | ||
653 | EndTable | ||
654 | |||
655 | GrpTable: Grp7 | ||
656 | 0: SGDT Ms | VMCALL (001),(11B) | VMLAUNCH (010),(11B) | VMRESUME (011),(11B) | VMXOFF (100),(11B) | ||
657 | 1: SIDT Ms | MONITOR (000),(11B) | MWAIT (001) | ||
658 | 2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | ||
659 | 3: LIDT Ms | ||
660 | 4: SMSW Mw/Rv | ||
661 | 5: | ||
662 | 6: LMSW Ew | ||
663 | 7: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B) | ||
664 | EndTable | ||
665 | |||
666 | GrpTable: Grp8 | ||
667 | 4: BT | ||
668 | 5: BTS | ||
669 | 6: BTR | ||
670 | 7: BTC | ||
671 | EndTable | ||
672 | |||
673 | GrpTable: Grp9 | ||
674 | 1: CMPXCHG8B/16B Mq/Mdq | ||
675 | 6: VMPTRLD Mq | VMCLEAR Mq (66) | VMXON Mq (F3) | ||
676 | 7: VMPTRST Mq | ||
677 | EndTable | ||
678 | |||
679 | GrpTable: Grp10 | ||
680 | EndTable | ||
681 | |||
682 | GrpTable: Grp11 | ||
683 | 0: MOV | ||
684 | EndTable | ||
685 | |||
686 | GrpTable: Grp12 | ||
687 | EndTable | ||
688 | |||
689 | GrpTable: Grp13 | ||
690 | EndTable | ||
691 | |||
692 | GrpTable: Grp14 | ||
693 | EndTable | ||
694 | |||
695 | GrpTable: Grp15 | ||
696 | 0: fxsave | ||
697 | 1: fxstor | ||
698 | 2: ldmxcsr | ||
699 | 3: stmxcsr | ||
700 | 4: XSAVE | ||
701 | 5: XRSTOR | lfence (11B) | ||
702 | 6: mfence (11B) | ||
703 | 7: clflush | sfence (11B) | ||
704 | EndTable | ||
705 | |||
706 | GrpTable: Grp16 | ||
707 | 0: prefetch NTA | ||
708 | 1: prefetch T0 | ||
709 | 2: prefetch T1 | ||
710 | 3: prefetch T2 | ||
711 | EndTable | ||
712 | |||
713 | GrpTable: GrpRNG | ||
714 | 0: xstore-rng | ||
715 | 1: xcrypt-ecb | ||
716 | 2: xcrypt-cbc | ||
717 | 4: xcrypt-cfb | ||
718 | 5: xcrypt-ofb | ||
719 | EndTable | ||