XCHG = Exchange:
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
Register/memory with register
1 0 0 0 0 1 1 w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Register with accumulator
1 0 0 1 0  reg 
IN = Input from:
Fixed port
1 1 1 0 0 1 0 w
DATA-8
Variable port
1 1 1 0 1 1 0 w
OUT = Output to:
Fixed port
1 1 1 0 0 1 1 w
DATA-8
Variable port
1 1 1 0 1 1 1 w
XLAT = Translate byte to AL
1 1 0 1 0 1 1 1
LEA = Load EA to register
1 0 0 0 1 1 0 1
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
LDS = Load pointer to DS
1 1 0 0 0 1 0 1
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
LES = Load pointer to ES
1 1 0 0 0 1 0 0
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
LAHF = Load AH with flags
1 0 0 1 1 1 1 1
SAHF = Store AH into flags
1 0 0 1 1 1 1 0
PUSHF = Push flags
1 0 0 1 1 1 0 0
POPF = Pop flags
1 0 0 1 1 1 0 1
ARITHMETIC
ADD = Add:
Reg/memory with register to either
0 0 0 0 0 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate to register/memory
1 0 0 0 0 0 s w
 mod  0 0 0 r/m
(DISP-LO)
(DISP-HI)
data
data if s:w=01
Immediate to accumulator
0 0 0 0 0 1 0 w
data
data if w=1
ADC = Add with carry:
Reg/memory with register to either
0 0 0 1 0 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate to register/memory
1 0 0 0 0 0 s w
 mod  0 1 0 r/m
(DISP-LO)
(DISP-HI)
data
data if s:w=01
Immediate to accumulator
0 0 0 1 0 1 0 w
data
data if w=1
INC = Increment:
Register/memory
1 1 1 1 1 1 1 w
 mod  0 0 0 r/m
(DISP-LO)
(DISP-HI)
Register
0 1 0 0 0  reg 
AAA = ASCII adjust for add
0 0 1 1 0 1 1 1
DAA = Decimal adjust for add
0 0 1 0 0 1 1 1
SUB = Subtract:
Reg/memory and register to either
0 0 1 0 1 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate from register/memory
1 0 0 0 0 0 s w
 mod  1 0 1 r/m
(DISP-LO)
(DISP-HI)
data
data if s:w=01
Immediate from accumulator
0 0 1 0 1 1 0 w
data
data if w=1
SBB = Subtract with borrow:
Reg/memory and register to either
0 0 0 1 1 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate from register/memory
1 0 0 0 0 0 s w
 mod  0 1 1 r/m
(DISP-LO)
(DISP-HI)
data
data if s:w=01
Immediate from accumulator
0 0 0 1 1 1 0 w
data
data if w=1
DEC = Decrement:
Register/memory
1 1 1 1 1 1 1 w
 mod  0 0 1 r/m
(DISP-LO)
(DISP-HI)
Register
0 1 0 0 1  reg 
REG Change sign
1 1 1 1 0 1 1 w
 mod  0 1 1 r/m
(DISP-LO)
(DISP-HI)
CMP = Compare:
Register/memory and register
0 0 1 1 1 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate with register/memory
1 0 0 0 0 0 s w
 mod  1 1 1 r/m
(DISP-LO)
(DISP-HI)
data
data if s:w=01
Immediate with accumulator
0 0 1 1 1 1 0 w
data
data if w=1
AAS = ASCII adjust for subtract
0 0 1 1 1 1 1 1
DAS = Decimal adjust for subtract
0 0 1 0 1 1 1 1
MUL = Multiply (unsigned)
1 1 1 1 0 1 1 w
 mod  1 0 0 r/m
(DISP-LO)
(DISP-HI)
IMUL = Integer multiply (signed)
1 1 1 1 0 1 1 w
 mod  1 0 1 r/m
(DISP-LO)
(DISP-HI)
AAM = ASCII adjust for multiply
1 1 0 1 0 1 0 0
0 0 0 0 1 0 1 0
DIV = Divide (unsigned)
1 1 1 1 0 1 1 w
 mod  1 1 0 r/m
(DISP-LO)
(DISP-HI)
IDIV = Integer divide (signed)
1 1 1 1 0 1 1 w
 mod  1 1 1 r/m
(DISP-LO)
(DISP-HI)
AAD = ASCII adjust for divide
1 1 0 1 0 1 0 1
0 0 0 0 1 0 1 0
CBW = Convert byte to word
1 0 0 1 1 0 0 0
CWD = Convert word to double word
1 0 0 1 1 0 0 1
LOGIC
NOT = Invert
1 1 1 1 0 1 1 w
 mod  0 1 0 r/m
(DISP-LO)
(DISP-HI)
SHL/SAL = Shift logical/arithmetic left
1 1 0 1 0 0 v w
 mod  1 0 0 r/m
(DISP-LO)
(DISP-HI)
SHR = Shift logical right
1 1 0 1 0 0 v w
 mod  1 0 1 r/m
(DISP-LO)
(DISP-HI)
SAR = Shift arithmetic right
1 1 0 1 0 0 v w
 mod  1 1 1 r/m
(DISP-LO)
(DISP-HI)
ROL = Rotate left
1 1 0 1 0 0 v w
 mod  0 0 0 r/m
(DISP-LO)
(DISP-HI)
ROR = Rotate right
1 1 0 1 0 0 v w
 mod  0 0 1 r/m
(DISP-LO)
(DISP-HI)
RCL = Rotate through carry flag left
1 1 0 1 0 0 v w
 mod  0 1 0 r/m
(DISP-LO)
(DISP-HI)
ROR = Rotate through carry right
1 1 0 1 0 0 v w
 mod  0 1 1 r/m
(DISP-LO)
(DISP-HI)
AND = And:
Reg/memory with register to either
0 0 1 0 0 0 d w
 mod   reg  r/m
(DISP-LO)
(DISP-HI)
Immediate to register/memory
1 0 0 0 0 0 0 w
 mod  1 0 0 r/m
(DISP-LO)
(DISP-HI)
data
data if w=1
Immediate to accumulator
0 0 1 0 0 1 0 w
data
data if w=1

Table of Contents | Next page | Previous page

This is page 56.