RL78/G1P
CHAPTER 3 CPU ARCHITECTURE
R01UH0895EJ0100 Rev.1.00
60
Nov 29, 2019
3.4.9 Stack addressing
[Function]
The stack area is indirectly addressed with the stack pointer (SP) values. This addressing is automatically employed
when the PUSH, POP, subroutine call, and return instructions are executed or the register is saved/restored upon
generation of an interrupt request.
Only the internal RAM area can be set as the stack area.
[Description format]
Identifier Description
PUSH PSW AX/BC/DE/HL
POP PSW AX/BC/DE/HL
CALL/CALLT
RET
BRK
RETB
(Interrupt request generated)
RETI
The data saved/restored by each stack operation is shown in Figures 3-32 to 3-37.
Figure 3-32. Example of PUSH rp
Higher-order byte of rp
SP
F0000H
PUSH rp
Lower-order byte of rp
SP
1
SP
2
rp
SP
OP-code
<1>
<1>
<2>
<2>
<3>
Stack area
Memory
Stack addressing is specified <1>.
The higher-order and lower-order bytes of the pair of registers
indicated by rp <2> are stored in addresses SP
1 and SP
2,
respectively.
The value of SP <3> is decreased by two (if rp is the program
status word (PSW), the value of the PSW is stored in SP
1 and
0 is stored in SP
2).
Instruction code