x86 architecture
opcode groups




note: A leading bold V indicates that the instruction can be VEX-encoded, in which case it may have additional operands.
note: A leading bold ! indicates that the 256-bit version was only introduced with AVX2 and that it can only be VEX-encoded.



 
mod R/M
 
 
 
 
xx000xxx xx001xxx xx010xxx xx011xxx xx100xxx xx101xxx xx110xxx xx111xxx
group #1
(80h)
 
 
 
ADD Eb,Ib OR Eb,Ib ADC Eb,Ib SBB Eb,Ib AND Eb,Ib SUB Eb,Ib XOR Eb,Ib CMP Eb,Ib
group #1
(81h)
 
 
 
ADD Ev,Iz OR Ev,Iz ADC Ev,Iz SBB Ev,Iz AND Ev,Iz SUB Ev,Iz XOR Ev,Iz CMP Ev,Iz
group #1
(82h)
 
 
 
ADD* Eb,Ib OR* Eb,Ib ADC* Eb,Ib SBB* Eb,Ib AND* Eb,Ib SUB* Eb,Ib XOR* Eb,Ib CMP* Eb,Ib
group #1
(83h)
 
 
 
ADD Ev,Ib OR Ev,Ib ADC Ev,Ib SBB Ev,Ib AND Ev,Ib SUB Ev,Ib XOR Ev,Ib CMP Ev,Ib
group #1A
(8Fh)
 
 
 
POPD64 Ev XOP (000b)
XOP (001b)
XOP (010b)
group #2
(C0h)
(80186+)
 
 
 
ROL Eb,Ib ROR Eb,Ib RCL Eb,Ib RCR Eb,Ib SHL Eb,Ib SHR Eb,Ib SAL* Eb,Ib SAR Eb,Ib
group #2
(C1h)
(80186+)
 
 
 
ROL Ev,Ib ROR Ev,Ib RCL Ev,Ib RCR Ev,Ib SHL Ev,Ib SHR Ev,Ib SAL* Ev,Ib SAR Ev,Ib
group #2
(D0h)
 
 
 
ROL Eb,1 ROR Eb,1 RCL Eb,1 RCR Eb,1 SHL Eb,1 SHR Eb,1 SAL* Eb,1 SAR Eb,1
group #2
(D1h)
 
 
 
ROL Ev,1 ROR Ev,1 RCL Ev,1 RCR Ev,1 SHL Ev,1 SHR Ev,1 SAL* Ev,1 SAR Ev,1
group #2
(D2h)
 
 
 
ROL Eb,CL ROR Eb,CL RCL Eb,CL RCR Eb,CL SHL Eb,CL SHR Eb,CL SAL* Eb,CL SAR Eb,CL
group #2
(D3h)
 
 
 
ROL Ev,CL ROR Ev,CL RCL Ev,CL RCR Ev,CL SHL Ev,CL SHR Ev,CL SAL* Ev,CL SAR Ev,CL
group #3
(F6h)
 
 
 
TEST Eb,Ib TEST* Eb,Ib NOT Eb NEG Eb MUL Eb IMUL Eb DIV Eb IDIV Eb
group #3
(F7h)
 
 
 
TEST Ev,Iz TEST* Ev,Iz NOT Ev NEG Ev MUL Ev IMUL Ev DIV Ev IDIV Ev
group #4
(FEh)
 
 
 
INC Eb DEC Eb
group #5
(FFh)
 
 
 
INC Ev DEC Ev CALLDf64 Ev CALL Mp (w:z)
(or call gate's y)
 
 
JMPDf64 Ev JMP Mp (w:z)
(or call gate's y)
 
 
PUSHD64 Ev
group #6
(0Fh,00h)
 
 
 
SLDT Mw STR Mw LLDT Mw LTR Mw VERR Mw VERW Mw JMPE Ev
(IA-64)
 
 
 
SLDT Rv STR Rv LLDT Rv LTR Rv VERR Rv VERW Rv
group #7
(0Fh,01h)
 
 
 
SGDTF64
Mp (w:y)
SIDTF64
Mp (w:y)
LGDTF64
Mp (w:y)
LIDTF64
Mp (w:y)
SMSW Mw LMSW Mw INVLPG M
(80486+)
 
 
 
 
 
 
 
VMCALL (C1h)
VMLAUNCH (C2h)
VMRESUME (C3h)
VMXOFF (C4h)
 
 
 
(see CPUID)
MONITOR (C8h)
MWAIT (C9h)
CLAC (CAh)
STAC (CBh)
 
 
 
ENCLS (CFh)
(see CPUID)
XGETBV (D0h)
XSETBV (D1h)
 
 
VMFUNC (D4h)
XEND (D5h)
XTEST (D6h)
ENCLU (D7h)
(see CPUID)
VMRUN (D8h)
VMMCALL (D9h)
VMLOAD (DAh)
VMSAVE (DBh)
STGI (DCh)
CLGI (DDh)
SKINIT (DEh)
INVLPGA (DFh)
(see CPUID)
SMSW Rv LMSW Rv SWAPGS (F8h)
RDTSCP (F9h)
 
 
 
 
 
 
(see CPUID)
group #8
(0Fh,BAh)
(80386+)
 
 
 
BT Ev,Ib BTS Ev,Ib BTR Ev,Ib BTC Ev,Ib
group #9
(0Fh,C7h)
 
 
 
CMPXCHG8B Mq
CMPXCHG16B Mo
(see CPUID)
XRSTORS M
(see CPUID)
XSAVEC M
(see CPUID)
XSAVES M
(see CPUID)
(n/a) VMPTRLD Mq
(66h) VMCLEAR Mq
(F3h) VMXON Mq
(see CPUID)
(n/a) VMPTRST Mq
 
 
(see CPUID)
 
 
 
RDRAND Rv
(see CPUID)
RDSEED Rv
(see CPUID)
group #10
(0Fh,B9h)
 
 
 
UD2 UD2 UD2 UD2 UD2 UD2 UD2 UD2
group #11
(C6h)
 
 
 
MOV Eb,Ib XABORT Ib (F8h)
 
 
(see CPUID)
group #11
(C7h)
 
 
 
MOV Ev,Iz XBEGIN Jz (F8h)
 
 
(see CPUID)
group #12
(0Fh,71h)
 
 
 
PSRLW
Nq,Ib (MMX)
(66h) !VPSRLW
Hx,Ux,Ib (SSE2)
PSRAW
Nq,Ib (MMX)
(66h) !VPSRAW
Hx,Ux,Ib (SSE2)
PSLLW
Nq,Ib (MMX)
(66h) !VPSLLW
Hx,Ux,Ib (SSE2)
group #13
(0Fh,72h)
 
 
 
PSRLD
Nq,Ib (MMX)
(66h) !VPSRLD
Hx,Ux,Ib (SSE2)
PSRAD
Nq,Ib (MMX)
(66h) !VPSRAD
Hx,Ux,Ib (SSE2)
PSLLD
Nq,Ib (MMX)
(66h) !VPSLLD
Hx,Ux,Ib (SSE2)
group #13
(MVEX 66h)
(0Fh,72h)
 
 
 
VPSRLD
Hz {Kw},
Si32r (Wzt),Ib (W=0)

 
 
 

(K1OM)
VPSRAD
Hz {Kw},
Si32r (Wzt),Ib (W=0)

 
 
 

(K1OM)
VPSLLD
Hz {Kw},
Si32r (Wzt),Ib (W=0)

 
 
 

(K1OM)
group #13
(EVEX 66h)
(0Fh,72h)
 
 
 
VPRORD
Hz {K} {z},
B32 (Wz),Ib (W=0)

VPRORQ
Hz {K} {z},
B64 (Wz),Ib (W=1)

(AVX512F)
VPROLD
Hz {K} {z},
B32 (Wz),Ib (W=0)

VPROLQ
Hz {K} {z},
B64 (Wz),Ib (W=1)

(AVX512F)
VPSRLD
Hz {K} {z},
B32 (Wz),Ib (W=0)

 
 
 

(AVX512F)
VPSRAD
Hz {K} {z},
B32 (Wz),Ib (W=0)

VPSRAQ
Hz {K} {z},
B64 (Wz),Ib (W=1)

(AVX512F)
VPSLLD
Hz {K} {z},
B32 (Wz),Ib (W=0)

 
 
 

(AVX512F)
group #14
(0Fh,73h)
 
 
 
PSRLQ
Nq,Ib (MMX)
(66h) !VPSRLQ
Hx,Ux,Ib (SSE2)
 
 
(66h) !VPSRLDQ
Hx,Ux,Ib (SSE2)
PSLLQ
Nq,Ib (MMX)
(66h) !VPSLLQ
Hx,Ux,Ib (SSE2)
 
 
(66h) !VPSLLDQ
Hx,Ux,Ib (SSE2)
group #14
(EVEX 66h)
(0Fh,73h)
 
 
 
VPSRLQ
Hz {K} {z},
B64 (Wz),Ib (W=1)

(AVX512F)
VPSLLQ
Hz {K} {z},
B64 (Wz),Ib (W=1)

(AVX512F)
group #15
(0Fh,AEh)
 
 
 
FXSAVE M
(see CPUID)
FXRSTOR M
(see CPUID)
VLDMXCSR Md
(SSE)
VSTMXCSR Md
(SSE)
XSAVE M
(see CPUID)
XRSTOR M
(see CPUID)
XSAVEOPT M
(see CPUID)
CLFLUSH M
(n/a) (see CPUID)
CLFLUSHOPT M
(66h) (see CPUID)
 
 
 
(F3) RDFSBASE
Ry (see CPUID)
(F3) RDGSBASE
Ry (see CPUID)
(F3) WRFSBASE
Ry (see CPUID)
(F3) WRGSBASE
Ry (see CPUID)
LFENCE#r/m
(SSE2-MEM)
MFENCE#r/m
(SSE2-MEM)
SFENCE#r/m
(SSE-MEM)
group #15
(VEX F2h)
(0Fh,AEh)
 
 
 
 
 
SPFLT Ry
(K1OM)
CLEVICT0 M
(K1OM)
 
 
group #15
(MVEX F2h)
(0Fh,AEh)
 
 
 
CLEVICT0 M
(K1OM)
 
 
group #15
(VEX F3h)
(0Fh,AEh)
 
 
 
 
 
DELAY Ry
(K1OM)
CLEVICT1 M
(K1OM)
 
 
group #15
(MVEX F3h)
(0Fh,AEh)
 
 
 
CLEVICT1 M
(K1OM)
 
 
group #16
(0Fh,18h)
 
 
 
PREFETCHNTA M
(SSE-MEM)
HINT_NOP Rv
(P6+)
PREFETCHT0 M
(SSE-MEM)
HINT_NOP Rv
(P6+)
PREFETCHT1 M
(SSE-MEM)
HINT_NOP Rv
(P6+)
PREFETCHT2 M
(SSE-MEM)
HINT_NOP Rv
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
group #16
(VEX)
(0Fh,18h)
 
 
 
VPREFETCHNTA M
(K1OM)
 
 
VPREFETCHT0 M
(K1OM)
 
 
VPREFETCHT1 M
(K1OM)
 
 
VPREFETCHT2 M
(K1OM)
 
 
VPREFETCHENTA M
(K1OM)
 
 
VPREFETCHET0 M
(K1OM)
 
 
VPREFETCHET1 M
(K1OM)
 
 
VPREFETCHET2 M
(K1OM)
 
 
group #16
(MVEX)
(0Fh,18h)
 
 
 
VPREFETCHNTA M
(K1OM)
 
 
VPREFETCHT0 M
(K1OM)
 
 
VPREFETCHT1 M
(K1OM)
 
 
VPREFETCHT2 M
(K1OM)
 
 
VPREFETCHENTA M
(K1OM)
 
 
VPREFETCHET0 M
(K1OM)
 
 
VPREFETCHET1 M
(K1OM)
 
 
VPREFETCHET2 M
(K1OM)
 
 
group #16
(0Fh,19h)
 
 
 
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
group #16
(0Fh,1Ah)
 
 
 
(n/a) BNDLDX rB,M.ib (MPX)
(66h) BNDMOV rB,mB/M (MPX)
(F3h) BNDCL rB,Ey (MPX)
(F2h) BNDCU rB,Ey (MPX)
group #16
(0Fh,1Bh)
 
 
 
(n/a) BNDSTX M.ib,rB (MPX)
(66h) BNDMOV mB/M,rB (MPX)
(F3h) BNDMK rB,My (MPX)
(F2h) BNDCN rB,Ey (MPX)
group #16
(0Fh,1Ch)
 
 
 
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
group #16
(0Fh,1Dh)
 
 
 
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
group #16
(0Fh,1Eh)
 
 
 
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
group #16
(0Fh,1Fh)
 
 
 
NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
HINT_NOP E[bv]
(P6+)
group #17
(VEX)
(0F 38 F3)
 
 
 
BLSRv
By,Ey
(BMI)
BLSMSKv
By,Ey
(BMI)
BLSIv
By,Ey
(BMI)
group #18
(MVEX 66)
(0F 38 C6)
 
 
 
 
 
 
VGATHER-
PF0HINTDPS Uf32
(Mdt.z) {Kw.!0} (W=0)

VGATHER-
PF0HINTDPD Uf64
(Mqt.z.y) {Kw.!0} (1)

(K1OM,VSIB)
VGATHER-
PF0DPS Uf32
(Mdt.z) {Kw.!0} (W=0)

 
 
 

(K1OM,VSIB)
VGATHER-
PF1DPS Uf32
(Mdt.z) {Kw.!0} (W=0)

 
 
 

(K1OM,VSIB)
VSCATTER-
PF0HINTDPS Uf32
(Mdt.z) {Kw.!0} (W=0)

VSCATTER-
PF0HINTDPD Uf64
(Mqt.z.y) {Kw.!0} (1)

(K1OM,VSIB)
VSCATTER-
PF0DPS Uf32
(Mdt.z) {Kw.!0} (W=0)

 
 
 

(K1OM,VSIB)
VSCATTER-
PF1DPS Uf32
(Mdt.z) {Kw.!0} (W=0)

 
 
 

(K1OM,VSIB)
group #18
(EVEX 66)
(0F 38 C6)
 
 
 
 
 
 
VGATHER-
PF0DPS
Md.z {K.!0} (W=0)

VGATHER-
PF0DPD
Mq.y {K.!0} (W=1)

(A512PF,VSIB)
VGATHER-
PF1DPS
Md.z {K.!0} (W=0)

VGATHER-
PF1DPD
Mq.y {K.!0} (W=1)

(A512PF,VSIB)
VSCATTER-
PF0DPS
Md.z {K.!0} (W=0)

VSCATTER-
PF0DPD
Mq.y {K.!0} (W=1)

(A512PF,VSIB)
VSCATTER-
PF1DPS
Md.z {K.!0} (W=0)

VSCATTER-
PF1DPD
Mq.y {K.!0} (W=1)

(A512PF,VSIB)
group #18
(EVEX 66)
(0F 38 C7)
 
 
 
 
 
 
VGATHER-
PF0QPS
Md.z {K.!0} (W=0)

VGATHER-
PF0QPD
Mq.z {K.!0} (W=1)

(A512PF,VSIB)
VGATHER-
PF1QPS
Md.z {K.!0} (W=0)

VGATHER-
PF1QPD
Mq.z {K.!0} (W=1)

(A512PF,VSIB)
VSCATTER-
PF0QPS
Md.z {K.!0} (W=0)

VSCATTER-
PF0QPD
Mq.z {K.!0} (W=1)

(A512PF,VSIB)
VSCATTER-
PF1QPS
Md.z {K.!0} (W=0)

VSCATTER-
PF1QPD
Mq.z {K.!0} (W=1)

(A512PF,VSIB)



note: The opcodes marked with * are aliases to other opcodes.



main page