English
Language : 

HD6473032F16 Datasheet, PDF (108/847 Pages) Renesas Technology Corp – Hardware Manual Renesas 16-Bit Single-Chip Microcomputer H8 Family/H8/300H Series
Section 4 Exception Handling
4.6 Notes on Use of the Stack
When accessing word data or longword data, the H8/3052BF 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 (or MOV.W @SP+, Rn)
POP.L ERn (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
R1L
H'FFFEFA
SP
H'FFFEFB
PC
PC
H'FFFEFC
H'FFFEFD
H'FFFEFF
SP
TRAPA instruction executed
MOV. B R1L, @-ER7
SP set to H'FFFEFF
Data saved above SP
CCR contents lost
Legend:
CCR: Condition code register
PC: Program counter
R1L: General register R1L
SP: Stack pointer
Note: The diagram illustrates modes 3 and 4.
Figure 4.7 Operation when SP Value Is Odd
Rev. 3.00 Mar 21, 2006 page 78 of 814
REJ09B0302-0300