Notes On Use Of The Stack - Renesas H8S/2319 series Hardware Manual

Renesas 16-bit single-chip microcomputer
Table of Contents

Advertisement

4.7

Notes on Use of the Stack

When accessing word data or longword data, the chip assumes that the lowest address bit is 0.
The stack should always be accessed by word transfer instruction or longword transfer instruction,
and the value of the stack pointer (SP, ER7) should always be kept even. Use the following
instructions to save registers:
PUSH.W
Rn
PUSH.L
ERn
Use the following instructions to restore registers:
POP.W
Rn
POP.L
ERn
Setting SP to an odd value may lead to a malfunction. Figure 4-5 shows an example of what
happens when the SP value is odd.
SP
SP set to H'FFFEFF
Legend:
CCR: Condition code register
PC:
Program counter
R1L: General register R1L
SP:
Stack pointer
Note: This diagram illustrates an example in which the interrupt control mode is 0, in advanced
mode.
(or MOV.W Rn, @-SP)
(or MOV.L ERn, @-SP)
(or MOV.W @SP+, Rn)
(or MOV.L @SP+, ERn)
SP
TRAP instruction executed
Data saved above SP
Figure 4-5 Operation when SP Value is Odd
SP
CCR
PC
MOV.B R1L, @−ER7
Contents of CCR lost
Rev. 5.00, 12/03, page 107 of 1088
R1L
H'FFFEFA
H'FFFEFB
PC
H'FFFEFC
H'FFFEFD

Advertisement

Table of Contents
loading

This manual is also suitable for:

H8s/2318 series

Table of Contents