CHAPTER 19 INSTRUCTION SET OVERVIEW
User’s Manual U16898EJ3V0UD
326
Flag
Mnemonic Operand Bytes
Clocks
Operation
Z AC CY
CALL !addr16
3 6
(SP
−
1)
←
(PC + 3)
H
, (SP
−
2)
←
(PC + 3)
L
,
PC
←
addr16, SP
←
SP
−
2
CALLT [addr5]
1 8
(SP
−
1)
←
(PC + 1)
H
, (SP
−
2)
←
(PC + 1)
L
,
PC
H
←
(00000000, addr5 + 1),
PC
L
←
(00000000, addr5), SP
←
SP
−
2
RET
1
6
PC
H
←
(SP + 1), PC
L
←
(SP), SP
←
SP + 2
RETI
1 8
PC
H
←
(SP + 1), PC
L
←
(SP), PSW
←
(SP + 2),
SP
←
SP + 3
R R R
PSW 1
2
(SP
−
1)
←
PSW, SP
←
SP
−
1
PUSH
rp 1
4
(SP
−
1)
←
rp
H
, (SP
−
2)
←
rp
L
, SP
←
SP
−
2
PSW 1
4
PSW
←
(SP), SP
←
SP + 1
R R R
POP
rp 1
6
rp
H
←
(SP + 1), rp
L
←
(SP), SP
←
SP + 2
SP, AX
2
8
SP
←
AX
MOVW
AX, SP
2
6
AX
←
SP
!addr16 3
6
PC
←
addr16
$addr16 2
6
PC
←
PC + 2 + jdisp8
BR
AX 1
6
PC
H
←
A, PC
L
←
X
BC $saddr16
2
6
PC
←
PC + 2 + jdisp8 if CY = 1
BNC $saddr16
2
6
PC
←
PC + 2 + jdisp8 if CY = 0
BZ $saddr16
2
6
PC
←
PC + 2 + jdisp8 if Z = 1
BNZ $saddr16
2
6
PC
←
PC + 2 + jdisp8 if Z = 0
saddr.bit, $addr16
4
10
PC
←
PC + 4 + jdisp8 if (saddr.bit) = 1
sfr.bit, $addr16
4
10
PC
←
PC + 4 + jdisp8 if sfr.bit = 1
A.bit, $addr16
3
8
PC
←
PC + 3 + jdisp8 if A.bit = 1
BT
PSW.bit, $addr16
4
10
PC
←
PC + 4 + jdisp8 if PSW.bit = 1
saddr.bit, $addr16
4
10
PC
←
PC + 4 + jdisp8 if (saddr.bit) = 0
sfr.bit, $addr16
4
10
PC
←
PC + 4 + jdisp8 if sfr.bit = 0
A.bit, $addr16
3
8
PC
←
PC + 3 + jdisp8 if A.bit = 0
BF
PSW.bit, $addr16
4
10
PC
←
PC + 4 + jdisp8 if PSW.bit = 0
B, $addr16
2
6
B
←
B
−
1, then PC
←
PC + 2 + jdisp8 if B
≠
0
C, $addr16
2
6
C
←
C
−
1, then PC
←
PC + 2 + jdisp8 if C
≠
0
DBNZ
saddr, $addr16
3
8
(saddr)
←
(saddr)
−
1, then
PC
←
PC + 3 + jdisp8 if (saddr)
≠
0
NOP
1
2
No
Operation
EI
3
6
IE
←
1 (Enable Interrupt)
DI
3
6
IE
←
0 (Disable Interrupt)
HALT
1
2
Set HALT Mode
STOP
1
2
Set STOP Mode
Remark
One instruction clock cycle is one CPU clock cycle (f
CPU
) selected by the processor clock control
register (PCC).