Notes On Use Of The Stack - Renesas H8S/2633 Series Hardware Manual

Hide thumbs Also See for H8S/2633 Series:
Table of Contents

Advertisement

4.7

Notes on Use of the Stack

When accessing word data or longword data, the H8S/2633 Series 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-6 shows an example of what
happens when the SP value is odd.
SP
TRAP instruction executed
SP set to H'FFFEFF
Legend
CCR: Condition code register
PC:
R1L: General register R1L
SP:
Note: This diagram illustrates an example in which the interrupt control mode
is 0, in advanced mode.
120
(or MOV.W Rn, @-SP)
(or MOV.L ERn, @-SP)
(or MOV.W @SP+, Rn)
(or MOV.L @SP+, ERn)
CCR
SP
PC
Data saved above SP
Program counter
Stack pointer
Figure 4-6 Operation when SP Value is Odd
SP
R1L
PC
MOV.B R1L, @–ER7
Contents of CCR lost
H'FFFEFA
H'FFFEFB
H'FFFEFC
H'FFFEFD
H'FFFEFF

Advertisement

Table of Contents
loading

Table of Contents