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

16-bit single-chip microcomputer
Hide thumbs Also See for H8S Series:
Table of Contents

Advertisement

4.7

Notes on Use of the Stack

When accessing word data or longword data, the H8S/2357 Group 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
Legend:
CCR: Condition code register
PC:
R1L: General register R1L
SP:
Note: This diagram illustrates an example in which the interrupt control mode
(or MOV.W Rn, @-SP)
(or MOV.L ERn, @-SP)
(or MOV.W @SP+, Rn)
(or MOV.L @SP+, ERn)
SP
TRAPA instruction executed
SP set to H'FFFEFF
Data saved above SP
Program counter
Stack pointer
is 0, in advanced mode.
Figure 4-5 Operation when SP Value is Odd
SP
CCR
PC
MOV.B R1L, @–ER7
Contents of CCR lost
R1L
H'FFFEFA
H'FFFEFB
PC
H'FFFEFC
H'FFFEFD
H'FFFEFF
Rev.6.00 Oct.28.2004 page 79 of 1016
REJ09B0138-0600H

Advertisement

Table of Contents
loading

Table of Contents