RL78/G1P
CHAPTER 26 INSTRUCTION SET
R01UH0895EJ0100 Rev.1.00
717
Nov 29, 2019
Table 26-5. Operation List (17/18)
Notes 1.
Number of CPU clocks (f
CLK
) when the internal RAM area, SFR area, or extended SFR area is accessed, or
when no data is accessed.
2.
Number of CPU clocks (f
CLK
) when the program memory area is accessed.
3.
This indicates the number of clocks “when condition is not met/when condition is met”.
Remark
Number of clock is when program exists in the internal ROM (flash memory) area. If fetching the instruction
from the internal RAM area, the number becomes double number plus 3 clocks at a maximum.
Instruction
Group
Mnemonic Operands Bytes Clocks
Operation
Flag
Note 1 Note 2
Z AC CY
Stack
manipulate
PUSH PSW
2
1
(SP
1)
PSW, (SP
2)
00H,
SP
SP
2
rp 1
1
(SP
1)
rp
H
, (SP
2)
rp
L
,
SP
SP – 2
POP PSW
2 3
PSW
(SP+1), SP
SP + 2
R R R
rp 1
1
rp
L
(SP), rp
H
(SP+1), SP
SP + 2
MOVW SP,
#word
4
1
SP
word
SP, AX
2
1
SP
AX
AX, SP
2
1
AX
SP
HL, SP
3
1
HL
SP
BC, SP
3
1
BC
SP
DE, SP
3
1
DE
SP
ADDW SP,
#byte
2
1
SP
SP + byte
SUBW SP,
#byte
2
1
SP
SP
byte
Un-
conditional
branch
BR AX
2 3
PC
CS, AX
$addr20 2
3
PC
PC + 2 + jdisp8
$!addr20 3
3
PC
PC + 3 + jdisp16
!addr16 3
3
PC
0000, addr16
!!addr20 4
3
PC
addr20
Conditional
branch
BC $addr20
2
2/4
Note 3
PC
PC + 2 + jdisp8 if CY = 1
BNC $addr20
2
2/4
Note 3
PC
PC + 2 + jdisp8 if CY = 0
BZ $addr20
2
2/4
Note 3
PC
PC + 2 + jdisp8 if Z = 1
BNZ $addr20
2
2/4
Note 3
PC
PC + 2 + jdisp8 if Z = 0
BH $addr20
3
2/4
Note 3
PC
PC + 3 + jdisp8 if (Z
CY)=0
BNH $addr20
3
2/4
Note 3
PC
PC + 3 + jdisp8 if (Z
CY)=1
BT saddr.bit,
$addr20
4
3/5
Note 3
PC
PC + 4 + jdisp8 if (saddr).bit = 1
sfr.bit, $addr20
4
3/5
Note 3
PC
PC + 4 + jdisp8 if sfr.bit = 1
A.bit, $addr20
3
3/5
Note 3
PC
PC + 3 + jdisp8 if A.bit = 1
PSW.bit, $addr20
4
3/5
Note 3
PC
PC + 4 + jdisp8 if PSW.bit = 1
[HL].bit, $addr20
3
3/5
Note 3
6/7 PC
PC + 3 + jdisp8 if (HL).bit = 1
ES:[HL].bit,
$addr20
4 4/6
Note 3
7/8 PC
PC + 4 + jdisp8 if (ES, HL).bit = 1