RL78/G1A CHAPTER 28 INSTRUCTION SET
R01UH0305EJ0200 Rev.2.00 848
Jul 04, 2013
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 code flash memory is accessed, or when the data flash memory is
accessed by an 8-bit instruction.
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
Mnemonic 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
<R>