RL78/G13 CHAPTER 28 INSTRUCTION SET
R01UH0146EJ0100 Rev.1.00 977
Sep 22, 2011
Table 28-5. Operation List (16/17)
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.
Clocks Flag
Instruction
Group
Mnemon
ic
Operands Bytes
Note 1 Note 2
Clocks
Z AC CY
PSW 2 1
−
(SP − 1) ← PSW, (SP − 2) ← 00H,
SP ← SP−2
PUSH
rp 1 1
−
(SP − 1) ← rp
H, (SP − 2) ← rpL,
SP ← SP – 2
PSW 2 3
−
PSW ← (SP+1), SP ← SP + 2 R R RPOP
rp 1 1
−
rp
L ←(SP), rpH ← (SP+1), SP ← SP + 2
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
MOVW
DE, SP 3 1
−
DE ← SP
ADDW SP, #byte 2 1
−
SP ← SP + byte
Stack
manipulate
SUBW SP, #byte 2 1
−
SP ← SP − byte
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
Unconditio
nal branch
BR
!!addr20 4 3
−
PC ← addr20
BC $addr20 2 2/4
Note3
−
PC ← PC + 2 + jdisp8 if CY = 1
BNC $addr20 2 2/4
Note3
−
PC ← PC + 2 + jdisp8 if CY = 0
BZ $addr20 2 2/4
Note3
−
PC ← PC + 2 + jdisp8 if Z = 1
BNZ $addr20 2 2/4
Note3
−
PC ← PC + 2 + jdisp8 if Z = 0
BH $addr20 3 2/4
Note3
−
PC ← PC + 3 + jdisp8 if (Z∨CY)=0
BNH $addr20 3 2/4
Note3
−
PC ← PC + 3 + jdisp8 if (Z∨CY)=1
saddr.bit, $addr20 4 3/5
Note3
−
PC ← PC + 4 + jdisp8 if (saddr).bit = 1
sfr.bit, $addr20 4 3/5
Note3
−
PC ← PC + 4 + jdisp8 if sfr.bit = 1
A.bit, $addr20 3 3/5
Note3
−
PC ← PC + 3 + jdisp8 if A.bit = 1
PSW.bit, $addr20 4 3/5
Note3
−
PC ← PC + 4 + jdisp8 if PSW.bit = 1
[HL].bit, $addr20 3 3/5
Note3
6/7 PC ← PC + 3 + jdisp8 if (HL).bit = 1
Conditional
branch
BT
ES:[HL].bit,
$addr20
4 4/6
Note3
7/8 PC ← PC + 4 + jdisp8 if (ES, HL).bit = 1