RL78/G1A CHAPTER 3 CPU ARCHITECTURE
R01UH0305EJ0200 Rev.2.00 92
Jul 04, 2013
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
Each stack operation saves or restores data as shown in Figures 3-35 to 3-40.
Figure 3-35. 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