IA186ES/IA188ES
Data Sheet
8-Bit/16-Bit Microcontrollers
November 15, 2011
Table 89. Instruction Set Summary (Continued)
Instruction
Opcode – Hex
Clock Cycles
Flags Affected
Byte
3–6
–
–
ib
Mnemonic
CMP
Description
Byte 1
Byte 2
ib
iw
/7
/7
IA186ES
IA188ES
3
O
R
D
–
I
–
T
–
S
R
Z
R
A
R
P
R
C
R
Compare imm8 to AL
Compare imm16 to AX
Compare imm8 to r/m8
Compare imm16 to r/m16
Compare sign-extended imm8 to
r/m16
3C
3D
80
81
83
3
4
3/10
3/10
3/10
4
3/10
3/14
3/14
iw
ib
/7
Compare byte reg to r/m8
Compare word reg to r/m16
Compare r/m8 to byte reg
Compare r/m16 to word reg
Compare byte ES:[DI] to byte
segment:[SI]
38
39
3A
3B
A6
/r
/r
/r
/r
–
–
–
–
–
–
3/10
3/10
3/10
3/10
22
3/10
3/14
3/10
3/14
22
CMPS
R
–
–
–
R
R
R
R
R
Compare word ES:[DI] to word
segment:[SI]
Compare byte ES:[DI] to byte
DS:[SI]
Compare word ES:[DI] to word
DS:[SI]
A7
A6
A7
–
–
–
–
–
–
22
22
22
26
22
26
CMPSB
CMPSW
R
R
–
–
–
–
–
–
R
R
R
R
R
R
R
R
R
R
CS
CWD
CS segment reg override prefix
Convert word integer to double
word
2E
99
–
–
–
–
–
4
–
4
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
DAA
DAS
Decimal adjust AL after addition
Decimal adjust AL after
subtraction
27
2F
–
–
–
–
4
4
4
4
?
?
–
–
–
–
–
–
R
R
R
R
R
R
R
R
R
R
DEC
Subtract 1 from r/m8
Subtract 1 from r/m16
Subtract 1 from word reg
FE
FF
48+
rw
/1
/1
–
–
3/15
3/15
3
3/15
3/19
3
R
–
–
–
R
R
R
R
R
DIV
Divide unsigned numbers
F6
mod
110
r/m
–
–
29/35
29/35
U
–
–
–
U
U
U
U
U
DS
ENTER
DS segment override prefix
Create stack frame for nested
procedure
Create stack frame for non-nested
procedure
3E
C8
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
iw ib
22+16
(n–1)
15
26+20
(n–1)
19
C8
C8
iw 00
iw 01
–
–
Create stack frame for nested
procedure
25
29
ES
ESC
ES segment reg override prefix
Escape - takes a Trap 7
Escape - takes a Trap 7
Escape - takes a Trap 7
Escape - takes a Trap 7
Escape - takes a Trap 7
Escape - takes a Trap 7
Escape - takes a Trap 7
Escape - takes a Trap 7
Suspend instruction execution
Divide Integers
26
D8
D9
DA
DB
DC
DD
DE
DF
F4
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
–
0
–
0
–
–
–
–
–
–
–
–
–
–
/0
/1
/2
/3
/4
/5
/6
/7
–
–
2
–
2
HLT
IDIV
–
U
–
–
–
–
–
–
–
U
–
U
–
U
–
U
–
U
F6
/7
44–52
/
44–52
/
AL = AX/(r/m8);
AH = remainder
Divide Integers
AX = DX:AX/(r/m16);
50–58
53–61
/
50–58
53–61
/
F7
/7
–
DX = remainder
59–67
63–71
Refer to the key for abbreviations and an explanation of notation at the end of this table.
®
IA211050902-19
UNCONTROLLED WHEN PRINTED OR COPIED
http://www.innovasic.com
Customer Support:
Page 135 of 154
1-888-824-4184