Datasheet

RL78/L12 CHAPTER 29 INSTRUCTION SET
R01UH0330EJ0200 Rev.2.00 852
Dec 13, 2013
Table 29-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.
Instruction
Group
Mnemon
ic
Operands Bytes Clocks Clocks Flag
Note 1 Note 2 Z AC CY
Stack
manipulate
PUSH PSW 2 1
(SP 1) PSW, (SP 2) 00H,
SP SP2
rp 1 1
(SP 1) rpH, (SP 2) rpL,
SP SP – 2
POP PSW 2 3
PSW (SP+1), SP SP + 2 R R R
rp 1 1
rpL (SP), rpH (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
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 (ZCY)=0
BNH $addr20 3 2/4
Note3
PC PC + 3 + jdisp8 if (ZCY)=1
BT 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
ES:[HL].bit,
$addr20
4 4/6
Note3
7/8 PC PC + 4 + jdisp8 if (ES, HL).bit = 1