one-byte quick reference
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C2 C3 C4 C5 C6 C7 C8 C9 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FFtwo-byte (0F..) quick reference
00 01 02 03 05 06 07 08 09 0B 0D 1F 20 21 22 23 30 31 32 33 34 35 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 60 61 62 63 64 65 66 67 68 69 6A 6B 6E 6F 71 72 73 74 75 76 77 7E 7F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F A0 A1 A2 A3 A4 A5 A8 A9 AA AB AC AD AE AF B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC BD BE BF C0 C1 C7 C8 C9 CA CB CC CD CE CF D1 D2 D3 D5 D8 D9 DB DC DD DF E1 E2 E5 E8 E9 EB EC ED EF F1 F2 F3 F5 F8 F9 FA FC FD FEpf | 0F | po | so | flds | o | proc | st | m | rl | x | mnemonic | op1 | op2 | op3 | op4 | iext | grp1 | grp2 | grp3 | tested f | modif f | def f | undef f | f values | description, notes |
00 | dw | r | L | ADD | Eb | Gb | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||
01 | dW | r | L | ADD | Evqp | Gvqp | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||
02 | Dw | r | ADD | Gb | Eb | gen | arith | binary | o..szapc | o..szapc | Add | ||||||||||||||
03 | DW | r | ADD | Gvqp | Evqp | gen | arith | binary | o..szapc | o..szapc | Add | ||||||||||||||
04 | w | ADD | AL | Ib | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||||
05 | W | ADD | rAX | Ivds | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||||
06 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
07 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
08 | dw | r | L | OR | Eb | Gb | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||
09 | dW | r | L | OR | Evqp | Gvqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||
0A | Dw | r | OR | Gb | Eb | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | |||||||||||||
0B | DW | r | OR | Gvqp | Evqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | |||||||||||||
0C | w | OR | AL | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||||
0D | W | OR | rAX | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||||
0E | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
0F | two-byte | ||||||||||||||||||||||||
10 | dw | r | L | ADC | Eb | Gb | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||
11 | dW | r | L | ADC | Evqp | Gvqp | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||
12 | Dw | r | ADC | Gb | Eb | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | |||||||||||||
13 | DW | r | ADC | Gvqp | Evqp | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | |||||||||||||
14 | w | ADC | AL | Ib | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||||
15 | W | ADC | rAX | Ivds | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||||
16 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
17 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
18 | dw | r | L | SBB | Eb | Gb | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||
19 | dW | r | L | SBB | Evqp | Gvqp | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||
1A | Dw | r | SBB | Gb | Eb | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | |||||||||||||
1B | DW | r | SBB | Gvqp | Evqp | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | |||||||||||||
1C | w | SBB | AL | Ib | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||||
1D | W | SBB | rAX | Ivds | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||||
1E | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
1F | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
20 | dw | r | L | AND | Eb | Gb | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||
21 | dW | r | L | AND | Evqp | Gvqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||
22 | Dw | r | AND | Gb | Eb | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | |||||||||||||
23 | DW | r | AND | Gvqp | Evqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | |||||||||||||
24 | w | AND | AL | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||||
25 | W | AND | rAX | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||||
26 | E | null | prefix | segreg | Null Prefix in 64-bit Mode | ||||||||||||||||||||
27 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
28 | dw | r | L | SUB | Eb | Gb | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||
29 | dW | r | L | SUB | Evqp | Gvqp | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||
2A | Dw | r | SUB | Gb | Eb | gen | arith | binary | o..szapc | o..szapc | Subtract | ||||||||||||||
2B | DW | r | SUB | Gvqp | Evqp | gen | arith | binary | o..szapc | o..szapc | Subtract | ||||||||||||||
2C | w | SUB | AL | Ib | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||||
2D | W | SUB | rAX | Ivds | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||||
2E | E | undefined | prefix | branch | cond | (branch hint prefixes have no effect in 64-bit mode) | |||||||||||||||||||
2E | E | null | prefix | segreg | Null Prefix in 64-bit Mode | ||||||||||||||||||||
2F | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
30 | dw | r | L | XOR | Eb | Gb | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||
31 | dW | r | L | XOR | Evqp | Gvqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||
32 | Dw | r | XOR | Gb | Eb | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | |||||||||||||
33 | DW | r | XOR | Gvqp | Evqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | |||||||||||||
34 | w | XOR | AL | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||||
35 | W | XOR | rAX | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||||
36 | E | null | prefix | segreg | Null Prefix in 64-bit Mode | ||||||||||||||||||||
37 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
38 | dw | r | CMP | Eb | Gb | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
39 | dW | r | CMP | Evqp | Gvqp | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
3A | Dw | r | CMP | Gb | Eb | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
3B | DW | r | CMP | Gvqp | Evqp | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
3C | w | CMP | AL | Ib | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | |||||||||||||||
3D | W | CMP | rAX | Ivds | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | |||||||||||||||
3E | E | undefined | prefix | branch | cond | (branch hint prefixes have no effect in 64-bit mode) | |||||||||||||||||||
3E | E | null | prefix | segreg | Null Prefix in 64-bit Mode | ||||||||||||||||||||
3F | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
40 | E | REX | prefix | ||||||||||||||||||||||
41 | E | REX.B | prefix | Extension of the r/m field, base field, or opcode reg field | |||||||||||||||||||||
42 | E | REX.X | prefix | Extension of the SIB index field | |||||||||||||||||||||
43 | E | REX.XB | prefix | ||||||||||||||||||||||
44 | E | REX.R | prefix | Extension of the ModR/M reg field | |||||||||||||||||||||
45 | E | REX.RB | prefix | ||||||||||||||||||||||
46 | E | REX.RX | prefix | ||||||||||||||||||||||
47 | E | REX.RXB | prefix | ||||||||||||||||||||||
48 | E | REX.W | prefix | 64 Bit Operand Size | |||||||||||||||||||||
49 | E | REX.WB | prefix | ||||||||||||||||||||||
4A | E | REX.WX | prefix | ||||||||||||||||||||||
4B | E | REX.WXB | prefix | ||||||||||||||||||||||
4C | E | REX.WR | prefix | ||||||||||||||||||||||
4D | E | REX.WRB | prefix | ||||||||||||||||||||||
4E | E | REX.WRX | prefix | ||||||||||||||||||||||
4F | E | REX.WRXB | prefix | ||||||||||||||||||||||
50 | +r | E | PUSH | Zvq | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | ||||||||||||||||||
58 | +r | E | POP | Zvq | gen | stack | Pop a Value from the Stack | ||||||||||||||||||
60 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
61 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
62 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
63 | D | r | E | MOVSXD | Gdqp | Eds | gen | conver | Move with Sign-Extension | ||||||||||||||||
64 | E | undefined | prefix | branch | cond | (branch hint prefixes have no effect in 64-bit mode) | |||||||||||||||||||
65 | GS | GS | prefix | segreg | GS segment override prefix | ||||||||||||||||||||
65 | undefined | prefix | branch | cond | (used only with Jcc instructions) | ||||||||||||||||||||
66 | no mnemonic | prefix | Operand-size override prefix | ||||||||||||||||||||||
66 | M | no mnemonic | sse2 | prefix | Precision-size override prefix | ||||||||||||||||||||
67 | no mnemonic | prefix | Address-size override prefix | ||||||||||||||||||||||
68 | PUSH | Ivs | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | ||||||||||||||||||||
69 | IMUL | Gvqp | Evqp | Ivds | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | ||||||||||||||
6A | S | PUSH | Ibss | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
6B | S | IMUL | Gvqp | Evqp | Ibs | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | |||||||||||||
6C | w | f1 | INS | Yb | DX | gen | inout string | .d...... | Input from Port to String | ||||||||||||||||
INSB | Yb | DX | |||||||||||||||||||||||
6D | W | f1 | INS | Yw | DX | gen | inout string | .d...... | Input from Port to String | ||||||||||||||||
INSW | Yw | DX | |||||||||||||||||||||||
6D | W | f1 | INS | Yv | DX | gen | inout string | .d...... | Input from Port to String | ||||||||||||||||
INSD | Yd | DX | |||||||||||||||||||||||
6E | w | f1 | OUTS | DX | Xb | gen | inout string | .d...... | Output String to Port | ||||||||||||||||
OUTSB | DX | Xb | |||||||||||||||||||||||
6F | W | f1 | OUTS | DX | Xw | gen | inout string | .d...... | Output String to Port | ||||||||||||||||
OUTSW | DX | Xw | |||||||||||||||||||||||
6F | W | f1 | OUTS | DX | Xv | gen | inout string | .d...... | Output String to Port | ||||||||||||||||
OUTSD | DX | Xd | |||||||||||||||||||||||
70 | tttn | JO | Jbs | gen | branch | cond | o....... | Jump short if overflow (OF=1) | |||||||||||||||||
71 | tttN | JNO | Jbs | gen | branch | cond | o....... | Jump short if not overflow (OF=0) | |||||||||||||||||
72 | ttTn | JB | Jbs | gen | branch | cond | .......c | Jump short if below/not above or equal/carry (CF=1) | |||||||||||||||||
JNAE | Jbs | ||||||||||||||||||||||||
JC | Jbs | ||||||||||||||||||||||||
73 | ttTN | JNB | Jbs | gen | branch | cond | .......c | Jump short if not below/above or equal/not carry (CF=0) | |||||||||||||||||
JAE | Jbs | ||||||||||||||||||||||||
JNC | Jbs | ||||||||||||||||||||||||
74 | tTtn | JZ | Jbs | gen | branch | cond | ....z... | Jump short if zero/equal (ZF=0) | |||||||||||||||||
JE | Jbs | ||||||||||||||||||||||||
75 | tTtN | JNZ | Jbs | gen | branch | cond | ....z... | Jump short if not zero/not equal (ZF=1) | |||||||||||||||||
JNE | Jbs | ||||||||||||||||||||||||
76 | tTTn | JBE | Jbs | gen | branch | cond | ....z..c | Jump short if below or equal/not above (CF=1 AND ZF=1) | |||||||||||||||||
JNA | Jbs | ||||||||||||||||||||||||
77 | tTTN | JNBE | Jbs | gen | branch | cond | ....z..c | Jump short if not below or equal/above (CF=0 AND ZF=0) | |||||||||||||||||
JA | Jbs | ||||||||||||||||||||||||
78 | Tttn | JS | Jbs | gen | branch | cond | ...s.... | Jump short if sign (SF=1) | |||||||||||||||||
79 | TttN | JNS | Jbs | gen | branch | cond | ...s.... | Jump short if not sign (SF=0) | |||||||||||||||||
7A | TtTn | JP | Jbs | gen | branch | cond | ......p. | Jump short if parity/parity even (PF=1) | |||||||||||||||||
JPE | Jbs | ||||||||||||||||||||||||
7B | TtTN | JNP | Jbs | gen | branch | cond | ......p. | Jump short if not parity/parity odd | |||||||||||||||||
JPO | Jbs | ||||||||||||||||||||||||
7C | TTtn | JL | Jbs | gen | branch | cond | o..s.... | Jump short if less/not greater (SF!=OF) | |||||||||||||||||
JNGE | Jbs | ||||||||||||||||||||||||
7D | TTtN | JNL | Jbs | gen | branch | cond | o..s.... | Jump short if not less/greater or equal (SF=OF) | |||||||||||||||||
JGE | Jbs | ||||||||||||||||||||||||
7E | TTTn | JLE | Jbs | gen | branch | cond | o..sz... | Jump short if less or equal/not greater ((ZF=1) OR (SF!=OF)) | |||||||||||||||||
JNG | Jbs | ||||||||||||||||||||||||
7F | TTTN | JNLE | Jbs | gen | branch | cond | o..sz... | Jump short if not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||||||||||||||||
JG | Jbs | ||||||||||||||||||||||||
80 | w | 0 | L | ADD | Eb | Ib | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||
80 | w | 1 | L | OR | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||
80 | w | 2 | L | ADC | Eb | Ib | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||
80 | w | 3 | L | SBB | Eb | Ib | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||
80 | w | 4 | L | AND | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||
80 | w | 5 | L | SUB | Eb | Ib | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||
80 | w | 6 | L | XOR | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||
80 | w | 7 | CMP | Eb | Ib | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
81 | W | 0 | L | ADD | Evqp | Ivds | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||
81 | W | 1 | L | OR | Evqp | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||
81 | W | 2 | L | ADC | Evqp | Ivds | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||
81 | W | 3 | L | SBB | Evqp | Ivds | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||
81 | W | 4 | L | AND | Evqp | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||
81 | W | 5 | L | SUB | Evqp | Ivds | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||
81 | W | 6 | L | XOR | Evqp | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||
81 | W | 7 | CMP | Evqp | Ivds | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
82 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
83 | SW | 0 | L | ADD | Evqp | Ibs | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||
83 | SW | 1 | L | OR | Evqp | Ibs | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||
83 | SW | 2 | L | ADC | Evqp | Ibs | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||
83 | SW | 3 | L | SBB | Evqp | Ibs | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||
83 | SW | 4 | L | AND | Evqp | Ibs | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||
83 | SW | 5 | L | SUB | Evqp | Ibs | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||
83 | SW | 6 | L | XOR | Evqp | Ibs | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||
83 | SW | 7 | CMP | Evqp | Ibs | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
84 | dw | r | TEST | Eb | Gb | gen | arith | binary | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||
85 | dW | r | TEST | Evqp | Gvqp | gen | arith | binary | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||
86 | Dw | r | L | XCHG | Gb | Eb | gen | datamov | Exchange Register/Memory with Register | ||||||||||||||||
87 | DW | r | L | XCHG | Gvqp | Evqp | gen | datamov | Exchange Register/Memory with Register | ||||||||||||||||
88 | dw | r | MOV | Eb | Gb | gen | datamov | Move | |||||||||||||||||
89 | dW | r | MOV | Evqp | Gvqp | gen | datamov | Move | |||||||||||||||||
8A | Dw | r | MOV | Gb | Eb | gen | datamov | Move | |||||||||||||||||
8B | Dw | r | MOV | Gvqp | Evqp | gen | datamov | Move | |||||||||||||||||
8C | d | r | MOV | Evqp | Sw | gen | datamov | Move | |||||||||||||||||
8D | r | LEA | Gvqp | M | gen | datamov | Load Effective Address | ||||||||||||||||||
8E | D | r | MOV | Sw | Evqp | gen | datamov | Move | |||||||||||||||||
8F | W | 0 | E | POP | Evq | gen | stack | Pop a Value from the Stack | |||||||||||||||||
90 | +r | XCHG | Zvqp | rAX | gen | datamov | Exchange Register/Memory with Register | ||||||||||||||||||
90 | NOP | gen | control | No Operation | |||||||||||||||||||||
F3 | 90 | D3 | no mnemonic nop | gen | control | No Operation | |||||||||||||||||||
F3 | 90 | PAUSE | gen | control | Spin Loop Hint | ||||||||||||||||||||
98 | E | CBW | AH | AL | gen | conver | Convert | ||||||||||||||||||
CWDE | EAX | AX | |||||||||||||||||||||||
CDQE | RAX | EAX | |||||||||||||||||||||||
99 | E | CWD | DX | AX | gen | conver | Convert | ||||||||||||||||||
CDQ | EDX | EAX | |||||||||||||||||||||||
CQO | RDX | RAX | |||||||||||||||||||||||
9A | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
9B | WAIT | x87fpu | control | 0123 | 0123 | Check pending unmasked floating-point exceptions | |||||||||||||||||||
FWAIT | |||||||||||||||||||||||||
9B | no mnemonic | prefix | x87fpu | control | 0123 | 0123 | Wait Prefix | ||||||||||||||||||
9C | E | PUSHF | Fw | gen | stack flgctrl | odiszapc | Push rFLAGS Register onto the Stack | ||||||||||||||||||
PUSHFQ | Fq | ||||||||||||||||||||||||
9D | E | POPF | Fw | gen | stack flgctrl | odiszapc | odiszapc | Pop Stack into rFLAGS Register | |||||||||||||||||
POPFQ | Fq | ||||||||||||||||||||||||
9E | D4 | SAHF | AH | gen | datamov flgctrl | ...szapc | ...szapc | Store AH into Flags | |||||||||||||||||
9F | D4 | LAHF | AH | gen | datamov flgctrl | ...szapc | Load Status Flags into AH Register | ||||||||||||||||||
A0 | w | MOV | AL | Ob | gen | datamov | Move | ||||||||||||||||||
A1 | W | MOV | rAX | Ovqp | gen | datamov | Move | ||||||||||||||||||
A2 | w | MOV | Ob | AL | gen | datamov | Move | ||||||||||||||||||
A3 | W | MOV | Ovqp | rAX | gen | datamov | Move | ||||||||||||||||||
A4 | w | MOVS | Yb | Xb | gen | datamov string | .d...... | Move Data from String to String | |||||||||||||||||
MOVSB | Yb | Xb | |||||||||||||||||||||||
A5 | W | E | MOVS | Yvqp | Xvqp | gen | datamov string | .d...... | Move Data from String to String | ||||||||||||||||
MOVSW | Yw | Xw | |||||||||||||||||||||||
MOVSD | Yd | Xd | |||||||||||||||||||||||
MOVSQ | Yqp | Xqp | |||||||||||||||||||||||
A6 | w | CMPS | Yb | Xb | gen | arith string | binary | .d...... | o..szapc | o..szapc | Compare String Operands | ||||||||||||||
CMPSB | Yb | Xb | |||||||||||||||||||||||
A7 | W | E | CMPS | Yvqp | Xvqp | gen | arith string | binary | .d...... | o..szapc | o..szapc | Compare String Operands | |||||||||||||
CMPSW | Yw | Xw | |||||||||||||||||||||||
CMPSD | Yd | Xd | |||||||||||||||||||||||
CMPSQ | Yqp | Xqp | |||||||||||||||||||||||
A8 | w | TEST | AL | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||||
A9 | W | TEST | rAX | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||||
AA | w | STOS | Yb | AL | gen | datamov string | .d...... | Store String | |||||||||||||||||
STOSB | Yb | AL | |||||||||||||||||||||||
AB | W | E | STOS | Yvqp | rAX | gen | datamov string | .d...... | Store String | ||||||||||||||||
STOSW | Yw | AX | |||||||||||||||||||||||
STOSD | Yd | EAX | |||||||||||||||||||||||
STOSQ | Yqp | RAX | |||||||||||||||||||||||
AC | w | LODS | AL | Xb | gen | datamov string | .d...... | Load String | |||||||||||||||||
LODSB | AL | Yb | |||||||||||||||||||||||
AD | W | E | LODS | rAX | Xvqp | gen | datamov string | .d...... | Load String | ||||||||||||||||
LODSW | AX | Xw | |||||||||||||||||||||||
LODSD | EAX | Xd | |||||||||||||||||||||||
LODSQ | RAX | Xqp | |||||||||||||||||||||||
AE | w | SCAS | Yb | AL | gen | arith string | binary | .d...... | o..szapc | o..szapc | Scan String | ||||||||||||||
SCASB | Yb | AL | |||||||||||||||||||||||
AF | W | E | SCAS | Yvqp | rAX | gen | arith string | binary | .d...... | o..szapc | o..szapc | Scan String | |||||||||||||
SCASW | Yw | AX | |||||||||||||||||||||||
SCASD | Yd | EAX | |||||||||||||||||||||||
SCASQ | Yqp | RAX | |||||||||||||||||||||||
B0 | +r | MOV | Zb | Ib | gen | datamov | Move | ||||||||||||||||||
B8 | +r | MOV | Zvqp | Ivqp | gen | datamov | Move | ||||||||||||||||||
C0 | w | 0 | ROL | Eb | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
C0 | w | 1 | ROR | Eb | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
C0 | w | 2 | RCL | Eb | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C0 | w | 3 | RCR | Eb | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C0 | w | 4 | SHL | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
SAL | Eb | Ib | |||||||||||||||||||||||
C0 | w | 5 | SHR | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
C0 | w | 6 | U5 | SAL alias | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
SHL alias | Eb | Ib | |||||||||||||||||||||||
C0 | w | 7 | SAR | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.. | Shift | ||||||||||||||
C1 | W | 0 | ROL | Evqp | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
C1 | W | 1 | ROR | Evqp | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
C1 | W | 2 | RCL | Evqp | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C1 | W | 3 | RCR | Evqp | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C1 | W | 4 | SHL | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
SAL | Evqp | Ib | |||||||||||||||||||||||
C1 | W | 5 | SHR | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
C1 | w | 6 | U5 | SAL alias | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
SHL alias | Evqp | Ib | |||||||||||||||||||||||
C1 | W | 7 | SAR | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.. | Shift | ||||||||||||||
C2 | RETN | Iw | gen | branch stack | Return from procedure | ||||||||||||||||||||
C3 | RETN | gen | branch stack | Return from procedure | |||||||||||||||||||||
C4 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
C5 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
C6 | w | 0 | MOV | Eb | Ib | gen | datamov | Move | |||||||||||||||||
C7 | W | 0 | MOV | Evqp | Ivds | gen | datamov | Move | |||||||||||||||||
C8 | ENTER | rBP | Iw | Ib | gen | stack | Make Stack Frame for Procedure Parameters | ||||||||||||||||||
C9 | LEAVE | rBP | gen | stack | High Level Procedure Exit | ||||||||||||||||||||
CA | f | RETF | Iw | gen | branch stack | Return from procedure | |||||||||||||||||||
CB | f | RETF | gen | branch stack | Return from procedure | ||||||||||||||||||||
CC | f | INT | 3 | Fv | gen | break stack | ..i..... | ..i..... | ..i..... | Call to Interrupt Procedure | |||||||||||||||
CD | f | INT | Ib | Fv | gen | break stack | ..i..... | ..i..... | ..i..... | Call to Interrupt Procedure | |||||||||||||||
CE | f | INTO | Fv | gen | break stack | o....... | ..i..... | ..i..... | ..i..... | Call to Interrupt Procedure | |||||||||||||||
CF | E | f | IRET | Fw | gen | break stack | odiszapc | odiszapc | Interrupt Return | ||||||||||||||||
IRETD | Fd | ||||||||||||||||||||||||
IRETQ | Fqp | ||||||||||||||||||||||||
D0 | w | 0 | ROL | Eb | 1 | gen | shftrot | o..szapc | o..szapc | Rotate | |||||||||||||||
D0 | w | 1 | ROR | Eb | 1 | gen | shftrot | o..szapc | o..szapc | Rotate | |||||||||||||||
D0 | w | 2 | RCL | Eb | 1 | gen | shftrot | .......c | o..szapc | o..szapc | Rotate | ||||||||||||||
D0 | w | 3 | RCR | Eb | 1 | gen | shftrot | .......c | o..szapc | o..szapc | Rotate | ||||||||||||||
D0 | w | 4 | SHL | Eb | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
SAL | Eb | 1 | |||||||||||||||||||||||
D0 | w | 5 | SHR | Eb | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
D0 | w | 6 | U5 | SAL alias | Eb | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | |||||||||||||
SHL alias | Eb | 1 | |||||||||||||||||||||||
D0 | w | 7 | SAR | Eb | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
D1 | W | 0 | ROL | Evqp | 1 | gen | shftrot | o..szapc | o..szapc | Rotate | |||||||||||||||
D1 | W | 1 | ROR | Evqp | 1 | gen | shftrot | o..szapc | o..szapc | Rotate | |||||||||||||||
D1 | W | 2 | RCL | Evqp | 1 | gen | shftrot | .......c | o..szapc | o..szapc | Rotate | ||||||||||||||
D1 | W | 3 | RCR | Evqp | 1 | gen | shftrot | .......c | o..szapc | o..szapc | Rotate | ||||||||||||||
D1 | W | 4 | SHL | Evqp | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
SAL | Evqp | 1 | |||||||||||||||||||||||
D1 | W | 5 | SHR | Evqp | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
D1 | W | 6 | U5 | SAL alias | Evqp | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | |||||||||||||
SHL alias | Evqp | 1 | |||||||||||||||||||||||
D1 | W | 7 | SAR | Evqp | 1 | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
D2 | w | 0 | ROL | Eb | CL | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
D2 | w | 1 | ROR | Eb | CL | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
D2 | w | 2 | RCL | Eb | CL | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
D2 | w | 3 | RCR | Eb | CL | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
D2 | w | 4 | SHL | Eb | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
SAL | Eb | CL | |||||||||||||||||||||||
D2 | w | 5 | SHR | Eb | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
D2 | w | 6 | U5 | SAL alias | Eb | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
SHL alias | Eb | CL | |||||||||||||||||||||||
D2 | w | 7 | SAR | Eb | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.. | Shift | ||||||||||||||
D3 | W | 0 | ROL | Evqp | CL | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
D3 | W | 1 | ROR | Evqp | CL | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | ||||||||||||||
D3 | W | 2 | RCL | Evqp | CL | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
D3 | W | 3 | RCR | Evqp | CL | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
D3 | W | 4 | SHL | Evqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
SAL | Evqp | CL | |||||||||||||||||||||||
D3 | W | 5 | SHR | Evqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||||
D3 | W | 6 | U5 | SAL alias | Evqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
SHL alias | Evqp | CL | |||||||||||||||||||||||
D3 | W | 7 | SAR | Evqp | CL | gen | shftrot | o..szapc | o..sz.pc | .....a.. | Shift | ||||||||||||||
D4 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
D5 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
D6 | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
D7 | XLAT | AL | Bb | gen | datamov | Table Look-up Translation | |||||||||||||||||||
XLATB | AL | Bb | |||||||||||||||||||||||
D8 | mf | 0 | FADD | ST | Msr | x87fpu | arith | 0123 | .1.. | 0.23 | Add | ||||||||||||||
FADD | ST | EST | |||||||||||||||||||||||
D8 | mf | 1 | FMUL | ST | Msr | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply | ||||||||||||||
FMUL | ST | EST | |||||||||||||||||||||||
D8 | mf | 2 | FCOM | ST | ESsr | x87fpu | compar | 0123 | 0123 | Compare Real | |||||||||||||||
D8 | D1 | 2 | FCOM | ST | ST1 | x87fpu | compar | 0123 | 0123 | Compare Real | |||||||||||||||
D8 | mf | 3 | p | FCOMP | ST | ESsr | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
D8 | D9 | 3 | p | FCOMP | ST | ST1 | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
D8 | mf | 4 | FSUB | ST | Msr | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract | ||||||||||||||
FSUB | ST | EST | |||||||||||||||||||||||
D8 | mf | 5 | FSUBR | ST | Msr | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract | ||||||||||||||
FSUBR | ST | EST | |||||||||||||||||||||||
D8 | mf | 6 | FDIV | ST | Msr | x87fpu | arith | 0123 | .1.. | 0.23 | Divide | ||||||||||||||
FDIV | ST | EST | |||||||||||||||||||||||
D8 | mf | 7 | FDIVR | ST | Msr | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide | ||||||||||||||
FDIVR | ST | EST | |||||||||||||||||||||||
D9 | mf | 0 | s | FLD | ST | ESsr | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Floating Point Value | |||||||||||||
D9 | mf | 1 | FXCH | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | ||||||||||||||
D9 | C9 | 1 | FXCH | ST | ST1 | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | ||||||||||||||
D9 | mf | 2 | FST | Msr | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value | ||||||||||||||
D9 | D0 | 2 | FNOP | x87fpu | control | 0123 | 0123 | No Operation | |||||||||||||||||
D9 | mf | 3 | p | FSTP | Msr | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
D9 | 3 | D8 | p | FSTP1 part alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
D9 | 3 | U16 | p | FSTP1 part alias9 | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
D9 | 4 | FLDENV | Me | x87fpu | control | 0123 | 0123 | Load x87 FPU Environment | |||||||||||||||||
D9 | E0 | 4 | FCHS | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Change Sign | |||||||||||||||
D9 | E1 | 4 | FABS | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Absolute Value | |||||||||||||||
D9 | E4 | 4 | FTST | ST | x87fpu | compar | 0123 | 0123 | Test | ||||||||||||||||
D9 | E5 | 4 | FXAM | ST | x87fpu | 0123 | 0123 | Examine | |||||||||||||||||
D9 | 5 | FLDCW | Mw | x87fpu | control | 0123 | 0123 | Load x87 FPU Control Word | |||||||||||||||||
D9 | E8 | 5 | s | FLD1 | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant +1.0 | ||||||||||||||
D9 | E9 | 5 | s | FLDL2T | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant logˆ2 10 | ||||||||||||||
D9 | EA | 5 | s | FLDL2E | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant logˆ2 e | ||||||||||||||
D9 | EB | 5 | s | FLDPI | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant π | ||||||||||||||
D9 | EC | 5 | s | FLDLG2 | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant logˆ10 2 | ||||||||||||||
D9 | ED | 5 | s | FLDLN2 | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant logˆe 2 | ||||||||||||||
D9 | EE | 5 | s | FLDZ | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant +0.0 | ||||||||||||||
D9 | 6 | FNSTENV | Me | x87fpu | control | 0123 | 0123 | Store x87 FPU Environment | |||||||||||||||||
9B | D9 | 6 | FSTENV | Me | x87fpu | control | 0123 | 0123 | Store x87 FPU Environment | ||||||||||||||||
D9 | F0 | 6 | F2XM1 | ST | x87fpu | trans | 0123 | .1.. | 0.23 | Compute 2ˆx-1 | |||||||||||||||
D9 | F1 | 6 | p | FYL2X | ST1 | ST | x87fpu | trans | 0123 | .1.. | 0.23 | Compute y × logˆ2 x and Pop | |||||||||||||
D9 | F2 | 6 | s | FPTAN | ST | x87fpu | trans | 0123 | .12. | 0..3 | Partial Tangent | ||||||||||||||
D9 | F3 | 6 | p | FPATAN | ST1 | ST | x87fpu | trans | 0123 | .1.. | 0.23 | Partial Arctangent and Pop | |||||||||||||
D9 | F4 | 6 | s | FXTRACT | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Extract Exponent and Significand | ||||||||||||||
D9 | F5 | 6 | FPREM1 | ST | ST1 | x87fpu | arith | 0123 | 0123 | IEEE Partial Remainder | |||||||||||||||
D9 | F6 | 6 | FDECSTP | x87fpu | control | 0123 | .1.. | 0.23 | .0.. | Decrement Stack-Top Pointer | |||||||||||||||
D9 | F7 | 6 | FINCSTP | x87fpu | control | 0123 | .1.. | 0.23 | .0.. | Increment Stack-Top Pointer | |||||||||||||||
D9 | 7 | FNSTCW | Mw | x87fpu | control | 0123 | 0123 | Store x87 FPU Control Word | |||||||||||||||||
9B | D9 | 7 | FSTCW | Mw | x87fpu | control | 0123 | 0123 | Store x87 FPU Control Word | ||||||||||||||||
D9 | F8 | 7 | FPREM | ST | ST1 | x87fpu | arith | 0123 | 0123 | Partial Remainder (for compatibility with i8087 and i287) | |||||||||||||||
D9 | F9 | 7 | p | FYL2XP1 | ST1 | ST | x87fpu | trans | 0123 | .1.. | 0.23 | Compute y × logˆ2 (x+1) and Pop | |||||||||||||
D9 | FA | 7 | FSQRT | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Square Root | |||||||||||||||
D9 | FB | 7 | s | FSINCOS | ST | x87fpu | trans | 0123 | .12. | 0..3 | Sine and Cosine | ||||||||||||||
D9 | FC | 7 | FRNDINT | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Round to Integer | |||||||||||||||
D9 | FD | 7 | FSCALE | ST | ST1 | x87fpu | arith | 0123 | .1.. | 0.23 | Scale | ||||||||||||||
D9 | FE | 7 | FSIN | ST | x87fpu | trans | 0123 | .12. | 0..3 | Sine | |||||||||||||||
D9 | FF | 7 | FCOS | ST | x87fpu | trans | 0123 | .12. | 0..3 | Cosine | |||||||||||||||
DA | mF | 0 | FIADD | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Add | ||||||||||||||
DA | 0 | FCMOVB | ST | EST | x87fpu | datamov | .......c | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - below (CF=1) | ||||||||||||||
DA | mF | 1 | FIMUL | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply | ||||||||||||||
DA | 1 | FCMOVE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - equal (ZF=1) | ||||||||||||||
DA | mF | 2 | FICOM | ST | Mdi | x87fpu | compar | 0123 | 0123 | Compare Integer | |||||||||||||||
DA | 2 | FCMOVBE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - below or equal (CF=1 or ZF=1) | ||||||||||||||
DA | mF | 3 | p | FICOMP | ST | Mdi | x87fpu | compar | 0123 | 0123 | Compare Integer and Pop | ||||||||||||||
DA | 3 | FCMOVU | ST | EST | x87fpu | datamov | ......p. | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - unordered (PF=1) | ||||||||||||||
DA | mF | 4 | FISUB | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract | ||||||||||||||
DA | mF | 5 | FISUBR | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract | ||||||||||||||
DA | E9 | 5 | P | FUCOMPP | ST | ST1 | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values and Pop Twice | ||||||||||||||
DA | mF | 6 | FIDIV | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Divide | ||||||||||||||
DA | mF | 7 | FIDIVR | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide | ||||||||||||||
DB | mF | 0 | s | FILD | ST | Mdi | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Integer | |||||||||||||
DB | 0 | FCMOVNB | ST | EST | x87fpu | datamov | .......c | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - not below (CF=0) | ||||||||||||||
DB | mF | 1 | p | FISTTP | Mdi | ST | sse3 | x87fpu | conv | 0123 | .1.. | 0.23 | .0.. | Store Integer with Truncation | |||||||||||
DB | 1 | FCMOVNE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - not equal (ZF=0) | ||||||||||||||
DB | mF | 2 | FIST | Mdi | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Integer | ||||||||||||||
DB | 2 | FCMOVNBE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - below or equal (CF=0 and ZF=0) | ||||||||||||||
DB | mF | 3 | p | FISTP | Mdi | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Integer and Pop | |||||||||||||
DB | 3 | FCMOVNU | ST | EST | x87fpu | datamov | ......p. | 0123 | .1.. | 0.23 | Floating-Point Conditional Move - not unordered (PF=0) | ||||||||||||||
DB | E0 | 4 | D10 | FNENI nop | obsol | control | Treated as Integer NOP | ||||||||||||||||||
DB | E1 | 4 | D10 | FNDISI nop | obsol | control | Treated as Integer NOP | ||||||||||||||||||
DB | E2 | 4 | FNCLEX | x87fpu | control | 0123 | 0123 | Clear Exceptions | |||||||||||||||||
9B | DB | E2 | 4 | FCLEX | x87fpu | control | 0123 | 0123 | Clear Exceptions | ||||||||||||||||
DB | E3 | 4 | FNINIT | x87fpu | control | 0123 | 0000 | Initialize Floating-Point Unit | |||||||||||||||||
9B | DB | E3 | 4 | FINIT | x87fpu | control | 0123 | 0000 | Initialize Floating-Point Unit | ||||||||||||||||
DB | E4 | 4 | D11 | FNSETPM nop | obsol | control | Treated as Integer NOP | ||||||||||||||||||
DB | 5 | s | FLD | ST | Mer | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Floating Point Value | ||||||||||||||
DB | 5 | FUCOMI | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | Unordered Compare Floating Point Values and Set EFLAGS | |||||||||||||||
DB | 6 | FCOMI | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | Unordered Compare Floating Point Values and Set EFLAGS | |||||||||||||||
DB | 7 | p | FSTP | Mer | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | ||||||||||||||
DC | Mf | 0 | FADD | ST | Mdr | x87fpu | arith | 0123 | .1.. | 0.23 | Add | ||||||||||||||
DC | 0 | FADD | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Add | |||||||||||||||
DC | Mf | 1 | FMUL | ST | Mdr | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply | ||||||||||||||
DC | 1 | FMUL | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply | |||||||||||||||
DC | Mf | 2 | FCOM | ST | Mdr | x87fpu | compar | 0123 | 0123 | Compare Real | |||||||||||||||
DC | 2 | D12 | FCOM2 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real | |||||||||||||||
DC | 2 | U16 | FCOM2 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real | |||||||||||||||
DC | Mf | 3 | p | FCOMP | ST | Mdr | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
DC | 3 | D13 | p | FCOMP3 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
DC | 3 | U16 | p | FCOMP3 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
DC | Mf | 4 | FSUB | ST | Mdr | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract | ||||||||||||||
DC | 4 | FSUBR | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract | |||||||||||||||
DC | Mf | 5 | FSUBR | ST | Mdr | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract | ||||||||||||||
DC | 5 | FSUB | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract | |||||||||||||||
DC | Mf | 6 | FDIV | ST | Mdr | x87fpu | arith | 0123 | .1.. | 0.23 | Divide | ||||||||||||||
DC | 6 | FDIVR | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide | |||||||||||||||
DC | Mf | 7 | FDIVR | ST | Mdr | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide | ||||||||||||||
DC | 7 | FDIV | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Divide and Pop | |||||||||||||||
DD | Mf | 0 | s | FLD | ST | Mdr | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Floating Point Value | |||||||||||||
DD | 0 | FFREE | EST | x87fpu | control | 0123 | 0123 | Free Floating-Point Register | |||||||||||||||||
DD | 1 | p | FISTTP | Mqi | ST | sse3 | x87fpu | conv | 0123 | .1.. | 0.23 | .0.. | Store Integer with Truncation | ||||||||||||
DD | 1 | D14 | FXCH4 alias | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | ||||||||||||||
DD | 1 | U16 | FXCH4 alias | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | ||||||||||||||
DD | Mf | 2 | FST | Mdr | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value | ||||||||||||||
DD | 2 | FST | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value | |||||||||||||||
DD | Mf | 3 | p | FSTP | Mdr | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
DD | 3 | p | FSTP | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | ||||||||||||||
DD | 4 | FRSTOR | ... | x87fpu | control | 0123 | 0123 | Restore x87 FPU State | |||||||||||||||||
DD | 4 | FUCOM | ST | EST | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values | ||||||||||||||||
DD | E1 | 4 | FUCOM | ST | ST1 | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values | |||||||||||||||
DD | 5 | p | FUCOMP | ST | EST | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values and Pop | |||||||||||||||
DD | E9 | 5 | p | FUCOMP | ST | ST1 | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values and Pop | ||||||||||||||
DD | 6 | FNSAVE | ... | x87fpu | control | 0123 | 0123 | 0000 | Restore x87 FPU State | ||||||||||||||||
9B | DD | 6 | FSAVE | ... | x87fpu | control | 0123 | 0123 | 0000 | Restore x87 FPU State | |||||||||||||||
DD | 7 | FNSTSW | Mw | x87fpu | control | 0123 | 0123 | Store x87 FPU Status Word | |||||||||||||||||
9B | DD | 7 | FSTSW | Mw | x87fpu | control | 0123 | 0123 | Store x87 FPU Status Word | ||||||||||||||||
DE | MF | 0 | FIADD | ST | Mwi | x87fpu | arith | 0123 | .1.. | 0.23 | Add | ||||||||||||||
DE | 0 | p | FADDP | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Add and Pop | ||||||||||||||
DE | C1 | 0 | p | FADDP | ST1 | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Add and Pop | |||||||||||||
DE | MF | 1 | FIMUL | ST | Mwi | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply | ||||||||||||||
DE | 1 | p | FMULP | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply and Pop | ||||||||||||||
DE | C9 | 1 | p | FMULP | ST1 | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply and Pop | |||||||||||||
DE | MF | 2 | FICOM | ST | Mwi | x87fpu | compar | 0123 | 0123 | Compare Integer | |||||||||||||||
DE | 2 | D13 | p | FCOMP5 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
DE | 2 | U16 | p | FCOMP5 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | ||||||||||||||
DE | MF | 3 | p | FICOMP | ST | Mwi | x87fpu | compar | 0123 | 0123 | Compare Integer and Pop | ||||||||||||||
DE | D9 | 3 | P | FCOMPP | ST | ST1 | x87fpu | compar | 0123 | 0123 | Compare Real and Pop Twice | ||||||||||||||
DE | MF | 4 | FISUB | ST | Mwi | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract | ||||||||||||||
DE | 4 | p | FSUBRP | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract and Pop | ||||||||||||||
DE | E1 | 4 | p | FSUBRP | ST1 | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract and Pop | |||||||||||||
DE | MF | 5 | FISUBR | ST | Mwi | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Subtract | ||||||||||||||
DE | 5 | p | FSUBP | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract and Pop | ||||||||||||||
DE | E9 | 5 | p | FSUBP | ST1 | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Subtract and Pop | |||||||||||||
DE | MF | 6 | FIDIV | ST | Mwi | x87fpu | arith | 0123 | .1.. | 0.23 | Divide | ||||||||||||||
DE | 6 | p | FDIVRP | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide and Pop | ||||||||||||||
DE | 6 | p | FDIVRP | ST1 | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide and Pop | ||||||||||||||
DE | MF | 7 | FIDIVR | ST | Mwi | x87fpu | arith | 0123 | .1.. | 0.23 | Reverse Divide | ||||||||||||||
DE | 7 | p | FDIVP | EST | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Divide and Pop | ||||||||||||||
DE | F9 | 7 | p | FDIVP | ST1 | ST | x87fpu | arith | 0123 | .1.. | 0.23 | Divide and Pop | |||||||||||||
DF | MF | 0 | s | FILD | ST | Mwi | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Integer | |||||||||||||
DF | 0 | D15 | p | FFREEP | EST | x87fpu | control | 0123 | 0123 | Free Floating-Point Register and Pop | |||||||||||||||
DF | MF | 1 | p | FISTTP | Mwi | ST | sse3 | x87fpu | conv | 0123 | .1.. | 0.23 | .0.. | Store Integer with Truncation | |||||||||||
DF | 1 | D14 | FXCH7 alias | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | ||||||||||||||
DF | 1 | U16 | FXCH7 alias | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | ||||||||||||||
DF | MF | 2 | FIST | Mwi | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Integer | ||||||||||||||
DF | 2 | D8 | p | FSTP8 alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
DF | 2 | U16 | p | FSTP8 alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
DF | MF | 3 | p | FISTP | Mwi | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Integer and Pop | |||||||||||||
DF | 3 | D8 | p | FSTP9 alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
DF | 3 | U16 | p | FSTP9 alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | |||||||||||||
DF | 4 | s | FBLD | ST | Mbcd | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Binary Coded Decimal | ||||||||||||||
DF | E0 | 4 | FNSTSW | AX | x87fpu | control | 0123 | 0123 | Store x87 FPU Status Word | ||||||||||||||||
9B | DF | E0 | 4 | FSTSW | AX | x87fpu | control | 0123 | 0123 | Store x87 FPU Status Word | |||||||||||||||
DF | 5 | s | FILD | ST | Mqi | x87fpu | datamov | 0123 | .1.. | 0.23 | Load Integer | ||||||||||||||
DF | 5 | p | FUCOMIP | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | Unordered Compare Floating Point Values and Set EFLAGS and Pop | ||||||||||||||
DF | 6 | p | FBSTP | Mbcd | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store BCD Integer and Pop | ||||||||||||||
DF | 6 | p | FCOMIP | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | Unordered Compare Floating Point Values and Set EFLAGS and Pop | ||||||||||||||
DF | 7 | p | FISTP | Mqi | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Integer and Pop | ||||||||||||||
E0 | LOOPNZ | rCX | Jbs | gen | branch | cond | ....z... | Decrement count; Jump short if count!=0 and ZF=0 | |||||||||||||||||
LOOPNE | rCX | Jbs | |||||||||||||||||||||||
E1 | LOOPZ | rCX | Jbs | gen | branch | cond | ....z... | Decrement count; Jump short if count!=0 and ZF=1 | |||||||||||||||||
LOOPE | rCX | Jbs | |||||||||||||||||||||||
E2 | LOOP | rCX | Jbs | gen | branch | cond | Decrement count; Jump short if count!=0 | ||||||||||||||||||
E3 | E | JECXZ | Jbs | ECX | gen | branch | cond | Jump short if rCX register is 0 | |||||||||||||||||
JRCXZ | Jbs | RCX | |||||||||||||||||||||||
E4 | w | f1 | IN | AL | Ib | gen | inout | Input from Port | |||||||||||||||||
E5 | W | f1 | IN | eAX | Ib | gen | inout | Input from Port | |||||||||||||||||
E6 | w | f1 | OUT | Ib | AL | gen | inout | Output to Port | |||||||||||||||||
E7 | W | f1 | OUT | Ib | eAX | gen | inout | Output to Port | |||||||||||||||||
E8 | D32 | E | CALL | Jds | gen | branch stack | Call Procedure | ||||||||||||||||||
E9 | D32 | E | JMP | Jds | gen | branch | Jump | ||||||||||||||||||
EA | E | invalid | Invalid Instruction in 64-Bit Mode | ||||||||||||||||||||||
EB | JMP | Jbs | gen | branch | Jump | ||||||||||||||||||||
EC | w | f1 | IN | AL | DX | gen | inout | Input from Port | |||||||||||||||||
ED | W | f1 | IN | eAX | DX | gen | inout | Input from Port | |||||||||||||||||
EE | w | f1 | OUT | DX | AL | gen | inout | Output to Port | |||||||||||||||||
EF | W | f1 | OUT | DX | eAX | gen | inout | Output to Port | |||||||||||||||||
F0 | LOCK | prefix | Assert LOCK# Signal Prefix | ||||||||||||||||||||||
F1 | D6 | undefined | Undefined and Reserved; Does not Generate #UD | ||||||||||||||||||||||
F1 | U17 | INT1 part alias17 | Fv | gen | break stack | ..i..... | ..i..... | ..i..... | Call to Interrupt Procedure | ||||||||||||||||
ICEBP part alias17 | Fv | ||||||||||||||||||||||||
F2 | REPNZ | rCX | prefix | string | ....z... | Repeat String Operation Prefix | |||||||||||||||||||
REPNE | rCX | ||||||||||||||||||||||||
F2 | U | REP | rCX | prefix | string | Repeat String Operation Prefix | |||||||||||||||||||
F2 | M | no mnemonic | sse2 | prefix | Scalar Double-precision Prefix | ||||||||||||||||||||
F3 | REPZ | rCX | prefix | string | ....z... | Repeat String Operation Prefix | |||||||||||||||||||
REPE | rCX | ||||||||||||||||||||||||
F3 | REP | rCX | prefix | string | Repeat String Operation Prefix | ||||||||||||||||||||
F3 | M | no mnemonic | sse | prefix | Scalar Single-precision Prefix | ||||||||||||||||||||
F4 | 0 | HLT | system | Halt | |||||||||||||||||||||
F5 | CMC | gen | flgctrl | .......c | .......c | .......c | Complement Carry Flag | ||||||||||||||||||
F6 | w | 0 | TEST | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | |||||||||||||
F6 | w | 1 | U18 | TEST alias | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||
F6 | w | 2 | NOT | Eb | gen | logical | One's Complement Negation | ||||||||||||||||||
F6 | w | 3 | NEG | Eb | gen | arith | binary | o..szapc | o..szapc | Two's Complement Negation | |||||||||||||||
F6 | w | 4 | MUL | AX | AL | Eb | gen | arith | binary | o..szapc | o......c | ...szap. | Unsigned Multiply | ||||||||||||
F6 | w | 5 | IMUL | AX | AL | Eb | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | ||||||||||||
F6 | w | 6 | DIV | AL | AH | AX | Eb | gen | arith | binary | o..szapc | o..szapc | Unsigned Divide | ||||||||||||
F6 | w | 7 | IDIV | AL | AH | AX | Eb | gen | arith | binary | o..szapc | o..szapc | Signed Divide | ||||||||||||
F7 | W | 0 | TEST | Evqp | Ivqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | |||||||||||||
F7 | W | 1 | U18 | TEST alias | Evqp | Ivqp | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||
F7 | W | 2 | NOT | Evqp | gen | logical | One's Complement Negation | ||||||||||||||||||
F7 | W | 3 | NEG | Evqp | gen | arith | binary | o..szapc | o..szapc | Two's Complement Negation | |||||||||||||||
F7 | W | 4 | MUL | rDX | rAX | Evqp | gen | arith | binary | o..szapc | o......c | ...szap. | Unsigned Multiply | ||||||||||||
F7 | w | 5 | IMUL | rDX | rAX | Evqp | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | ||||||||||||
F7 | w | 6 | DIV | rDX | rAX | Evqp | gen | arith | binary | o..szapc | o..szapc | Unsigned Divide | |||||||||||||
F7 | w | 7 | IDIV | rDX | rAX | Evqp | gen | arith | binary | o..szapc | o..szapc | Signed Divide | |||||||||||||
F8 | CLC | gen | flgctrl | .......c | .......c | .......c | Clear Carry Flag | ||||||||||||||||||
F9 | STC | gen | flgctrl | .......c | .......c | .......C | Set Carry Flag | ||||||||||||||||||
FA | f1 | CLI | gen | flgctrl | ..i..... | ..i..... | ..i..... | Clear Interrupt Flag | |||||||||||||||||
FB | f1 | STI | gen | flgctrl | ..i..... | ..i..... | ..I..... | Set Interrupt Flag | |||||||||||||||||
FC | CLD | gen | flgctrl | .d...... | .d...... | .d...... | Clear Direction Flag | ||||||||||||||||||
FD | STD | gen | flgctrl | .d...... | .d...... | .D...... | Set Direction Flag | ||||||||||||||||||
FE | w | 0 | INC | Eb | gen | arith | binary | o..szap. | o..szap. | Increment by 1 | |||||||||||||||
FE | w | 1 | DEC | Eb | gen | arith | binary | o..szap. | o..szap. | Decrement by 1 | |||||||||||||||
FF | W | 0 | INC | Evqp | gen | arith | binary | o..szap. | o..szap. | Increment by 1 | |||||||||||||||
FF | W | 1 | DEC | Evqp | gen | arith | binary | o..szap. | o..szap. | Decrement by 1 | |||||||||||||||
FF | 2 | D32 | E | CALL | Eq | gen | branch stack | Call Procedure | |||||||||||||||||
FF | W | 3 | D19 | CALLF | Eptp | gen | branch stack | Call Procedure | |||||||||||||||||
FF | 4 | D32 | E | JMP | Eq | gen | branch | Jump | |||||||||||||||||
FF | W | 5 | D19 | JMPF | Eptp | gen | branch | Jump | |||||||||||||||||
FF | W | 6 | E | PUSH | Evq | gen | stack | Pop a Value from the Stack |
pf | 0F | po | so | flds | o | proc | st | m | rl | x | mnemonic | op1 | op2 | op3 | op4 | iext | grp1 | grp2 | grp3 | tested f | modif f | def f | undef f | f values | description, notes |
0F | 00 | 0 | P | SLDT | Mw | LDTR | system | Store Local Descriptor Table Register | |||||||||||||||||
SLDT | Rvqp | LDTR | |||||||||||||||||||||||
0F | 00 | 1 | P | STR | Mw | TR | system | Store Task Register | |||||||||||||||||
STR | Rvqp | TR | |||||||||||||||||||||||
0F | 00 | 2 | P | 0 | LLDT | LDTR | Ew | system | Load Local Descriptor Table Register | ||||||||||||||||
0F | 00 | 3 | P | 0 | LTR | TR | Ew | system | Load Task Register | ||||||||||||||||
0F | 00 | 4 | P | VERR | Ew | system | ....z... | ....z... | Verify a Segment for Reading | ||||||||||||||||
0F | 00 | 5 | P | VERW | Ew | system | ....z... | ....z... | Verify a Segment for Writing | ||||||||||||||||
0F | 00 | 6 | IT+ | JMPE | Jump to IA-64 Instruction Set | ||||||||||||||||||||
0F | 01 | 0 | SGDT | Ms | GDTR | system | Store Global Descriptor Table Register | ||||||||||||||||||
0F | 01 | 1 | SIDT | Ms | IDTR | system | Store Interrupt Descriptor Table Register | ||||||||||||||||||
0F | 01 | 2 | 0 | LGDT | GDTR | Ms | system | Load Global Descriptor Table Register | |||||||||||||||||
0F | 01 | 3 | 0 | LIDT | IDTR | Ms | system | Load Interrupt Descriptor Table Register | |||||||||||||||||
0F | 01 | 4 | SMSW | Mw | MSW | system | Store Machine Status Word | ||||||||||||||||||
SMSW | Rvqp | MSW | |||||||||||||||||||||||
0F | 01 | 6 | LMSW | MSW | Ew | system | Load Machine Status Word | ||||||||||||||||||
0F | 01 | 7 | 0 | INVLPG | M | system | Invalidate TLB Entry | ||||||||||||||||||
0F | 01 | F8 | 7 | E | 0 | SWAPGS | GS | I... | system | Swap GS Base Register | |||||||||||||||
0F | 02 | P | LAR | Gvqp | Mw | system | ....z... | ....z... | Load Access Rights Byte | ||||||||||||||||
LAR | Gvqp | Rv | |||||||||||||||||||||||
0F | 03 | P | LSL | Gvqp | Mw | system | ....z... | ....z... | Load Segment Limit | ||||||||||||||||
LSL | Gvqp | Rv | |||||||||||||||||||||||
0F | 05 | D21 | E | SYSCALL | ... | system | branch | Fast System Call | |||||||||||||||||
0F | 06 | 0 | CLTS | CR0 | Clear Task-Switched Flag in CR0 | ||||||||||||||||||||
0F | 07 | E | 0 | SYSRET | ... | system | branch | trans | odiszapc | odiszapc | Return From Fast System Call | ||||||||||||||
0F | 08 | 0 | INVD | system | Invalidate Internal Caches | ||||||||||||||||||||
0F | 09 | 0 | WBINVD | system | Write Back and Invalidate Cache | ||||||||||||||||||||
0F | 0B | UD2 | gen | control | Undefined Instruction | ||||||||||||||||||||
0F | 0D | M22 | NOP | Ev | gen | control | No Operation | ||||||||||||||||||
0F | 1F | NOP | Ev | gen | control | No Operation | |||||||||||||||||||
0F | 20 | r | E | 0 | MOV | Rq | Cq | system | o..szapc | o..szapc | Move to/from Control Registers | ||||||||||||||
0F | 20 | r | U24 | E | 0 | MOV | Hq | Cq | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 21 | r | 0 | MOV | Rdqp | Ddqp | system | o..szapc | o..szapc | Move to/from Debug Registers | |||||||||||||||
0F | 21 | r | U24 | 0 | MOV | Hdqp | Ddqp | system | o..szapc | o..szapc | Move to/from Debug Registers | ||||||||||||||
0F | 22 | r | E | 0 | MOV | Cq | Rq | system | o..szapc | o..szapc | Move to/from Control Registers | ||||||||||||||
0F | 22 | r | U24 | E | 0 | MOV | Cq | Hq | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 23 | r | 0 | MOV | Ddqp | Rdqp | system | o..szapc | o..szapc | Move to/from Debug Registers | |||||||||||||||
0F | 23 | r | U24 | 0 | MOV | Ddqp | Rdqp | system | o..szapc | o..szapc | Move to/from Debug Registers | ||||||||||||||
0F | 30 | 0 | WRMSR | MSR | eCX | eAX | eDX | system | Write to Model Specific Register | ||||||||||||||||
0F | 31 | f2 | RDTSC | EAX | EDX | I... | system | Read Time-Stamp Counter | |||||||||||||||||
0F | 32 | 0 | RDMSR | rAX | rDX | rCX | MSR | system | Read from Model Specific Register | ||||||||||||||||
0F | 33 | f3 | RDPMC | EAX | EDX | PMC | system | Read Performance-Monitoring Counters | |||||||||||||||||
0F | 34 | D25 | P | SYSENTER | I... | I... | I... | system | branch stack | ..i..... | ..i..... | ..i..... | Fast System Call | ||||||||||||
0F | 35 | D26 | P | 0 | SYSEXIT | I... | rCX | rDX | system | branch stack | trans | Fast Return from Fast System Call | |||||||||||||
0F | 40 | tttn | r | CMOVO | Gvqp | Evqp | gen | datamov | o....... | Conditional Move - overflow (OF=1) | |||||||||||||||
0F | 41 | tttN | r | CMOVNO | Gvqp | Evqp | gen | datamov | o....... | Conditional Move - not overflow (OF=0) | |||||||||||||||
0F | 42 | ttTn | r | CMOVB | Gvqp | Evqp | gen | datamov | .......c | Conditional Move - below/not above or equal/carry (CF=1) | |||||||||||||||
CMOVNAE | Gvqp | Evqp | |||||||||||||||||||||||
CMOVC | Gvqp | Evqp | |||||||||||||||||||||||
0F | 43 | ttTN | r | CMOVNB | Gvqp | Evqp | gen | datamov | .......c | Conditional Move - not below/above or equal/not carry (CF=0) | |||||||||||||||
CMOVAE | Gvqp | Evqp | |||||||||||||||||||||||
CMOVNC | Gvqp | Evqp | |||||||||||||||||||||||
0F | 44 | tTtn | r | CMOVZ | Gvqp | Evqp | gen | datamov | ....z... | Conditional Move - zero/equal (ZF=0) | |||||||||||||||
CMOVE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 45 | tTtN | r | CMOVNZ | Gvqp | Evqp | gen | datamov | ....z... | Conditional Move - not zero/not equal (ZF=1) | |||||||||||||||
CMOVNE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 46 | tTTn | r | CMOVBE | Gvqp | Evqp | gen | datamov | ....z..c | Conditional Move - below or equal/not above (CF=1 AND ZF=1) | |||||||||||||||
CMOVNA | Gvqp | Evqp | |||||||||||||||||||||||
0F | 47 | tTTN | r | CMOVNBE | Gvqp | Evqp | gen | datamov | ....z..c | Conditional Move - not below or equal/above (CF=0 AND ZF=0) | |||||||||||||||
CMOVA | Gvqp | Evqp | |||||||||||||||||||||||
0F | 48 | Tttn | r | CMOVS | Gvqp | Evqp | gen | datamov | ...s.... | Conditional Move - sign (SF=1) | |||||||||||||||
0F | 49 | TttN | r | CMOVNS | Gvqp | Evqp | gen | datamov | ...s.... | Conditional Move - not sign (SF=0) | |||||||||||||||
0F | 4A | TtTn | r | CMOVP | Gvqp | Evqp | gen | datamov | ......p. | Conditional Move - parity/parity even (PF=1) | |||||||||||||||
CMOVPE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4B | TtTN | r | CMOVNP | Gvqp | Evqp | gen | datamov | ......p. | Conditional Move - not parity/parity odd | |||||||||||||||
CMOVPO | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4C | TTtn | r | CMOVL | Gvqp | Evqp | gen | datamov | o..s.... | Conditional Move - less/not greater (SF!=OF) | |||||||||||||||
CMOVNGE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4D | TTtN | r | CMOVNL | Gvqp | Evqp | gen | datamov | o..s.... | Conditional Move - not less/greater or equal (SF=OF) | |||||||||||||||
CMOVGE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4E | TTTn | r | CMOVLE | Gvqp | Evqp | gen | datamov | o..sz... | Conditional Move - less or equal/not greater ((ZF=1) OR (SF!=OF)) | |||||||||||||||
CMOVNG | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4F | TTTN | r | CMOVNLE | Gvqp | Evqp | gen | datamov | o..sz... | Conditional Move - not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||||||||||||||
CMOVG | Gvqp | Evqp | |||||||||||||||||||||||
0F | 60 | r | PUNPCKLBW | Pq | Qd | mmx | unpack | Unpack Low Data | |||||||||||||||||
0F | 61 | r | PUNPCKLWD | Pq | Qd | mmx | unpack | Unpack Low Data | |||||||||||||||||
0F | 62 | r | PUNPCKLDQ | Pq | Qd | mmx | unpack | Unpack Low Data | |||||||||||||||||
0F | 63 | r | PACKSSWB | Pq | Qd | mmx | conver | Pack with Signed Saturation | |||||||||||||||||
0F | 64 | r | PCMPGTB | Pq | Qd | mmx | compar | Compare Packed Signed Integers for Greater Than | |||||||||||||||||
0F | 65 | r | PCMPGTW | Pq | Qd | mmx | compar | Compare Packed Signed Integers for Greater Than | |||||||||||||||||
0F | 66 | r | PCMPGTD | Pq | Qd | mmx | compar | Compare Packed Signed Integers for Greater Than | |||||||||||||||||
0F | 67 | r | PACKUSWB | Pq | mmx | conver | Pack with Unsigned Saturation | ||||||||||||||||||
0F | 68 | r | PUNPCKHBW | Pq | mmx | unpack | Unpack High Data | ||||||||||||||||||
0F | 69 | r | PUNPCKHWD | Pq | mmx | unpack | Unpack High Data | ||||||||||||||||||
0F | 6A | r | PUNPCKHDQ | Pq | mmx | unpack | Unpack High Data | ||||||||||||||||||
0F | 6B | r | PACKSSDW | Pq | mmx | conver | Pack with Signed Saturation | ||||||||||||||||||
0F | 6E | r | MOVD | Pq | Ed | mmx | datamov | Move Doubleword | |||||||||||||||||
0F | 6F | r | MOVQ | Pq | mmx | datamov | Move Quadword | ||||||||||||||||||
0F | 71 | 2 | PSRLW | Pq | Ib | mmx | shift | Shift Packed Data Right Logical | |||||||||||||||||
0F | 71 | 4 | PSRAW | Pq | Ib | mmx | shift | Shift Packed Data Right Arithmetic | |||||||||||||||||
0F | 71 | 6 | PSLLW | Pq | Ib | mmx | shift | Shift Packed Data Left Logical | |||||||||||||||||
0F | 72 | 2 | PSRLDQ | Pq | Ib | mmx | shift | Shift Double Quadword Right Logical | |||||||||||||||||
0F | 72 | 4 | PSRAD | Pq | Ib | mmx | shift | Shift Packed Data Right Arithmetic | |||||||||||||||||
0F | 72 | 6 | PSLLD | Pq | Ib | mmx | shift | Shift Packed Data Left Logical | |||||||||||||||||
0F | 73 | 2 | PSRLQ | Pq | Ib | mmx | shift | Shift Packed Data Right Logical | |||||||||||||||||
0F | 73 | 6 | PSLLQ | Pq | Ib | mmx | shift | Shift Packed Data Left Logical | |||||||||||||||||
0F | 74 | r | PCMPEQB | Pq | mmx | compar | Compare Packed Data for Equal | ||||||||||||||||||
0F | 75 | r | PCMPEQW | Pq | mmx | compar | Compare Packed Data for Equal | ||||||||||||||||||
0F | 76 | r | PCMPEQD | Pq | mmx | compar | Compare Packed Data for Equal | ||||||||||||||||||
0F | 77 | EMMS | mmx | Empty MMX Technology State | |||||||||||||||||||||
0F | 7E | r | MOVD | Ed | Pq | mmx | datamov | Move Doubleword | |||||||||||||||||
0F | 7F | r | MOVQ | Pq | mmx | datamov | Move Quadword | ||||||||||||||||||
0F | 80 | tttn | D32 | E | JO | Jds | gen | branch | cond | o....... | Jump short if overflow (OF=1) | ||||||||||||||
0F | 81 | tttN | D32 | E | JNO | Jds | gen | branch | cond | o....... | Jump short if not overflow (OF=0) | ||||||||||||||
0F | 82 | ttTn | D32 | E | JB | Jds | gen | branch | cond | .......c | Jump short if below/not above or equal/carry (CF=1) | ||||||||||||||
JNAE | Jds | ||||||||||||||||||||||||
JC | Jds | ||||||||||||||||||||||||
0F | 83 | ttTN | D32 | E | JNB | Jds | gen | branch | cond | .......c | Jump short if not below/above or equal/not carry (CF=0) | ||||||||||||||
JAE | Jds | ||||||||||||||||||||||||
JNC | Jds | ||||||||||||||||||||||||
0F | 84 | tTtn | D32 | E | JZ | Jds | gen | branch | cond | ....z... | Jump short if zero/equal (ZF=0) | ||||||||||||||
JE | Jds | ||||||||||||||||||||||||
0F | 85 | tTtN | D32 | E | JNZ | Jds | gen | branch | cond | ....z... | Jump short if not zero/not equal (ZF=1) | ||||||||||||||
JNE | Jds | ||||||||||||||||||||||||
0F | 86 | tTTn | D32 | E | JBE | Jds | gen | branch | cond | ....z..c | Jump short if below or equal/not above (CF=1 AND ZF=1) | ||||||||||||||
JNA | Jds | ||||||||||||||||||||||||
0F | 87 | tTTN | D32 | E | JNBE | Jds | gen | branch | cond | ....z..c | Jump short if not below or equal/above (CF=0 AND ZF=0) | ||||||||||||||
JA | Jds | ||||||||||||||||||||||||
0F | 88 | Tttn | D32 | E | JS | Jds | gen | branch | cond | ...s.... | Jump short if sign (SF=1) | ||||||||||||||
0F | 89 | TttN | D32 | E | JNS | Jds | gen | branch | cond | ...s.... | Jump short if not sign (SF=0) | ||||||||||||||
0F | 8A | TtTn | D32 | E | JP | Jds | gen | branch | cond | ......p. | Jump short if parity/parity even (PF=1) | ||||||||||||||
JPE | Jds | ||||||||||||||||||||||||
0F | 8B | TtTN | D32 | E | JNP | Jds | gen | branch | cond | ......p. | Jump short if not parity/parity odd | ||||||||||||||
JPO | Jds | ||||||||||||||||||||||||
0F | 8C | TTtn | D32 | E | JL | Jds | gen | branch | cond | o..s.... | Jump short if less/not greater (SF!=OF) | ||||||||||||||
JNGE | Jds | ||||||||||||||||||||||||
0F | 8D | TTtN | D32 | E | JNL | Jds | gen | branch | cond | o..s.... | Jump short if not less/greater or equal (SF=OF) | ||||||||||||||
JGE | Jds | ||||||||||||||||||||||||
0F | 8E | TTTn | D32 | E | JLE | Jds | gen | branch | cond | o..sz... | Jump short if less or equal/not greater ((ZF=1) OR (SF!=OF)) | ||||||||||||||
JNG | Jds | ||||||||||||||||||||||||
0F | 8F | TTTN | D32 | E | JNLE | Jds | gen | branch | cond | o..sz... | Jump short if not less nor equal/greater ((ZF=0) AND (SF=OF)) | ||||||||||||||
JG | Jds | ||||||||||||||||||||||||
0F | 90 | tttn | 0 | D27 | SETO | Eb | gen | datamov | o....... | Set Byte on Condition - overflow (OF=1) | |||||||||||||||
0F | 91 | tttN | 0 | D27 | SETNO | Eb | gen | datamov | o....... | Set Byte on Condition - not overflow (OF=0) | |||||||||||||||
0F | 92 | ttTn | 0 | D27 | SETB | Eb | gen | datamov | .......c | Set Byte on Condition - below/not above or equal/carry (CF=1) | |||||||||||||||
SETNAE | Eb | ||||||||||||||||||||||||
SETC | Eb | ||||||||||||||||||||||||
0F | 93 | ttTN | 0 | D27 | SETNB | Eb | gen | datamov | .......c | Set Byte on Condition - not below/above or equal/not carry (CF=0) | |||||||||||||||
SETAE | Eb | ||||||||||||||||||||||||
SETNC | Eb | ||||||||||||||||||||||||
0F | 94 | tTtn | 0 | D27 | SETZ | Eb | gen | datamov | ....z... | Set Byte on Condition - zero/equal (ZF=0) | |||||||||||||||
SETE | Eb | ||||||||||||||||||||||||
0F | 95 | tTtN | 0 | D27 | SETNZ | Eb | gen | datamov | ....z... | Set Byte on Condition - not zero/not equal (ZF=1) | |||||||||||||||
SETNE | Eb | ||||||||||||||||||||||||
0F | 96 | tTTn | 0 | D27 | SETBE | Eb | gen | datamov | ....z..c | Set Byte on Condition - below or equal/not above (CF=1 AND ZF=1) | |||||||||||||||
SETNA | Eb | ||||||||||||||||||||||||
0F | 97 | tTTN | 0 | D27 | SETNBE | Eb | gen | datamov | ....z..c | Set Byte on Condition - not below or equal/above (CF=0 AND ZF=0) | |||||||||||||||
SETA | Eb | ||||||||||||||||||||||||
0F | 98 | Tttn | 0 | D27 | SETS | Eb | gen | datamov | ...s.... | Set Byte on Condition - sign (SF=1) | |||||||||||||||
0F | 99 | TttN | 0 | D27 | SETNS | Eb | gen | datamov | ...s.... | Set Byte on Condition - not sign (SF=0) | |||||||||||||||
0F | 9A | TtTn | 0 | D27 | SETP | Eb | gen | datamov | ......p. | Set Byte on Condition - parity/parity even (PF=1) | |||||||||||||||
SETPE | Eb | ||||||||||||||||||||||||
0F | 9B | TtTN | 0 | D27 | SETNP | Eb | gen | datamov | ......p. | Set Byte on Condition - not parity/parity odd | |||||||||||||||
SETPO | Eb | ||||||||||||||||||||||||
0F | 9C | TTtn | 0 | D27 | SETL | Eb | gen | datamov | o..s.... | Set Byte on Condition - less/not greater (SF!=OF) | |||||||||||||||
SETNGE | Eb | ||||||||||||||||||||||||
0F | 9D | TTtN | 0 | D27 | SETNL | Eb | gen | datamov | o..s.... | Set Byte on Condition - not less/greater or equal (SF=OF) | |||||||||||||||
SETGE | Eb | ||||||||||||||||||||||||
0F | 9E | TTTn | 0 | D27 | SETLE | Eb | gen | datamov | o..sz... | Set Byte on Condition - less or equal/not greater ((ZF=1) OR (SF!=OF)) | |||||||||||||||
SETNG | Eb | ||||||||||||||||||||||||
0F | 9F | TTTN | 0 | D27 | SETNLE | Eb | gen | datamov | o..sz... | Set Byte on Condition - not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||||||||||||||
SETG | Eb | ||||||||||||||||||||||||
0F | A0 | Sre | PUSH | FS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | ||||||||||||||||||
0F | A1 | Sre | POP | FS | gen | stack segreg | Pop a Value from the Stack | ||||||||||||||||||
0F | A2 | CPUID | ... | gen | control | CPU Identification | |||||||||||||||||||
0F | A3 | BT | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test | |||||||||||||||
0F | A4 | d | SHLD | Evqp | Gvqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Left | |||||||||||||
0F | A5 | d | SHLD | Evqp | Gvqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Left | |||||||||||||
0F | A8 | SrE | PUSH | GS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | ||||||||||||||||||
0F | A9 | SrE | POP | GS | gen | stack segreg | Pop a Value from the Stack | ||||||||||||||||||
0F | AA | S | RSM | F | odiszapc | odiszapc | Resume from System Management Mode | ||||||||||||||||||
0F | AB | L | BTS | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Set | ||||||||||||||
0F | AC | d | SHRD | Evqp | Gvqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Right | |||||||||||||
0F | AD | d | SHRD | Evqp | Gvqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Right | |||||||||||||
0F | AE | 0 | E | FXSAVE | ... | sm | Save x87 FPU, MMX, XMM, and MXCSR State | ||||||||||||||||||
0F | AE | 1 | E | FXRSTOR | ... | sm | Restore x87 FPU, MMX, XMM, and MXCSR State | ||||||||||||||||||
0F | AF | DW | r | IMUL | Gvqp | Evqp | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | ||||||||||||
0F | B0 | dw | r | L | CMPXCHG | Eb | AL | Gb | gen | datamov arith | binary | o..szapc | o..szapc | Compare and Exchange | |||||||||||
0F | B1 | dW | r | L | CMPXCHG | Evqp | rAX | Gvqp | gen | datamov arith | binary | o..szapc | o..szapc | Compare and Exchange | |||||||||||
0F | B2 | sRe | r | D28 | LSS | SS | Gvqp | Mptp | gen | datamov segreg | Load Far Pointer | ||||||||||||||
0F | B3 | L | BTR | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Reset | ||||||||||||||
0F | B4 | Sre | r | D28 | LFS | FS | Gvqp | Mptp | gen | datamov segreg | Load Far Pointer | ||||||||||||||
0F | B5 | SrE | r | D28 | LGS | GS | Gvqp | Mptp | gen | datamov segreg | Load Far Pointer | ||||||||||||||
0F | B6 | Dw | r | MOVZX | Gvqp | Eb | gen | conver | Move with Zero-Extend | ||||||||||||||||
0F | B7 | DW | r | MOVZX | Gvqp | Ew | gen | conver | Move with Zero-Extend | ||||||||||||||||
0F | B8 | IT+ | JMPE | Jump to IA-64 Instruction Set | |||||||||||||||||||||
0F | B9 | M29 | UD | G | E | gen | control | Undefined Instruction | |||||||||||||||||
0F | BA | 4 | BT | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test | ||||||||||||||
0F | BA | 5 | L | BTS | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Set | |||||||||||||
0F | BA | 6 | L | BTR | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Reset | |||||||||||||
0F | BA | 7 | L | BTC | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Complement | |||||||||||||
0F | BB | L | BTC | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Complement | ||||||||||||||
0F | BC | D30 | BSF | Gvqp | Evqp | gen | bit | o..szapc | ....z... | o..s.apc | Bit Scan Forward | ||||||||||||||
0F | BD | D30 | BSR | Gvqp | Evqp | gen | bit | o..szapc | ....z... | o..s.apc | Bit Scan Reverse | ||||||||||||||
0F | BE | Dw | r | MOVSX | Gvqp | Eb | gen | conver | Move with Sign-Extension | ||||||||||||||||
0F | BF | DW | r | MOVSX | Gvqp | Ew | gen | conver | Move with Sign-Extension | ||||||||||||||||
0F | C0 | dw | r | L | XADD | Eb | Gb | gen | datamov arith | binary | o..szapc | o..szapc | Exchange and Add | ||||||||||||
0F | C1 | dW | r | L | XADD | Evqp | Gvqp | gen | datamov arith | binary | o..szapc | o..szapc | Exchange and Add | ||||||||||||
0F | C7 | 1 | D31 | E | L | CMPXCHG8B | ... | gen | datamov arith | binary | ....z... | ....z... | Compare and Exchange Bytes | ||||||||||||
0F | C7 | 1 | D31 | E | L | CMPXCHG16B | ... | gen | datamov arith | binary | ....z... | ....z... | Compare and Exchange Bytes | ||||||||||||
0F | C8 | +r | BSWAP | Zvqp | gen | datamov | Byte Swap | ||||||||||||||||||
0F | D1 | r | PSRLW | Pq | mmx | shift | Shift Packed Data Right Logical | ||||||||||||||||||
0F | D2 | r | PSRLD | Pq | mmx | shift | Shift Packed Data Right Logical | ||||||||||||||||||
0F | D3 | r | PSRLQ | Pq | mmx | shift | Shift Packed Data Right Logical | ||||||||||||||||||
0F | D5 | r | PMULLW | Pq | mmx | arith | Multiply Packed Signed Integers and Store Low Result | ||||||||||||||||||
0F | D8 | r | PSUBUSB | Pq | mmx | arith | Subtract Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||||||
0F | D9 | r | PSUBUSW | Pq | mmx | arith | Subtract Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||||||
0F | DB | r | PAND | Pq | Qd | mmx | logical | Logical AND | |||||||||||||||||
0F | DC | r | PADDUSB | Pq | mmx | arith | Add Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||||||
0F | DD | r | PADDUSW | Pq | mmx | arith | Add Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||||||
0F | DF | r | PANDN | Pq | mmx | logical | Logical AND NOT | ||||||||||||||||||
0F | E1 | r | PSRAW | Pq | mmx | shift | Shift Packed Data Right Arithmetic | ||||||||||||||||||
0F | E2 | r | PSRAD | Pq | mmx | shift | Shift Packed Data Right Arithmetic | ||||||||||||||||||
0F | E5 | r | PMULHW | Pq | mmx | arith | Multiply Packed Signed Integers and Store High Result | ||||||||||||||||||
0F | E8 | r | PSUBSB | Pq | mmx | arith | Subtract Packed Signed Integers with Signed Saturation | ||||||||||||||||||
0F | E9 | r | PSUBSW | Pq | mmx | arith | Subtract Packed Signed Integers with Signed Saturation | ||||||||||||||||||
0F | EB | r | POR | Pq | mmx | logical | Bitwise Logical OR | ||||||||||||||||||
0F | EC | r | PADDSB | Pq | mmx | arith | Add Packed Signed Integers with Signed Saturation | ||||||||||||||||||
0F | ED | r | PADDSW | Pq | mmx | arith | Add Packed Signed Integers with Signed Saturation | ||||||||||||||||||
0F | EF | r | PXOR | Pq | mmx | logical | Logical Exclusive OR | ||||||||||||||||||
0F | F1 | r | PSLLW | Pq | mmx | shift | Shift Packed Data Left Logical | ||||||||||||||||||
0F | F2 | r | PSLLD | Pq | mmx | shift | Shift Packed Data Left Logical | ||||||||||||||||||
0F | F3 | r | PSLLQ | Pq | mmx | shift | Shift Packed Data Left Logical | ||||||||||||||||||
0F | F5 | r | PMADDWD | Pq | Qd | mmx | arith | Multiply and Add Packed Integers | |||||||||||||||||
0F | F8 | r | PSUBB | Pq | mmx | arith | Subtract Packed Integers | ||||||||||||||||||
0F | F9 | r | PSUBW | Pq | mmx | arith | Subtract Packed Integers | ||||||||||||||||||
0F | FA | r | PSUBD | Pq | mmx | arith | Subtract Packed Integers | ||||||||||||||||||
0F | FC | r | PADDB | Pq | mmx | arith | Add Packed Integers | ||||||||||||||||||
0F | FD | r | PADDW | Pq | mmx | arith | Add Packed Integers | ||||||||||||||||||
0F | FE | r | PADDD | Pq | mmx | arith | Add Packed Integers |
Printing is not enabled. You can order a printed copy in the store, or get access to benefits, which include also printable HTML and PDF files.
If the 80287 encounters one of these encodings (D9 /3, mod = 11b, DF /2, mod = 11b, DF /3, mod = 11b) in the instruction stream, it will execute it as follows: FSTP ST(i)
While FSTP (D9 /3, mod < 11b), FSTP8 (DF /2, mod = 11b), and FSTP9 (DF /3, mod = 11b) do signal stack underflow, FSTP1 (D9 /3, mod = 11b) does not.
The 8087 instructions FENI and FDISI perform no function in the 80287. If these opcodes are detected in an 80286/80287 instruction stream, the 80287 will perform no specific operation and no internal states will be affected.
Unlike the 80287, the 80387 is not sensitive to the addressing and memory management of the CPU. The 80387 operates the same regardless of whether the 80386 CPU is operating in real-address mode, in protected mode, or in virtual 8086 mode.
If the 80287 encounters one of these encodings (DC /2, mod = 11b) in the instruction stream, it will execute it as follows: FCOM ST(i)
If the 80287 encounters one of these encodings (DC /3, mod = 11b, DE /2, mod = 11b) in the instruction stream, it will execute it as follows: FCOMP ST(i)
If the 80287 encounters one of these encodings (DD /1, mod = 11b, DF /1, mod = 11b) in the instruction stream, it will execute it as follows: FXCH ST(i)
If the 80287 encounters one of these encodings (DF /1, mod = 11b) in the instruction stream, it will execute it as follows: FFREE ST(i) and pop stack
Unlike INT 1 (CDh,01h), INT1 (F1h) doesn't perform the IOPL or DPL check and it can't be redirected via the TSS32.IRB.
While the latest Intel manuals still omit this de-facto standard, the recent x86-64 manuals from AMD document it.
For the MOVs from/to CRx/DRx/TRx, mod=00b/01b/10b is aliased to 11b.