Mnemon
Opcode(s) (Hex) Description Notes/Addressing Modes
ic
Register/memory/immediate
MOV 88-8B, B0-BF, C6, C7 Move data
variants
Register/memory/immediate
ADD 00-03, 80/0, 81/0, 83/0 Add
variants
SUB 28-2B, 80/5, 81/5, 83/5 Subtract As above
INC 40-47 Increment register One-byte opcode
DEC 48-4F Decrement register One-byte opcode
MUL F6/4, F7/4 Unsigned multiply Byte or word version
IMUL F6/5, F7/5 Signed multiply As above
DIV F6/6, F7/6 Unsigned divide
IDIV F6/7, F7/7 Signed divide
AND 20-23, 80/4, 81/4, 83/4 Bitwise AND
OR 08-0B, 80/1, 81/1, 83/1 Bitwise OR
XOR 30-33, 80/6, 81/6, 83/6 Bitwise XOR
NOT F6/2, F7/2 Bitwise NOT
SHL/SAL D0/4, D2/4, C1/4 Shift bits left 1-bit or CL times
SHR D0/5, D2/5, C1/5 Shift bits right 1-bit or CL times
JMP EB, E9 Unconditional jump Short and near
JE/JZ 74, 0F 84 Jump if equal / zero Short and near
Jump if not equal /
JNE/JNZ 75, 0F 85 Short and near
not zero
Jump if greater than
JG/JNLE 7F, 0F 8F Short and near
(signed)
Jump if less than
JL/JNGE 7C, 0F 8C Short and near
(signed)
CALL E8 Call procedure Near call
Return from
RET C3
procedure
Mnemon
Opcode(s) (Hex) Description Notes/Addressing Modes
ic
PUSH 50-57 Push register to stack One-byte opcode
Pop from stack to
POP 58-5F One-byte opcode
register
Followed by interrupt number
INT CD Software interrupt
(e.g., 21h)
NOP 90 No operation One-byte
Load effective
LEA 8D Useful for pointer arithmetic
address
XLAT D7 Table translation
Register 8-bit Opcode 16-bit Opcode
AL B0
CL B1
DL B2
BL B3
AH B4
CH B5
DH B6
BH B7
AX B8
CX B9
DX BA
BX BB
SP BC
BP BD
SI BE
Register 8-bit Opcode 16-bit Opcode
DI BF