8086
Table 2. Instruction Set Summary (Continued)
Mnemonic and
Description
Instruction Code
ARITHMETIC
ADD e Add:
Reg./Memory with Register to Either Immediate to Register/Memory Immediate to Accumulator
ADC e Add with Carry: Reg./Memory with Register to Either Immediate to Register/Memory Immediate to Accumulator
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 |
|
|
|
|
0 0 0 0 0 0 d w | mod reg r/m |
|
|
|
|
|
|
1 0 0 0 0 0 s w | mod 0 0 0 r/m | data | data if s: w e 01 |
|
|
|
|
0 0 0 0 0 1 0 w | data | data if w e 1 |
|
|
|
|
|
0 0 0 1 0 0 d w | mod reg r/m |
|
|
|
|
|
|
1 0 0 0 0 0 s w | mod 0 1 0 r/m | data | data if s: w e 01 |
|
|
|
|
0 0 0 1 0 1 0 w | data | data if w e 1 |
|
INC e Increment:
Register/Memory
Register
AAAe ASCII Adjust for Add
BAA e Decimal Adjust for Add SUB e Subtract:
Reg./Memory and Register to Either Immediate from Register/Memory Immediate from Accumulator
SSB e Subtract with Borrow Reg./Memory and Register to Either Immediate from Register/Memory Immediate from Accumulator
DEC e Decrement:
Register/memory
Register
NEG e Change sign CMP e Compare: Register/Memory and Register Immediate with Register/Memory Immediate with Accumulator
ASCII Adjust for Subtract
Decimal Adjust for Subtract
Multiply (Unsigned)
Integer Multiply (Signed)
ASCII Adjust for Multiply
Divide (Unsigned)
Integer Divide (Signed) ASCII Adjust for Divide Convert Byte to Word Convert Word to Double Word
1 1 1 1 1 1 1 w | mod 0 0 0 r/m |
|
|
|
|
|
|
0 1 0 0 0 reg |
|
|
|
|
|
|
|
0 0 1 1 0 1 1 1 |
|
|
|
|
|
|
|
0 0 1 0 0 1 1 1 |
|
|
|
|
|
|
|
0 0 1 0 1 0 d w | mod reg r/m |
|
|
|
|
|
|
1 0 0 0 0 0 s w | mod 1 0 1 r/m | data | data if s w e 01 |
|
|
|
|
0 0 1 0 1 1 0 w | data | data if w e 1 |
|
|
|
|
|
0 0 0 1 1 0 d w | mod reg r/m |
|
|
|
|
|
|
1 0 0 0 0 0 s w | mod 0 1 1 r/m | data | data if s w e 01 |
|
|
|
|
0 0 0 1 1 1 w | data | data if w e 1 |
|
|
|
|
|
1 1 1 1 1 1 1 w | mod 0 0 1 r/m |
|
|
|
|
|
|
0 1 0 0 1 reg |
|
|
|
|
|
|
|
1 1 1 1 0 1 1 w | mod 0 1 1 r/m |
|
|
|
|
|
|
0 0 1 1 1 0 d w | mod reg r/m |
|
|
|
|
|
|
1 0 0 0 0 0 s w | mod 1 1 1 r/m | data | data if s w e 01 |
|
|
|
|
0 0 1 1 1 1 0 w | data | data if w e 1 |
|
|
|
|
|
0 0 1 1 1 1 1 1 |
|
|
|
|
|
|
|
0 0 1 0 1 1 1 1 |
|
|
|
|
|
|
|
1 1 1 1 0 1 1 w | mod 1 0 0 r/m |
|
|
|
|
|
|
1 1 1 1 0 1 1 w | mod 1 0 1 r/m |
|
|
|
|
|
|
1 1 0 1 0 1 0 0 | 0 0 0 0 1 0 1 0 |
|
|
|
|
|
|
1 1 1 1 0 1 1 w | mod 1 1 0 r/m |
|
|
|
|
|
|
1 1 1 1 0 1 1 w | mod 1 1 1 r/m |
|
|
|
|
|
|
1 1 0 1 0 1 0 1 | 0 0 0 0 1 0 1 0 |
|
|
|
|
|
|
1 0 0 1 1 0 0 0 |
|
|
|
|
|
|
|
1 0 0 1 1 0 0 1 |
|
|
|
Mnemonics ' Intel, 1978
27