UT80C196KD Instruction Execution Times (6/98)

UTMC Application Note_________________________________________
UT80CRH196KD Instruction Execution Times (in State Times)
Instructions are listed below by their hexadecimal opcode designator and corresponding mnemonic. The
instruction execution times are denoted by their state time equivalent (1 State Time = 2 * XTAL1 period).
• Single number state times denote Direct or Immediate address executions times.
• Dual number state times (SFR/MEM) indicate SFR as the execution time using SFRs and internal
memory, and MEM as the execution time using the memory controller.
• Indirect address modes list execution times as Normal:(SFR/MEM) / Auto-Increment: (SFR/MEM).
• Indexed address modes list execution times as Short:(SFR/MEM) / Long: (SFR/MEM).
Additionally, the effects of Program Status Flag settings are listed.
PSW Flag Symbols
•
•
•
•
•
•
Opcode
Checkmark (√) indicates that a flag is set or cleared as appropriate.
Hyphen (-) indicates that the flag is not modified.
A one or zero, (1)(0) indicates that the flag will be in that state after the instruction.
An ‘s’ indicates that the instruction may set the flag if it is appropriate, but will not clear
the flag.
A ‘c’ indicates that the flag can be cleared but not set by the instruction.
A question mark (?) indicates that the flag will be left in an unknown state after the
operation.
Mnemonic
Length
in bytes
Addressing
PSW Flags
Z
N
C
V
Execution Time
VT
ST
UTMC
INTEL
UT80CRH196KD
00
SKIP
2
-
-
-
-
-
-
3
3
01
CLR
2
Direct
1
0
0
0
-
-
3
3
02
NOT
2
Direct
√
√
0
0
-
-
3
3
03
NEG
2
Direct
√
√
√
√
s
-
3
3
04
XCH
3
Direct
-
-
-
-
-
-
5
5
05
DEC
2
Direct
√
√
√
√
s
-
3
3
06
EXT
2
Direct
√
√
0
0
-
-
3
4
07
INC
2
Direct
√
√
√
√
s
-
3
3
08
SHR
3
Direct
√
√
√
0
-
√
4+1/shft
6+1/shft
09
SHL
3
Direct
√
√
√
√
s
-
4+1/shft
6+1/shft
0A
SHRA
3
Direct
√
√
√
0
-
√
4+1/shft
6+1/shft
0B
XCH
4/5
Indexed
-
-
-
-
-
-
(8/13)/(8/13)
(8/13)/(9/14)
0C
SHRL
3
Direct
√
√
√
0
-
√
6+1/shft
7+1/shft
0D
SHLL
3
Direct
√
√
√
√
s
-
6+1/shft
7+1/shft
0E
SHRAL
3
Direct
√
√
√
0
-
√
6+1/shft
7+1/shft
0F
NORML
3
Direct
√
√
0
-
-
-
7+1/shft
8+1/shft
10
Unim OpCd
1
-
-
-
-
-
-
16
-
11
CLRB
2
Direct
1
0
0
0
-
-
3
3
12
NOTB
2
Direct
√
√
0
0
-
-
3
3
13
NEGB
2
Direct
√
√
√
√
s
-
3
3
06/12/98
1 of 6
Opcode
Mnemonic
Length
in bytes
Addressing
PSW Flags
Z
N
C
V
Execution Time
VT
ST
UTMC
INTEL
UT80CRH196KD
14
XCHB
3
Direct
-
-
-
-
-
-
5
5
15
DECB
2
Direct
√
√
√
√
s
-
3
3
16
EXTB
2
Direct
√
√
0
0
-
-
3
4
17
INCB
2
Direct
√
√
√
√
s
-
3
3
18
SHRB
3
Direct
√
√
√
0
-
√
4+1/shft
6+1/shft
19
SHLB
3
Direct
√
√
√
√
s
-
4+1/shft
6+1/shft
1A
SHRAB
3
Direct
√
√
√
0
-
√
4+1/shft
6+1/shft
1B
XCHB
4/5
Indexed
-
-
-
-
-
-
(8/13)/(8/13)
(8/13)/(9/14)
1C-1F
Unim OpCd
1
-
-
-
-
-
-
16
-
20-27
SJMP
2
-
-
-
-
-
-
7
7
28-2F
SCALL
2
-
-
-
-
-
-
9/12
11/13
30-37
JBC
3
-
-
-
-
-
-
5/9
5/9
38-3F
JBS
3
-
-
-
-
-
-
5/9
5/9
40
AND (3 op)
4
Direct
√
√
0
0
-
-
4
5
41
AND (3 op)
5
Immediate
√
√
0
0
-
-
4
6
42
AND (3 op)
4
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(7/10)/(8/11)
43
AND (3 op)
5/6
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(7/10)/(8/11)
44
ADD (3 op)
4
Direct
√
√
√
√
s
-
4
4
45
ADD (3 op)
5
Immediate
√
√
√
√
s
-
4
5
46
ADD (3 op)
4
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(7/10)/(8/11)
47
ADD (3 op)
5/6
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(7/10)/(8/11)
48
SUB (3 op)
4
Direct
√
√
√
√
s
-
4
4
49
SUB (3 op)
5
Immediate
√
√
√
√
s
-
4
5
4A
SUB (3 op)
4
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(7/10)/(8/11)
4B
SUB (3 op)
5/6
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(7/10)/(8/11)
4C
MULU (3 op)
4
Direct
-
-
-
-
-
-
6
14
4D
MULU (3 op)
5
Immediate
-
-
-
-
-
-
6
15
4E
MULU (3 op)
4
Indirect
-
-
-
-
-
-
(8/10)/(9/11)
(16/19)/(17/19)
4F
MULU (3 op)
5/6
Indexed
-
-
-
-
-
-
(8/10)/(8/10)
(17/20)/(18/21)
50
ANDB (3 op)
4
Direct
√
√
0
0
-
-
4
5
51
ANDB (3 op)
4
Immediate
√
√
0
0
-
-
4
6
52
ANDB (3 op)
4
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(7/10)/(8/11)
53
ANDB (3 op)
5/6
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(7/10)/(8/11)
54
ADDB (3 op)
4
Direct
√
√
√
√
s
-
4
5
55
ADDB (3 op)
4
Immediate
√
√
√
√
s
-
4
6
56
ADDB (3 op)
4
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(7/10)/(8/11)
57
ADDB (3 op)
5/6
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(7/10)/(8/11)
58
SUBB (3 op)
4
Direct
√
√
√
√
s
-
4
5
59
SUBB (3 op)
4
Immediate
√
√
√
√
s
-
4
6
5A
SUBB (3 op)
4
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(7/10)/(8/11)
5B
SUBB (3 op)
5/6
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(7/10)/(8/11)
5C
MULUB (3 op)
4
Direct
-
-
-
-
-
-
5
10
5D
MULUB (3 op)
4
Immediate
-
-
-
-
-
-
5
10
5E
MULUB (3 op)
4
Indirect
-
-
-
-
-
-
(7/9)/(8/10)
(12/15)/(13/15)
06/12/98
2 of 6
Opcode
Mnemonic
Length
in bytes
Addressing
PSW Flags
Z
N
C
V
Execution Time
VT
ST
UTMC
INTEL
UT80CRH196KD
5F
MULUB (3 op)
Indexed
-
-
-
-
-
-
(7/9)/(7/9)
(12/16)/(14/17)
60
AND (2 op)
5/6
3
Direct
√
√
0
0
-
-
4
4
61
AND (2 op)
4
Immediate
√
√
0
0
-
-
4
5
62
AND (2 op)
3
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(6/8)/(7/9)
63
AND (2 op)
4/5
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(6/8)/(7/9)
64
ADD (2 op)
3
Direct
√
√
√
√
s
-
4
4
65
ADD (2 op)
4
Immediate
√
√
√
√
s
-
4
5
66
ADD (2 op)
3
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
67
ADD (2 op)
4/5
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
68
SUB (2 op)
3
Direct
√
√
√
√
s
-
4
4
69
SUB (2 op)
4
Immediate
√
√
√
√
s
-
4
5
6A
SUB (2 op)
3
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
6B
SUB (2 op)
4/5
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
6C
MULU (2 op)
3
Direct
-
-
-
-
-
-
6
14
6D
MULU (2 op)
4
Immediate
-
-
-
-
-
-
6
15
6E
MULU (2 op)
3
Indirect
-
-
-
-
-
-
(8/10)/(9/11)
(16/19)/(17/19)
6F
MULU (2 op)
4/5
Indexed
-
-
-
-
-
-
(8/10)/(8/10)
(17/20)/(18/21)
70
ANDB (2 op)
3
Direct
√
√
0
0
-
-
4
4
71
ANDB (2 op)
3
Immediate
√
√
0
0
-
-
4
5
72
ANDB (2 op)
3
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(6/8)/(7/9)
73
ANDB (2 op)
4/5
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(6/8)/(7/9)
74
ADDB (2 op)
3
Direct
√
√
√
√
s
-
4
4
75
ADDB (2 op)
3
Immediate
√
√
√
√
s
-
4
5
76
ADDB (2 op)
3
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
77
ADDB (2 op)
4/5
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
78
SUBB (2 op)
3
Direct
√
√
√
√
s
-
4
4
79
SUBB (2 op)
3
Immediate
√
√
√
√
s
-
4
5
7A
SUBB (2 op)
3
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
7B
SUBB (2 op)
4/5
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
7C
MULUB (2 op)
3
Direct
-
-
-
-
-
-
5
10
7D
MULUB (2 op)
3
Immediate
-
-
-
-
-
-
5
10
7E
MULUB (2 op)
3
Indirect
-
-
-
-
-
-
(7/9)/(8/10)
(12/15)/(13/15)
7F
MULUB (2 op)
4/5
Indexed
-
-
-
-
-
-
(7/9)/(7/9)
(12/16)/(14/17)
80
OR
3
Direct
√
√
0
0
-
-
4
4
81
OR
4
Immediate
√
√
0
0
-
-
4
5
82
OR
3
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(6/8)/(7/9)
83
OR
4/5
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(6/8)/(7/9)
84
XOR
3
Direct
√
√
0
0
-
-
4
4
85
XOR
4
Immediate
√
√
0
0
-
-
4
5
86
XOR
3
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(6/8)/(7/9)
87
XOR
4/5
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(6/8)/(7/9)
88
CMP
3
Direct
√
√
√
√
s
-
4
4
89
CMP
4
Immediate
√
√
√
√
s
-
4
5
8A
CMP
3
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
06/12/98
3 of 6
Opcode
Mnemonic
Length
in bytes
Addressing
PSW Flags
Z
N
C
V
Execution Time
VT
ST
UTMC
INTEL
UT80CRH196KD
8B
CMP
4/5
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
8C
DIVU
3
Direct
-
-
-
√
s
-
22
24
8D
DIVU
4
Immediate
-
-
-
√
s
-
22
25
8E
DIVU
3
Indirect
-
-
-
√
s
-
(24/26)/(25/27)
(26/29)/(27/30)
8F
DIVU
4/5
Indexed
-
-
-
√
s
-
(24/26)/(24/26)
(27/30)/(28/30)
90
ORB
3
Direct
√
√
0
0
-
-
4
4
91
ORB
3
Immediate
√
√
0
0
-
-
4
5
92
ORB
3
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(6/8)/(7/9)
93
ORB
4/5
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(6/8)/(7/9)
94
XORB
3
Direct
√
√
0
0
-
-
4
4
95
XORB
3
Immediate
√
√
0
0
-
-
4
5
96
XORB
3
Indirect
√
√
0
0
-
-
(6/8)/(7/9)
(6/8)/(7/9)
97
XORB
4/5
Indexed
√
√
0
0
-
-
(6/8)/(6/8)
(6/8)/(7/9)
98
CMPB
3
Direct
√
√
√
√
s
-
4
4
99
CMPB
3
Immediate
√
√
√
√
s
-
4
5
9A
CMPB
3
Indirect
√
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
9B
CMPB
4/5
Indexed
√
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
9C
DIVUB
3
Direct
-
-
-
√
s
-
10
16
9D
DIVUB
3
Immediate
-
-
-
√
s
-
10
16
9E
DIVUB
3
Indirect
-
-
-
√
s
-
(12/14)/(13/15)
(18/21)/(19/22)
4/5
9F
DIVUB
Indexed
-
-
-
√
s
-
(12/14)/(12/14)
(19/22)/(20/23)
A0
LD
3
Direct
-
-
-
-
-
-
4
4
A1
LD
4
Immediate
-
-
-
-
-
-
4
5
A2
LD
3
Indirect
-
-
-
-
-
-
(6/8)/(7/9)
(5/8)/(6/8)
A3
LD
4/5
Indexed
-
-
-
-
-
-
(6/8)/(6/8)
(6/9)/(7/10)
A4
ADDC
3
Direct
c
√
√
√
s
-
4
4
A5
ADDC
4
Immediate
c
√
√
√
s
-
4
5
A6
ADDC
3
Indirect
c
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
A7
ADDC
4/5
Indexed
c
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
A8
SUBC
3
Direct
c
√
√
√
s
-
4
4
A9
SUBC
4
Immediate
c
√
√
√
s
-
4
5
AA
SUBC
3
Indirect
c
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
AB
SUBC
4/5
Indexed
c
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
AC
LDBZE
3
Direct
-
-
-
-
-
-
4
4
AD
LDBZE
3
Immediate
-
-
-
-
-
-
4
4
AE
LDBZE
3
Indirect
-
-
-
-
-
-
(6/8)/(7/9)
(5/8)/(6/8)
AF
LDBZE
4/5
Indexed
-
-
-
-
-
-
(6/8)/(6/8)
(6/9)/(7/10)
B0
LDB
3
Direct
-
-
-
-
-
-
4
4
B1
LDB
3
Immediate
-
-
-
-
-
-
4
5
B2
LDB
3
Indirect
-
-
-
-
-
-
(6/8)/(7/9)
(6/8)/(7/9)
B3
LDB
4/5
Indexed
-
-
-
-
-
-
(6/8)/(6/8)
(6/8)/(7/9)
B4
ADDCB
3
Direct
c
√
√
√
s
-
4
4
B5
ADDCB
3
Immediate
c
√
√
√
s
-
4
5
B6
ADDCB
3
Indirect
c
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
06/12/98
4 of 6
Opcode
Mnemonic
Length
in bytes
Addressing
PSW Flags
Z
N
C
V
Execution Time
VT
ST
UTMC
INTEL
UT80CRH196KD
B7
ADDCB
4/5
Indexed
c
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
B8
SUBCB
3
Direct
c
√
√
√
s
-
4
4
B9
SUBCB
3
Immediate
c
√
√
√
s
-
4
5
BA
SUBCB
3
Indirect
c
√
√
√
s
-
(6/8)/(7/9)
(6/8)/(7/9)
BB
SUBCB
4/5
Indexed
c
√
√
√
s
-
(6/8)/(6/8)
(6/8)/(7/9)
BC
LDBSE
3
Direct
-
-
-
-
-
-
4
4
BD
LDBSE
3
Immediate
-
-
-
-
-
-
4
4
BE
LDBSE
3
Indirect
-
-
-
-
-
-
(6/8)/(7/9)
(5/8)/(6/8)
BF
LDBSE
4/5
Indexed
-
-
-
-
-
-
(6/8)/(6/8)
(6/9)/7/10)
C0
ST
3
Direct
-
-
-
-
-
-
4
4
C1
BMOV
3
Direct
-
-
-
-
-
-
6+4/wd+2/ext
6+8/wd
C2
ST
3
Indirect
-
-
-
-
-
-
(6/8)/(7/9)
(5/8)/(6/9)
C3
ST
4/5
Indexed
-
-
-
-
-
-
(6/8)/(6/8)
(6/9)/(7/10)
C4
STB
3
Direct
-
-
-
-
-
-
4
4
C5
CMPL
3
Direct
-
-
-
-
-
-
7
7
C6
STB
3
Indirect
-
-
-
-
-
-
(6/8)/(7/9)
(5/8)/(6/8)
C7
STB
4/5
Indexed
-
-
-
-
-
-
(6/8)/(6/8)
(6/9)/(7/10)
C8
PUSH
2
Direct
-
-
-
-
-
-
5/8
8
C9
PUSH
3
Immediate
-
-
-
-
-
-
5/8
9
CA
PUSH
2
Indirect
-
-
-
-
-
-
{(7/9)/(8/10)}/{(
10/12)/(11/13)}
(11/14)/12/15)
CB
PUSH
3/4
Indexed
-
-
-
-
-
-
{(7/9)/(7/9)}/{(1
0/12)/(10/12)}
(12/15)/(13/16)
CC
POP
2
Direct
-
-
-
-
-
-
5/7
8
CD
BMOVi
3
Direct
-
-
-
-
-
-
7+4/wd+2/ext
7+8/wd+14/ext
CE
POP
2
Indirect
-
-
-
-
-
-
{(7/9)/(8/10)}/{(
10/12)/(11/13)}
(10/12)/(11/13)
CF
POP
3/4
Indexed
-
-
-
-
-
-
{(7/9)/(7/9)}/{(1
0/12)/(10/12)}
(11/13)/(12/14)
D0
JNST
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D1
JNH
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D2
JGT
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D3
JNC
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D4
JNVT
2
-
-
-
-
0
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D5
JNV
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D6
JGE
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D7
JNE
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
D8
JST
2
-
-
-
-
-
-
4/7 (no
4/8 (no
06/12/98
5 of 6
Opcode
Mnemonic
Length
in bytes
Addressing
PSW Flags
Z
N
C
V
Execution Time
VT
ST
UTMC
INTEL
UT80CRH196KD
jump/jump)
jump/jump)
D9
JH
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
DA
JLE
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
DB
JC
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
DC
JVT
2
-
-
-
-
0
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
DD
JV
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
DE
JLT
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
DF
JE
2
-
-
-
-
-
-
4/7 (no
jump/jump)
4/8 (no
jump/jump)
E0
DJNZ
3
-
-
-
-
0
-
5/9
5/9
E1
DJNZW
3
-
-
-
-
-
-
5/9
6/10
E2
TIJMP
4
-
-
-
-
-
-
14/16/18
15/18/21
E3
BR
2
-
-
-
-
-
-
9
7
Unim OpCd
1
-
-
-
-
0
-
16
-
LJMP
3
-
-
-
-
-
-
7
7
E4-E6
E7
E8-EB
Unim OpCd
1
-
-
-
-
-
-
16
-
EC
DPTS
1
-
-
-
-
-
-
2
2
ED
EPTS
1
-
-
-
-
0
-
2
2
EE
Unim OpCd
1
-
-
-
-
-
-
16
-
EF
LCALL
3
-
-
-
-
-
-
9/12
13
F0
RET
1
-
-
-
-
-
-
9/11
14
F1
Unim OpCd
-
-
-
-
-
-
16
-
F2
PUSHF
1
0
0
0
0
0
0
5/7
8
F3
POPF
1
√
√
√
√
√
√
5/7
10
F4
PUSHA
1
0
0
0
0
0
0
8/12
18
F5
POPA
1
√
√
√
√
√
√
8/12
18
F6
IDLPD
2
-
-
-
-
-
-
8/25
8/25
F7
TRAP
1
-
-
-
-
-
-
16
16
F8
CLRC
1
-
-
0
-
-
-
2
2
F9
SETC
1
-
-
1
-
-
-
2
2
FA
DI
1
-
-
-
-
-
-
2
2
FB
EI
1
-
-
-
-
-
-
2
2
FC
CLRVT
1
-
-
-
-
0
-
2
2
FD
NOP
1
-
-
-
-
-
-
2
2
FE
SGND
1
-
-
-
-
-
-
2
-
FF
RST
1
0
0
0
0
0
0
22
20
06/12/98
6 of 6