80C186EC/188EC, 80L186EC/188EC
INSTRUCTION SET SUMMARY
(Continued)
Function
Format
80C186EC
Clock
Cycles
80C188EC
Clock
Cycles
Comments
DATA TRANSFER
(Continued)
SEGMENT
e
Segment Override:
CS
0 0 1 0 1 1 1 0
2
2
SS
0 0 1 1 0 1 1 0
2
2
DS
0 0 1 1 1 1 1 0
2
2
ES
0 0 1 0 0 1 1 0
2
2
ARITHMETIC
ADD
e
Add:
Reg/memory with register to either
0 0 0 0 0 0 d w
mod reg r/m
3/10
3/10
*
Immediate to register/memory
1 0 0 0 0 0 s w
mod 0 0 0 r/m
data
data if s w
e
01
4/16
4/16
*
Immediate to accumulator
0 0 0 0 0 1 0 w
data
data if w
e
1
3/4
3/4
8/16-bit
ADC
e
Add with carry:
Reg/memory with register to either
0 0 0 1 0 0 d w
mod reg r/m
3/10
3/10
*
Immediate to register/memory
1 0 0 0 0 0 s w
mod 0 1 0 r/m
data
data if s w
e
01
4/16
4/16
*
Immediate to accumulator
0 0 0 1 0 1 0 w
data
data if w
e
1
3/4
3/4
8/16-bit
INC
e
Increment:
Register/memory
1 1 1 1 1 1 1 w
mod 0 0 0 r/m
3/15
3/15
*
Register
0 1 0 0 0 reg
3
3
SUB
e
Subtract:
Reg/memory and register to either
0 0 1 0 1 0 d w
mod reg r/m
3/10
3/10
*
Immediate from register/memory
1 0 0 0 0 0 s w
mod 1 0 1 r/m
data
data if s w
e
01
4/16
4/16
*
Immediate from accumulator
0 0 1 0 1 1 0 w
data
data if w
e
1
3/4
3/4
*
8/16-bit
SBB
e
Subtract with borrow:
Reg/memory and register to either
0 0 0 1 1 0 d w
mod reg r/m
3/10
3/10
*
Immediate from register/memory
1 0 0 0 0 0 s w
mod 0 1 1 r/m
data
data if s w
e
01
4/16
4/16
*
Immediate from accumulator
0 0 0 1 1 1 0 w
data
data if w
e
1
3/4
3/4
*
8/16-bit
DEC
e
Decrement
Register/memory
1 1 1 1 1 1 1 w
mod 0 0 1 r/m
3/15
3/15
*
Register
0 1 0 0 1 reg
3
3
CMP
e
Compare:
Register/memory with register
0 0 1 1 1 0 1 w
mod reg r/m
3/10
3/10
*
Register with register/memory
0 0 1 1 1 0 0 w
mod reg r/m
3/10
3/10
*
Immediate with register/memory
1 0 0 0 0 0 s w
mod 1 1 1 r/m
data
data if s w
e
01
3/10
3/10
*
Immediate with accumulator
0 0 1 1 1 1 0 w
data
data if w
e
1
3/4
3/4
8/16-bit
NEG
e
Change sign register/memory
1 1 1 1 0 1 1 w
mod 0 1 1 r/m
3/10
3/10
*
AAA
e
ASCII adjust for add
0 0 1 1 0 1 1 1
8
8
DAA
e
Decimal adjust for add
4
4
AAS
e
ASCII adjust for subtract
0 0 1 1 1 1 1 1
7
7
DAS
e
Decimal adjust for subtract
0 0 1 0 1 1 1 1
4
4
MUL
e
Multiply (unsigned):
1 1 1 1 0 1 1 w
mod 100 r/m
Register-Byte
Register-Word
Memory-Byte
Memory-Word
26–28
35–37
32–34
41–43
26–28
35–37
32–34
41–43
*
Shaded areas indicate instructions not available in 8086/8088 microsystems.
NOTE:
*
Clock cycles shown for byte transfers, for word operations, add 4 clock cycles for all memory transfers.
52