IA-32 architecture two byte opcodes
pre- fix |
0Fh xxh |
x0h |
x1h |
x2h |
x3h |
x4h |
x5h |
x6h |
x7h |
n/a |
0xh |
group #6 |
group #7 |
LAR Gv,Ew |
LSL Gv,Ew |
LOADALL? (80286) |
LOADALL (80286) SYSCALL (AMD) |
CLTS |
LOADALL (80386) SYSRET (AMD) |
n/a |
1xh |
UMOV Eb,Gb (80386/486) |
UMOV Ev,Gv (80386/486) |
UMOV Gb,Eb (80386/486) |
UMOV Gv,Ev (80386/486) |
|
|
|
|
MOVUPS Vo,Wo (SSE) |
MOVUPS Wo,Vo (SSE) |
MOVLPS Vq,Mq (SSE) MOVHLPS #1 Vq,Vq (SSE) |
MOVLPS Mq,Vq (SSE) |
UNPCKLPS Vo,Wq (SSE) |
UNPCKHPS Vo,Wo (SSE) |
MOVHPS Vq,Mq (SSE) MOVLHPS #1 Vq,Vq (SSE) |
MOVHPS Mq,Vq (SSE) |
F3h |
MOVSS Vd,Wd (SSE) |
MOVSS Wd,Vd (SSE) |
|
|
|
|
|
|
66h |
MOVUPD Vo,Wo (SSE2) |
MOVUPD Wo,Vo (SSE2) |
MOVLPD Vq,Mq (SSE2) |
MOVLPD Mq,Vq (SSE2) |
UNPCKLPD Vo,Wq (SSE2) |
UNPCKHPD Vo,Wo (SSE2) |
MOVHPD Vq,Mq (SSE2) |
MOVHPD Mq,Vq (SSE2) |
F2h |
MOVSD Vq,Wq (SSE2) |
MOVSD Wq,Vq (SSE2) |
|
|
|
|
|
|
n/a |
2xh |
MOV Rd,Cd (80386+) |
MOV Rd,Dd (80386+) |
MOV Cd,Rd (80386+) |
MOV Dd,Rd (80386+) |
MOV Rd,Td (80386/486) |
|
MOV Td,Rd (80386/486) |
|
n/a |
3xh |
WRMSR (see CPUID) |
RDTSC (see CPUID) |
RDMSR (see CPUID) |
RDPMC (P55/P6+) |
SYSENTER (see CPUID) |
SYSEXIT (see CPUID) |
RDSHR (Cyrix) |
WRSHR (Cyrix) |
n/a |
4xh |
CMOVO Gv,Ev (see CPUID) |
CMOVNO Gv,Ev (see CPUID) |
CMOVB Gv,Ev (see CPUID) |
CMOVNB Gv,Ev (see CPUID) |
CMOVZ Gv,Ev (see CPUID) |
CMOVNZ Gv,Ev (see CPUID) |
CMOVBE Gv,Ev (see CPUID) |
CMOVNBE Gv,Ev (see CPUID) |
n/a |
5xh |
MOVMSKPS Gd,Vo (SSE) |
SQRTPS Vo,Wo (SSE) |
RSQRTPS Vo,Wo (SSE) |
RCPPS Vo,Wo (SSE) |
ANDPS Vo,Wo (SSE) |
ANDNPS Vo,Wo (SSE) |
ORPS Vo,Wo (SSE) |
XORPS Vo,Wo (SSE) |
F3h |
|
SQRTSS Vd,Wd (SSE) |
RSQRTSS Vd,Wd (SSE) |
RCPSS Vd,Wd (SSE) |
|
|
|
|
66h |
MOVMSKPD Gd,Vo (SSE2) |
SQRTPD Vo,Wo (SSE2) |
|
|
ANDPD Vo,Wo (SSE2) |
ANDNPD Vo,Wo (SSE2) |
ORPD Vo,Wo (SSE2) |
XORPD Vo,Wo (SSE2) |
F2h |
|
SQRTSD Vq,Wq (SSE2) |
|
|
|
|
|
|
n/a |
6xh |
PUNPCKL- BW Pq,Qd (MMX) |
PUNPCKL- WD Pq,Qd (MMX) |
PUNPCKL- DQ Pq,Qd (MMX) |
PACKSSWB Pq,Qq (MMX) |
PCMPGTB Pq,Qq (MMX) |
PCMPGTW Pq,Qq (MMX) |
PCMPGTD Pq,Qq (MMX) |
PACKUSWB Pq,Qq (MMX) |
66h |
PUNPCKL- BW Vo,Wq (SSE2) |
PUNPCKL- WD Vo,Wq (SSE2) |
PUNPCKL- DQ Vo,Wq (SSE2) |
PACKSSWB Vo,Wo (SSE2) |
PCMPGTB Vo,Wo (SSE2) |
PCMPGTW Vo,Wo (SSE2) |
PCMPGTD Vo,Wo (SSE2) |
PACKUSWB Vo,Wo (SSE2) |
n/a |
7xh |
PSHUFW Pq,Qq,Ib (MMX-SSE) |
group #13 PSHIMW (MMX) |
group #14 PSHIMD (MMX) |
group #15 PSHIMQ (MMX) |
PCMPEQB Pq,Qq (MMX) |
PCMPEQW Pq,Qq (MMX) |
PCMPEQD Pq,Qq (MMX) |
EMMS (MMX) |
F3h |
PSHUFHW Vo,Wo,Ib (SSE2) |
|
|
|
|
|
|
|
66h |
PSHUFD Vo,Wo,Ib (SSE2) |
group #13 PSHIMW (SSE2) |
group #14 PSHIMD (SSE2) |
group #15 PSHIMQ/DQ (SSE2) |
PCMPEQB Vo,Wo (SSE2) |
PCMPEQW Vo,Wo (SSE2) |
PCMPEQD Vo,Wo (SSE2) |
|
F2h |
PSHUFLW Vo,Wo,Ib (SSE2) |
|
|
|
|
|
|
|
n/a |
8xh |
JO Jv (80386+) |
JNO Jv (80386+) |
JB Jv (80386+) |
JNB Jv (80386+) |
JZ Jv (80386+) |
JNZ Jv (80386+) |
JBE Jv (80386+) |
JNBE Jv (80386+) |
n/a |
9xh |
SETO Eb (80386+) |
SETNO Eb (80386+) |
SETB Eb (80386+) |
SETNB Eb (80386+) |
SETZ Eb (80386+) |
SETNZ Eb (80386+) |
SETBE Eb (80386+) |
SETNBE Eb (80386+) |
n/a |
Axh |
PUSH FS (80386+) |
POP FS (80386+) |
CPUID (EFLAGS.ID) |
BT Ev,Gv (80386+) |
SHLD Ev,Gv,Ib (80386+) |
SHLD Ev,Gv,CL (80386+) |
XBTS and CMPXCHG (386/486-A) |
IBTS and CMPXCHG (386/486-A) |
n/a |
Bxh |
CMPXCHG Eb,Gb (80486-B+) |
CMPXCHG Ev,Gv (80486-B+) |
LSS Gv,Mp (80386+) |
BTR Ev,Gv (80386+) |
LFS Gv,Mp (80386+) |
LGS Gv,Mp (80386+) |
MOVZX Gv,Eb (80386+) |
MOVZX Gv,Ew (80386+) |
n/a |
Cxh |
XADD Eb,Gb (80486+) |
XADD Ev,Gv (80486+) |
CMPccPS #2 Vo,Wo,Ib (SSE) |
MOVNTI Md,Gd (SSE2-MEM) |
PINSRW Pq,Mw,Ib Pq,G[wd],Ib (MMX-SSE) |
PEXTRW Gd,Pq,Ib (MMX-SSE) |
SHUFPS Vo,Wo,Ib (SSE) |
group #9 |
F3h |
CMPccSS #2 Vd,Wd,Ib (SSE) |
|
|
|
|
66h |
CMPccPD #2 Vo,Wo,Ib (SSE2) |
|
PINSRW Vo,Mw,Ib Vo,G[wd],Ib (SSE2) |
PEXTRW Gd,Vo,Ib (SSE2) |
SHUFPD Vo,Wo,Ib (SSE2) |
F2h |
CMPccSD #2 Vq,Wq,Ib (SSE2) |
|
|
|
|
n/a |
Dxh |
|
PSRLW Pq,Qq (MMX) |
PSRLD Pq,Qq (MMX) |
PSRLQ Pq,Qq (MMX) |
PADDQ Pq,Qq (MMX-SSE2) |
PMULLW Pq,Qq (MMX) |
|
PMOVMSKB Gd,Pq (MMX-SSE) |
F3h |
|
|
|
|
|
|
MOVQ2DQ Vo,Pq (SSE2-MMX) |
|
66h |
|
PSRLW Vo,Wo (!) (SSE2) |
PSRLD Vo,Wo (!) (SSE2) |
PSRLQ Vo,Wo (!) (SSE2) |
PADDQ Vo,Wo (SSE2) |
PMULLW Vo,Wo (SSE2) |
MOVQ Mq,Vq Vq,Vq (SSE2) |
PMOVMSKB Gd,Vo (SSE2) |
F2h |
|
|
|
|
|
|
MOVDQ2Q Pq,Vq (SSE2-MMX) |
|
n/a |
Exh |
PAVGB Pq,Qq (MMX-SSE) |
PSRAW Pq,Qq (MMX) |
PSRAD Pq,Qq (MMX) |
PAVGW Pq,Qq (MMX-SSE) |
PMULHUW Pq,Qq (MMX-SSE) |
PMULHW Pq,Qq (MMX) |
|
MOVNTQ Mq,Pq (MMX-SSE) |
F3h |
|
|
|
|
|
|
CVTDQ2PD Vo,Wq (SSE2) |
|
66h |
PAVGB Vo,Wo (SSE2) |
PSRAW Vo,Wo (!) (SSE2) |
PSRAD Vo,Wo (!) (SSE2) |
PAVGW Vo,Wo (SSE2) |
PMULHUW Vo,Wo (SSE2) |
PMULHW Vo,Wo (SSE2) |
CVTTPD2DQ Vo,Wo (SSE2) |
MOVNTDQ Mo,Vo (SSE2) |
F2h |
|
|
|
|
|
|
CVTPD2DQ Vo,Wo (SSE2) |
|
n/a |
Fxh |
|
PSLLW Pq,Qq (MMX) |
PSLLD Pq,Qq (MMX) |
PSLLQ Pq,Qq (MMX) |
PMULUDQ Pq,Qq (MMX-SSE2) |
PMADDWD Pq,Qq (MMX) |
PSADBW Pq,Qq (MMX-SSE) |
MASKMOVQ Pq,Pq (MMX-SSE) |
66h |
|
PSLLW Vo,Wo (!) (SSE2) |
PSLLD Vo,Wo (!) (SSE2) |
PSLLQ Vo,Wo (!) (SSE2) |
PMULUDQ Vo,Wo (SSE2) |
PMADDWD Vo,Wo (SSE2) |
PSADBW Vo,Wo (SSE2) |
MASKMOV- DQU Vo,Vo (SSE2) |
pre- fix |
0Fh xxh |
x8h |
x9h |
xAh |
xBh |
xCh |
xDh |
xEh |
xFh |
n/a |
0xh |
INVD (80486+) |
WBINVD (80486+) |
|
UD1 (80286+) |
|
3DNow! |
3DNow! |
3DNow! |
n/a |
1xh |
group #17 |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
HINT_NOP M (P6+) |
n/a |
2xh |
MOVAPS Vo,Wo (SSE) |
MOVAPS Wo,Vo (SSE) |
CVTPI2PS Vq,Mq (SSE) CVTPI2PS Vq,Pq (SSE-MMX) |
MOVNTPS Mo,Vo (SSE) |
CVTTPS2PI Pq,Wq (SSE-MMX) |
CVTPS2PI Pq,Wq (SSE-MMX) |
UCOMISS Vd,Wd (SSE) |
COMISS Vd,Wd (SSE) |
F3h |
|
|
CVTSI2SS Vd,Ed (SSE) |
|
CVTTSS2SI Gd,Wd (SSE) |
CVTSS2SI Gd,Wd (SSE) |
|
|
66h |
MOVAPD Vo,Wo (SSE2) |
MOVAPD Wo,Vo (SSE2) |
CVTPI2PD Vo,Mq (SSE2) CVTPI2PD Vo,Pq (SSE2-MMX) |
MOVNTPD Mo,Vo (SSE2) |
CVTTPD2PI Pq,Wo (SSE2-MMX) |
CVTPD2PI Pq,Wo (SSE2-MMX) |
UCOMISD Vq,Wq (SSE2) |
COMISD Vq,Wq (SSE2) |
F2h |
|
|
CVTSI2SD Vq,Ed (SSE2) |
|
CVTTSD2SI Gd,Wq (SSE2) |
CVTSD2SI Gd,Wq (SSE2) |
|
|
n/a |
3xh |
SMINT (Cyrix) |
|
|
|
|
|
|
|
n/a |
4xh |
CMOVS Gv,Ev (see CPUID) |
CMOVNS Gv,Ev (see CPUID) |
CMOVP Gv,Ev (see CPUID) |
CMOVNP Gv,Ev (see CPUID) |
CMOVL Gv,Ev (see CPUID) |
CMOVNL Gv,Ev (see CPUID) |
CMOVLE Gv,Ev (see CPUID) |
CMOVNLE Gv,Ev (see CPUID) |
n/a |
5xh |
ADDPS Vo,Wo (SSE) |
MULPS Vo,Wo (SSE) |
CVTPS2PD Vo,Wq (SSE2) |
CVTDQ2PS Vo,Wo (SSE2) |
SUBPS Vo,Wo (SSE) |
MINPS Vo,Wo (SSE) |
DIVPS Vo,Wo (SSE) |
MAXPS Vo,Wo (SSE) |
F3h |
ADDSS Vd,Wd (SSE) |
MULSS Vd,Wd (SSE) |
CVTSS2SD Vq,Wd (SSE2) |
CVTTPS2DQ Vo,Wo (SSE2) |
SUBSS Vd,Wd (SSE) |
MINSS Vd,Wd (SSE) |
DIVSS Vd,Wd (SSE) |
MAXSS Vd,Wd (SSE) |
66h |
ADDPD Vo,Wo (SSE2) |
MULPD Vo,Wo (SSE2) |
CVTPD2PS Vo,Wo (SSE2) |
CVTPS2DQ Vo,Wo (SSE2) |
SUBPD Vo,Wo (SSE2) |
MINPD Vo,Wo (SSE2) |
DIVPD Vo,Wo (SSE2) |
MAXPD Vo,Wo (SSE2) |
F2h |
ADDSD Vq,Wq (SSE2) |
MULSD Vq,Wq (SSE2) |
CVTSD2SS Vd,Wq (SSE2) |
|
SUBSD Vq,Wq (SSE2) |
MINSD Vq,Wq (SSE2) |
DIVSD Vq,Wq (SSE2) |
MAXSD Vq,Wq (SSE2) |
n/a |
6xh |
PUNPCKH- BW Pq,Qq (MMX) |
PUNPCKH- WD Pq,Qq (MMX) |
PUNPCKH- DQ Pq,Qq (MMX) |
PACKSSDW Pq,Qq (MMX) |
|
|
MOVD Pq,Ed (MMX) |
MOVQ Pq,Qq (MMX) |
F3h |
|
|
|
|
|
|
|
MOVDQU Vo,Wo (SSE2) |
66h |
PUNPCKH- BW Vo,Wo (SSE2) |
PUNPCKH- WD Vo,Wo (SSE2) |
PUNPCKH- DQ Vo,Wo (SSE2) |
PACKSSDW Vo,Wo (SSE2) |
PUNPCKL- QDQ Vo,Wq (SSE2) |
PUNPCKH- QDQ Vo,Wo (SSE2) |
MOVD Vo,Ed (SSE2) |
MOVDQA Vo,Wo (SSE2) |
n/a |
7xh |
|
|
|
|
|
|
MOVD Ed,Pd (MMX) |
MOVQ Qq,Pq (MMX) |
F3h |
|
|
|
|
|
|
MOVQ Vo,Mq Vq,Vq (SSE2) |
MOVDQU Wo,Vo (SSE2) |
66h |
|
|
|
|
|
|
MOVD Ed,Vd (SSE2) |
MOVDQA Wo,Vo (SSE2) |
n/a |
8xh |
JS Jv (80386+) |
JNS Jv (80386+) |
JP Jv (80386+) |
JNP Jv (80386+) |
JL Jv (80386+) |
JNL Jv (80386+) |
JLE Jv (80386+) |
JNLE Jv (80386+) |
n/a |
9xh |
SETS Eb (80386+) |
SETNS Eb (80386+) |
SETP Eb (80386+) |
SETNP Eb (80386+) |
SETL Eb (80386+) |
SETNL Eb (80386+) |
SETLE Eb (80386+) |
SETNLE Eb (80386+) |
n/a |
Axh |
PUSH GS (80386+) |
POP GS (80386+) |
RSM (SMM) (80386SL+?) |
BTS Ev,Gv (80386+) |
SHRD Ev,Gv,Ib (80386+) |
SHRD Ev,Gv,CL (80386+) |
group #16 |
IMUL Gv,Ev (80386+) |
n/a |
Bxh |
JMPE Jv (IA-64) |
group #11 UD2 (80286+) |
group #8 Ev,Ib (80386+) |
BTC Ev,Gv (80386+) |
BSF Gv,Ev (80386+) |
BSR Gv,Ev (80386+) |
MOVSX Gv,Eb (80386+) |
MOVSX Gv,Ew (80386+) |
n/a |
Cxh |
BSWAP EAX (80486+) |
BSWAP ECX (80486+) |
BSWAP EDX (80486+) |
BSWAP EBX (80486+) |
BSWAP ESP (80486+) |
BSWAP EBP (80486+) |
BSWAP ESI (80486+) |
BSWAP EDI (80486+) |
n/a |
Dxh |
PSUBUSB Pq,Qq (MMX) |
PSUBUSW Pq,Qq (MMX) |
PMINUB Pq,Qq (MMX-SSE) |
PAND Pq,Qq (MMX) |
PADDUSB Pq,Qq (MMX) |
PADDUSW Pq,Qq (MMX) |
PMAXUB Pq,Qq (MMX-SSE) |
PANDN Pq,Qq (MMX) |
66h |
PSUBUSB Vo,Wo (SSE2) |
PSUBUSW Vo,Wo (SSE2) |
PMINUB Vo,Wo (SSE2) |
PAND Vo,Wo (SSE2) |
PADDUSB Vo,Wo (SSE2) |
PADDUSW Vo,Wo (SSE2) |
PMAXUB Vo,Wo (SSE2) |
PANDN Vo,Wo (SSE2) |
n/a |
Exh |
PSUBSB Pq,Qq (MMX) |
PSUBSW Pq,Qq (MMX) |
PMINSW Pq,Qq (MMX-SSE) |
POR Pq,Qq (MMX) |
PADDSB Pq,Qq (MMX) |
PADDSW Pq,Qq (MMX) |
PMAXSW Pq,Qq (MMX-SSE) |
PXOR Pq,Qq (MMX) |
66h |
PSUBSB Vo,Wo (SSE2) |
PSUBSW Vo,Wo (SSE2) |
PMINSW Vo,Wo (SSE2) |
POR Vo,Wo (SSE2) |
PADDSB Vo,Wo (SSE2) |
PADDSW Vo,Wo (SSE2) |
PMAXSW Vo,Wo (SSE2) |
PXOR Vo,Wo (SSE2) |
n/a |
Fxh |
PSUBB Pq,Qq (MMX) |
PSUBW Pq,Qq (MMX) |
PSUBD Pq,Qq (MMX) |
PSUBQ Pq,Qq (MMX-SSE2) |
PADDB Pq,Qq (MMX) |
PADDW Pq,Qq (MMX) |
PADDD Pq,Qq (MMX) |
UD (AMD) |
66h |
PSUBB Vo,Wo (SSE2) |
PSUBW Vo,Wo (SSE2) |
PSUBD Vo,Wo (SSE2) |
PSUBQ Vo,Wo (SSE2) |
PADDB Vo,Wo (SSE2) |
PADDW Vo,Wo (SSE2) |
PADDD Vo,Wo (SSE2) |
notes |
description |
#1 |
These opcodes are not supported on pre-B0 step Pentium III processors. |
#2 |
The condition codes are EQ, LT, LE, UNORD, NEQ, NLT, NLE, and ORD. They are encoded as the Ib, using 00..07h. |
On Cyrix processors the following SMM-related opcodes can be enabled. Note that
the SMINT instruction has been moved, to avoid a collision with one of the MMX
instructions. Cyrix introduced the RDSHR and WRSHR instructions at the same time.
0Fh xxh |
x8h |
x9h |
xAh |
xBh |
xCh |
xDh |
xEh |
xFh |
7xh |
SVDC M10,Sw |
RSDC Sw,M10 |
SVLDT M10 |
RSLDT M10 |
SVTS M10 |
RSTS M10 |
SMINT |
|
On Cyrix M2 processors the following extended MMX instructions can be enabled.
0Fh xxh |
x0h |
x1h |
x2h |
x3h |
x4h |
x5h |
x6h |
x7h |
5xh |
PAVEB Pq,Qq |
PADDSIW Pq,Qq |
PMAGW Pq,Qq |
|
PDISTIB Pq,Mq |
PSUBSIW Pq,Qq |
|
|
0Fh xxh |
x8h |
x9h |
xAh |
xBh |
xCh |
xDh |
xEh |
xFh |
5xh |
PMVZB Pq,Mq |
PMULHRW Pq,Qq |
PMVNZB Pq,Mq |
PMVLZB Pq,Mq |
PMVGEZB Pq,Mq |
PMULHRIW Pq,Qq |
PMACHRIW Pq,Mq |
|
|