English
Language : 

HD64F3048VTF8 Datasheet, PDF (118/903 Pages) Renesas Technology Corp – Hardware Manual Renesas 8-Bit Single-Chip
Section 4 Exception Handling
4.6 Notes on Stack Usage
When accessing word data or longword data, the H8/3048B Group regards the lowest address bit
as 0. The stack should always be accessed by word access or longword access, and the value of the
stack pointer (SP:ER7) should always be kept even. Use the following instructions to save
registers:
PUSH.W Rn (or MOV.W Rn, @–SP)
PUSH.L ERn (or MOV.L ERn, @–SP)
Use the following instructions to restore registers:
POP.W Rn
POP.L ERn
(or MOV.W @SP+, Rn)
(or MOV.L @SP+, ERn)
Setting SP to an odd value may lead to a malfunction. Figure 4.7 shows an example of what
happens when the SP value is odd.
CCR
SP
SP
PC
R1L
H'FFFEFA
H'FFFEFB
PC
H'FFFEFC
H'FFFEFD
H'FFFEFF
SP
TRAPA instruction executed
MOV. B R1L, @-ER7
SP set to H'FFFEFF
Data saved above SP
Legend:
CCR: Condition code register
PC: Program counter
R1L: General register R1L
SP: Stack pointer
Note: The diagram illustrates modes 3 and 4.
CCR contents lost
Figure 4.7 Operation when SP Value Is Odd
Rev. 3.00 Sep 27, 2006 page 90 of 872
REJ09B0325-0300