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



main page