x86 architecture
1 byte opcodes




xxh  
x0h
 
x1h x2h x3h x4h x5h x6h x7h
 
0xh
 
ADD
Eb,Gb
ADD
Ev,Gv
ADD
Gb,Eb
ADD
Gv,Ev
ADD
AL,Ib
ADD
rAX,Iz
PUSHI64
ES
POPI64
ES
 
1xh
 
ADC
Eb,Gb
ADC
Ev,Gv
ADC
Gb,Eb
ADC
Gv,Ev
ADC
AL,Ib
ADC
rAX,Iz
PUSHI64
SS
POPI64
SS
 
2xh
 
AND
Eb,Gb
AND
Ev,Gv
AND
Gb,Eb
AND
Gv,Ev
AND
AL,Ib
AND
rAx,Iz
ES: DAAI64
 
3xh
 
XOR
Eb,Gb
XOR
Ev,Gv
XOR
Gb,Eb
XOR
Gv,Ev
XOR
AL,Ib
XOR
rAX,Iz
SS: AAAI64
 
4xh
 
INCI64 eAX INCI64 eCX INCI64 eDX INCI64 eBX INCI64 eSP INCI64 eBP INCI64 eSI INCI64 eDI
REX
 
5xh
 
PUSHD64
rAX / r8
PUSHD64
rCX / r9
PUSHD64
rDX / r10
PUSHD64
rBX / r11
PUSHD64
rSP / r12
PUSHD64
rBP / r13
PUSHD64
rSI / r14
PUSHD64
rDI / r15
 
6xh
 
PUSHAI64
PUSHADI64
(80186+)
POPAI64
POPADI64
(80186+)
BOUNDI64 Gv,Ma
(80186+)
ARPLI64 Ew,Gw
(80286+)
FS:
(80386+)
Hint Alt Taken
for Jcc (P4)
GS:
(80386+)
OPSIZE:
(80386+)
ADSIZE:
(80386+)
L1OM MVEX EVEX MOVSXD Gv,Ed
(PM64)
 
7xh
 
JODf64
Jb
JNODf64
Jb
JBDf64
Jb
JNBDf64
Jb
JZDf64 Jb JNZDf64 Jb JBEDf64
Jb
JNBEDf64
Jb
JKZDv64 vKw,Jbv
(K1OM)
JKNZDv64 vKw,Jbv
(K1OM)
 
8xh
 
group #1
Eb,Ib
group #1
Ev,Iz
group #1*I64
Eb,Ib
group #1
Ev,Ib
TEST
Eb,Gb
TEST
Ev,Gv
XCHG
Eb,Gb
XCHG
Ev,Gv
 
9xh
 
NOP
(PM64 O32: !ZX)
(F3h) PAUSE
(see CPUID)
XCHG
rCX,rAX
r9,rAX
XCHG
rDX,rAX
r10,rAX
XCHG
rBX,rAX
r11,rAX
XCHG
rSP,rAX
r12,rAX
XCHG
rBP,rAX
r13,rAX
XCHG
rSI,rAX
r14,rAX
XCHG
rDI,rAX
r15,rAX
 
Axh
 
MOV
AL,Ov
MOV
rAX,Ov
MOV
Ov,AL
MOV
Ov,rAX
MOVS
Yb,Xb
MOVS
Yv,Xv
CMPS
Yb,Xb
CMPS
Yv,Xv
 
Bxh
 
MOV
AL,Ib
R8B,Ib
MOV
CL,Ib
R9B,Ib
MOV
DL,Ib
R10B,Ib
MOV
BL,Ib
R11B,Ib
MOV
AH,Ib
R12B,Ib
MOV
CH,Ib
R13B,Ib
MOV
DH,Ib
R14B,Ib
MOV
BH,Ib
R15B,Ib
 
Cxh
 
group #2
Eb,Ib

(80186+)
group #2
Ev,Ib

(80186+)
RET nearDf64
Iw
RET nearDf64 LESI64 Gv,Mp (w:v) LDSI64 Gv,Mp (w:v) group #11
Eb,Ib
group #11
Ev,Iz
VEX3 VEX2
 
Dxh
 
group #2
Eb,1
group #2
Ev,1
group #2
Eb,CL
group #2
Ev,CL
AAMI64
Ib
AADI64
Ib
S(ET)ALCI64 XLAT
L1OM
 
Exh
 
LOOPNEDf64
LOOPNZDf64
Jb
LOOPEDf64
LOOPZDf64
Jb
LOOPDf64
Jb
JCXZDf64
JECXDf64
JRCXDf64
Jb
IN
AL,Ib
IN
eAX,Ib
OUT
Ib,AL
OUT
Ib,eAX
 
Fxh
 
LOCK: INT1
(ICEBP)
(80386+)
REPNE:
 
BND: (MPX)
XAQUIRE: (HLE)
REP:
REPE:
 
XRELEASE: (HLE)
HLT CMC group #3
Eb
group #3
Ev

xxh  
x8h
 
x9h xAh xBh xCh xDh xEh xFh
 
0xh
 
OR
Eb,Gb
OR
Ev,Gv
OR
Gb,Eb
OR
Gv,Ev
OR
AL,Ib
OR
rAX,Iz
PUSHI64
CS
2 byte
opcodes

(80286+)
 
1xh
 
SBB
Eb,Gb
SBB
Ev,Gv
SBB
Gb,Eb
SBB
Gv,Ev
SBB
AL,Ib
SBB
rAX,Iz
PUSHI64
DS
POPI64
DS
 
2xh
 
SUB
Eb,Gb
SUB
Ev,Gv
SUB
Gb,Eb
SUB
Gv,Ev
SUB
AL,Ib
SUB
rAX,Iz
CS:
 
Hint Not Taken
for Jcc (P4)
DASI64
 
3xh
 
CMP
Eb,Gb
CMP
Ev,Gv
CMP
Gb,Eb
CMP
Gv,Ev
CMP
AL,Ib
CMP
rAX,Iz
DS:
 
Hint Taken
for Jcc (P4)
AASI64
 
4xh
 
DECI64 eAX DECI64 eCX DECI64 eDX DECI64 eBX DECI64 eSP DECI64 eBP DECI64 eSI DECI64 eDI
REX
 
5xh
 
POPD64
rAX / r8
POPD64
rCX / r9
POPD64
rDX / r10
POPD64
rBX / r11
POPD64
rSP / r12
POPD64
rBP / r13
POPD64
rSI / r14
POPD64
rDI / r15
 
6xh
 
PUSHD64
Iz
(80186+)
IMUL
Gv,Ev,Iz
(80186+)
PUSHD64
Ib
(80186+)
IMUL
Gv,Ev,Ib
(80186+)
INS
Yb,DX
(80186+)
INS
Yz,DX
(80186+)
OUTS
DX,Xb
(80186+)
OUTS
DX,Xz
(80186+)
 
7xh
 
JSDf64
Jb
JNSDf64
Jb
JPDf64
Jb
JNPDf64
Jb
JLDf64
Jb
JNLDf64
Jb
JLEDf64
Jb
JNLEDf64
Jb
 
8xh
 
MOV
Eb,Gb
MOV
Ev,Gv
MOV
Gb,Eb
MOV
Gv,Ev
MOV Mw,Sw
MOV Rv,Sw
LEA Gv,M
 
MOV Sw,Mw
MOV Sw,Rv
group #1A
 
9xh
 
CBW (8088)
CWDE (80386+)
CDQE (PM64)
CWD (8088)
CDQ (80386+)
CQO (PM64)
CALLI64
Ap (w:z)
WAIT
FWAIT
PUSHFD64
Fv
POPFD64
Fv
SAHF
(LM: if AHF64)
LAHF
(LM: if AHF64)
 
Axh
 
TEST
AL,Ib
TEST
rAX,Iz
STOS
Yb,AL
STOS
Yv,rAX
LODS
AL,Xb
LODS
rAX,Xv
SCAS
Yb,AL
SCAS
Yv,rAX
 
Bxh
 
MOV
rAX,Iv
r8,Iv
MOV
rCX,Iv
r9,Iv
MOV
rDX,Iv
r10,Iv
MOV
rBX,Iv
r11,Iv
MOV
rSP,Iv
r12,Iv
MOV
rBP,Iv
r13,Iv
MOV
rSI,Iv
r14,Iv
MOV
rDI,Iv
r15,Iv
 
Cxh
 
ENTERD64
Iw,Ib
(80186+)
LEAVED64
(80186+)
RET far
Iw
RET far INT3 INT
Ib
INTOI64 IRET
 
Dxh
 
ESC
0
ESC
1
ESC
2
ESC
3
ESC
4
ESC
5
ESC
6
ESC
7
 
Exh
 
CALLDf64
Jz
JMPDf64
Jz
JMPI64
Ap (w:z)
JMPDf64
Jb
IN
AL,DX
IN
eAX,DX
OUT
DX,AL
OUT
DX,eAX
 
Fxh
 
CLC STC CLI STI CLD STD group #4
INC/DEC
group #5
INC/DEC/etc.



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



main page