Intel 8086-1 User Manual
Page 26

8086
Table 2 Instruction Set Summary
Mnemonic and
Instruction Code
Description
DATA TRANSFER
MOV
e
Move
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 to from Register
1 0 0 0 1 0 d w
mod
reg
r m
Immediate to Register Memory
1 1 0 0 0 1 1 w
mod 0 0 0 r m
data
data if w
e
1
Immediate to Register
1 0 1 1 w reg
data
data if w
e
1
Memory to Accumulator
1 0 1 0 0 0 0 w
addr-low
addr-high
Accumulator to Memory
1 0 1 0 0 0 1 w
addr-low
addr-high
Register Memory to Segment Register
1 0 0 0 1 1 1 0
mod 0 reg r m
Segment Register to Register Memory
1 0 0 0 1 1 0 0
mod 0 reg r m
PUSH
e
Push
Register Memory
1 1 1 1 1 1 1 1
mod 1 1 0 r m
Register
0 1 0 1 0 reg
Segment Register
0 0 0 reg 1 1 0
POP
e
Pop
Register Memory
1 0 0 0 1 1 1 1
mod 0 0 0 r m
Register
0 1 0 1 1 reg
Segment Register
0 0 0 reg 1 1 1
XCHG
e
Exchange
Register Memory with Register
1 0 0 0 0 1 1 w
mod reg r m
Register with Accumulator
1 0 0 1 0 reg
IN
e
Input from
Fixed Port
1 1 1 0 0 1 0 w
port
Variable Port
1 1 1 0 1 1 0 w
OUT
e
Output to
Fixed Port
1 1 1 0 0 1 1 w
port
Variable Port
1 1 1 0 1 1 1 w
XLAT
e
Translate Byte to AL
1 1 0 1 0 1 1 1
LEA
e
Load EA to Register
1 0 0 0 1 1 0 1
mod reg r m
LDS
e
Load Pointer to DS
1 1 0 0 0 1 0 1
mod reg r m
LES
e
Load Pointer to ES
1 1 0 0 0 1 0 0
mod reg r m
LAHF
e
Load AH with Flags
1 0 0 1 1 1 1 1
SAHF
e
Store AH into Flags
1 0 0 1 1 1 1 0
PUSHF
e
Push Flags
1 0 0 1 1 1 0 0
POPF
e
Pop Flags
1 0 0 1 1 1 0 1
Mnemonics
Intel 1978
26