Intel 8088 instruction set

  x0  x1  x2  x3  x4  x5  x6  x7  x8  x9  xA  xB  xC  xD  xE  xF 
 0x ADD r/m8,r8
2+  3/24+
O---SZAPC
ADD r/m16,r16
2+  3/24+
O---SZAPC
ADD r8,r/m8
2+  3/13+
O---SZAPC
ADD r16,r/m16
2+  3/13+
O---SZAPC
ADD AL,d8
2  4
O---SZAPC
ADD AX,d16
3  4
O---SZAPC
PUSH ES
1  14
---------
POP ES
1  12
---------
OR r/m8,r8
2+  3/24+
O---SZAPC
OR r/m16,r16
2+  3/24+
O---SZAPC
OR r8,r/m8
2+  3/13+
O---SZAPC
OR r16,r/m16
2+  3/13+
O---SZAPC
OR AL,d8
2  4
O---SZAPC
OR AX,d16
3  4
O---SZAPC
PUSH CS
1  14
---------
*POP CS
1  12
---------
 1x ADC r/m8,r8
2+  3/24+
O---SZAPC
ADC r/m16,r16
2+  3/24+
O---SZAPC
ADC r8,r/m8
2+  3/13+
O---SZAPC
ADC r16,r/m16
2+  3/13+
O---SZAPC
ADC AL,d8
2  4
O---SZAPC
ADC AX,d16
3  4
O---SZAPC
PUSH SS
1  14
---------
POP SS
1  12
---------
SBB r/m8,r8
2+  3/24+
O---SZAPC
SBB r/m16,r16
2+  3/24+
O---SZAPC
SBB r8,r/m8
2+  3/13+
O---SZAPC
SBB r16,r/m16
2+  3/13+
O---SZAPC
SBB AL,d8
2  4
O---SZAPC
SBB AX,d16
3  4
O---SZAPC
PUSH DS
1  14
---------
POP DS
1  12
---------
 2x AND r/m8,r8
2+  3/24+
O---SZAPC
AND r/m16,r16
2+  3/24+
O---SZAPC
AND r8,r/m8
2+  3/13+
O---SZAPC
AND r16,r/m16
2+  3/13+
O---SZAPC
AND AL,d8
2  4
O---SZAPC
AND AX,d16
3  4
O---SZAPC
ES:
1  2
---------
DAA
1  4
O---SZAPC
SUB r/m8,r8
2+  3/24+
O---SZAPC
SUB r/m16,r16
2+  3/24+
O---SZAPC
SUB r8,r/m8
2+  3/13+
O---SZAPC
SUB r16,r/m16
2+  3/13+
O---SZAPC
SUB AL,d8
2  4
O---SZAPC
SUB AX,d16
3  4
O---SZAPC
CS:
1  2
---------
DAS
1  4
O---SZAPC
 3x XOR r/m8,r8
2+  3/24+
O---SZAPC
XOR r/m16,r16
2+  3/24+
O---SZAPC
XOR r8,r/m8
2+  3/13+
O---SZAPC
XOR r16,r/m16
2+  3/13+
O---SZAPC
XOR AL,d8
2  4
O---SZAPC
XOR AX,d16
3  4
O---SZAPC
SS:
1  2
---------
AAA
1  8
O---SZAPC
CMP r/m8,r8
2+  3/24+
O---SZAPC
CMP r/m16,r16
2+  3/24+
O---SZAPC
CMP r8,r/m8
2+  3/13+
O---SZAPC
CMP r16,r/m16
2+  3/13+
O---SZAPC
CMP AL,d8
2  4
O---SZAPC
CMP AX,d16
3  4
O---SZAPC
DS:
1  2
---------
AAS
1  8
O---SZAPC
 4x INC AX
1  3
O---SZAP-
INC CX
1  3
O---SZAP-
INC DX
1  3
O---SZAP-
INC BX
1  3
O---SZAP-
INC SP
1  3
O---SZAP-
INC BP
1  3
O---SZAP-
INC SI
1  3
O---SZAP-
INC DI
1  3
O---SZAP-
DEC AX
1  3
O---SZAP-
DEC CX
1  3
O---SZAP-
DEC DX
1  3
O---SZAP-
DEC BX
1  3
O---SZAP-
DEC SP
1  3
O---SZAP-
DEC BP
1  3
O---SZAP-
DEC SI
1  3
O---SZAP-
DEC DI
1  3
O---SZAP-
 5x PUSH AX
1  15
---------
PUSH CX
1  15
---------
PUSH DX
1  15
---------
PUSH BX
1  15
---------
PUSH SP
1  15
---------
PUSH BP
1  15
---------
PUSH SI
1  15
---------
PUSH DI
1  15
---------
POP AX
1  12
---------
POP CX
1  12
---------
POP DX
1  12
---------
POP BX
1  12
---------
POP SP
1  12
---------
POP BP
1  12
---------
POP SI
1  12
---------
POP DI
1  12
---------
 6x  
    
 
               
 7x JO rel8
2  16/4
---------
JNO rel8
2  16/4
---------
JB/JNAE rel8
2  16/4
---------
JNB/JAE rel8
2  16/4
---------
JE/JZ rel8
2  16/4
---------
JNE/JNZ rel8
2  16/4
---------
JBE/JNA rel8
2  16/4
---------
JNBE/JA rel8
2  16/4
---------
JS rel8
2  16/4
---------
JNS rel8
2  16/4
---------
JP/JPE rel8
2  16/4
---------
JNP/JPO rel8
2  16/4
---------
JL/JNGE rel8
2  16/4
---------
JNL/JGE rel8
2  16/4
---------
JLE/JNG rel8
2  16/4
---------
JNLE/JG rel8
2  16/4
---------
 8x _ALU1 r/m8,d8
3+  4/23+
O---SZAPC
_ALU1 r/m16,d16
4+  4/23+
O---SZAPC
*_ALU1 r/m8,d8
3+  4/23+
O---SZAPC
_ALU1 r/m16,d8
3+  4/23+
O---SZAPC
TEST r/m8,r8
2+  3/13+
O---SZAPC
TEST r/m16,r16
2+  3/13+
O---SZAPC
XCHG r8,r/m8
2+  4/25+
---------
XCHG r16,r/m16
2+  4/25+
---------
MOV r/m8,r8
2+  2/13+
---------
MOV r/m16,r16
2+  2/13+
---------
MOV r8,r/m8
2+  2/12+
---------
MOV r16,r/m16
2+  2/12+
---------
_MOV r/m16,sr
2+  2/13+
---------
LEA r16,r/m16
2+  2+
---------
_MOV sr,r/m16
2+  2/12+
---------
_POP r/m16
2+  12/25+
---------
 9x NOP
1  3
---------
XCHG AX,CX
1  3
---------
XCHG AX,DX
1  3
---------
XCHG AX,BX
1  3
---------
XCHG AX,SP
1  3
---------
XCHG AX,BP
1  3
---------
XCHG AX,SI
1  3
---------
XCHG AX,DI
1  3
---------
CBW
1  2
---------
CWD
1  5
---------
CALL seg:a16
5  36
---------
WAIT
1  4
---------
PUSHF
1  14
---------
POPF
1  12
ODITSZAPC
SAHF
1  4
----SZAPC
LAHF
1  4
---------
 Ax MOV AL,[addr]
3  14
---------
MOV AX,[addr]
3  14
---------
MOV [addr],AL
3  14
---------
MOV [addr],AX
3  14
---------
MOVSB
1  18/9+17n
---------
MOVSW
1  26/9+25n
---------
CMPSB
1  22/9+22n
O---SZAPC
CMPSW
1  30/9+30n
O---SZAPC
TEST AL,d8
2  4
O---SZAP-
TEST AX,d16
3  4
O---SZAP-
STOSB
1  11/9+10n
---------
STOSW
1  15/9+14n
---------
LODSB
1  12/9+13n
---------
LODSW
1  16/9+17n
---------
SCASB
1  15/9+15n
O---SZAPC
SCASW
1  19/9+19n
O---SZAPC
 Bx MOV AL,d8
2  4
---------
MOV CL,d8
2  4
---------
MOV DL,d8
2  4
---------
MOV BL,d8
2  4
---------
MOV AH,d8
2  4
---------
MOV CH,d8
2  4
---------
MOV DH,d8
2  4
---------
MOV BH,d8
2  4
---------
MOV AX,d16
3  4
---------
MOV CX,d16
3  4
---------
MOV DX,d16
3  4
---------
MOV BX,d16
3  4
---------
MOV SP,d16
3  4
---------
MOV BP,d16
3  4
---------
MOV SI,d16
3  4
---------
MOV DI,d16
3  4
---------
 Cx   RET d16
3  24
---------
RET
1  20
---------
LES r16,m32
2+  24+
---------
LDS r16,m32
2+  24+
---------
_MOV r/m8,d8
3+  4/14+
---------
_MOV r/m16,d16
4+  4/14+
---------
  RETF d16
3  34
---------
RETF
1  33
---------
INT 3
1  72
OD-------
INT d8
2  71
OD-------
INTO
1  73/4
OD-------
IRET
1  44
ODITSZAPC
 Dx _ROT r/m8,1
2+  2/23+
O---????C
_ROT r/m16,1
2+  2/23+
O---????C
_ROT r/m8,CL
2+  8/28++4n
O---????C
_ROT r/m16,CL
2+  8/28++4n
O---????C
AAM *d8
2  83
O---SZAPC
AAD *d8
2  60
O---SZAPC
*SALC
1  2
---------
XLAT
1  11
---------
ESC 0
2+  2/12+
---------
ESC 1
2+  2/12+
---------
ESC 2
2+  2/12+
---------
ESC 3
2+  2/12+
---------
ESC 4
2+  2/12+
---------
ESC 5
2+  2/12+
---------
ESC 6
2+  2/12+
---------
ESC 7
2+  2/12+
---------
 Ex LOOPNZ/NE rel8
2  18/6
---------
LOOPZ/E rel8
2  18/6
---------
LOOP rel8
2  17/5
---------
JCXZ rel8
2  18/6
---------
IN AL,[d8]
2  14
---------
IN AX,[d8]
2  14
---------
OUT [d8],AL
2  14
---------
OUT [d8],AX
2  14
---------
CALL rel16
3  23
---------
JMP rel16
3  15
---------
JMP seg:a16
5  15
---------
JMP rel8
2  15
---------
IN AL,[DX]
1  12
---------
IN AX,[DX]
1  12
---------
OUT [DX],AL
1  12
---------
OUT [DX],AX
1  12
---------
 Fx LOCK
1  2
---------
 REPNE/REPNZ
1  0
---------
REP/REPE/REPZ
1  0
---------
HLT
1  2
---------
CMC
1  2
--------C
_ALU2 r/m8,d8
2+  ?
?---?????
_ALU2 r/m16,d16
2+  ?
?---?????
CLC
1  2
--------C
STC
1  2
--------C
CLI
1  2
--I------
STI
1  2
--I------
CLD
1  2
-D-------
STD
1  2
-D-------
_MISC r/m8
2+  3/23+
?---????-
_MISC r/m16
2+  ?
?---????-


Groups of instructions

  00  08  10  18  20  28  30  38 
 80 _ALU1 r/m8,d8 ADD r/m8,d8
3+  4/23+
O---SZAPC
OR r/m8,d8
3+  4/23+
O---SZAPC
ADC r/m8,d8
3+  4/23+
O---SZAPC
SBB r/m8,d8
3+  4/23+
O---SZAPC
AND r/m8,d8
3+  4/23+
O---SZAPC
SUB r/m8,d8
3+  4/23+
O---SZAPC
XOR r/m8,d8
3+  4/23+
O---SZAPC
CMP r/m8,d8
3+  4/23+
O---SZAPC
 81 _ALU1 r/m16,d16 ADD r/m16,d16
3+  4/23+
O---SZAPC
OR r/m16,d16
3+  4/23+
O---SZAPC
ADC r/m16,d16
3+  4/23+
O---SZAPC
SBB r/m16,d16
3+  4/23+
O---SZAPC
AND r/m16,d16
3+  4/23+
O---SZAPC
SUB r/m16,d16
3+  4/23+
O---SZAPC
XOR r/m16,d16
3+  4/23+
O---SZAPC
CMP r/m16,d16
3+  4/23+
O---SZAPC
 82 *_ALU1 r/m8,d8 *ADD r/m8,d8
3+  4/23+
O---SZAPC
*OR r/m8,d8
3+  4/23+
O---SZAPC
*ADC r/m8,d8
3+  4/23+
O---SZAPC
*SBB r/m8,d8
3+  4/23+
O---SZAPC
*AND r/m8,d8
3+  4/23+
O---SZAPC
*SUB r/m8,d8
3+  4/23+
O---SZAPC
*XOR r/m8,d8
3+  4/23+
O---SZAPC
*CMP r/m8,d8
3+  4/23+
O---SZAPC
 83 _ALU1 r/m16,d8 ADD r/m16,d8
3+  4/23+
O---SZAPC
OR r/m16,d8
3+  4/23+
O---SZAPC
ADC r/m16,d8
3+  4/23+
O---SZAPC
SBB r/m16,d8
3+  4/23+
O---SZAPC
AND r/m16,d8
3+  4/23+
O---SZAPC
SUB r/m16,d8
3+  4/23+
O---SZAPC
XOR r/m16,d8
3+  4/23+
O---SZAPC
CMP r/m16,d8
3+  4/23+
O---SZAPC
 8C _MOV r/m16,sr MOV r/m16,ES
2+  2/13+
---------
MOV r/m16,CS
2+  2/13+
---------
MOV r/m16,SS
2+  2/13+
---------
MOV r/m16,DS
2+  2/13+
---------
*MOV r/m16,ES
2+  2/13+
---------
*MOV r/m16,CS
2+  2/13+
---------
*MOV r/m16,SS
2+  2/13+
---------
*MOV r/m16,DS
2+  2/13+
---------
 8E _MOV sr,r/m16 MOV ES,r/m16
2+  2/12+
---------
MOV CS,r/m16
2+  2/12+
---------
MOV SS,r/m16
2+  2/12+
---------
MOV DS,r/m16
2+  2/12+
---------
*MOV ES,r/m16
2+  2/12+
---------
*MOV CS,r/m16
2+  2/12+
---------
*MOV SS,r/m16
2+  2/12+
---------
*MOV DS,r/m16
2+  2/12+
---------
 8F _POP r/m16 POP r/m16
2+  12/25+
---------
       
 C6 _MOV r/m8,d8 MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
*MOV r/m8,d8
3+  4/14+
---------
 C7 _MOV r/m16,d16 MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
*MOV r/m16,d16
4+  4/14+
---------
 D0 _ROT r/m8,1 ROL r/m8,1
2+  2/23+
O-------C
ROR r/m8,1
2+  2/23+
O-------C
RCL r/m8,1
2+  2/23+
O-------C
RCR r/m8,1
2+  2/23+
O-------C
SHL/SAL r/m8,1
2+  2/23+
O---SZAPC
SHR r/m8,1
2+  2/23+
O---SZAPC
*SHL/*SAL r/m8,1
2+  2/23+
O---SZAPC
SAR r/m8,1
2+  2/23+
O---SZAPC
 D1 _ROT r/m16,1 ROL r/m16,1
2+  2/23+
O-------C
ROR r/m16,1
2+  2/23+
O-------C
RCL r/m16,1
2+  2/23+
O-------C
RCR r/m16,1
2+  2/23+
O-------C
SHL/SAL r/m16,1
2+  2/23+
O---SZAPC
SHR r/m16,1
2+  2/23+
O---SZAPC
*SHL/*SAL r/m16,1
2+  2/23+
O---SZAPC
SAR r/m16,1
2+  2/23+
O---SZAPC
 D2 _ROT r/m8,CL ROL r/m8,CL
2+  8/28++4n
O-------C
ROR r/m8,CL
2+  8/28++4n
O-------C
RCL r/m8,CL
2+  8/28++4n
O-------C
RCR r/m8,CL
2+  8/28++4n
O-------C
SHL/SAL r/m8,CL
2+  8/28++4n
O---SZAPC
SHR r/m8,CL
2+  8/28++4n
O---SZAPC
*SHL/*SAL r/m8,CL
2+  8/28++4n
O---SZAPC
SAR r/m8,CL
2+  8/28++4n
O---SZAPC
 D3 _ROT r/m16,CL ROL r/m16,CL
2+  8/28++4n
O-------C
ROR r/m16,CL
2+  8/28++4n
O-------C
RCL r/m16,CL
2+  8/28++4n
O-------C
RCR r/m16,CL
2+  8/28++4n
O-------C
SHL/SAL r/m16,CL
2+  8/28++4n
O---SZAPC
SHR r/m16,CL
2+  8/28++4n
O---SZAPC
*SHL/*SAL r/m16,CL
2+  8/28++4n
O---SZAPC
SAR r/m16,CL
2+  8/28++4n
O---SZAPC
 F6 _ALU2 r/m8,d8 TEST r/m8,d8
3+  5/11+
O---SZAPC
*TEST r/m8,d8
3+  5/11+
O---SZAPC
NOT r/m8
2+  3/24+
---------
NEG r/m8
2+  3/24+
O---SZAPC
MUL r/m8
2+  70-77/76-83+
O---SZAPC
IMUL r/m8
2+  80-98/86-104+
O---SZAPC
DIV r/m8
2+  80-90/86-96+
O---SZAPC
IDIV r/m8
2+  101-112/107-118+
O---SZAPC
 F7 _ALU2 r/m16,d16 TEST r/m16,d16
3+  5/11+
O---SZAPC
*TEST r/m16,d16
3+  5/11+
O---SZAPC
NOT r/m16
2+  3/24+
---------
NEG r/m16
2+  3/24+
O---SZAPC
MUL r/m16
2+  118-133/124-139+
O---SZAPC
IMUL r/m16
2+  128-154/134-160+
O---SZAPC
DIV r/m16
2+  144-162/150-168+
O---SZAPC
IDIV r/m16
2+  165-184/171-190+
O---SZAPC
 FE _MISC r/m8 INC r/m8
2+  3/23+
O---SZAP-
DEC r/m8
2+  3/23+
O---SZAP-
      
 FF _MISC r/m16 INC r/m16
2+  3/23+
O---SZAP-
DEC r/m16
2+  3/23+
O---SZAP-
CALL r/m16
2+  24/29+
---------
CALL m32
2+  53+
---------
JMP r/m16
2+  11/18+
---------
JMP m32
2+  24+
---------
PUSH r/m16
2+  15/24+
---------
 


MOD/RM byte - effective address calculation

  x0  x1  x2  x3  x4  x5  x6  x7 
 0x DS:[BX+SI]
0   7
DS:[BX+DI]
0   8
SS:[BP+SI]
0   8
SS:[BP+DI]
0   7
DS:[SI]
0   5
DS:[DI]
0   5
DS:[a16]
2   6
DS:[BX]
0   5
 4x DS:[BX+SI+rel8]
1   11
DS:[BX+DI+rel8]
1   12
SS:[BP+SI+rel8]
1   12
SS:[BP+DI+rel8]
1   11
DS:[SI+rel8]
1   9
DS:[DI+rel8]
1   9
SS:[BP+rel8]
1   9
DS:[BX+rel8]
1   9
 8x DS:[BX+SI+rel16]
2   11
DS:[BX+DI+rel16]
2   12
SS:[BP+SI+rel16]
2   12
SS:[BP+DI+rel16]
2   11
DS:[SI+rel16]
2   9
DS:[DI+rel16]
2   9
SS:[BP+rel16]
2   9
DS:[BX+rel16]
2   9
 Cx AL / AX
0   0
CL / CX
0   0
DL / DX
0   0
BL / BX
0   0
AH / SP
0   0
CH / BP
0   0
DH / SI
0   0
BH / DI
0   0
* Here the additional bytes and cycles are to be added to instruction length and duration, it is marked by "+" sign after respective values in instruction listing.


       Misc/control instructions
       Jumps/calls
       Load/store/move instructions
       String instructions
       Arithmetic/logical instructions
       Groups (5th-3rd bit in MOD/RM is used)
       Prefixes
 
 
Length in bytes →
 
  INS r16
2  4
ODITSZAPC
  ← Instruction mnemonic
← Duration in cycles
← Flags affected
  ...