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 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | sr | PUSH | ES | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
06 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
07 | sr | POP | ES | gen | stack segreg | Pop a Value from the Stack | |||||||||||||||||||
07 | P4+ | 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 | sR | PUSH | CS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
0E | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
0F | sR | 00 | D1 | POP | CS | gen | stack segreg | Pop a Value from the Stack | |||||||||||||||||
0F | 01 | invalid | |||||||||||||||||||||||
0F | 02+ | Two-byte Instructions | |||||||||||||||||||||||
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 | Sr | PUSH | SS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
16 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
17 | Sr | POP | SS | gen | stack segreg | Pop a Value from the Stack | |||||||||||||||||||
17 | P4+ | 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 | SR | PUSH | DS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
1E | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
1F | SR | POP | DS | gen | stack segreg | Pop a Value from the Stack | |||||||||||||||||||
1F | P4+ | 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 | ES | ES | prefix | segreg | ES segment override prefix | ||||||||||||||||||||
26 | P4 | undefined | prefix | branch | cond | (use with any branch instruction is reserved) | |||||||||||||||||||
26 | P4+ | E | null | prefix | segreg | Null Prefix in 64-bit Mode | |||||||||||||||||||
27 | DAA | AL | gen | arith | decimal | .....a.c | o..szapc | ...szapc | o....... | Decimal Adjust AL after Addition | |||||||||||||||
27 | P4+ | 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 | CS | CS | prefix | segreg | CS segment override prefix | ||||||||||||||||||||
2E | P4 | D2 | NTAKEN | prefix | branch | cond | Branch not taken prefix (only with Jcc instructions) | ||||||||||||||||||
2E | P4+ | E | null | prefix | segreg | Null Prefix in 64-bit Mode | |||||||||||||||||||
2F | DAS | AL | gen | arith | decimal | .....a.c | o..szapc | ...szapc | o....... | Decimal Adjust AL after Subtraction | |||||||||||||||
2F | P4+ | 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 | SS | SS | prefix | segreg | SS segment override prefix | ||||||||||||||||||||
36 | P4 | undefined | prefix | branch | cond | (use with any branch instruction is reserved) | |||||||||||||||||||
36 | P4+ | E | null | prefix | segreg | Null Prefix in 64-bit Mode | |||||||||||||||||||
37 | AAA | AL | AH | gen | arith | decimal | .....a.. | o..szapc | .....a.c | o..sz.p. | ASCII Adjust After Addition | ||||||||||||||
37 | P4+ | 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 | DS | DS | prefix | segreg | DS segment override prefix | ||||||||||||||||||||
3E | P4 | D2 | TAKEN | prefix | branch | cond | Branch taken prefix (only with Jcc instructions) | ||||||||||||||||||
3E | P4+ | E | null | prefix | segreg | Null Prefix in 64-bit Mode | |||||||||||||||||||
3F | AAS | AL | AH | gen | arith | decimal | .....a.. | o..szapc | .....a.c | o..sz.p. | ASCII Adjust AL After Subtraction | ||||||||||||||
3F | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
40 | +r | INC | Zv | gen | arith | binary | o..szap. | o..szap. | Increment by 1 | ||||||||||||||||
40 | P4+ | E | REX | prefix | Access to new 8-bit registers | ||||||||||||||||||||
41 | P4+ | E | REX.B | prefix | Extension of r/m field, base field, or opcode reg field | ||||||||||||||||||||
42 | P4+ | E | REX.X | prefix | Extension of SIB index field | ||||||||||||||||||||
43 | P4+ | E | REX.XB | prefix | REX.X and REX.B combination | ||||||||||||||||||||
44 | P4+ | E | REX.R | prefix | Extension of ModR/M reg field | ||||||||||||||||||||
45 | P4+ | E | REX.RB | prefix | REX.R and REX.B combination | ||||||||||||||||||||
46 | P4+ | E | REX.RX | prefix | REX.R and REX.X combination | ||||||||||||||||||||
47 | P4+ | E | REX.RXB | prefix | REX.R, REX.X and REX.B combination | ||||||||||||||||||||
48 | +r | DEC | Zv | gen | arith | binary | o..szap. | o..szap. | Decrement by 1 | ||||||||||||||||
48 | P4+ | E | REX.W | prefix | 64 Bit Operand Size | ||||||||||||||||||||
49 | P4+ | E | REX.WB | prefix | REX.W and REX.B combination | ||||||||||||||||||||
4A | P4+ | E | REX.WX | prefix | REX.W and REX.X combination | ||||||||||||||||||||
4B | P4+ | E | REX.WXB | prefix | REX.W, REX.X and REX.B combination | ||||||||||||||||||||
4C | P4+ | E | REX.WR | prefix | REX.W and REX.R combination | ||||||||||||||||||||
4D | P4+ | E | REX.WRB | prefix | REX.W, REX.R and REX.B combination | ||||||||||||||||||||
4E | P4+ | E | REX.WRX | prefix | REX.W, REX.R and REX.X combination | ||||||||||||||||||||
4F | P4+ | E | REX.WRXB | prefix | REX.W, REX.R, REX.X and REX.B combination | ||||||||||||||||||||
50 | +r | PUSH | Zv | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
50 | +r | P4+ | E | PUSH | Zvq | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||
58 | +r | POP | Zv | gen | stack | Pop a Value from the Stack | |||||||||||||||||||
58 | +r | P4+ | E | POP | Zvq | gen | stack | Pop a Value from the Stack | |||||||||||||||||
60 | 01+ | PUSHA | AX | CX | DX | ... | gen | stack | Push All General-Purpose Registers | ||||||||||||||||
60 | 03+ | PUSHAD | EAX | ECX | EDX | ... | gen | stack | Push All General-Purpose Registers | ||||||||||||||||
60 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
61 | 01+ | POPA | DI | SI | BP | ... | gen | stack | Pop All General-Purpose Registers | ||||||||||||||||
61 | 03+ | POPAD | EDI | ESI | EBP | ... | gen | stack | Pop All General-Purpose Registers | ||||||||||||||||
61 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
62 | D | r | 01+ | f | BOUND | Gv | Ma | Fv | gen | break stack | ..i..... | ..i..... | ..i..... | Check Array Index Against Bounds | |||||||||||
62 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
63 | r | 02+ | ARPL | Ew | Gw | system | ....z... | ....z... | Adjust RPL Field of Segment Selector | ||||||||||||||||
63 | D | r | P4+ | E | MOVSXD | Gdqp | Ed | gen | conver | Move with Sign-Extension | |||||||||||||||
64 | 03+ | FS | FS | prefix | segreg | FS segment override prefix | |||||||||||||||||||
64 | P4 | undefined | prefix | branch | cond | (only with Jcc instructions) | |||||||||||||||||||
64 | P4 | U2 | ALTER | prefix | branch | cond | Alternating branch prefix (only with Jcc instructions) | ||||||||||||||||||
65 | 03+ | GS | GS | prefix | segreg | GS segment override prefix | |||||||||||||||||||
65 | P4 | undefined | prefix | branch | cond | (only with Jcc instructions) | |||||||||||||||||||
66 | no mnemonic | prefix | Operand-size override prefix | ||||||||||||||||||||||
66 | P4+ | M | no mnemonic | sse2 | prefix | Precision-size override prefix | |||||||||||||||||||
67 | no mnemonic | prefix | Address-size override prefix | ||||||||||||||||||||||
68 | 01+ | PUSH | Ivs | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
69 | r | 01+ | IMUL | Gvqp | Evqp | Ivds | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | ||||||||||||
6A | S | 01+ | PUSH | Ibss | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | ||||||||||||||||||
6B | S | r | 01+ | IMUL | Gvqp | Evqp | Ibs | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | |||||||||||
6C | w | 01+ | f1 | INS | Yb | DX | gen | inout string | .d...... | Input from Port to String | |||||||||||||||
INSB | Yb | DX | |||||||||||||||||||||||
6D | W | 01+ | f1 | INS | Ywo | DX | gen | inout string | .d...... | Input from Port to String | |||||||||||||||
INSW | Ywo | DX | |||||||||||||||||||||||
6D | W | 03+ | f1 | INS | Yv | DX | gen | inout string | .d...... | Input from Port to String | |||||||||||||||
INSD | Ydo | DX | |||||||||||||||||||||||
6E | w | 01+ | f1 | OUTS | DX | Xb | gen | inout string | .d...... | Output String to Port | |||||||||||||||
OUTSB | DX | Xb | |||||||||||||||||||||||
6F | W | 01+ | f1 | OUTS | DX | Xwo | gen | inout string | .d...... | Output String to Port | |||||||||||||||
OUTSW | DX | Xwo | |||||||||||||||||||||||
6F | W | 03+ | f1 | OUTS | DX | Xv | gen | inout string | .d...... | Output String to Port | |||||||||||||||
OUTSD | DX | Xdo | |||||||||||||||||||||||
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=1) | |||||||||||||||||
JE | Jbs | ||||||||||||||||||||||||
75 | tTtN | JNZ | Jbs | gen | branch | cond | ....z... | Jump short if not zero/not equal (ZF=0) | |||||||||||||||||
JNE | Jbs | ||||||||||||||||||||||||
76 | tTTn | JBE | Jbs | gen | branch | cond | ....z..c | Jump short if below or equal/not above (CF=1 OR 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 (PF=0) | |||||||||||||||||
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 | w | 0 | L | ADD alias | Eb | Ib | gen | arith | binary | o..szapc | o..szapc | Add | |||||||||||||
82 | w | 1 | L | OR alias | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Inclusive OR | ||||||||||||
82 | w | 2 | L | ADC alias | Eb | Ib | gen | arith | binary | .......c | o..szapc | o..szapc | Add with Carry | ||||||||||||
82 | w | 3 | L | SBB alias | Eb | Ib | gen | arith | binary | .......c | o..szapc | o..szapc | Integer Subtraction with Borrow | ||||||||||||
82 | w | 4 | L | AND alias | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical AND | ||||||||||||
82 | w | 5 | L | SUB alias | Eb | Ib | gen | arith | binary | o..szapc | o..szapc | Subtract | |||||||||||||
82 | w | 6 | L | XOR alias | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Exclusive OR | ||||||||||||
82 | w | 7 | CMP alias | Eb | Ib | gen | arith | binary | o..szapc | o..szapc | Compare Two Operands | ||||||||||||||
82 | P4+ | 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 | 03+ | 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 | 03+ | 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 | 03+ | 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 | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | |||||||||||||
85 | dW | r | TEST | Evqp | Gvqp | gen | logical | 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 | Mw | Sw | gen | datamov | Move | |||||||||||||||||
MOV | Rvqp | Sw | |||||||||||||||||||||||
8D | r | LEA | Gvqp | M | gen | datamov | Load Effective Address | ||||||||||||||||||
8E | D | r | MOV | Sw | Ew | gen | datamov | Move | |||||||||||||||||
8F | W | 0 | POP | Ev | gen | stack | Pop a Value from the Stack | ||||||||||||||||||
8F | W | 0 | P4+ | E | POP | Evq | gen | stack | Pop a Value from the Stack | ||||||||||||||||
90 | +r | XCHG | Zvqp | rAX | gen | datamov | Exchange Register/Memory with Register | ||||||||||||||||||
90 | D3 | NOP | gen | control | No Operation | ||||||||||||||||||||
F3 | 90 | 00-P3 | D4 | NOP nop | gen | control | No Operation | ||||||||||||||||||
F3 | 90 | P4+ | PAUSE | sse2 | cachect | Spin Loop Hint | |||||||||||||||||||
98 | CBW | AX | AL | gen | conver | Convert Byte to Word | |||||||||||||||||||
98 | 03+ | CWDE | EAX | AX | gen | conver | Convert Word to Doubleword | ||||||||||||||||||
98 | P4+ | E | CBW | AX | AL | gen | conver | Convert | |||||||||||||||||
CWDE | EAX | AX | |||||||||||||||||||||||
CDQE | RAX | EAX | |||||||||||||||||||||||
99 | CWD | DX | AX | gen | conver | Convert Word to Doubleword | |||||||||||||||||||
99 | 03+ | CDQ | EDX | EAX | gen | conver | Convert Doubleword to Quadword | ||||||||||||||||||
99 | P4+ | E | CWD | DX | AX | gen | conver | Convert | |||||||||||||||||
CDQ | EDX | EAX | |||||||||||||||||||||||
CQO | RDX | RAX | |||||||||||||||||||||||
9A | CALLF | Ap | gen | branch stack | Call Procedure | ||||||||||||||||||||
9A | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
9B | FWAIT | x87fpu | control | 0123 | 0123 | Check pending unmasked floating-point exceptions | |||||||||||||||||||
WAIT | |||||||||||||||||||||||||
9B | no mnemonic | prefix | x87fpu | control | 0123 | 0123 | Wait Prefix | ||||||||||||||||||
9C | PUSHF | Fwo | gen | stack flgctrl | Push FLAGS Register onto the Stack | ||||||||||||||||||||
9C | 03+ | PUSHFD | Fdo | gen | stack flgctrl | Push eFLAGS Register onto the Stack | |||||||||||||||||||
9C | P4+ | E | PUSHF | Fws | gen | stack flgctrl | Push rFLAGS Register onto the Stack | ||||||||||||||||||
PUSHFQ | Fqs | ||||||||||||||||||||||||
9D | POPF | Fwo | gen | stack flgctrl | Pop Stack into FLAGS Register | ||||||||||||||||||||
9D | 03+ | POPFD | Fdo | gen | stack flgctrl | Pop Stack into eFLAGS Register | |||||||||||||||||||
9D | P4+ | E | POPF | Fws | gen | stack flgctrl | Pop Stack into rFLAGS Register | ||||||||||||||||||
POPFQ | Fqs | ||||||||||||||||||||||||
9E | D5 | SAHF | AH | gen | datamov flgctrl | ...szapc | ...szapc | Store AH into Flags | |||||||||||||||||
9F | D5 | 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 | MOVS | Ywo | Xwo | gen | datamov string | .d...... | Move Data from String to String | |||||||||||||||||
MOVSW | Ywo | Xwo | |||||||||||||||||||||||
A5 | W | 03+ | MOVS | Yv | Xv | gen | datamov string | .d...... | Move Data from String to String | ||||||||||||||||
MOVSD | Ydo | Xdo | |||||||||||||||||||||||
A5 | W | P4+ | E | MOVS | Yvqp | Xvqp | gen | datamov string | .d...... | Move Data from String to String | |||||||||||||||
MOVSW | Ywo | Xwo | |||||||||||||||||||||||
MOVSD | Ydo | Xdo | |||||||||||||||||||||||
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 | CMPS | Ywo | Xwo | gen | arith string | binary | .d...... | o..szapc | o..szapc | Compare String Operands | ||||||||||||||
CMPSW | Ywo | Xwo | |||||||||||||||||||||||
A7 | W | 03+ | CMPS | Yv | Xv | gen | arith string | binary | .d...... | o..szapc | o..szapc | Compare String Operands | |||||||||||||
CMPSD | Ydo | Xdo | |||||||||||||||||||||||
A7 | W | P4+ | E | CMPS | Yvqp | Xvqp | gen | arith string | binary | .d...... | o..szapc | o..szapc | Compare String Operands | ||||||||||||
CMPSW | Ywo | Xwo | |||||||||||||||||||||||
CMPSD | Ydo | Xdo | |||||||||||||||||||||||
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 | STOS | Ywo | AX | gen | datamov string | .d...... | Store String | |||||||||||||||||
STOSW | Ywo | AX | |||||||||||||||||||||||
AB | W | 03+ | STOS | Yv | eAX | gen | datamov string | .d...... | Store String | ||||||||||||||||
STOSD | Ydo | EAX | |||||||||||||||||||||||
AB | W | P4+ | E | STOS | Yvqp | rAX | gen | datamov string | .d...... | Store String | |||||||||||||||
STOSW | Ywo | AX | |||||||||||||||||||||||
STOSD | Ydo | EAX | |||||||||||||||||||||||
STOSQ | Yqp | RAX | |||||||||||||||||||||||
AC | w | LODS | AL | Xb | gen | datamov string | .d...... | Load String | |||||||||||||||||
LODSB | AL | Xb | |||||||||||||||||||||||
AD | W | LODS | AX | Xwo | gen | datamov string | .d...... | Load String | |||||||||||||||||
LODSW | AX | Xwo | |||||||||||||||||||||||
AD | W | 03+ | LODS | eAX | Xv | gen | datamov string | .d...... | Load String | ||||||||||||||||
LODSD | EAX | Xdo | |||||||||||||||||||||||
AD | W | P4+ | E | LODS | rAX | Xvqp | gen | datamov string | .d...... | Load String | |||||||||||||||
LODSW | AX | Xwo | |||||||||||||||||||||||
LODSD | EAX | Xdo | |||||||||||||||||||||||
LODSQ | RAX | Xqp | |||||||||||||||||||||||
AE | w | SCAS | Yb | AL | gen | arith string | binary | .d...... | o..szapc | o..szapc | Scan String | ||||||||||||||
SCASB | Yb | AL | |||||||||||||||||||||||
AF | W | SCAS | Ywo | AX | gen | arith string | binary | .d...... | o..szapc | o..szapc | Scan String | ||||||||||||||
SCASW | Ywo | AX | |||||||||||||||||||||||
AF | W | 03+ | SCAS | Yv | eAX | gen | arith string | binary | .d...... | o..szapc | o..szapc | Scan String | |||||||||||||
SCASD | Ydo | EAX | |||||||||||||||||||||||
AF | W | P4+ | E | SCAS | Yvqp | rAX | gen | arith string | binary | .d...... | o..szapc | o..szapc | Scan String | ||||||||||||
SCASW | Ywo | AX | |||||||||||||||||||||||
SCASD | Ydo | EAX | |||||||||||||||||||||||
SCASQ | Yqp | RAX | |||||||||||||||||||||||
B0 | +r | MOV | Zb | Ib | gen | datamov | Move | ||||||||||||||||||
B8 | +r | MOV | Zvqp | Ivqp | gen | datamov | Move | ||||||||||||||||||
C0 | w | 0 | 01+ | ROL | Eb | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C0 | w | 1 | 01+ | ROR | Eb | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C0 | w | 2 | 01+ | RCL | Eb | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | ||||||||||||
C0 | w | 3 | 01+ | RCR | Eb | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | ||||||||||||
C0 | w | 4 | 01+ | SHL | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
SAL | Eb | Ib | |||||||||||||||||||||||
C0 | w | 5 | 01+ | SHR | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
C0 | w | 6 | 01+ | U6 | SAL alias | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||
SHL alias | Eb | Ib | |||||||||||||||||||||||
C0 | w | 7 | 01+ | SAR | Eb | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.. | Shift | |||||||||||||
C1 | W | 0 | 01+ | ROL | Evqp | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C1 | W | 1 | 01+ | ROR | Evqp | Ib | gen | shftrot | o..szapc | o..szapc | o....... | Rotate | |||||||||||||
C1 | W | 2 | 01+ | RCL | Evqp | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | ||||||||||||
C1 | W | 3 | 01+ | RCR | Evqp | Ib | gen | shftrot | .......c | o..szapc | o..szapc | o....... | Rotate | ||||||||||||
C1 | W | 4 | 01+ | SHL | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
SAL | Evqp | Ib | |||||||||||||||||||||||
C1 | W | 5 | 01+ | SHR | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | |||||||||||||
C1 | W | 6 | 01+ | U6 | SAL alias | Evqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Shift | ||||||||||||
SHL alias | Evqp | Ib | |||||||||||||||||||||||
C1 | W | 7 | 01+ | 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 | r | LES | ES | Gv | Mp | gen | datamov segreg | Load Far Pointer | |||||||||||||||||
C4 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
C5 | r | LDS | DS | Gv | Mp | gen | datamov segreg | Load Far Pointer | |||||||||||||||||
C5 | P4+ | 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 | 01+ | ENTER | eBP | Iw | Ib | gen | stack | Make Stack Frame for Procedure Parameters | |||||||||||||||||
C8 | P4+ | E | ENTER | rBP | Iw | Ib | gen | stack | Make Stack Frame for Procedure Parameters | ||||||||||||||||
C9 | 01+ | LEAVE | eBP | gen | stack | High Level Procedure Exit | |||||||||||||||||||
C9 | P4+ | E | 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 alias | 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 | f | IRET | Fwo | gen | break stack | Interrupt Return | |||||||||||||||||||
CF | 03+ | f | IRETD | Fdo | gen | break stack | Interrupt Return | ||||||||||||||||||
CF | E | f | IRET | Fwo | gen | break stack | Interrupt Return | ||||||||||||||||||
IRETD | Fdo | ||||||||||||||||||||||||
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 | U6 | 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 | U6 | 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 | U6 | 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 | U6 | 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 | 0A | AAM | AL | AH | gen | arith | decimal | o..szapc | ...sz.p. | o....a.c | ASCII Adjust AX After Multiply | ||||||||||||||
D4 | AMX | AL | AH | Ib | gen | arith | decimal | o..szapc | ...sz.p. | o....a.c | Adjust AX After Multiply | ||||||||||||||
D4 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
D5 | 0A | AAD | AL | AH | gen | arith | decimal | o..szapc | ...sz.p. | o....a.c | ASCII Adjust AX Before Division | ||||||||||||||
D5 | ADX | AL | AH | Ib | gen | arith | decimal | o..szapc | ...sz.p. | o....a.c | Adjust AX Before Division | ||||||||||||||
D5 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
D6 | 02+ | D7 | undefined | Undefined and Reserved; Does not Generate #UD | |||||||||||||||||||||
D6 | 02+ | U8 | SALC | AL | gen | datamov | .......c | Set AL If Carry | |||||||||||||||||
SETALC | AL | ||||||||||||||||||||||||
D6 | P4+ | E | invalid | Invalid Instruction in 64-Bit Mode | |||||||||||||||||||||
D7 | XLAT | AL | BBb | gen | datamov | Table Look-up Translation | |||||||||||||||||||
XLATB | AL | BBb | |||||||||||||||||||||||
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 | 00-02 | D9 | p | FSTP1 part alias10 | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | ||||||||||||
D9 | 3 | 03+ | U17 | p | FSTP1 part alias10 | 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 log210 | ||||||||||||||
D9 | EA | 5 | s | FLDL2E | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant log2e | ||||||||||||||
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 log102 | ||||||||||||||
D9 | ED | 5 | s | FLDLN2 | ST | x87fpu | ldconst | 0123 | .1.. | 0.23 | Load Constant loge2 | ||||||||||||||
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 2x-1 | |||||||||||||||
D9 | F1 | 6 | p | FYL2X | ST1 | ST | x87fpu | trans | 0123 | .1.. | 0.23 | Compute y × log2x 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 × log2(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 | PP+ | FCMOVB | ST | EST | x87fpu | datamov | .......c | 0123 | .1.. | 0.23 | FP Conditional Move - below (CF=1) | |||||||||||||
DA | mF | 1 | FIMUL | ST | Mdi | x87fpu | arith | 0123 | .1.. | 0.23 | Multiply | ||||||||||||||
DA | 1 | PP+ | FCMOVE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | FP Conditional Move - equal (ZF=1) | |||||||||||||
DA | mF | 2 | FICOM | ST | Mdi | x87fpu | compar | 0123 | 0123 | Compare Integer | |||||||||||||||
DA | 2 | PP+ | FCMOVBE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | FP 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 | PP+ | FCMOVU | ST | EST | x87fpu | datamov | ......p. | 0123 | .1.. | 0.23 | FP 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 | 03+ | 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 | PP+ | FCMOVNB | ST | EST | x87fpu | datamov | .......c | 0123 | .1.. | 0.23 | FP Conditional Move - not below (CF=0) | |||||||||||||
DB | mF | 1 | P4++ | p | FISTTP | Mdi | ST | sse3 | x87fpu | conver | 0123 | .1.. | 0.23 | .0.. | Store Integer with Truncation and Pop | ||||||||||
DB | 1 | PP+ | FCMOVNE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | FP Conditional Move - not equal (ZF=0) | |||||||||||||
DB | mF | 2 | FIST | Mdi | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Integer | ||||||||||||||
DB | 2 | PP+ | FCMOVNBE | ST | EST | x87fpu | datamov | ....z... | 0123 | .1.. | 0.23 | FP 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 | PP+ | FCMOVNU | ST | EST | x87fpu | datamov | ......p. | 0123 | .1.. | 0.23 | FP Conditional Move - not unordered (PF=0) | |||||||||||||
DB | E0 | 4 | 00 | FNENI | x87fpu | control | Enable NPX Interrupt | ||||||||||||||||||
9B | DB | E0 | 4 | 00 | FENI | x87fpu | control | Enable NPX Interrupt | |||||||||||||||||
DB | E0 | 4 | 01+ | D11 | FNENI nop | obsol | control | Treated as Integer NOP | |||||||||||||||||
DB | E1 | 4 | 00 | FNDISI | x87fpu | control | Disable NPX Interrupt | ||||||||||||||||||
9B | DB | E1 | 4 | 00 | FDISI | x87fpu | control | Disable NPX Interrupt | |||||||||||||||||
DB | E1 | 4 | 01+ | D11 | 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 | 02 | FNSETPM | x87fpu | control | Set Protected Mode | ||||||||||||||||||
9B | DB | E4 | 4 | 02 | FSETPM | x87fpu | control | Set Protected Mode | |||||||||||||||||
DB | E4 | 4 | 03+ | D12 | 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 | PP+ | FUCOMI | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | Unordered Compare Floating Point Values and Set EFLAGS | ||||||||||||||
DB | 6 | PP+ | FCOMI | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | 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 | 00-02 | D13 | FCOM2 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real | ||||||||||||||
DC | 2 | 03+ | U17 | 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 | 00-02 | D14 | p | FCOMP3 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | |||||||||||||
DC | 3 | 03+ | U17 | 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 | P4++ | p | FISTTP | Mqi | ST | sse3 | x87fpu | conver | 0123 | .1.. | 0.23 | .0.. | Store Integer with Truncation and Pop | |||||||||||
DD | 1 | 00-02 | D15 | FXCH4 alias | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | |||||||||||||
DD | 1 | 03+ | U17 | 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 | ST | ST1 | ST2 | ... | x87fpu | control | 0123 | 0123 | Restore x87 FPU State | ||||||||||||||
DD | 4 | 03+ | FUCOM | ST | EST | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values | |||||||||||||||
DD | E1 | 4 | 03+ | FUCOM | ST | ST1 | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values | ||||||||||||||
DD | 5 | 03+ | p | FUCOMP | ST | EST | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values and Pop | ||||||||||||||
DD | E9 | 5 | 03+ | p | FUCOMP | ST | ST1 | x87fpu | compar | 0123 | 0123 | Unordered Compare Floating Point Values and Pop | |||||||||||||
DD | 6 | FNSAVE | Mst | ST | ST1 | ... | x87fpu | control | 0123 | 0123 | 0000 | Store x87 FPU State | |||||||||||||
9B | DD | 6 | FSAVE | Mst | ST | ST1 | ... | x87fpu | control | 0123 | 0123 | 0000 | Store 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 | 00-02 | D14 | p | FCOMP5 alias | ST | EST | x87fpu | compar | 0123 | 0123 | Compare Real and Pop | |||||||||||||
DE | 2 | 03+ | U17 | 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 | F1 | 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 | D16 | p | FFREEP | EST | x87fpu | control | 0123 | 0123 | Free Floating-Point Register and Pop | |||||||||||||||
DF | MF | 1 | P4++ | p | FISTTP | Mwi | ST | sse3 | x87fpu | conver | 0123 | .1.. | 0.23 | .0.. | Store Integer with Truncation and Pop | ||||||||||
DF | 1 | 00-02 | D15 | FXCH7 alias | ST | EST | x87fpu | datamov | 0123 | .1.. | 0.23 | Exchange Register Contents | |||||||||||||
DF | 1 | 03+ | U17 | 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 | 00-02 | D9 | p | FSTP8 alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | ||||||||||||
DF | 2 | 03+ | U17 | 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 | 00-02 | D9 | p | FSTP9 alias | EST | ST | x87fpu | datamov | 0123 | .1.. | 0.23 | Store Floating Point Value and Pop | ||||||||||||
DF | 3 | 03+ | U17 | 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 | 02+ | FNSTSW | AX | x87fpu | control | 0123 | 0123 | Store x87 FPU Status Word | |||||||||||||||
9B | DF | E0 | 4 | 02+ | 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 | PP+ | 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 | PP+ | p | FCOMIP | ST | EST | x87fpu | compar | o...z.pc .1.. | o...z.pc .1.. | o....... | 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 | eCX | Jbs | gen | branch | cond | ....z... | Decrement count; Jump short if count!=0 and ZF=0 | |||||||||||||||||
LOOPNE | eCX | Jbs | |||||||||||||||||||||||
E0 | P4+ | D42 | E | LOOPNZ | rCX | Jbs | gen | branch | cond | ....z... | Decrement count; Jump short if count!=0 and ZF=0 | ||||||||||||||
LOOPNE | rCX | Jbs | |||||||||||||||||||||||
E1 | LOOPZ | eCX | Jbs | gen | branch | cond | ....z... | Decrement count; Jump short if count!=0 and ZF=1 | |||||||||||||||||
LOOPE | eCX | Jbs | |||||||||||||||||||||||
E1 | P4+ | D42 | E | LOOPZ | rCX | Jbs | gen | branch | cond | ....z... | Decrement count; Jump short if count!=0 and ZF=1 | ||||||||||||||
LOOPE | rCX | Jbs | |||||||||||||||||||||||
E2 | LOOP | eCX | Jbs | gen | branch | cond | Decrement count; Jump short if count!=0 | ||||||||||||||||||
E2 | P4+ | D42 | E | LOOP | rCX | Jbs | gen | branch | cond | Decrement count; Jump short if count!=0 | |||||||||||||||
E3 | JCXZ | Jbs | CX | gen | branch | cond | Jump short if eCX register is 0 | ||||||||||||||||||
JECXZ | Jbs | ECX | |||||||||||||||||||||||
E3 | P4+ | D42 | 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 | D42 | CALL | Jvds | gen | branch stack | Call Procedure | |||||||||||||||||||
E9 | D42 | JMP | Jvds | gen | branch | Jump | |||||||||||||||||||
EA | JMPF | Ap | gen | branch | Jump | ||||||||||||||||||||
EA | P4+ | 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 | D7 | undefined | Undefined and Reserved; Does not Generate #UD | ||||||||||||||||||||||
F1 | 03+ | U18 | INT1 part alias18 | Fv | gen | break stack | ..i..... | ..i..... | ..i..... | Call to Interrupt Procedure | |||||||||||||||
ICEBP part alias18 | Fv | ||||||||||||||||||||||||
F2 | D19 | REPNZ | eCX | prefix | string | ....z... | Repeat String Operation Prefix | ||||||||||||||||||
REPNE | eCX | ||||||||||||||||||||||||
F2 | U19 | REP | eCX | prefix | string | Repeat String Operation Prefix | |||||||||||||||||||
F2 | P4+ | D19 | E | REPNZ | rCX | prefix | string | ....z... | Repeat String Operation Prefix | ||||||||||||||||
REPNE | rCX | ||||||||||||||||||||||||
F2 | P4+ | U19 | E | REP | rCX | prefix | string | Repeat String Operation Prefix | |||||||||||||||||
F2 | P4+ | M | no mnemonic | sse2 | prefix | Scalar Double-precision Prefix | |||||||||||||||||||
F3 | D19 | REPZ | eCX | prefix | string | ....z... | Repeat String Operation Prefix | ||||||||||||||||||
REPE | eCX | ||||||||||||||||||||||||
F3 | D19 | REP | rCX | prefix | string | Repeat String Operation Prefix | |||||||||||||||||||
F3 | P4+ | D19 | E | REPZ | rCX | prefix | string | ....z... | Repeat String Operation Prefix | ||||||||||||||||
REPE | rCX | ||||||||||||||||||||||||
F3 | P4+ | D19 | E | REP | rCX | prefix | string | Repeat String Operation Prefix | |||||||||||||||||
F3 | P3+ | M | no mnemonic | sse1 | 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 | U20 | TEST alias | Eb | Ib | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||
F6 | w | 2 | L | NOT | Eb | gen | logical | One's Complement Negation | |||||||||||||||||
F6 | w | 3 | L | 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 | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | |||||||||||||
F7 | W | 1 | U20 | TEST alias | Evqp | Ivds | gen | logical | o..szapc | o..sz.pc | .....a.. | o......c | Logical Compare | ||||||||||||
F7 | W | 2 | L | NOT | Evqp | gen | logical | One's Complement Negation | |||||||||||||||||
F7 | W | 3 | L | 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 | L | INC | Eb | gen | arith | binary | o..szap. | o..szap. | Increment by 1 | ||||||||||||||
FE | w | 1 | L | DEC | Eb | gen | arith | binary | o..szap. | o..szap. | Decrement by 1 | ||||||||||||||
FF | W | 0 | L | INC | Evqp | gen | arith | binary | o..szap. | o..szap. | Increment by 1 | ||||||||||||||
FF | W | 1 | L | DEC | Evqp | gen | arith | binary | o..szap. | o..szap. | Decrement by 1 | ||||||||||||||
FF | 2 | CALL | Ev | gen | branch stack | Call Procedure | |||||||||||||||||||
FF | 2 | P4+ | D42 | E | CALL | Eq | gen | branch stack | Call Procedure | ||||||||||||||||
FF | 3 | D21 | CALLF | Mptp | gen | branch stack | Call Procedure | ||||||||||||||||||
FF | 4 | JMP | Ev | gen | branch | Jump | |||||||||||||||||||
FF | 4 | P4+ | D42 | E | JMP | Eq | gen | branch | Jump | ||||||||||||||||
FF | 5 | D21 | JMPF | Mptp | gen | branch | Jump | ||||||||||||||||||
FF | 6 | PUSH | Ev | gen | stack | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||||
FF | 6 | P4+ | E | PUSH | Evq | gen | stack | Push Word, Doubleword or Quadword Onto 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 | 02+ | P | SLDT | Mw | LDTR | system | Store Local Descriptor Table Register | ||||||||||||||||
SLDT | Rvqp | LDTR | |||||||||||||||||||||||
0F | 00 | 1 | 02+ | P | STR | Mw | TR | system | Store Task Register | ||||||||||||||||
STR | Rvqp | TR | |||||||||||||||||||||||
0F | 00 | 2 | 02+ | P | 0 | LLDT | LDTR | Ew | system | Load Local Descriptor Table Register | |||||||||||||||
0F | 00 | 3 | 02+ | P | 0 | LTR | TR | Ew | system | Load Task Register | |||||||||||||||
0F | 00 | 4 | 02+ | P | VERR | Ew | system | ....z... | ....z... | Verify a Segment for Reading | |||||||||||||||
0F | 00 | 5 | 02+ | P | VERW | Ew | system | ....z... | ....z... | Verify a Segment for Writing | |||||||||||||||
0F | 00 | 6 | IT+ | JMPE | system | branch | Jump to IA-64 Instruction Set | ||||||||||||||||||
0F | 01 | 0 | 02+ | SGDT | Ms | GDTR | system | Store Global Descriptor Table Register | |||||||||||||||||
0F | 01 | C1 | 0 | P4++ | D43 | P | 0 | VMCALL | vmx | o..szapc | o..szapc | Call to VM Monitor | |||||||||||||
0F | 01 | C2 | 0 | P4++ | D43 | P | 0 | VMLAUNCH | vmx | o..szapc | o..szapc | Launch Virtual Machine | |||||||||||||
0F | 01 | C3 | 0 | P4++ | D43 | P | 0 | VMRESUME | vmx | o..szapc | o..szapc | Resume Virtual Machine | |||||||||||||
0F | 01 | C4 | 0 | P4++ | D43 | P | 0 | VMXOFF | vmx | o..szapc | o..szapc | Leave VMX Operation | |||||||||||||
0F | 01 | 1 | 02+ | SIDT | Ms | IDTR | system | Store Interrupt Descriptor Table Register | |||||||||||||||||
0F | 01 | C8 | 1 | P4++ | 0 | MONITOR | BAb | ECX | EDX | sse3 | sync | Set Up Monitor Address | |||||||||||||
0F | 01 | C9 | 1 | P4++ | 0 | MWAIT | EAX | ECX | sse3 | sync | Monitor Wait | ||||||||||||||
0F | 01 | 2 | 02+ | 0 | LGDT | GDTR | Ms | system | Load Global Descriptor Table Register | ||||||||||||||||
0F | 01 | D0 | 2 | C2++ | XGETBV | EDX | EAX | ECX | XCR | system | Get Value of Extended Control Register | ||||||||||||||
0F | 01 | D1 | 2 | C2++ | 0 | XSETBV | XCR | ECX | EDX | EAX | system | Set Extended Control Register | |||||||||||||
0F | 01 | 3 | 02+ | 0 | LIDT | IDTR | Ms | system | Load Interrupt Descriptor Table Register | ||||||||||||||||
0F | 01 | 4 | 02+ | D22 | SMSW | Mw | MSW | system | Store Machine Status Word | ||||||||||||||||
SMSW | Rvqp | MSW | |||||||||||||||||||||||
0F | 01 | 6 | 02+ | 0 | LMSW | MSW | Ew | system | Load Machine Status Word | ||||||||||||||||
0F | 01 | 7 | 04+ | 0 | INVLPG | M | system | Invalidate TLB Entry | |||||||||||||||||
0F | 01 | F8 | 7 | P4+ | E | 0 | SWAPGS | GS | I... | system | Swap GS Base Register | ||||||||||||||
0F | 01 | F9 | 7 | C7+ | f2 | RDTSCP | EAX | EDX | ECX | ... | system | Read Time-Stamp Counter and Processor ID | |||||||||||||
0F | 02 | r | 02+ | P | LAR | Gvqp | Mw | system | ....z... | ....z... | Load Access Rights Byte | ||||||||||||||
LAR | Gvqp | Rv | |||||||||||||||||||||||
0F | 03 | r | 02+ | P | LSL | Gvqp | Mw | system | ....z... | ....z... | Load Segment Limit | ||||||||||||||
LSL | Gvqp | Rv | |||||||||||||||||||||||
0F | 05 | 02 | U23 | P | LOADALL | AX | CX | DX | ... | system | branch | Load All of the CPU Registers | |||||||||||||
0F | 05 | P4+ | D24 | E | SYSCALL | RCX | R11 | SS | ... | system | branch | Fast System Call | |||||||||||||
0F | 06 | 02+ | 0 | CLTS | CR0 | system | Clear Task-Switched Flag in CR0 | ||||||||||||||||||
0F | 07 | 03 | U23 | P | LOADALL | EAX | ECX | EDX | ... | system | branch | Load All of the CPU Registers | |||||||||||||
0F | 07 | P4+ | E | 0 | SYSRET | SS | Fd | R11 | ... | system | branch | trans | Return From Fast System Call | ||||||||||||
0F | 08 | 04+ | 0 | INVD | system | Invalidate Internal Caches | |||||||||||||||||||
0F | 09 | 04+ | 0 | WBINVD | system | Write Back and Invalidate Cache | |||||||||||||||||||
0F | 0B | 02+ | UD2 | gen | control | Undefined Instruction | |||||||||||||||||||
0F | 0D | PP+ | M25 | NOP | Ev | gen | control | No Operation | |||||||||||||||||
0F | 10 | r | P3+ | MOVUPS | Vps | Wps | sse1 | simdfp | datamov | Move Unaligned Packed Single-FP Values | |||||||||||||||
F3 | 0F | 10 | r | P3+ | MOVSS | Vss | Wss | sse1 | simdfp | datamov | Move Scalar Single-FP Values | ||||||||||||||
66 | 0F | 10 | r | P4+ | MOVUPD | Vpd | Wpd | sse2 | pcksclr | datamov | Move Unaligned Packed Double-FP Value | ||||||||||||||
F2 | 0F | 10 | r | P4+ | MOVSD | Vsd | Wsd | sse2 | pcksclr | datamov | Move Scalar Double-FP Value | ||||||||||||||
0F | 11 | r | P3+ | MOVUPS | Wps | Vps | sse1 | simdfp | datamov | Move Unaligned Packed Single-FP Values | |||||||||||||||
F3 | 0F | 11 | r | P3+ | MOVSS | Wss | Vss | sse1 | simdfp | datamov | Move Scalar Single-FP Values | ||||||||||||||
66 | 0F | 11 | r | P4+ | MOVUPD | Wpd | Vpd | sse2 | pcksclr | datamov | Move Unaligned Packed Double-FP Values | ||||||||||||||
F2 | 0F | 11 | r | P4+ | MOVSD | Wsd | Vsd | sse2 | pcksclr | datamov | Move Scalar Double-FP Value | ||||||||||||||
0F | 12 | r | P3+ | MOVHLPS | Vq | Uq | sse1 | simdfp | datamov | Move Packed Single-FP Values High to Low | |||||||||||||||
0F | 12 | r | P3+ | MOVLPS | Vq | Mq | sse1 | simdfp | datamov | Move Low Packed Single-FP Values | |||||||||||||||
66 | 0F | 12 | r | P4+ | MOVLPD | Vq | Mq | sse2 | pcksclr | datamov | Move Low Packed Double-FP Value | ||||||||||||||
F2 | 0F | 12 | r | P4++ | MOVDDUP | Vq | Wq | sse3 | simdfp | datamov | Move One Double-FP and Duplicate | ||||||||||||||
F3 | 0F | 12 | r | P4++ | MOVSLDUP | Vq | Wq | sse3 | simdfp | datamov | Move Packed Single-FP Low and Duplicate | ||||||||||||||
0F | 13 | r | P3+ | MOVLPS | Mq | Vq | sse1 | simdfp | datamov | Move Low Packed Single-FP Values | |||||||||||||||
66 | 0F | 13 | r | P4+ | MOVLPD | Mq | Vq | sse2 | pcksclr | datamov | Move Low Packed Double-FP Value | ||||||||||||||
0F | 14 | r | P3+ | UNPCKLPS | Vps | Wq | sse1 | simdfp | shunpck | Unpack and Interleave Low Packed Single-FP Values | |||||||||||||||
66 | 0F | 14 | r | P4+ | UNPCKLPD | Vpd | Wpd | sse2 | pcksclr | shunpck | Unpack and Interleave Low Packed Double-FP Values | ||||||||||||||
0F | 15 | r | P3+ | UNPCKHPS | Vps | Wq | sse1 | simdfp | shunpck | Unpack and Interleave High Packed Single-FP Values | |||||||||||||||
66 | 0F | 15 | r | P4+ | UNPCKHPD | Vpd | Wpd | sse2 | pcksclr | shunpck | Unpack and Interleave High Packed Double-FP Values | ||||||||||||||
0F | 16 | r | P3+ | MOVLHPS | Vq | Uq | sse1 | simdfp | datamov | Move Packed Single-FP Values Low to High | |||||||||||||||
0F | 16 | r | P3+ | MOVHPS | Vq | Mq | sse1 | simdfp | datamov | Move High Packed Single-FP Values | |||||||||||||||
66 | 0F | 16 | r | P4+ | MOVHPD | Vq | Mq | sse2 | pcksclr | datamov | Move High Packed Double-FP Value | ||||||||||||||
F3 | 0F | 16 | r | P4++ | MOVSHDUP | Vq | Wq | sse3 | simdfp | datamov | Move Packed Single-FP High and Duplicate | ||||||||||||||
0F | 17 | r | P3+ | MOVHPS | Mq | Vq | sse1 | simdfp | datamov | Move High Packed Single-FP Values | |||||||||||||||
66 | 0F | 17 | r | P4+ | MOVHPD | Mq | Vq | sse2 | pcksclr | datamov | Move High Packed Double-FP Value | ||||||||||||||
0F | 18 | PP-P2 | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 18 | 0 | P3+ | PREFETCHNTA | Mb | sse1 | fetch | Prefetch Data Into Caches | |||||||||||||||||
0F | 18 | 1 | P3+ | PREFETCHT0 | Mb | sse1 | fetch | Prefetch Data Into Caches | |||||||||||||||||
0F | 18 | 2 | P3+ | PREFETCHT1 | Mb | sse1 | fetch | Prefetch Data Into Caches | |||||||||||||||||
0F | 18 | 3 | P3+ | PREFETCHT2 | Mb | sse1 | fetch | Prefetch Data Into Caches | |||||||||||||||||
0F | 18 | 4 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 18 | 5 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 18 | 6 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 18 | 7 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 19 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1A | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1B | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1C | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1D | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1E | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1F | PP-P2 | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | |||||||||||||||||
0F | 1F | 0 | P4++ | NOP | Ev | gen | control | No Operation | |||||||||||||||||
0F | 1F | 1 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 1F | 2 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 1F | 3 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 1F | 4 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 1F | 5 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 1F | 6 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 1F | 7 | PP+ | M26 | HINT_NOP | Ev | gen | control | Hintable NOP | ||||||||||||||||
0F | 20 | r | 03+ | D27 | 0 | MOV | Rd | Cd | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 20 | r | 03+ | U28 | 0 | MOV | Hd | Cd | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 20 | r | P4+ | E | 0 | MOV | Rq | Cq | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 20 | r | P4+ | U28 | E | 0 | MOV | Hq | Cq | system | o..szapc | o..szapc | Move to/from Control Registers | ||||||||||||
0F | 21 | r | 03+ | 0 | MOV | Rd | Dd | system | o..szapc | o..szapc | Move to/from Debug Registers | ||||||||||||||
0F | 21 | r | 03+ | U28 | 0 | MOV | Hd | Dd | system | o..szapc | o..szapc | Move to/from Debug Registers | |||||||||||||
0F | 21 | r | 03+ | E | 0 | MOV | Rq | Dq | system | o..szapc | o..szapc | Move to/from Debug Registers | |||||||||||||
0F | 21 | r | 03+ | U28 | E | 0 | MOV | Hq | Dq | system | o..szapc | o..szapc | Move to/from Debug Registers | ||||||||||||
0F | 22 | r | 03+ | D27 | 0 | MOV | Cd | Rd | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 22 | r | 03+ | U28 | 0 | MOV | Cd | Hd | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 22 | r | P4+ | E | 0 | MOV | Cq | Rq | system | o..szapc | o..szapc | Move to/from Control Registers | |||||||||||||
0F | 22 | r | P4+ | U28 | E | 0 | MOV | Cq | Hq | system | o..szapc | o..szapc | Move to/from Control Registers | ||||||||||||
0F | 23 | r | 03+ | 0 | MOV | Dd | Rd | system | o..szapc | o..szapc | Move to/from Debug Registers | ||||||||||||||
0F | 23 | r | 03+ | U28 | 0 | MOV | Dq | Hq | system | o..szapc | o..szapc | Move to/from Debug Registers | |||||||||||||
0F | 23 | r | 03+ | E | 0 | MOV | Dq | Rq | system | o..szapc | o..szapc | Move to/from Debug Registers | |||||||||||||
0F | 23 | r | 03+ | U28 | E | 0 | MOV | Dq | Hq | system | o..szapc | o..szapc | Move to/from Debug Registers | ||||||||||||
0F | 24 | r | 03-04 | 0 | MOV | Rd | Td | system | o..szapc | o..szapc | Move to/from Test Registers | ||||||||||||||
0F | 24 | r | 03-04 | U28 | 0 | MOV | Hd | Td | system | o..szapc | o..szapc | Move to/from Test Registers | |||||||||||||
0F | 26 | r | 03-04 | 0 | MOV | Td | Rd | system | o..szapc | o..szapc | Move to/from Test Registers | ||||||||||||||
0F | 26 | r | 03-04 | U28 | 0 | MOV | Td | Hd | system | o..szapc | o..szapc | Move to/from Test Registers | |||||||||||||
0F | 28 | r | P3+ | MOVAPS | Vps | Wps | sse1 | simdfp | datamov | Move Aligned Packed Single-FP Values | |||||||||||||||
66 | 0F | 28 | r | P4+ | MOVAPD | Vpd | Wpd | sse2 | pcksclr | datamov | Move Aligned Packed Double-FP Values | ||||||||||||||
0F | 29 | r | P3+ | MOVAPS | Wps | Vps | sse1 | simdfp | datamov | Move Aligned Packed Single-FP Values | |||||||||||||||
66 | 0F | 29 | r | P4+ | MOVAPD | Wpd | Vpd | sse2 | pcksclr | datamov | Move Aligned Packed Double-FP Values | ||||||||||||||
0F | 2A | r | P3+ | CVTPI2PS | Vps | Qpi | sse1 | conver | Convert Packed DW Integers to Single-FP Values | ||||||||||||||||
F3 | 0F | 2A | r | P3+ | CVTSI2SS | Vss | Edqp | sse1 | conver | Convert DW Integer to Scalar Single-FP Value | |||||||||||||||
66 | 0F | 2A | r | P4+ | CVTPI2PD | Vpd | Qpi | sse2 | pcksclr | conver | Convert Packed DW Integers to Double-FP Values | ||||||||||||||
F2 | 0F | 2A | r | P4+ | CVTSI2SD | Vsd | Edqp | sse2 | pcksclr | conver | Convert DW Integer to Scalar Double-FP Value | ||||||||||||||
0F | 2B | r | P3+ | MOVNTPS | Mps | Vps | sse1 | cachect | Store Packed Single-FP Values Using Non-Temporal Hint | ||||||||||||||||
66 | 0F | 2B | r | P4+ | MOVNTPD | Mpd | Vpd | sse2 | cachect | Store Packed Double-FP Values Using Non-Temporal Hint | |||||||||||||||
0F | 2C | r | P3+ | CVTTPS2PI | Ppi | Wpsq | sse1 | conver | Convert with Trunc. Packed Single-FP Values to DW Integers | ||||||||||||||||
F3 | 0F | 2C | r | P3+ | CVTTSS2SI | Gdqp | Wss | sse1 | conver | Convert with Trunc. Scalar Single-FP Value to DW Integer | |||||||||||||||
66 | 0F | 2C | r | P4+ | CVTTPD2PI | Ppi | Wpd | sse2 | pcksclr | conver | Convert with Trunc. Packed Double-FP Values to DW Integers | ||||||||||||||
F2 | 0F | 2C | r | P4+ | CVTTSD2SI | Gdqp | Wsd | sse2 | pcksclr | conver | Conv. with Trunc. Scalar Double-FP Value to Signed DW Int | ||||||||||||||
0F | 2D | r | P3+ | CVTPS2PI | Ppi | Wpsq | sse1 | conver | Convert Packed Single-FP Values to DW Integers | ||||||||||||||||
F3 | 0F | 2D | r | P3+ | CVTSS2SI | Gdqp | Wss | sse1 | conver | Convert Scalar Single-FP Value to DW Integer | |||||||||||||||
66 | 0F | 2D | r | P4+ | CVTPD2PI | Ppi | Wpd | sse2 | pcksclr | conver | Convert Packed Double-FP Values to DW Integers | ||||||||||||||
F2 | 0F | 2D | r | P4+ | CVTSD2SI | Gdqp | Wsd | sse2 | pcksclr | conver | Convert Scalar Double-FP Value to DW Integer | ||||||||||||||
0F | 2E | r | P3+ | UCOMISS | Vss | Wss | sse1 | simdfp | compar | ....z.pc | ....z.pc | Unordered Compare Scalar Single-FP Values and Set EFLAGS | |||||||||||||
66 | 0F | 2E | r | P4+ | UCOMISD | Vsd | Wsd | sse2 | pcksclr | compar | ....z.pc | ....z.pc | Unordered Compare Scalar Double-FP Values and Set EFLAGS | ||||||||||||
0F | 2F | r | P3+ | COMISS | Vss | Wss | sse1 | simdfp | compar | ....z.pc | ....z.pc | Compare Scalar Ordered Single-FP Values and Set EFLAGS | |||||||||||||
66 | 0F | 2F | r | P4+ | COMISD | Vsd | Wsd | sse2 | pcksclr | compar | ....z.pc | ....z.pc | Compare Scalar Ordered Double-FP Values and Set EFLAGS | ||||||||||||
0F | 30 | P1+ | 0 | WRMSR | MSR | rCX | rAX | rDX | system | Write to Model Specific Register | |||||||||||||||
0F | 31 | P1+ | f2 | RDTSC | EAX | EDX | I... | system | Read Time-Stamp Counter | ||||||||||||||||
0F | 32 | P1+ | 0 | RDMSR | rAX | rDX | rCX | MSR | system | Read from Model Specific Register | |||||||||||||||
0F | 33 | PX+ | f3 | RDPMC | EAX | EDX | PMC | system | Read Performance-Monitoring Counters | ||||||||||||||||
0F | 34 | Sr | P2+ | P | SYSENTER | SS | ESP | I... | ... | system | branch | ..i..... | ..i..... | ..i..... | Fast System Call | ||||||||||
0F | 34 | Sr | P4+ | D29 | E | SYSENTER | SS | RSP | I... | ... | system | branch | ..i..... | ..i..... | ..i..... | Fast System Call | |||||||||
0F | 35 | Sr | P2+ | D30 | P | 0 | SYSEXIT | SS | eSP | I... | ... | system | branch | trans | Fast Return from Fast System Call | ||||||||||
0F | 37 | C2++ | D31 | GETSEC | EAX | smx | GETSEC Leaf Functions | ||||||||||||||||||
0F | 38 | 00 | r | C2+ | PSHUFB | Pq | ssse3 | simdint | Packed Shuffle Bytes | ||||||||||||||||
66 | 0F | 38 | 00 | r | C2+ | PSHUFB | Vdq | Wdq | ssse3 | simdint | Packed Shuffle Bytes | ||||||||||||||
0F | 38 | 01 | r | C2+ | PHADDW | Pq | ssse3 | simdint | Packed Horizontal Add | ||||||||||||||||
66 | 0F | 38 | 01 | r | C2+ | PHADDW | Vdq | Wdq | ssse3 | simdint | Packed Horizontal Add | ||||||||||||||
0F | 38 | 02 | r | C2+ | PHADDD | Pq | ssse3 | simdint | Packed Horizontal Add | ||||||||||||||||
66 | 0F | 38 | 02 | r | C2+ | PHADDD | Vdq | Wdq | ssse3 | simdint | Packed Horizontal Add | ||||||||||||||
0F | 38 | 03 | r | C2+ | PHADDSW | Pq | ssse3 | simdint | Packed Horizontal Add and Saturate | ||||||||||||||||
66 | 0F | 38 | 03 | r | C2+ | PHADDSW | Vdq | Wdq | ssse3 | simdint | Packed Horizontal Add and Saturate | ||||||||||||||
0F | 38 | 04 | r | C2+ | PMADDUBSW | Pq | ssse3 | simdint | Multiply and Add Packed Signed and Unsigned Bytes | ||||||||||||||||
66 | 0F | 38 | 04 | r | C2+ | PMADDUBSW | Vdq | Wdq | ssse3 | simdint | Multiply and Add Packed Signed and Unsigned Bytes | ||||||||||||||
0F | 38 | 05 | r | C2+ | PHSUBW | Pq | ssse3 | simdint | Packed Horizontal Subtract | ||||||||||||||||
66 | 0F | 38 | 05 | r | C2+ | PHSUBW | Vdq | Wdq | ssse3 | simdint | Packed Horizontal Subtract | ||||||||||||||
0F | 38 | 06 | r | C2+ | PHSUBD | Pq | ssse3 | simdint | Packed Horizontal Subtract | ||||||||||||||||
66 | 0F | 38 | 06 | r | C2+ | PHSUBD | Vdq | Wdq | ssse3 | simdint | Packed Horizontal Subtract | ||||||||||||||
0F | 38 | 07 | r | C2+ | PHSUBSW | Pq | ssse3 | simdint | Packed Horizontal Subtract and Saturate | ||||||||||||||||
66 | 0F | 38 | 07 | r | C2+ | PHSUBSW | Vdq | Wdq | ssse3 | simdint | Packed Horizontal Subtract and Saturate | ||||||||||||||
0F | 38 | 08 | r | C2+ | PSIGNB | Pq | ssse3 | simdint | Packed SIGN | ||||||||||||||||
66 | 0F | 38 | 08 | r | C2+ | PSIGNB | Vdq | Wdq | ssse3 | simdint | Packed SIGN | ||||||||||||||
0F | 38 | 09 | r | C2+ | PSIGNW | Pq | ssse3 | simdint | Packed SIGN | ||||||||||||||||
66 | 0F | 38 | 09 | r | C2+ | PSIGNW | Vdq | Wdq | ssse3 | simdint | Packed SIGN | ||||||||||||||
0F | 38 | 0A | r | C2+ | PSIGND | Pq | ssse3 | simdint | Packed SIGN | ||||||||||||||||
66 | 0F | 38 | 0A | r | C2+ | PSIGND | Vdq | Wdq | ssse3 | simdint | Packed SIGN | ||||||||||||||
0F | 38 | 0B | r | C2+ | PMULHRSW | Pq | ssse3 | simdint | Packed Multiply High with Round and Scale | ||||||||||||||||
66 | 0F | 38 | 0B | r | C2+ | PMULHRSW | Vdq | Wdq | ssse3 | simdint | Packed Multiply High with Round and Scale | ||||||||||||||
66 | 0F | 38 | 10 | r | C2++ | D44 | PBLENDVB | Vdq | Wdq | XMM0 | sse41 | simdint | datamov | Variable Blend Packed Bytes | |||||||||||
66 | 0F | 38 | 14 | r | C2++ | D44 | BLENDVPS | Vps | Wps | XMM0 | sse41 | simdint | datamov | Variable Blend Packed Single-FP Values | |||||||||||
66 | 0F | 38 | 15 | r | C2++ | D44 | BLENDVPD | Vpd | Wpd | XMM0 | sse41 | simdint | datamov | Variable Blend Packed Double-FP Values | |||||||||||
66 | 0F | 38 | 17 | r | C2++ | D44 | PTEST | Vdq | Wdq | sse41 | o..szapc | o..szapc | o..s.ap. | Logical Compare | |||||||||||
0F | 38 | 1C | r | C2+ | PABSB | Pq | ssse3 | simdint | Packed Absolute Value | ||||||||||||||||
66 | 0F | 38 | 1C | r | C2+ | PABSB | Vdq | Wdq | ssse3 | simdint | Packed Absolute Value | ||||||||||||||
0F | 38 | 1D | r | C2+ | PABSW | Pq | ssse3 | simdint | Packed Absolute Value | ||||||||||||||||
66 | 0F | 38 | 1D | r | C2+ | PABSW | Vdq | Wdq | ssse3 | simdint | Packed Absolute Value | ||||||||||||||
0F | 38 | 1E | r | C2+ | PABSD | Pq | ssse3 | simdint | Packed Absolute Value | ||||||||||||||||
66 | 0F | 38 | 1E | r | C2+ | PABSD | Vdq | Wdq | ssse3 | simdint | Packed Absolute Value | ||||||||||||||
66 | 0F | 38 | 20 | r | C2++ | D44 | PMOVSXBW | Vdq | Mq | sse41 | simdint | conver | Packed Move with Sign Extend | ||||||||||||
PMOVSXBW | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 21 | r | C2++ | D44 | PMOVSXBD | Vdq | Md | sse41 | simdint | conver | Packed Move with Sign Extend | ||||||||||||
PMOVSXBD | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 22 | r | C2++ | D44 | PMOVSXBQ | Vdq | Mw | sse41 | simdint | conver | Packed Move with Sign Extend | ||||||||||||
PMOVSXBQ | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 23 | r | C2++ | D44 | PMOVSXWD | Vdq | Mq | sse41 | simdint | conver | Packed Move with Sign Extend | ||||||||||||
PMOVSXWD | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 24 | r | C2++ | D44 | PMOVSXWQ | Vdq | Md | sse41 | simdint | conver | Packed Move with Sign Extend | ||||||||||||
PMOVSXWQ | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 25 | r | C2++ | D44 | PMOVSXDQ | Vdq | Mq | sse41 | simdint | conver | Packed Move with Sign Extend | ||||||||||||
PMOVSXDQ | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 28 | r | C2++ | D44 | PMULDQ | Vdq | Wdq | sse41 | simdint | arith | Multiply Packed Signed Dword Integers | ||||||||||||
66 | 0F | 38 | 29 | r | C2++ | D44 | PCMPEQQ | Vdq | Wdq | sse41 | simdint | compar | Compare Packed Qword Data for Equal | ||||||||||||
66 | 0F | 38 | 2A | r | C2++ | D44 | MOVNTDQA | Vdq | Mdq | sse41 | cachect | Load Double Quadword Non-Temporal Aligned Hint | |||||||||||||
66 | 0F | 38 | 2B | r | C2++ | D44 | PACKUSDW | Vdq | Wdq | sse41 | simdint | conver | Pack with Unsigned Saturation | ||||||||||||
66 | 0F | 38 | 30 | r | C2++ | D44 | PMOVZXBW | Vdq | Mq | sse41 | simdint | conver | Packed Move with Zero Extend | ||||||||||||
PMOVZXBW | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 31 | r | C2++ | D44 | PMOVZXBD | Vdq | Md | sse41 | simdint | conver | Packed Move with Zero Extend | ||||||||||||
PMOVZXBD | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 32 | r | C2++ | D44 | PMOVZXBQ | Vdq | Mw | sse41 | simdint | conver | Packed Move with Zero Extend | ||||||||||||
PMOVZXBQ | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 33 | r | C2++ | D44 | PMOVZXWD | Vdq | Mq | sse41 | simdint | conver | Packed Move with Zero Extend | ||||||||||||
PMOVZXWD | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 34 | r | C2++ | D44 | PMOVZXWQ | Vdq | Md | sse41 | simdint | conver | Packed Move with Zero Extend | ||||||||||||
PMOVZXWQ | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 35 | r | C2++ | D44 | PMOVZXDQ | Vdq | Mq | sse41 | simdint | conver | Packed Move with Zero Extend | ||||||||||||
PMOVZXDQ | Vdq | Udq | |||||||||||||||||||||||
66 | 0F | 38 | 37 | r | C2++ | D44 | PCMPGTQ | Vdq | Wdq | sse42 | simdint | compar | Compare Packed Qword Data for Greater Than | ||||||||||||
66 | 0F | 38 | 38 | r | C2++ | D44 | PMINSB | Vdq | Wdq | sse41 | simdint | compar | Minimum of Packed Signed Byte Integers | ||||||||||||
66 | 0F | 38 | 39 | r | C2++ | D44 | PMINSD | Vdq | Wdq | sse41 | simdint | compar | Minimum of Packed Signed Dword Integers | ||||||||||||
66 | 0F | 38 | 3A | r | C2++ | D44 | PMINUW | Vdq | Wdq | sse41 | simdint | compar | Minimum of Packed Unsigned Word Integers | ||||||||||||
66 | 0F | 38 | 3B | r | C2++ | D44 | PMINUD | Vdq | Wdq | sse41 | simdint | compar | Minimum of Packed Unsigned Dword Integers | ||||||||||||
66 | 0F | 38 | 3C | r | C2++ | D44 | PMAXSB | Vdq | Wdq | sse41 | simdint | compar | Maximum of Packed Signed Byte Integers | ||||||||||||
66 | 0F | 38 | 3D | r | C2++ | D44 | PMAXSD | Vdq | Wdq | sse41 | simdint | compar | Maximum of Packed Signed Dword Integers | ||||||||||||
66 | 0F | 38 | 3E | r | C2++ | D44 | PMAXUW | Vdq | Wdq | sse41 | simdint | compar | Maximum of Packed Unsigned Word Integers | ||||||||||||
66 | 0F | 38 | 3F | r | C2++ | D44 | PMAXUD | Vdq | Wdq | sse41 | simdint | compar | Maximum of Packed Unsigned Dword Integers | ||||||||||||
66 | 0F | 38 | 40 | r | C2++ | D44 | PMULLD | Vdq | Wdq | sse41 | simdint | arith | Multiply Packed Signed Dword Integers and Store Low Result | ||||||||||||
66 | 0F | 38 | 41 | r | C2++ | D44 | PHMINPOSUW | Vdq | Wdq | sse41 | simdint | compar | Packed Horizontal Word Minimum | ||||||||||||
66 | 0F | 38 | 80 | r | C2++ | D43 | P | 0 | INVEPT | Gd | Mdq | vmx | o..szapc | o..szapc | Invalidate Translations Derived from EPT | ||||||||||
66 | 0F | 38 | 80 | r | C2++ | D43 | E | 0 | INVEPT | Gq | Mdq | vmx | o..szapc | o..szapc | Invalidate Translations Derived from EPT | ||||||||||
66 | 0F | 38 | 81 | r | C2++ | D43 | P | 0 | INVVPID | Gd | Mdq | vmx | o..szapc | o..szapc | Invalidate Translations Based on VPID | ||||||||||
66 | 0F | 38 | 81 | r | C2++ | D43 | E | 0 | INVVPID | Gq | Mdq | vmx | o..szapc | o..szapc | Invalidate Translations Based on VPID | ||||||||||
0F | 38 | F0 | r | C2++ | MOVBE | Gvqp | Mvqp | gen | datamov | Move Data After Swapping Bytes | |||||||||||||||
F2 | 0F | 38 | F0 | r | C2++ | D44 | CRC32 | Gdqp | Eb | sse42 | Accumulate CRC32 Value | ||||||||||||||
0F | 38 | F1 | r | C2++ | MOVBE | Mvqp | Gvqp | gen | datamov | Move Data After Swapping Bytes | |||||||||||||||
F2 | 0F | 38 | F1 | r | C2++ | D44 | CRC32 | Gdqp | Evqp | sse42 | Accumulate CRC32 Value | ||||||||||||||
66 | 0F | 3A | 08 | r | C2++ | D44 | ROUNDPS | Vps | Wps | Ib | sse41 | simdfp | conver | Round Packed Single-FP Values | |||||||||||
66 | 0F | 3A | 09 | r | C2++ | D44 | ROUNDPD | Vps | Wpd | Ib | sse41 | simdfp | conver | Round Packed Double-FP Values | |||||||||||
66 | 0F | 3A | 0A | r | C2++ | D44 | ROUNDSS | Vss | Wss | Ib | sse41 | simdfp | conver | Round Scalar Single-FP Values | |||||||||||
66 | 0F | 3A | 0B | r | C2++ | D44 | ROUNDSD | Vsd | Wsd | Ib | sse41 | simdfp | conver | Round Scalar Double-FP Values | |||||||||||
66 | 0F | 3A | 0C | r | C2++ | D44 | BLENDPS | Vps | Wps | Ib | sse41 | simdfp | datamov | Blend Packed Single-FP Values | |||||||||||
66 | 0F | 3A | 0D | r | C2++ | D44 | BLENDPD | Vpd | Wpd | Ib | sse41 | simdfp | datamov | Blend Packed Double-FP Values | |||||||||||
66 | 0F | 3A | 0E | r | C2++ | D44 | PBLENDW | Vdq | Wdq | Ib | sse41 | simdint | datamov | Blend Packed Words | |||||||||||
0F | 3A | 0F | r | C2+ | PALIGNR | Pq | ssse3 | simdint | Packed Align Right | ||||||||||||||||
66 | 0F | 3A | 0F | r | C2+ | PALIGNR | Vdq | Wdq | ssse3 | simdint | Packed Align Right | ||||||||||||||
66 | 0F | 3A | 14 | r | C2++ | D44 | PEXTRB | Mb | Vdq | Ib | sse41 | simdint | datamov | Extract Byte | |||||||||||
PEXTRB | Rdqp | Vdq | Ib | ||||||||||||||||||||||
66 | 0F | 3A | 15 | r | C2++ | D44 | PEXTRW | Mw | Vdq | Ib | sse41 | simdint | datamov | Extract Word | |||||||||||
PEXTRW | Rdqp | Vdq | Ib | ||||||||||||||||||||||
66 | 0F | 3A | 16 | r | C2++ | D44 | PEXTRD | Ed | Vdq | Ib | sse41 | simdint | datamov | Extract Dword/Qword | |||||||||||
PEXTRQ | Eqp | Vdq | Ib | ||||||||||||||||||||||
66 | 0F | 3A | 17 | r | C2++ | D44 | EXTRACTPS | Ed | Vdq | Ib | sse41 | simdfp | datamov | Extract Packed Single-FP Value | |||||||||||
66 | 0F | 3A | 20 | r | C2++ | D44 | PINSRB | Vdq | Mb | Ib | sse41 | simdint | datamov | Insert Byte | |||||||||||
PINSRB | Vdq | Rdqp | Ib | ||||||||||||||||||||||
66 | 0F | 3A | 21 | r | C2++ | D44 | INSERTPS | Vps | Md | Ib | sse41 | simdfp | datamov | Insert Packed Single-FP Value | |||||||||||
INSERTPS | Vps | Ups | Ib | ||||||||||||||||||||||
66 | 0F | 3A | 22 | r | C2++ | D44 | PINSRD | Vdq | Ed | Ib | sse41 | simdint | datamov | Insert Dword/Qword | |||||||||||
PINSRQ | Vdq | Eqp | Ib | ||||||||||||||||||||||
66 | 0F | 3A | 40 | r | C2++ | D44 | DPPS | Vps | Wps | sse41 | simdfp | arith | Dot Product of Packed Single-FP Values | ||||||||||||
66 | 0F | 3A | 41 | r | C2++ | D44 | DPPD | Vpd | Wpd | sse41 | simdfp | arith | Dot Product of Packed Double-FP Values | ||||||||||||
66 | 0F | 3A | 42 | r | C2++ | D44 | MPSADBW | Vdq | Wdq | Ib | sse41 | simdint | arith | Compute Multiple Packed Sums of Absolute Difference | |||||||||||
66 | 0F | 3A | 60 | r | C2++ | D44 | PCMPESTRM | XMM0 | Vdq | Wdq | ... | sse42 | strtxt | o..szapc | o..szapc | .....ap. | Packed Compare Explicit Length Strings, Return Mask | ||||||||
66 | 0F | 3A | 61 | r | C2++ | D44 | PCMPESTRI | rCX | Vdq | Wdq | ... | sse42 | strtxt | o..szapc | o..szapc | .....ap. | Packed Compare Explicit Length Strings, Return Index | ||||||||
66 | 0F | 3A | 62 | r | C2++ | D44 | PCMPISTRM | XMM0 | Vdq | Wdq | Ib | sse42 | strtxt | o..szapc | o..szapc | .....ap. | Packed Compare Implicit Length Strings, Return Mask | ||||||||
66 | 0F | 3A | 63 | r | C2++ | D44 | PCMPISTRI | rCX | Vdq | Wdq | Ib | sse42 | strtxt | o..szapc | o..szapc | .....ap. | Packed Compare Implicit Length Strings, Return Index | ||||||||
0F | 40 | tttn | r | PP+ | D33 | CMOVO | Gvqp | Evqp | gen | datamov | o....... | Conditional Move - overflow (OF=1) | |||||||||||||
0F | 41 | tttN | r | PP+ | D33 | CMOVNO | Gvqp | Evqp | gen | datamov | o....... | Conditional Move - not overflow (OF=0) | |||||||||||||
0F | 42 | ttTn | r | PP+ | D33 | 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 | PP+ | D33 | 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 | PP+ | D33 | CMOVZ | Gvqp | Evqp | gen | datamov | ....z... | Conditional Move - zero/equal (ZF=1) | |||||||||||||
CMOVE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 45 | tTtN | r | PP+ | D33 | CMOVNZ | Gvqp | Evqp | gen | datamov | ....z... | Conditional Move - not zero/not equal (ZF=0) | |||||||||||||
CMOVNE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 46 | tTTn | r | PP+ | D33 | CMOVBE | Gvqp | Evqp | gen | datamov | ....z..c | Conditional Move - below or equal/not above (CF=1 OR ZF=1) | |||||||||||||
CMOVNA | Gvqp | Evqp | |||||||||||||||||||||||
0F | 47 | tTTN | r | PP+ | D33 | 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 | PP+ | D33 | CMOVS | Gvqp | Evqp | gen | datamov | ...s.... | Conditional Move - sign (SF=1) | |||||||||||||
0F | 49 | TttN | r | PP+ | D33 | CMOVNS | Gvqp | Evqp | gen | datamov | ...s.... | Conditional Move - not sign (SF=0) | |||||||||||||
0F | 4A | TtTn | r | PP+ | D33 | CMOVP | Gvqp | Evqp | gen | datamov | ......p. | Conditional Move - parity/parity even (PF=1) | |||||||||||||
CMOVPE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4B | TtTN | r | PP+ | D33 | CMOVNP | Gvqp | Evqp | gen | datamov | ......p. | Conditional Move - not parity/parity odd (PF=0) | |||||||||||||
CMOVPO | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4C | TTtn | r | PP+ | D33 | CMOVL | Gvqp | Evqp | gen | datamov | o..s.... | Conditional Move - less/not greater (SF!=OF) | |||||||||||||
CMOVNGE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4D | TTtN | r | PP+ | D33 | CMOVNL | Gvqp | Evqp | gen | datamov | o..s.... | Conditional Move - not less/greater or equal (SF=OF) | |||||||||||||
CMOVGE | Gvqp | Evqp | |||||||||||||||||||||||
0F | 4E | TTTn | r | PP+ | D33 | 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 | PP+ | D33 | CMOVNLE | Gvqp | Evqp | gen | datamov | o..sz... | Conditional Move - not less nor equal/greater ((ZF=0) AND (SF=OF)) | |||||||||||||
CMOVG | Gvqp | Evqp | |||||||||||||||||||||||
0F | 50 | r | P3+ | MOVMSKPS | Gdqp | Ups | sse1 | simdfp | datamov | Extract Packed Single-FP Sign Mask | |||||||||||||||
66 | 0F | 50 | r | P4+ | MOVMSKPD | Gdqp | Upd | sse2 | pcksclr | datamov | Extract Packed Double-FP Sign Mask | ||||||||||||||
0F | 51 | r | P3+ | SQRTPS | Vps | Wps | sse1 | simdfp | arith | Compute Square Roots of Packed Single-FP Values | |||||||||||||||
F3 | 0F | 51 | r | P3+ | SQRTSS | Vss | Wss | sse1 | simdfp | arith | Compute Square Root of Scalar Single-FP Value | ||||||||||||||
66 | 0F | 51 | r | P4+ | SQRTPD | Vpd | Wpd | sse2 | pcksclr | arith | Compute Square Roots of Packed Double-FP Values | ||||||||||||||
F2 | 0F | 51 | r | P4+ | SQRTSD | Vsd | Wsd | sse2 | pcksclr | arith | Compute Square Root of Scalar Double-FP Value | ||||||||||||||
0F | 52 | r | P3+ | RSQRTPS | Vps | Wps | sse1 | simdfp | arith | Compute Recipr. of Square Roots of Packed Single-FP Values | |||||||||||||||
F3 | 0F | 52 | r | P3+ | RSQRTSS | Vss | Wss | sse1 | simdfp | arith | Compute Recipr. of Square Root of Scalar Single-FP Value | ||||||||||||||
0F | 53 | r | P3+ | RCPPS | Vps | Wps | sse1 | simdfp | arith | Compute Reciprocals of Packed Single-FP Values | |||||||||||||||
F3 | 0F | 53 | r | P3+ | RCPSS | Vss | Wss | sse1 | simdfp | arith | Compute Reciprocal of Scalar Single-FP Values | ||||||||||||||
0F | 54 | r | P3+ | ANDPS | Vps | Wps | sse1 | simdfp | logical | Bitwise Logical AND of Packed Single-FP Values | |||||||||||||||
66 | 0F | 54 | r | P4+ | ANDPD | Vpd | Wpd | sse2 | pcksclr | logical | Bitwise Logical AND of Packed Double-FP Values | ||||||||||||||
0F | 55 | r | P3+ | ANDNPS | Vps | Wps | sse1 | simdfp | logical | Bitwise Logical AND NOT of Packed Single-FP Values | |||||||||||||||
66 | 0F | 55 | r | P4+ | ANDNPD | Vpd | Wpd | sse2 | pcksclr | logical | Bitwise Logical AND NOT of Packed Double-FP Values | ||||||||||||||
0F | 56 | r | P3+ | ORPS | Vps | Wps | sse1 | simdfp | logical | Bitwise Logical OR of Single-FP Values | |||||||||||||||
66 | 0F | 56 | r | P4+ | ORPD | Vpd | Wpd | sse2 | pcksclr | logical | Bitwise Logical OR of Double-FP Values | ||||||||||||||
0F | 57 | r | P3+ | XORPS | Vps | Wps | sse1 | simdfp | logical | Bitwise Logical XOR for Single-FP Values | |||||||||||||||
66 | 0F | 57 | r | P4+ | XORPD | Vpd | Wpd | sse2 | pcksclr | logical | Bitwise Logical XOR for Double-FP Values | ||||||||||||||
0F | 58 | r | P3+ | ADDPS | Vps | Wps | sse1 | simdfp | arith | Add Packed Single-FP Values | |||||||||||||||
F3 | 0F | 58 | r | P3+ | ADDSS | Vss | Wss | sse1 | simdfp | arith | Add Scalar Single-FP Values | ||||||||||||||
66 | 0F | 58 | r | P4+ | ADDPD | Vpd | Wpd | sse2 | pcksclr | arith | Add Packed Double-FP Values | ||||||||||||||
F2 | 0F | 58 | r | P4+ | ADDSD | Vsd | Wsd | sse2 | pcksclr | arith | Add Scalar Double-FP Values | ||||||||||||||
0F | 59 | r | P3+ | MULPS | Vps | Wps | sse1 | simdfp | arith | Multiply Packed Single-FP Values | |||||||||||||||
F3 | 0F | 59 | r | P3+ | MULSS | Vss | Wss | sse1 | simdfp | arith | Multiply Scalar Single-FP Value | ||||||||||||||
66 | 0F | 59 | r | P4+ | MULPD | Vpd | Wpd | sse2 | pcksclr | arith | Multiply Packed Double-FP Values | ||||||||||||||
F2 | 0F | 59 | r | P4+ | MULSD | Vsd | Wsd | sse2 | pcksclr | arith | Multiply Scalar Double-FP Values | ||||||||||||||
0F | 5A | r | P4+ | CVTPS2PD | Vpd | Wps | sse2 | pcksclr | conver | Convert Packed Single-FP Values to Double-FP Values | |||||||||||||||
66 | 0F | 5A | r | P4+ | CVTPD2PS | Vps | Wpd | sse2 | pcksclr | conver | Convert Packed Double-FP Values to Single-FP Values | ||||||||||||||
F3 | 0F | 5A | r | P4+ | CVTSS2SD | Vsd | Wss | sse2 | pcksclr | conver | Convert Scalar Single-FP Value to Scalar Double-FP Value | ||||||||||||||
F2 | 0F | 5A | r | P4+ | CVTSD2SS | Vss | Wsd | sse2 | pcksclr | conver | Convert Scalar Double-FP Value to Scalar Single-FP Value | ||||||||||||||
0F | 5B | r | P4+ | CVTDQ2PS | Vps | Wdq | sse2 | pcksp | Convert Packed DW Integers to Single-FP Values | ||||||||||||||||
66 | 0F | 5B | r | P4+ | CVTPS2DQ | Vdq | Wps | sse2 | pcksp | Convert Packed Single-FP Values to DW Integers | |||||||||||||||
F3 | 0F | 5B | r | P4+ | CVTTPS2DQ | Vdq | Wps | sse2 | pcksp | Convert with Trunc. Packed Single-FP Values to DW Integers | |||||||||||||||
0F | 5C | r | P3+ | SUBPS | Vps | Wps | sse1 | simdfp | arith | Subtract Packed Single-FP Values | |||||||||||||||
F3 | 0F | 5C | r | P3+ | SUBSS | Vss | Wss | sse1 | simdfp | arith | Subtract Scalar Single-FP Values | ||||||||||||||
66 | 0F | 5C | r | P4+ | SUBPD | Vpd | Wpd | sse2 | pcksclr | arith | Subtract Packed Double-FP Values | ||||||||||||||
F2 | 0F | 5C | r | P4+ | SUBSD | Vsd | Wsd | sse2 | pcksclr | arith | Subtract Scalar Double-FP Values | ||||||||||||||
0F | 5D | r | P3+ | MINPS | Vps | Wps | sse1 | simdfp | arith | Return Minimum Packed Single-FP Values | |||||||||||||||
F3 | 0F | 5D | r | P3+ | MINSS | Vss | Wss | sse1 | simdfp | arith | Return Minimum Scalar Single-FP Value | ||||||||||||||
66 | 0F | 5D | r | P4+ | MINPD | Vpd | Wpd | sse2 | pcksclr | arith | Return Minimum Packed Double-FP Values | ||||||||||||||
F2 | 0F | 5D | r | P4+ | MINSD | Vsd | Wsd | sse2 | pcksclr | arith | Return Minimum Scalar Double-FP Value | ||||||||||||||
0F | 5E | r | P3+ | DIVPS | Vps | Wps | sse1 | simdfp | arith | Divide Packed Single-FP Values | |||||||||||||||
F3 | 0F | 5E | r | P3+ | DIVSS | Vss | Wss | sse1 | simdfp | arith | Divide Scalar Single-FP Values | ||||||||||||||
66 | 0F | 5E | r | P4+ | DIVPD | Vpd | Wpd | sse2 | pcksclr | arith | Divide Packed Double-FP Values | ||||||||||||||
F2 | 0F | 5E | r | P4+ | DIVSD | Vsd | Wsd | sse2 | pcksclr | arith | Divide Scalar Double-FP Values | ||||||||||||||
0F | 5F | r | P3+ | MAXPS | Vps | Wps | sse1 | simdfp | arith | Return Maximum Packed Single-FP Values | |||||||||||||||
F3 | 0F | 5F | r | P3+ | MAXSS | Vss | Wss | sse1 | simdfp | arith | Return Maximum Scalar Single-FP Value | ||||||||||||||
66 | 0F | 5F | r | P4+ | MAXPD | Vpd | Wpd | sse2 | pcksclr | arith | Return Maximum Packed Double-FP Values | ||||||||||||||
F2 | 0F | 5F | r | P4+ | MAXSD | Vsd | Wsd | sse2 | pcksclr | arith | Return Maximum Scalar Double-FP Value | ||||||||||||||
0F | 60 | r | PX+ | PUNPCKLBW | Pq | Qd | mmx | unpack | Unpack Low Data | ||||||||||||||||
66 | 0F | 60 | r | P4+ | PUNPCKLBW | Vdq | Wdq | sse2 | simdint | shunpck | Unpack Low Data | ||||||||||||||
0F | 61 | r | PX+ | PUNPCKLWD | Pq | Qd | mmx | unpack | Unpack Low Data | ||||||||||||||||
66 | 0F | 61 | r | P4+ | PUNPCKLWD | Vdq | Wdq | sse2 | simdint | shunpck | Unpack Low Data | ||||||||||||||
0F | 62 | r | PX+ | PUNPCKLDQ | Pq | Qd | mmx | unpack | Unpack Low Data | ||||||||||||||||
66 | 0F | 62 | r | P4+ | PUNPCKLDQ | Vdq | Wdq | sse2 | simdint | shunpck | Unpack Low Data | ||||||||||||||
0F | 63 | r | PX+ | PACKSSWB | Pq | Qd | mmx | conver | Pack with Signed Saturation | ||||||||||||||||
66 | 0F | 63 | r | P4+ | PACKSSWB | Vdq | Wdq | sse2 | simdint | conver | Pack with Signed Saturation | ||||||||||||||
0F | 64 | r | PX+ | PCMPGTB | Pq | Qd | mmx | compar | Compare Packed Signed Integers for Greater Than | ||||||||||||||||
66 | 0F | 64 | r | P4+ | PCMPGTB | Vdq | Wdq | sse2 | simdint | compar | Compare Packed Signed Integers for Greater Than | ||||||||||||||
0F | 65 | r | PX+ | PCMPGTW | Pq | Qd | mmx | compar | Compare Packed Signed Integers for Greater Than | ||||||||||||||||
66 | 0F | 65 | r | P4+ | PCMPGTW | Vdq | Wdq | sse2 | simdint | compar | Compare Packed Signed Integers for Greater Than | ||||||||||||||
0F | 66 | r | PX+ | PCMPGTD | Pq | Qd | mmx | compar | Compare Packed Signed Integers for Greater Than | ||||||||||||||||
66 | 0F | 66 | r | P4+ | PCMPGTD | Vdq | Wdq | sse2 | simdint | compar | Compare Packed Signed Integers for Greater Than | ||||||||||||||
0F | 67 | r | PX+ | PACKUSWB | Pq | mmx | conver | Pack with Unsigned Saturation | |||||||||||||||||
66 | 0F | 67 | r | P4+ | PACKUSWB | Vdq | Wdq | sse2 | simdint | conver | Pack with Unsigned Saturation | ||||||||||||||
0F | 68 | r | PX+ | PUNPCKHBW | Pq | mmx | unpack | Unpack High Data | |||||||||||||||||
66 | 0F | 68 | r | P4+ | PUNPCKHBW | Vdq | Wdq | sse2 | simdint | shunpck | Unpack High Data | ||||||||||||||
0F | 69 | r | PX+ | PUNPCKHWD | Pq | mmx | unpack | Unpack High Data | |||||||||||||||||
66 | 0F | 69 | r | P4+ | PUNPCKHWD | Vdq | Wdq | sse2 | simdint | shunpck | Unpack High Data | ||||||||||||||
0F | 6A | r | PX+ | PUNPCKHDQ | Pq | mmx | unpack | Unpack High Data | |||||||||||||||||
66 | 0F | 6A | r | P4+ | PUNPCKHDQ | Vdq | Wdq | sse2 | simdint | shunpck | Unpack High Data | ||||||||||||||
0F | 6B | r | PX+ | PACKSSDW | Pq | mmx | conver | Pack with Signed Saturation | |||||||||||||||||
66 | 0F | 6B | r | P4+ | PACKSSDW | Vdq | Wdq | sse2 | simdint | conver | Pack with Signed Saturation | ||||||||||||||
66 | 0F | 6C | r | P4+ | PUNPCKLQDQ | Vdq | Wdq | sse2 | simdint | shunpck | Unpack Low Data | ||||||||||||||
66 | 0F | 6D | r | P4+ | PUNPCKHQDQ | Vdq | Wdq | sse2 | simdint | shunpck | Unpack High Data | ||||||||||||||
0F | 6E | r | PX+ | MOVD | Pq | Ed | mmx | datamov | Move Doubleword | ||||||||||||||||
0F | 6E | r | P4+ | D32 | E | MOVD | Pq | Ed | mmx | datamov | Move Doubleword/Quadword | ||||||||||||||
MOVQ | Pq | Eqp | |||||||||||||||||||||||
66 | 0F | 6E | r | P4+ | MOVD | Vdq | Ed | sse2 | simdint | datamov | Move Doubleword | ||||||||||||||
66 | 0F | 6E | r | P4+ | D32 | E | MOVD | Vdq | Ed | sse2 | simdint | datamov | Move Doubleword/Quadword | ||||||||||||
MOVQ | Vdq | Eqp | |||||||||||||||||||||||
0F | 6F | r | PX+ | MOVQ | Pq | mmx | datamov | Move Quadword | |||||||||||||||||
66 | 0F | 6F | r | P4+ | MOVDQA | Vdq | Wdq | sse2 | simdint | datamov | Move Aligned Double Quadword | ||||||||||||||
F3 | 0F | 6F | r | P4+ | MOVDQU | Vdq | Wdq | sse2 | simdint | datamov | Move Unaligned Double Quadword | ||||||||||||||
0F | 70 | r | P3+ | PSHUFW | Pq | Ib | sse1 | simdint | Shuffle Packed Words | ||||||||||||||||
F2 | 0F | 70 | r | P4+ | PSHUFLW | Vdq | Wdq | Ib | sse2 | simdint | shunpck | Shuffle Packed Low Words | |||||||||||||
F3 | 0F | 70 | r | P4+ | PSHUFHW | Vdq | Wdq | Ib | sse2 | simdint | shunpck | Shuffle Packed High Words | |||||||||||||
66 | 0F | 70 | r | P4+ | PSHUFD | Vdq | Wdq | Ib | sse2 | simdint | shunpck | Shuffle Packed Doublewords | |||||||||||||
0F | 71 | 2 | PX+ | PSRLW | Nq | Ib | mmx | shift | Shift Packed Data Right Logical | ||||||||||||||||
66 | 0F | 71 | 2 | P4+ | PSRLW | Udq | Ib | sse2 | shift | Shift Packed Data Right Logical | |||||||||||||||
0F | 71 | 4 | PX+ | PSRAW | Nq | Ib | mmx | shift | Shift Packed Data Right Arithmetic | ||||||||||||||||
66 | 0F | 71 | 4 | P4+ | PSRAW | Udq | Ib | sse2 | shift | Shift Packed Data Right Arithmetic | |||||||||||||||
0F | 71 | 6 | PX+ | PSLLW | Nq | Ib | mmx | shift | Shift Packed Data Left Logical | ||||||||||||||||
66 | 0F | 71 | 6 | P4+ | PSLLW | Udq | Ib | sse2 | shift | Shift Packed Data Left Logical | |||||||||||||||
0F | 72 | 2 | PX+ | PSRLD | Nq | Ib | mmx | shift | Shift Double Quadword Right Logical | ||||||||||||||||
66 | 0F | 72 | 2 | P4+ | PSRLD | Udq | Ib | sse2 | shift | Shift Double Quadword Right Logical | |||||||||||||||
0F | 72 | 4 | PX+ | PSRAD | Nq | Ib | mmx | shift | Shift Packed Data Right Arithmetic | ||||||||||||||||
66 | 0F | 72 | 4 | P4+ | PSRAD | Udq | Ib | sse2 | shift | Shift Packed Data Right Arithmetic | |||||||||||||||
0F | 72 | 6 | PX+ | PSLLD | Nq | Ib | mmx | shift | Shift Packed Data Left Logical | ||||||||||||||||
66 | 0F | 72 | 6 | P4+ | PSLLD | Udq | Ib | sse2 | shift | Shift Packed Data Left Logical | |||||||||||||||
0F | 73 | 2 | PX+ | PSRLQ | Nq | Ib | mmx | shift | Shift Packed Data Right Logical | ||||||||||||||||
66 | 0F | 73 | 2 | P4+ | PSRLQ | Udq | Ib | sse2 | shift | Shift Packed Data Right Logical | |||||||||||||||
66 | 0F | 73 | 3 | P4+ | PSRLDQ | Udq | Ib | sse2 | simdint | shift | Shift Double Quadword Right Logical | ||||||||||||||
0F | 73 | 6 | PX+ | PSLLQ | Nq | Ib | mmx | shift | Shift Packed Data Left Logical | ||||||||||||||||
66 | 0F | 73 | 6 | P4+ | PSLLQ | Udq | Ib | sse2 | shift | Shift Packed Data Left Logical | |||||||||||||||
66 | 0F | 73 | 7 | P4+ | PSLLDQ | Udq | Ib | sse2 | simdint | shift | Shift Double Quadword Left Logical | ||||||||||||||
0F | 74 | r | PX+ | PCMPEQB | Pq | mmx | compar | Compare Packed Data for Equal | |||||||||||||||||
66 | 0F | 74 | r | P4+ | PCMPEQB | Vdq | Wdq | sse2 | simdint | compar | Compare Packed Data for Equal | ||||||||||||||
0F | 75 | r | PX+ | PCMPEQW | Pq | mmx | compar | Compare Packed Data for Equal | |||||||||||||||||
66 | 0F | 75 | r | P4+ | PCMPEQW | Vdq | Wdq | sse2 | simdint | compar | Compare Packed Data for Equal | ||||||||||||||
0F | 76 | r | PX+ | PCMPEQD | Pq | mmx | compar | Compare Packed Data for Equal | |||||||||||||||||
66 | 0F | 76 | r | P4+ | PCMPEQD | Vdq | Wdq | sse2 | simdint | compar | Compare Packed Data for Equal | ||||||||||||||
0F | 77 | PX+ | EMMS | mmx | x87fpu | control | Empty MMX Technology State | ||||||||||||||||||
0F | 78 | r | P4++ | D43 | P | 0 | VMREAD | Ed | Gd | vmx | o..szapc | o..szapc | Read Field from Virtual-Machine Control Structure | ||||||||||||
0F | 78 | r | P4++ | D43 | E | 0 | VMREAD | Eq | Gq | vmx | o..szapc | o..szapc | Read Field from Virtual-Machine Control Structure | ||||||||||||
0F | 79 | r | P4++ | D43 | P | 0 | VMWRITE | Gd | Ed | vmx | o..szapc | o..szapc | Write Field to Virtual-Machine Control Structure | ||||||||||||
0F | 79 | r | P4++ | D43 | E | 0 | VMWRITE | Gq | Eq | vmx | o..szapc | o..szapc | Write Field to Virtual-Machine Control Structure | ||||||||||||
66 | 0F | 7C | r | P4++ | HADDPD | Vpd | Wpd | sse3 | simdfp | arith | Packed Double-FP Horizontal Add | ||||||||||||||
F2 | 0F | 7C | r | P4++ | HADDPS | Vps | Wps | sse3 | simdfp | arith | Packed Single-FP Horizontal Add | ||||||||||||||
66 | 0F | 7D | r | P4++ | HSUBPD | Vpd | Wpd | sse3 | simdfp | arith | Packed Double-FP Horizontal Subtract | ||||||||||||||
F2 | 0F | 7D | r | P4++ | HSUBPS | Vps | Wps | sse3 | simdfp | arith | Packed Single-FP Horizontal Subtract | ||||||||||||||
0F | 7E | r | PX+ | MOVD | Ed | Pq | mmx | datamov | Move Doubleword | ||||||||||||||||
0F | 7E | r | P4+ | D32 | E | MOVD | Ed | Pq | mmx | datamov | Move Doubleword/Quadword | ||||||||||||||
MOVQ | Eqp | Pq | |||||||||||||||||||||||
66 | 0F | 7E | r | P4+ | MOVD | Ed | Vdq | sse2 | simdint | datamov | Move Doubleword | ||||||||||||||
66 | 0F | 7E | r | P4+ | D32 | E | MOVD | Ed | Vdq | sse2 | simdint | datamov | Move Doubleword/Quadword | ||||||||||||
MOVQ | Eqp | Vdq | |||||||||||||||||||||||
F3 | 0F | 7E | r | P4+ | MOVQ | Vq | Wq | sse2 | simdint | datamov | Move Quadword | ||||||||||||||
0F | 7F | r | PX+ | MOVQ | Pq | mmx | datamov | Move Quadword | |||||||||||||||||
66 | 0F | 7F | r | P4+ | MOVDQA | Wdq | Vdq | sse2 | simdint | datamov | Move Aligned Double Quadword | ||||||||||||||
F3 | 0F | 7F | r | P4+ | MOVDQU | Wdq | Vdq | sse2 | simdint | datamov | Move Unaligned Double Quadword | ||||||||||||||
0F | 80 | tttn | 03+ | D42 | JO | Jvds | gen | branch | cond | o....... | Jump near if overflow (OF=1) | ||||||||||||||
0F | 81 | tttN | 03+ | D42 | JNO | Jvds | gen | branch | cond | o....... | Jump near if not overflow (OF=0) | ||||||||||||||
0F | 82 | ttTn | 03+ | D42 | JB | Jvds | gen | branch | cond | .......c | Jump near if below/not above or equal/carry (CF=1) | ||||||||||||||
JNAE | Jvds | ||||||||||||||||||||||||
JC | Jvds | ||||||||||||||||||||||||
0F | 83 | ttTN | 03+ | D42 | JNB | Jvds | gen | branch | cond | .......c | Jump near if not below/above or equal/not carry (CF=0) | ||||||||||||||
JAE | Jvds | ||||||||||||||||||||||||
JNC | Jvds | ||||||||||||||||||||||||
0F | 84 | tTtn | 03+ | D42 | JZ | Jvds | gen | branch | cond | ....z... | Jump near if zero/equal (ZF=1) | ||||||||||||||
JE | Jvds | ||||||||||||||||||||||||
0F | 85 | tTtN | 03+ | D42 | JNZ | Jvds | gen | branch | cond | ....z... | Jump near if not zero/not equal (ZF=0) | ||||||||||||||
JNE | Jvds | ||||||||||||||||||||||||
0F | 86 | tTTn | 03+ | D42 | JBE | Jvds | gen | branch | cond | ....z..c | Jump near if below or equal/not above (CF=1 OR ZF=1) | ||||||||||||||
JNA | Jvds | ||||||||||||||||||||||||
0F | 87 | tTTN | 03+ | D42 | JNBE | Jvds | gen | branch | cond | ....z..c | Jump near if not below or equal/above (CF=0 AND ZF=0) | ||||||||||||||
JA | Jvds | ||||||||||||||||||||||||
0F | 88 | Tttn | 03+ | D42 | JS | Jvds | gen | branch | cond | ...s.... | Jump near if sign (SF=1) | ||||||||||||||
0F | 89 | TttN | 03+ | D42 | JNS | Jvds | gen | branch | cond | ...s.... | Jump near if not sign (SF=0) | ||||||||||||||
0F | 8A | TtTn | 03+ | D42 | JP | Jvds | gen | branch | cond | ......p. | Jump near if parity/parity even (PF=1) | ||||||||||||||
JPE | Jvds | ||||||||||||||||||||||||
0F | 8B | TtTN | 03+ | D42 | JNP | Jvds | gen | branch | cond | ......p. | Jump near if not parity/parity odd (PF=0) | ||||||||||||||
JPO | Jvds | ||||||||||||||||||||||||
0F | 8C | TTtn | 03+ | D42 | JL | Jvds | gen | branch | cond | o..s.... | Jump near if less/not greater (SF!=OF) | ||||||||||||||
JNGE | Jvds | ||||||||||||||||||||||||
0F | 8D | TTtN | 03+ | D42 | JNL | Jvds | gen | branch | cond | o..s.... | Jump near if not less/greater or equal (SF=OF) | ||||||||||||||
JGE | Jvds | ||||||||||||||||||||||||
0F | 8E | TTTn | 03+ | D42 | JLE | Jvds | gen | branch | cond | o..sz... | Jump near if less or equal/not greater ((ZF=1) OR (SF!=OF)) | ||||||||||||||
JNG | Jvds | ||||||||||||||||||||||||
0F | 8F | TTTN | 03+ | D42 | JNLE | Jvds | gen | branch | cond | o..sz... | Jump near if not less nor equal/greater ((ZF=0) AND (SF=OF)) | ||||||||||||||
JG | Jvds | ||||||||||||||||||||||||
0F | 90 | tttn | 0 | 03+ | D34 | SETO | Eb | gen | datamov | o....... | Set Byte on Condition - overflow (OF=1) | ||||||||||||||
0F | 91 | tttN | 0 | 03+ | D34 | SETNO | Eb | gen | datamov | o....... | Set Byte on Condition - not overflow (OF=0) | ||||||||||||||
0F | 92 | ttTn | 0 | 03+ | D34 | 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 | 03+ | D34 | 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 | 03+ | D34 | SETZ | Eb | gen | datamov | ....z... | Set Byte on Condition - zero/equal (ZF=1) | ||||||||||||||
SETE | Eb | ||||||||||||||||||||||||
0F | 95 | tTtN | 0 | 03+ | D34 | SETNZ | Eb | gen | datamov | ....z... | Set Byte on Condition - not zero/not equal (ZF=0) | ||||||||||||||
SETNE | Eb | ||||||||||||||||||||||||
0F | 96 | tTTn | 0 | 03+ | D34 | SETBE | Eb | gen | datamov | ....z..c | Set Byte on Condition - below or equal/not above (CF=1 OR ZF=1) | ||||||||||||||
SETNA | Eb | ||||||||||||||||||||||||
0F | 97 | tTTN | 0 | 03+ | D34 | 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 | 03+ | D34 | SETS | Eb | gen | datamov | ...s.... | Set Byte on Condition - sign (SF=1) | ||||||||||||||
0F | 99 | TttN | 0 | 03+ | D34 | SETNS | Eb | gen | datamov | ...s.... | Set Byte on Condition - not sign (SF=0) | ||||||||||||||
0F | 9A | TtTn | 0 | 03+ | D34 | SETP | Eb | gen | datamov | ......p. | Set Byte on Condition - parity/parity even (PF=1) | ||||||||||||||
SETPE | Eb | ||||||||||||||||||||||||
0F | 9B | TtTN | 0 | 03+ | D34 | SETNP | Eb | gen | datamov | ......p. | Set Byte on Condition - not parity/parity odd (PF=0) | ||||||||||||||
SETPO | Eb | ||||||||||||||||||||||||
0F | 9C | TTtn | 0 | 03+ | D34 | SETL | Eb | gen | datamov | o..s.... | Set Byte on Condition - less/not greater (SF!=OF) | ||||||||||||||
SETNGE | Eb | ||||||||||||||||||||||||
0F | 9D | TTtN | 0 | 03+ | D34 | SETNL | Eb | gen | datamov | o..s.... | Set Byte on Condition - not less/greater or equal (SF=OF) | ||||||||||||||
SETGE | Eb | ||||||||||||||||||||||||
0F | 9E | TTTn | 0 | 03+ | D34 | 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 | 03+ | D34 | 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 | 03+ | PUSH | FS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||
0F | A1 | Sre | 03+ | POP | FS | gen | stack segreg | Pop a Value from the Stack | |||||||||||||||||
0F | A2 | 04++ | CPUID | I... | EAX | ECX | ... | gen | control | CPU Identification | |||||||||||||||
0F | A3 | r | 03+ | BT | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test | |||||||||||||
0F | A4 | d | r | 03+ | SHLD | Evqp | Gvqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Left | |||||||||||
0F | A5 | d | r | 03+ | SHLD | Evqp | Gvqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Left | |||||||||||
0F | A8 | SrE | 03+ | PUSH | GS | gen | stack segreg | Push Word, Doubleword or Quadword Onto the Stack | |||||||||||||||||
0F | A9 | SrE | 03+ | POP | GS | gen | stack segreg | Pop a Value from the Stack | |||||||||||||||||
0F | AA | 03++ | S | RSM | Fw | system | branch | Resume from System Management Mode | |||||||||||||||||
0F | AB | r | 03+ | L | BTS | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Set | ||||||||||||
0F | AC | d | r | 03+ | SHRD | Evqp | Gvqp | Ib | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Right | |||||||||||
0F | AD | d | r | 03+ | SHRD | Evqp | Gvqp | CL | gen | shftrot | o..szapc | o..sz.pc | o....a.c | Double Precision Shift Right | |||||||||||
0F | AE | 0 | P2++ | FXSAVE | Mstx | ST | ST1 | ... | sm | Save x87 FPU, MMX, XMM, and MXCSR State | |||||||||||||||
0F | AE | 0 | P4+ | E | FXSAVE | Mstx | ST | ST1 | ... | sm | Save x87 FPU, MMX, XMM, and MXCSR State | ||||||||||||||
0F | AE | 1 | P2++ | FXRSTOR | ST | ST1 | ST2 | ... | sm | Restore x87 FPU, MMX, XMM, and MXCSR State | |||||||||||||||
0F | AE | 1 | P4+ | E | FXRSTOR | ST | ST1 | ST2 | ... | sm | Restore x87 FPU, MMX, XMM, and MXCSR State | ||||||||||||||
0F | AE | 2 | P3+ | LDMXCSR | Md | sse1 | mxcsrsm | Load MXCSR Register | |||||||||||||||||
0F | AE | 3 | P3+ | STMXCSR | Md | sse1 | mxcsrsm | Store MXCSR Register State | |||||||||||||||||
0F | AE | 4 | C2++ | XSAVE | M | EDX | EAX | ... | system | Save Processor Extended States | |||||||||||||||
0F | AE | 4 | C2++ | E | XSAVE | M | EDX | EAX | ... | system | Save Processor Extended States | ||||||||||||||
0F | AE | 5 | P4+ | LFENCE | sse2 | order | Load Fence | ||||||||||||||||||
0F | AE | 5 | C2++ | XRSTOR | ST | ST1 | ST2 | ... | system | Restore Processor Extended States | |||||||||||||||
0F | AE | 5 | C2++ | E | XRSTOR | ST | ST1 | ST2 | ... | system | Restore Processor Extended States | ||||||||||||||
0F | AE | 6 | P4+ | MFENCE | sse2 | order | Memory Fence | ||||||||||||||||||
0F | AE | 7 | P3+ | SFENCE | sse1 | order | Store Fence | ||||||||||||||||||
0F | AE | 7 | P4+ | CLFLUSH | Mb | sse2 | cachect | Flush Cache Line | |||||||||||||||||
0F | AF | DW | r | 03+ | IMUL | Gvqp | Evqp | gen | arith | binary | o..szapc | o......c | ...szap. | Signed Multiply | |||||||||||
0F | B0 | dw | r | 04+ | D35 | L | CMPXCHG | Eb | AL | Gb | gen | datamov arith | binary | o..szapc | o..szapc | Compare and Exchange | |||||||||
0F | B1 | dW | r | 04+ | D35 | L | CMPXCHG | Evqp | rAX | Gvqp | gen | datamov arith | binary | o..szapc | o..szapc | Compare and Exchange | |||||||||
0F | B2 | sRe | r | 03+ | D36 | LSS | SS | Gvqp | Mptp | gen | datamov segreg | Load Far Pointer | |||||||||||||
0F | B3 | r | 03+ | L | BTR | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Reset | ||||||||||||
0F | B4 | Sre | r | 03+ | D36 | LFS | FS | Gvqp | Mptp | gen | datamov segreg | Load Far Pointer | |||||||||||||
0F | B5 | SrE | r | 03+ | D36 | LGS | GS | Gvqp | Mptp | gen | datamov segreg | Load Far Pointer | |||||||||||||
0F | B6 | Dw | r | 03+ | MOVZX | Gvqp | Eb | gen | conver | Move with Zero-Extend | |||||||||||||||
0F | B7 | DW | r | 03+ | MOVZX | Gvqp | Ew | gen | conver | Move with Zero-Extend | |||||||||||||||
0F | B8 | IT+ | JMPE | system | branch | Jump to IA-64 Instruction Set | |||||||||||||||||||
F3 | 0F | B8 | r | C2++ | POPCNT | Gvqp | Evqp | gen | bit | o..szapc | o..s.apc | Bit Population Count | |||||||||||||
0F | B9 | r | 02+ | M37 | UD | G | E | gen | control | Undefined Instruction | |||||||||||||||
0F | BA | 4 | 03+ | BT | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test | |||||||||||||
0F | BA | 5 | 03+ | L | BTS | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Set | ||||||||||||
0F | BA | 6 | 03+ | L | BTR | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Reset | ||||||||||||
0F | BA | 7 | 03+ | L | BTC | Evqp | Ib | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Complement | ||||||||||||
0F | BB | r | 03+ | L | BTC | Evqp | Gvqp | gen | bit | o..szapc | .......c | o..szap. | Bit Test and Complement | ||||||||||||
0F | BC | r | 03+ | D38 | BSF | Gvqp | Evqp | gen | bit | o..szapc | ....z... | o..s.apc | Bit Scan Forward | ||||||||||||
0F | BD | r | 03+ | D38 | BSR | Gvqp | Evqp | gen | bit | o..szapc | ....z... | o..s.apc | Bit Scan Reverse | ||||||||||||
0F | BE | Dw | r | 03+ | MOVSX | Gvqp | Eb | gen | conver | Move with Sign-Extension | |||||||||||||||
0F | BF | DW | r | 03+ | MOVSX | Gvqp | Ew | gen | conver | Move with Sign-Extension | |||||||||||||||
0F | C0 | dw | r | 04+ | L | XADD | Eb | Gb | gen | datamov arith | binary | o..szapc | o..szapc | Exchange and Add | |||||||||||
0F | C1 | dW | r | 04+ | L | XADD | Evqp | Gvqp | gen | datamov arith | binary | o..szapc | o..szapc | Exchange and Add | |||||||||||
0F | C2 | r | P3+ | CMPPS | Vps | Wps | Ib | sse1 | simdfp | compar | Compare Packed Single-FP Values | ||||||||||||||
F3 | 0F | C2 | r | P3+ | CMPSS | Vss | Wss | Ib | sse1 | simdfp | compar | Compare Scalar Single-FP Values | |||||||||||||
66 | 0F | C2 | r | P4+ | CMPPD | Vpd | Wpd | Ib | sse2 | pcksclr | compar | Compare Packed Double-FP Values | |||||||||||||
F2 | 0F | C2 | r | P4+ | CMPSD | Vsd | Wsd | Ib | sse2 | pcksclr | compar | Compare Scalar Double-FP Values | |||||||||||||
0F | C3 | r | P4+ | MOVNTI | Mdqp | Gdqp | sse2 | cachect | Store Doubleword Using Non-Temporal Hint | ||||||||||||||||
0F | C4 | r | P3+ | PINSRW | Pq | Rdqp | Ib | sse1 | simdint | Insert Word | |||||||||||||||
PINSRW | Pq | Mw | Ib | ||||||||||||||||||||||
66 | 0F | C4 | r | P3+ | PINSRW | Vdq | Rdqp | Ib | sse1 | simdint | Insert Word | ||||||||||||||
PINSRW | Vdq | Mw | Ib | ||||||||||||||||||||||
0F | C5 | r | P3+ | PEXTRW | Gdqp | Nq | Ib | sse1 | simdint | Extract Word | |||||||||||||||
66 | 0F | C5 | r | P3+ | PEXTRW | Gdqp | Udq | Ib | sse1 | simdint | Extract Word | ||||||||||||||
0F | C6 | r | P3+ | SHUFPS | Vps | Wps | Ib | sse1 | simdfp | shunpck | Shuffle Packed Single-FP Values | ||||||||||||||
66 | 0F | C6 | r | P4+ | SHUFPD | Vpd | Wpd | Ib | sse2 | pcksclr | shunpck | Shuffle Packed Double-FP Values | |||||||||||||
0F | C7 | 1 | P1+ | D39 | L | CMPXCHG8B | Mq | EAX | EDX | ... | gen | datamov arith | binary | ....z... | ....z... | Compare and Exchange Bytes | |||||||||
0F | C7 | 1 | P4+ | D39 | E | L | CMPXCHG8B | Mq | EAX | EDX | ... | gen | datamov arith | binary | ....z... | ....z... | Compare and Exchange Bytes | ||||||||
CMPXCHG16B | Mdq | RAX | RDX | ... | |||||||||||||||||||||
0F | C7 | 6 | P4++ | D43 | P | 0 | VMPTRLD | Mq | vmx | o..szapc | o..szapc | Load Pointer to Virtual-Machine Control Structure | |||||||||||||
66 | 0F | C7 | 6 | P4++ | D43 | P | 0 | VMCLEAR | Mq | vmx | o..szapc | o..szapc | Clear Virtual-Machine Control Structure | ||||||||||||
F3 | 0F | C7 | 6 | P4++ | D43 | P | 0 | VMXON | Mq | vmx | o..szapc | o..szapc | Enter VMX Operation | ||||||||||||
0F | C7 | 7 | P4++ | D43 | P | 0 | VMPTRST | Mq | vmx | o..szapc | o..szapc | Store Pointer to Virtual-Machine Control Structure | |||||||||||||
0F | C8 | +r | 04+ | D40 | BSWAP | Zvqp | gen | datamov | Byte Swap | ||||||||||||||||
66 | 0F | D0 | r | P4++ | ADDSUBPD | Vpd | Wpd | sse3 | simdfp | arith | Packed Double-FP Add/Subtract | ||||||||||||||
F2 | 0F | D0 | r | P4++ | ADDSUBPS | Vps | Wps | sse3 | simdfp | arith | Packed Single-FP Add/Subtract | ||||||||||||||
0F | D1 | r | PX+ | PSRLW | Pq | mmx | shift | Shift Packed Data Right Logical | |||||||||||||||||
66 | 0F | D1 | r | P4+ | PSRLW | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Right Logical | ||||||||||||||
0F | D2 | r | PX+ | PSRLD | Pq | mmx | shift | Shift Packed Data Right Logical | |||||||||||||||||
66 | 0F | D2 | r | P4+ | PSRLD | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Right Logical | ||||||||||||||
0F | D3 | r | PX+ | PSRLQ | Pq | mmx | shift | Shift Packed Data Right Logical | |||||||||||||||||
66 | 0F | D3 | r | P4+ | PSRLQ | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Right Logical | ||||||||||||||
0F | D4 | r | PX+ | PADDQ | Pq | sse2 | simdint | arith | Add Packed Quadword Integers | ||||||||||||||||
66 | 0F | D4 | r | P4+ | PADDQ | Vdq | Wdq | sse2 | simdint | arith | Add Packed Quadword Integers | ||||||||||||||
0F | D5 | r | PX+ | PMULLW | Pq | mmx | arith | Multiply Packed Signed Integers and Store Low Result | |||||||||||||||||
66 | 0F | D5 | r | P4+ | PMULLW | Vdq | Wdq | sse2 | simdint | arith | Multiply Packed Signed Integers and Store Low Result | ||||||||||||||
66 | 0F | D6 | r | P4+ | MOVQ | Wq | Vq | sse2 | simdint | datamov | Move Quadword | ||||||||||||||
F3 | 0F | D6 | r | P4+ | MOVQ2DQ | Vdq | Nq | sse2 | simdint | datamov | Move Quadword from MMX Technology to XMM Register | ||||||||||||||
F2 | 0F | D6 | r | P4+ | MOVDQ2Q | Pq | Uq | sse2 | simdint | datamov | Move Quadword from XMM to MMX Technology Register | ||||||||||||||
0F | D7 | r | P3+ | PMOVMSKB | Gdqp | Nq | sse1 | simdint | Move Byte Mask | ||||||||||||||||
66 | 0F | D7 | r | P3+ | PMOVMSKB | Gdqp | Udq | sse1 | simdint | Move Byte Mask | |||||||||||||||
0F | D8 | r | PX+ | PSUBUSB | Pq | mmx | arith | Subtract Packed Unsigned Integers with Unsigned Saturation | |||||||||||||||||
66 | 0F | D8 | r | P4+ | PSUBUSB | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||
0F | D9 | r | PX+ | PSUBUSW | Pq | mmx | arith | Subtract Packed Unsigned Integers with Unsigned Saturation | |||||||||||||||||
66 | 0F | D9 | r | PX+ | PSUBUSW | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||
0F | DA | r | P3+ | PMINUB | Pq | sse1 | simdint | Minimum of Packed Unsigned Byte Integers | |||||||||||||||||
66 | 0F | DA | r | P3+ | PMINUB | Vdq | Wdq | sse1 | simdint | Minimum of Packed Unsigned Byte Integers | |||||||||||||||
0F | DB | r | PX+ | PAND | Pq | Qd | mmx | logical | Logical AND | ||||||||||||||||
66 | 0F | DB | r | P4+ | PAND | Vdq | Wdq | sse2 | simdint | logical | Logical AND | ||||||||||||||
0F | DC | r | PX+ | PADDUSB | Pq | mmx | arith | Add Packed Unsigned Integers with Unsigned Saturation | |||||||||||||||||
66 | 0F | DC | r | P4+ | PADDUSB | Vdq | Wdq | sse2 | simdint | arith | Add Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||
0F | DD | r | PX+ | PADDUSW | Pq | mmx | arith | Add Packed Unsigned Integers with Unsigned Saturation | |||||||||||||||||
66 | 0F | DD | r | P4+ | PADDUSW | Vdq | Wdq | sse2 | simdint | arith | Add Packed Unsigned Integers with Unsigned Saturation | ||||||||||||||
0F | DE | r | P3+ | PMAXUB | Pq | sse1 | simdint | Maximum of Packed Unsigned Byte Integers | |||||||||||||||||
66 | 0F | DE | r | P3+ | PMAXUB | Vdq | Wdq | sse1 | simdint | Maximum of Packed Unsigned Byte Integers | |||||||||||||||
0F | DF | r | PX+ | PANDN | Pq | mmx | logical | Logical AND NOT | |||||||||||||||||
66 | 0F | DF | r | P4+ | PANDN | Vdq | Wdq | sse2 | simdint | logical | Logical AND NOT | ||||||||||||||
0F | E0 | r | P3+ | PAVGB | Pq | sse1 | simdint | Average Packed Integers | |||||||||||||||||
66 | 0F | E0 | r | P3+ | PAVGB | Vdq | Wdq | sse1 | simdint | Average Packed Integers | |||||||||||||||
0F | E1 | r | PX+ | PSRAW | Pq | mmx | shift | Shift Packed Data Right Arithmetic | |||||||||||||||||
66 | 0F | E1 | r | P4+ | PSRAW | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Right Arithmetic | ||||||||||||||
0F | E2 | r | PX+ | PSRAD | Pq | mmx | shift | Shift Packed Data Right Arithmetic | |||||||||||||||||
66 | 0F | E2 | r | P4+ | PSRAD | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Right Arithmetic | ||||||||||||||
0F | E3 | r | P3+ | PAVGW | Pq | sse1 | simdint | Average Packed Integers | |||||||||||||||||
66 | 0F | E3 | r | P3+ | PAVGW | Vdq | Wdq | sse1 | simdint | Average Packed Integers | |||||||||||||||
0F | E4 | r | P3+ | PMULHUW | Pq | sse1 | simdint | Multiply Packed Unsigned Integers and Store High Result | |||||||||||||||||
66 | 0F | E4 | r | P3+ | PMULHUW | Vdq | Wdq | sse1 | simdint | Multiply Packed Unsigned Integers and Store High Result | |||||||||||||||
0F | E5 | r | PX+ | PMULHW | Pq | mmx | arith | Multiply Packed Signed Integers and Store High Result | |||||||||||||||||
66 | 0F | E5 | r | P4+ | PMULHW | Vdq | Wdq | sse2 | simdint | arith | Multiply Packed Signed Integers and Store High Result | ||||||||||||||
F2 | 0F | E6 | r | P4+ | CVTPD2DQ | Vdq | Wpd | sse2 | pcksclr | conver | Convert Packed Double-FP Values to DW Integers | ||||||||||||||
66 | 0F | E6 | r | P4+ | CVTTPD2DQ | Vdq | Wpd | sse2 | pcksclr | conver | Convert with Trunc. Packed Double-FP Values to DW Integers | ||||||||||||||
F3 | 0F | E6 | r | P4+ | CVTDQ2PD | Vpd | Wdq | sse2 | pcksclr | conver | Convert Packed DW Integers to Double-FP Values | ||||||||||||||
0F | E7 | r | P3+ | MOVNTQ | Mq | Pq | sse1 | cachect | Store of Quadword Using Non-Temporal Hint | ||||||||||||||||
66 | 0F | E7 | r | P4+ | MOVNTDQ | Mdq | Vdq | sse2 | cachect | Store Double Quadword Using Non-Temporal Hint | |||||||||||||||
0F | E8 | r | PX+ | PSUBSB | Pq | mmx | arith | Subtract Packed Signed Integers with Signed Saturation | |||||||||||||||||
66 | 0F | E8 | r | P4+ | PSUBSB | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Signed Integers with Signed Saturation | ||||||||||||||
0F | E9 | r | PX+ | PSUBSW | Pq | mmx | arith | Subtract Packed Signed Integers with Signed Saturation | |||||||||||||||||
66 | 0F | E9 | r | P4+ | PSUBSW | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Signed Integers with Signed Saturation | ||||||||||||||
0F | EA | r | P3+ | PMINSW | Pq | sse1 | simdint | Minimum of Packed Signed Word Integers | |||||||||||||||||
66 | 0F | EA | r | P3+ | PMINSW | Vdq | Wdq | sse1 | simdint | Minimum of Packed Signed Word Integers | |||||||||||||||
0F | EB | r | PX+ | POR | Pq | mmx | logical | Bitwise Logical OR | |||||||||||||||||
66 | 0F | EB | r | P4+ | POR | Vdq | Wdq | sse2 | simdint | logical | Bitwise Logical OR | ||||||||||||||
0F | EC | r | PX+ | PADDSB | Pq | mmx | arith | Add Packed Signed Integers with Signed Saturation | |||||||||||||||||
66 | 0F | EC | r | P4+ | PADDSB | Vdq | Wdq | sse2 | simdint | arith | Add Packed Signed Integers with Signed Saturation | ||||||||||||||
0F | ED | r | PX+ | PADDSW | Pq | mmx | arith | Add Packed Signed Integers with Signed Saturation | |||||||||||||||||
66 | 0F | ED | r | P4+ | PADDSW | Vdq | Wdq | sse2 | simdint | arith | Add Packed Signed Integers with Signed Saturation | ||||||||||||||
0F | EE | r | P3+ | PMAXSW | Pq | sse1 | simdint | Maximum of Packed Signed Word Integers | |||||||||||||||||
66 | 0F | EE | r | P3+ | PMAXSW | Vdq | Wdq | sse1 | simdint | Maximum of Packed Signed Word Integers | |||||||||||||||
0F | EF | r | PX+ | PXOR | Pq | mmx | logical | Logical Exclusive OR | |||||||||||||||||
66 | 0F | EF | r | P4+ | PXOR | Vdq | Wdq | sse2 | simdint | logical | Logical Exclusive OR | ||||||||||||||
F2 | 0F | F0 | r | P4++ | LDDQU | Vdq | Mdq | sse3 | cachect | Load Unaligned Integer 128 Bits | |||||||||||||||
0F | F1 | r | PX+ | PSLLW | Pq | mmx | shift | Shift Packed Data Left Logical | |||||||||||||||||
66 | 0F | F1 | r | P4+ | PSLLW | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Left Logical | ||||||||||||||
0F | F2 | r | PX+ | PSLLD | Pq | mmx | shift | Shift Packed Data Left Logical | |||||||||||||||||
66 | 0F | F2 | r | P4+ | PSLLD | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Left Logical | ||||||||||||||
0F | F3 | r | PX+ | PSLLQ | Pq | mmx | shift | Shift Packed Data Left Logical | |||||||||||||||||
66 | 0F | F3 | r | P4+ | PSLLQ | Vdq | Wdq | sse2 | simdint | shift | Shift Packed Data Left Logical | ||||||||||||||
0F | F4 | r | P4+ | PMULUDQ | Pq | sse2 | simdint | arith | Multiply Packed Unsigned DW Integers | ||||||||||||||||
66 | 0F | F4 | r | P4+ | PMULUDQ | Vdq | Wdq | sse2 | simdint | arith | Multiply Packed Unsigned DW Integers | ||||||||||||||
0F | F5 | r | PX+ | PMADDWD | Pq | Qd | mmx | arith | Multiply and Add Packed Integers | ||||||||||||||||
66 | 0F | F5 | r | P4+ | PMADDWD | Vdq | Wdq | sse2 | simdint | arith | Multiply and Add Packed Integers | ||||||||||||||
0F | F6 | r | P3+ | PSADBW | Pq | sse1 | simdint | Compute Sum of Absolute Differences | |||||||||||||||||
66 | 0F | F6 | r | P3+ | PSADBW | Vdq | Wdq | sse1 | simdint | Compute Sum of Absolute Differences | |||||||||||||||
0F | F7 | r | P3+ | D41 | MASKMOVQ | BDq | Pq | Nq | sse1 | cachect | Store Selected Bytes of Quadword | ||||||||||||||
66 | 0F | F7 | r | P4+ | MASKMOVDQU | BDdq | Vdq | Udq | sse2 | cachect | Store Selected Bytes of Double Quadword | ||||||||||||||
0F | F8 | r | PX+ | PSUBB | Pq | mmx | arith | Subtract Packed Integers | |||||||||||||||||
66 | 0F | F8 | r | P4+ | PSUBB | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Integers | ||||||||||||||
0F | F9 | r | PX+ | PSUBW | Pq | mmx | arith | Subtract Packed Integers | |||||||||||||||||
66 | 0F | F9 | r | P4+ | PSUBW | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Integers | ||||||||||||||
0F | FA | r | PX+ | PSUBD | Pq | mmx | arith | Subtract Packed Integers | |||||||||||||||||
66 | 0F | FA | r | P4+ | PSUBD | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Integers | ||||||||||||||
0F | FB | r | P4+ | PSUBQ | Pq | sse2 | simdint | arith | Subtract Packed Quadword Integers | ||||||||||||||||
66 | 0F | FB | r | P4+ | PSUBQ | Vdq | Wdq | sse2 | simdint | arith | Subtract Packed Quadword Integers | ||||||||||||||
0F | FC | r | PX+ | PADDB | Pq | mmx | arith | Add Packed Integers | |||||||||||||||||
66 | 0F | FC | r | P4+ | PADDB | Vdq | Wdq | sse2 | simdint | arith | Add Packed Integers | ||||||||||||||
0F | FD | r | PX+ | PADDW | Pq | mmx | arith | Add Packed Integers | |||||||||||||||||
66 | 0F | FD | r | P4+ | PADDW | Vdq | Wdq | sse2 | simdint | arith | Add Packed Integers | ||||||||||||||
0F | FE | r | PX+ | PADDD | Pq | mmx | arith | Add Packed Integers | |||||||||||||||||
66 | 0F | FE | r | P4+ | PADDD | Vdq | Wdq | sse2 | simdint | 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.
When the opcode 0FH is encountered, the 8086,88 will execute a POP CS; the 80186,188 will execute an illegal instruction exception.
Branch hints are interpreted by the translation engine, and are used to assist branch prediction and trace construction hardware. They are only used at trace build time, and have no effect within already-built traces.
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.
If the operand-size is 32 or 64 bits, the operand is a 16-bit selector followed by a 32-bit offset.(On AMD64 architecture, 64-bit offset is not supported)
If CPUID.80000001H:ECX.4, CR8 can be read and written in legacy mode using a LOCK prefix instead of a REX prefix to specify the additional opcode bit.
For the MOVs from/to CRx/DRx/TRx, mod=00b/01b/10b is aliased to 11b.
This instruction is always treated as a register-to-register instruction, regardless of the encoding of the MOD field in the MODR/M byte.
The GETSEC instruction supports multiple leaf functions. Leaf functions are selected by the value in EAX at the time GETSEC is executed.The following leaf functions are available: CAPABILITIES, ENTERACCS, EXITAC, SENTER, SEXIT, PARAMETERS, SMCTRL, WAKEUP. GETSEC instruction operands are specific to selected leaf function.
The reg field in the ModR/M byte is unused.
This instruction can be used with a LOCK prefix …. To simplify the interface to the processor's bus, the destination operand receives a write cycle without regard to the result of the comparison.
CMPXCHG always does a read-modify-write on the memory operand.
Executing LFS, LGS, or LSS with a 64-bit operand size only loads a 32-bit general purpose register and the specified segment register.(On AMD64 architecture, 64-bit offset is not supported)
This instruction can be used with a LOCK prefix …. To simplify the interface to the processor's bus, the destination operand receives a write cycle without regard to the result of the comparison.
The CMPXCHG8B and CMPXCHG16B instructions always do a read-modify-write on the memory operand.
When the BSWAP instruction references a 16-bit register, the result is undefined.
The result of applying the BSWAP instruction to a 16-bit register is undefined.
This instruction causes a transition from x87 FPU to MMX technology state.
Create a hypertext reference to this edition's opcode (append hexadecimal opcode at the end of the following line):
32/64-bit ModR/M Byte
REX.R=1 | |||||||||||||||||||
r8(/r) without REX prefix | AL | CL | DL | BL | AH | CH | DH | BH | |||||||||||
r8(/r) with any REX prefix | AL | CL | DL | BL | SPL | BPL | SIL | DIL | R8B | R9B | R10B | R11B | R12B | R13B | R14B | R15B | |||
r16(/r) | AX | CX | DX | BX | SP | BP | SI | DI | R8W | R9W | R10W | R11W | R12W | R13W | R14W | R15W | |||
r32(/r) | EAX | ECX | EDX | EBX | ESP | EBP | ESI | EDI | R8D | R9D | R10D | R11D | R12D | R13D | R14D | R15D | |||
r64(/r) | RAX | RCX | RDX | RBX | RSP | RBP | RSI | RDI | R8 | R9 | R10 | R11 | R12 | R13 | R14 | R15 | |||
mm(/r) | MM0 | MM1 | MM2 | MM3 | MM4 | MM5 | MM6 | MM7 | MM0 | MM1 | MM2 | MM3 | MM4 | MM5 | MM6 | MM7 | |||
xmm(/r) | XMM0 | XMM1 | XMM2 | XMM3 | XMM4 | XMM5 | XMM6 | XMM7 | XMM8 | XMM9 | XMM10 | XMM11 | XMM12 | XMM13 | XMM14 | XMM15 | |||
sreg | ES | CS | SS | DS | FS | GS | res. | res. | ES | CS | SS | DS | FS | GS | res. | res. | |||
eee | CR0 | invd | CR2 | CR3 | CR4 | invd | invd | invd | CR8 | invd | invd | invd | invd | invd | invd | invd | |||
eee | DR0 | DR1 | DR2 | DR3 | DR41 | DR51 | DR6 | DR7 | invd | invd | invd | invd | invd | invd | invd | invd | |||
(In decimal) /digit (Opcode) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
(In binary) REG = | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |||
Effective Address | Effective Address REX.B=1 | Mod | R/M | Value of ModR/M Byte (in Hex) | Value of ModR/M Byte (in Hex) | ||||||||||||||
[RAX/EAX] | [R8/R8D] | 00 | 000 | 00 | 08 | 10 | 18 | 20 | 28 | 30 | 38 | 00 | 08 | 10 | 18 | 20 | 28 | 30 | 38 |
[RCX/ECX] | [R9/R9D] | 001 | 01 | 09 | 11 | 19 | 21 | 29 | 31 | 39 | 01 | 09 | 11 | 19 | 21 | 29 | 31 | 39 | |
[RDX/EDX] | [R10/R10D] | 010 | 02 | 0A | 12 | 1A | 22 | 2A | 32 | 3A | 02 | 0A | 12 | 1A | 22 | 2A | 32 | 3A | |
[RBX/EBX] | [R11/R11D] | 011 | 03 | 0B | 13 | 1B | 23 | 2B | 33 | 3B | 03 | 0B | 13 | 1B | 23 | 2B | 33 | 3B | |
[sib] | [sib] | 100 | 04 | 0C | 14 | 1C | 24 | 2C | 34 | 3C | 04 | 0C | 14 | 1C | 24 | 2C | 34 | 3C | |
[RIP/EIP]+disp32 | [RIP/EIP]+disp32 | 101 | 05 | 0D | 15 | 1D | 25 | 2D | 35 | 3D | 05 | 0D | 15 | 1D | 25 | 2D | 35 | 3D | |
[RSI/ESI] | [R14/R14D] | 110 | 06 | 0E | 16 | 1E | 26 | 2E | 36 | 3E | 06 | 0E | 16 | 1E | 26 | 2E | 36 | 3E | |
[RDI/EDI] | [R15/R15D] | 111 | 07 | 0F | 17 | 1F | 27 | 2F | 37 | 3F | 0F | 07 | 17 | 1F | 27 | 2F | 37 | 3F | |
[RAX/EAX]+disp8 | [R8/R8D]+disp8 | 01 | 000 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 |
[RCX/EDX]+disp8 | [R9/R9D]+disp8 | 001 | 41 | 49 | 51 | 59 | 61 | 69 | 71 | 79 | 41 | 49 | 51 | 59 | 61 | 69 | 71 | 79 | |
[RDX/EDX]+disp8 | [R10/R10D]+disp8 | 010 | 42 | 4A | 52 | 5A | 62 | 6A | 72 | 7A | 42 | 4A | 52 | 5A | 62 | 6A | 72 | 7A | |
[RBX/EBX]+disp8 | [R11/R11D]+disp8 | 011 | 43 | 4B | 53 | 5B | 63 | 6B | 73 | 7B | 43 | 4B | 53 | 5B | 63 | 6B | 73 | 7B | |
[sib]+disp8 | [sib]+disp8 | 100 | 44 | 4C | 54 | 5C | 64 | 6C | 74 | 7C | 44 | 4C | 54 | 5C | 64 | 6C | 74 | 7C | |
[RBP/EBP]+disp8 | [R13/R13D]+disp8 | 101 | 45 | 4D | 55 | 5D | 65 | 6D | 75 | 7D | 45 | 4D | 55 | 5D | 65 | 6D | 75 | 7D | |
[RSI/ESI]+disp8 | [R14/R14D]+disp8 | 110 | 46 | 4E | 56 | 5E | 66 | 6E | 76 | 7E | 46 | 4E | 56 | 5E | 66 | 6E | 76 | 7E | |
[RDI/EDI]+disp8 | [R15/R15D]+disp8 | 111 | 47 | 4F | 57 | 5F | 67 | 6F | 77 | 7F | 47 | 4F | 57 | 5F | 67 | 6F | 77 | 7F | |
[RAX/EAX]+disp32 | [R8/R8D]+disp32 | 10 | 000 | 80 | 88 | 90 | 98 | A0 | A8 | B0 | B8 | 80 | 88 | 90 | 98 | A0 | A8 | B0 | B8 |
[RCX/ECX]+disp32 | [R9/R9D]+disp32 | 001 | 81 | 89 | 91 | 99 | A1 | A9 | B1 | B9 | 81 | 89 | 91 | 99 | A1 | A9 | B1 | B9 | |
[RDX/EDX]+disp32 | [R10/R10D]+disp32 | 010 | 82 | 8A | 92 | 9A | A2 | AA | B2 | BA | 82 | 8A | 92 | 9A | A2 | AA | B2 | BA | |
[RBX/EBX]+disp32 | [R11/R11D]+disp32 | 011 | 83 | 8B | 93 | 9B | A3 | AB | B3 | BB | 83 | 8B | 93 | 9B | A3 | AB | B3 | BB | |
[sib]+disp32 | [sib]+disp32 | 100 | 84 | 8C | 94 | 9C | A4 | AC | B4 | BC | 84 | 8C | 94 | 9C | A4 | AC | B4 | BC | |
[RBP/EBP]+disp32 | [R13/R13D]+disp32 | 101 | 85 | 8D | 95 | 9D | A5 | AD | B5 | BD | 85 | 8D | 95 | 9D | A5 | AD | B5 | BD | |
[RSI/ESI]+disp32 | [R14/R14D]+disp32 | 110 | 86 | 8E | 96 | 9E | A6 | AE | B6 | BE | 86 | 8E | 96 | 9E | A6 | AE | B6 | BE | |
[RDI/EDI]+disp32 | [R15/R15D]+disp32 | 111 | 87 | 8F | 97 | 9F | A7 | AF | B7 | BF | 87 | 8F | 97 | 9F | A7 | AF | B7 | BF | |
AL/AX/EAX/RAX/ST0/MM0/XMM0 | R8B/R8W/R8D/R8/ST0/MM0/XMM8 | 11 | 000 | C0 | C8 | D0 | D8 | E0 | E8 | F0 | F8 | C0 | C8 | D0 | D8 | E0 | E8 | F0 | F8 |
CL/CX/ECX/RCX/ST1/MM1/XMM1 | R9B/R9W/R9D/R9/ST1/MM1/XMM9 | 001 | C1 | C9 | D1 | D9 | E1 | E9 | F1 | F9 | C1 | C9 | D1 | D9 | E1 | E9 | F1 | F9 | |
DL/DX/EDX/RDX/ST2/MM2/XMM2 | R10B/R10W/R10D/R10/ST2/MM2/XMM10 | 010 | C2 | CA | D2 | DA | E2 | EA | F2 | FA | C2 | CA | D2 | DA | E2 | EA | F2 | FA | |
BL/BX/EBX/RBX/ST3/MM3/XMM3 | R11B/R11W/R11D/R11/ST3/MM3/XMM11 | 011 | C3 | CB | D3 | DB | E3 | EB | F3 | FB | C3 | CB | D3 | DB | E3 | EB | F3 | FB | |
AH/SP/ESP/RSP/ST4/MM4/XMM4 | R12B/R12W/R12D/R12/ST4/MM4/XMM12 | 100 | C4 | CC | D4 | DC | E4 | EC | F4 | FC | C4 | CC | D4 | DC | E4 | EC | F4 | FC | |
CH/BP/EBP/RBP/ST5/MM5/XMM5 | R13B/R13W/R13D/R13/ST5/MM5/XMM13 | 101 | C5 | CD | D5 | DD | E5 | ED | F5 | FD | C5 | CD | D5 | DD | E5 | ED | F5 | FD | |
DH/SI/ESI/RSI/ST6/MM6/XMM6 | R14B/R14W/R14D/R14/ST6/MM6/XMM14 | 110 | C6 | CE | D6 | DE | E6 | EE | F6 | FE | C6 | CE | D6 | DE | E6 | EE | F6 | FE | |
BH/DI/EDI/RDI/ST7/MM7/XMM7 | R15B/R15W/R15D/R15/ST7/MM7/XMM15 | 111 | C7 | CF | D7 | DF | E7 | EF | F7 | FF | C7 | CF | D7 | DF | E7 | EF | F7 | FF |
32/64-bit SIB Byte
REX.B=1 | |||||||||||||||||||
r64 | RAX | RCX | RDX | RBX | RSP | →1 | RSI | RDI | R8 | R9 | R10 | R11 | R12 | →2 | R14 | R15 | |||
r32 | EAX | ECX | EDX | EBX | ESP | →1 | ESI | EDI | R8D | R9D | R10D | R11D | R12D | →2 | R14D | R15D | |||
(In decimal) Base = | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |||
(In binary) Base = | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | |||
Scaled Index | Scaled Index REX.X=1 |
SS | Index | Value of SIB Byte (in Hex) | Value of SIB Byte (in Hex) | ||||||||||||||
[RAX/EAX] | [R8/R8D] | 00 | 000 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
[RCX/ECX] | [R9/R9D] | 001 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | |
[RDX/EDX] | [R10/R10D] | 010 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
[RBX/EBX] | [R11/R11D] | 011 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | |
none | [R12/R12D] | 100 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | |
[RBP/EBP] | [R13/R13D] | 101 | 28 | 29 | 2A | 2B | 2C | 2D | 2E | 2F | 28 | 29 | 2A | 2B | 2C | 2D | 2E | 2F | |
[RSI/ESI] | [R14/R14D] | 110 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | |
[RDI/EDI] | [R15/R15D] | 111 | 38 | 39 | 3A | 3B | 3C | 3D | 3E | 3F | 38 | 39 | 3A | 3B | 3C | 3D | 3E | 3F | |
[RAX/EAX*2] | [R8/R8D*2] | 01 | 000 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
[RCX/ECX*2] | [R9/R9D*2] | 001 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | |
[RDX/EDX*2] | [R10/R10D*2] | 010 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | |
[RBX/EBX*2] | [R11/R11D*2] | 011 | 58 | 59 | 5A | 5B | 5C | 5D | 5E | 5F | 58 | 59 | 5A | 5B | 5C | 5D | 5E | 5F | |
none | [R12/R12D*2] | 100 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | |
[RBP/EBP*2] | [R13/R13*2] | 101 | 68 | 69 | 6A | 6B | 6C | 6D | 6E | 6F | 68 | 69 | 6A | 6B | 6C | 6D | 6E | 6F | |
[RSI/ESI*2] | [R14/R14D*2] | 110 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | |
[RDI/EDI*2] | [R15/R15D*2] | 111 | 78 | 79 | 7A | 7B | 7C | 7D | 7E | 7F | 78 | 79 | 7A | 7B | 7C | 7D | 7E | 7F | |
[RAX/EAX*4] | [R8/R8D*4] | 10 | 000 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
[RCX/ECX*4] | [R9/R9D*4] | 001 | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F | |
[RDX/EDX*4] | [R10/R10D*4] | 010 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | |
[RBX/EBX*4] | [R11/E11D*4] | 011 | 98 | 99 | 9A | 9B | 9C | 9D | 9E | 9F | 98 | 99 | 9A | 9B | 9C | 9D | 9E | 9F | |
none | [R12/R12D*4] | 100 | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | |
[RBP/EBP*4] | [R13/R13D*4] | 101 | A8 | A9 | AA | AB | AC | AD | AE | AF | A8 | A9 | AA | AB | AC | AD | AE | AF | |
[RSI/ESI*4] | [R14/R14D*4] | 110 | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | |
[RDI/EDI*4] | [R15/R15D*4] | 111 | B8 | B9 | BA | BB | BC | BD | BE | BF | B8 | B9 | BA | BB | BC | BD | BE | BF | |
[RAX/EAX*8] | [R8/R8D*8] | 11 | 000 | C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 | C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 |
[RCX/ECX*8] | [R9/R9D*8] | 001 | C8 | C9 | CA | CB | CC | CD | CE | CF | C8 | C9 | CA | CB | CC | CD | CE | CF | |
[RDX/EDX*8] | [R10/R10D*8] | 010 | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | |
[RBX/EBX*8] | [R11/R11D*8] | 011 | D8 | D9 | DA | DB | DC | DD | DE | DF | D8 | D9 | DA | DB | DC | DD | DE | DF | |
none | [R12/R12D*8] | 100 | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | |
[RBP/EBP*8] | [R13/R13D*8] | 101 | E8 | E9 | EA | EB | EC | ED | EE | EF | E8 | E9 | EA | EB | EC | ED | EE | EF | |
[RSI/ESI*8] | [R14/R14D*8] | 110 | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | |
[RDI/EDI*8] | [R15/R15D*8] | 111 | F8 | F9 | FA | FB | FC | FD | FE | FF | F8 | F9 | FA | FB | FC | FD | FE | FF |
Mod bits | base |
00 | disp32 |
01 | RBP/EBP+disp8 |
10 | RBP/EBP+disp32 |
Mod bits | base |
00 | disp32 |
01 | R13/R13D+disp8 |
10 | R13/R13D+disp32 |
32-bit ModR/M Byte
r8(/r) | AL | CL | DL | BL | AH | CH | DH | BH | ||
r16(/r) | AX | CX | DX | BX | SP | BP | SI | DI | ||
r32(/r) | EAX | ECX | EDX | EBX | ESP | EBP | ESI | EDI | ||
mm(/r) | MM0 | MM1 | MM2 | MM3 | MM4 | MM5 | MM6 | MM7 | ||
xmm(/r) | XMM0 | XMM1 | XMM2 | XMM3 | XMM4 | XMM5 | XMM6 | XMM7 | ||
sreg | ES | CS | SS | DS | FS | GS | res. | res. | ||
eee | CR0 | invd | CR2 | CR3 | CR4 | invd | invd | invd | ||
eee | DR0 | DR1 | DR2 | DR3 | DR41 | DR51 | DR6 | DR7 | ||
(In decimal) /digit (Opcode) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
(In binary) REG = | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||
Effective Address | Mod | R/M | Value of ModR/M Byte (in Hex) | |||||||
[EAX] | 00 | 000 | 00 | 08 | 10 | 18 | 20 | 28 | 30 | 38 |
[ECX] | 001 | 01 | 09 | 11 | 19 | 21 | 29 | 31 | 39 | |
[EDX] | 010 | 02 | 0A | 12 | 1A | 22 | 2A | 32 | 3A | |
[EBX] | 011 | 03 | 0B | 13 | 1B | 23 | 2B | 33 | 3B | |
[sib] | 100 | 04 | 0C | 14 | 1C | 24 | 2C | 34 | 3C | |
disp32 | 101 | 05 | 0D | 15 | 1D | 25 | 2D | 35 | 3D | |
[ESI] | 110 | 06 | 0E | 16 | 1E | 26 | 2E | 36 | 3E | |
[EDI] | 111 | 07 | 0F | 17 | 1F | 27 | 2F | 37 | 3F | |
[EAX]+disp8 | 01 | 000 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 |
[ECX]+disp8 | 001 | 41 | 49 | 51 | 59 | 61 | 69 | 71 | 79 | |
[EDX]+disp8 | 010 | 42 | 4A | 52 | 5A | 62 | 6A | 72 | 7A | |
[EBX]+disp8 | 011 | 43 | 4B | 53 | 5B | 63 | 6B | 73 | 7B | |
[sib]+disp8 | 100 | 44 | 4C | 54 | 5C | 64 | 6C | 74 | 7C | |
[EBP]+disp8 | 101 | 45 | 4D | 55 | 5D | 65 | 6D | 75 | 7D | |
[ESI]+disp8 | 110 | 46 | 4E | 56 | 5E | 66 | 6E | 76 | 7E | |
[EDI]+disp8 | 111 | 47 | 4F | 57 | 5F | 67 | 6F | 77 | 7F | |
[EAX]+disp32 | 10 | 000 | 80 | 88 | 90 | 98 | A0 | A8 | B0 | B8 |
[ECX]+disp32 | 001 | 81 | 89 | 91 | 99 | A1 | A9 | B1 | B9 | |
[EDX]+disp32 | 010 | 82 | 8A | 92 | 9A | A2 | AA | B2 | BA | |
[EBX]+disp32 | 011 | 83 | 8B | 93 | 9B | A3 | AB | B3 | BB | |
[sib]+disp32 | 100 | 84 | 8C | 94 | 9C | A4 | AC | B4 | BC | |
[EBP]+disp32 | 101 | 85 | 8D | 95 | 9D | A5 | AD | B5 | BD | |
[ESI]+disp32 | 110 | 86 | 8E | 96 | 9E | A6 | AE | B6 | BE | |
[EDI]+disp32 | 111 | 87 | 8F | 97 | 9F | A7 | AF | B7 | BF | |
AL/AX/EAX/ST0/MM0/XMM0 | 11 | 000 | C0 | C8 | D0 | D8 | E0 | E8 | F0 | F8 |
CL/CX/ECX/ST1/MM1/XMM1 | 001 | C1 | C9 | D1 | D9 | E1 | E9 | F1 | F9 | |
DL/DX/EDX/ST2/MM2/XMM2 | 010 | C2 | CA | D2 | DA | E2 | EA | F2 | FA | |
BL/BX/EBX/ST3/MM3/XMM3 | 011 | C3 | CB | D3 | DB | E3 | EB | F3 | FB | |
AH/SP/ESP/ST4/MM4/XMM4 | 100 | C4 | CC | D4 | DC | E4 | EC | F4 | FC | |
CH/BP/EBP/ST5/MM5/XMM5 | 101 | C5 | CD | D5 | DD | E5 | ED | F5 | FD | |
DH/SI/ESI/ST6/MM6/XMM6 | 110 | C6 | CE | D6 | DE | E6 | EE | F6 | FE | |
BH/DI/EDI/ST7/MM7/XMM7 | 111 | C7 | CF | D7 | DF | E7 | EF | F7 | FF |
32-bit SIB Byte
r32 | EAX | ECX | EDX | EBX | ESP | →1 | ESI | EDI | ||
(In decimal) Base = | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
(In binary) Base = | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||
Scaled Index | SS | Index | Value of SIB Byte (in Hexadecimal) | |||||||
[EAX] | 00 | 000 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 |
[ECX] | 001 | 08 | 09 | 0A | 0B | 0C | 0D | 0E | 0F | |
[EDX] | 010 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | |
[EBX] | 011 | 18 | 19 | 1A | 1B | 1C | 1D | 1E | 1F | |
none | 100 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | |
[EBP] | 101 | 28 | 29 | 2A | 2B | 2C | 2D | 2E | 2F | |
[ESI] | 110 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | |
[EDI] | 111 | 38 | 39 | 3A | 3B | 3C | 3D | 3E | 3F | |
[EAX*2] | 01 | 000 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |
[ECX*2] | 001 | 48 | 49 | 4A | 4B | 4C | 4D | 4E | 4F | |
[EDX*2] | 010 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | |
[EBX*2] | 011 | 58 | 59 | 5A | 5B | 5C | 5D | 5E | 5F | |
none | 100 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | |
[EBP*2] | 101 | 68 | 69 | 6A | 6B | 6C | 6D | 6E | 6F | |
[ESI*2] | 110 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | |
[EDI*2] | 111 | 78 | 79 | 7A | 7B | 7C | 7D | 7E | 7F | |
[EAX*4] | 10 | 000 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 |
[ECX*4] | 001 | 88 | 89 | 8A | 8B | 8C | 8D | 8E | 8F | |
[EDX*4] | 010 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | |
[EBX*4] | 011 | 98 | 99 | 9A | 9B | 9C | 9D | 9E | 9F | |
none | 100 | A0 | A1 | A2 | A3 | A4 | A5 | A6 | A7 | |
[EBP*4] | 101 | A8 | A9 | AA | AB | AC | AD | AE | AF | |
[ESI*4] | 110 | B0 | B1 | B2 | B3 | B4 | B5 | B6 | B7 | |
[EDI*4] | 111 | B8 | B9 | BA | BB | BC | BD | BE | BF | |
[EAX*8] | 11 | 000 | C0 | C1 | C2 | C3 | C4 | C5 | C6 | C7 |
[ECX*8] | 001 | C8 | C9 | CA | CB | CC | CD | CE | CF | |
[EDX*8] | 010 | D0 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | |
[EBX*8] | 011 | D8 | D9 | DA | DB | DC | DD | DE | DF | |
none | 100 | E0 | E1 | E2 | E3 | E4 | E5 | E6 | E7 | |
[EBP*8] | 101 | E8 | E9 | EA | EB | EC | ED | EE | EF | |
[ESI*8] | 110 | F0 | F1 | F2 | F3 | F4 | F5 | F6 | F7 | |
[EDI*8] | 111 | F8 | F9 | FA | FB | FC | FD | FE | FF |
Mod bits | base |
00 | disp32 |
01 | EBP+disp8 |
10 | EBP+disp32 |
16-bit ModR/M Byte
r8(/r) | AL | CL | DL | BL | AH | CH | DH | BH | ||
r16(/r) | AX | CX | DX | BX | SP | BP | SI | DI | ||
r32(/r) | EAX | ECX | EDX | EBX | ESP | EBP | ESI | EDI | ||
mm(/r) | MM0 | MM1 | MM2 | MM3 | MM4 | MM5 | MM6 | MM7 | ||
xmm(/r) | XMM0 | XMM1 | XMM2 | XMM3 | XMM4 | XMM5 | XMM6 | XMM7 | ||
sreg | ES | CS | SS | DS | FS | GS | res. | res. | ||
eee | CR0 | invd | CR2 | CR3 | CR4 | invd | invd | invd | ||
eee | DR0 | DR1 | DR2 | DR3 | DR41 | DR51 | DR6 | DR7 | ||
(In decimal) /digit (Opcode) | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | ||
(In binary) REG = | 000 | 001 | 010 | 011 | 100 | 101 | 110 | 111 | ||
Effective Address | Mod | R/M | Value of ModR/M Byte (in Hex) | |||||||
[BX+SI] | 00 | 000 | 00 | 08 | 10 | 18 | 20 | 28 | 30 | 38 |
[BX+DI] | 001 | 01 | 09 | 11 | 19 | 21 | 29 | 31 | 39 | |
[BP+SI] | 010 | 02 | 0A | 12 | 1A | 22 | 2A | 32 | 3A | |
[BP+DI] | 011 | 03 | 0B | 13 | 1B | 23 | 2B | 33 | 3B | |
[SI] | 100 | 04 | 0C | 14 | 1C | 24 | 2C | 34 | 3C | |
[DI] | 101 | 05 | 0D | 15 | 1D | 25 | 2D | 35 | 3D | |
disp16 | 110 | 06 | 0E | 16 | 1E | 26 | 2E | 36 | 3E | |
[BX] | 111 | 07 | 0F | 17 | 1F | 27 | 2F | 37 | 3F | |
[BX+SI]+disp8 | 01 | 000 | 40 | 48 | 50 | 58 | 60 | 68 | 70 | 78 |
[BX+DI]+disp8 | 001 | 41 | 49 | 51 | 59 | 61 | 69 | 71 | 79 | |
[BP+SI]+disp8 | 010 | 42 | 4A | 52 | 5A | 62 | 6A | 72 | 7A | |
[BP+DI]+disp8 | 011 | 43 | 4B | 53 | 5B | 63 | 6B | 73 | 7B | |
[SI]+disp8 | 100 | 44 | 4C | 54 | 5C | 64 | 6C | 74 | 7C | |
[DI]+disp8 | 101 | 45 | 4D | 55 | 5D | 65 | 6D | 75 | 7D | |
[BP]+disp8 | 110 | 46 | 4E | 56 | 5E | 66 | 6E | 76 | 7E | |
[BX]+disp8 | 111 | 47 | 4F | 57 | 5F | 67 | 6F | 77 | 7F | |
[BX+SI]+disp16 | 10 | 000 | 80 | 88 | 90 | 98 | A0 | A8 | B0 | B8 |
[BX+DI]+disp16 | 001 | 81 | 89 | 91 | 99 | A1 | A9 | B1 | B9 | |
[BP+SI]+disp16 | 010 | 82 | 8A | 92 | 9A | A2 | AA | B2 | BA | |
[BP+DI]+disp16 | 011 | 83 | 8B | 93 | 9B | A3 | AB | B3 | BB | |
[SI]+disp16 | 100 | 84 | 8C | 94 | 9C | A4 | AC | B4 | BC | |
[DI]+disp16 | 101 | 85 | 8D | 95 | 9D | A5 | AD | B5 | BD | |
[BP]+disp16 | 110 | 86 | 8E | 96 | 9E | A6 | AE | B6 | BE | |
[BX]+disp16 | 111 | 87 | 8F | 97 | 9F | A7 | AF | B7 | BF | |
AL/AX/EAX/ST0/MM0/XMM0 | 11 | 000 | C0 | C8 | D0 | D8 | E0 | E8 | F0 | F8 |
CL/CX/ECX/ST1/MM1/XMM1 | 001 | C1 | C9 | D1 | D9 | E1 | E9 | F1 | F9 | |
DL/DX/EDX/ST2/MM2/XMM2 | 010 | C2 | CA | D2 | DA | E2 | EA | F2 | FA | |
BL/BX/EBX/ST3/MM3/XMM3 | 011 | C3 | CB | D3 | DB | E3 | EB | F3 | FB | |
AH/SP/ESP/ST4/MM4/XMM4 | 100 | C4 | CC | D4 | DC | E4 | EC | F4 | FC | |
CH/BP/EBP/ST5/MM5/XMM5 | 101 | C5 | CD | D5 | DD | E5 | ED | F5 | FD | |
DH/SI/ESI/ST6/MM6/XMM6 | 110 | C6 | CE | D6 | DE | E6 | EE | F6 | FE | |
BH/DI/EDI/ST7/MM7/XMM7 | 111 | C7 | CF | D7 | DF | E7 | EF | F7 | FF |