English
Language : 

HD6413003TF10 Datasheet, PDF (92/717 Pages) Renesas Technology Corp – Old Company Name in Catalogs and Other Documents
4.6 Notes on Stack Usage
When accessing word data or longword data, the H8/3003 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-6 shows an example of what
happens when the SP value is odd.
CCR
SP
SP
PC
RIL
H'FFFEFA
H'FFFEFB
PC
H'FFFEFC
H'FFFEFD
H'FFFEFF
SP
TRAPA instruction executed
MOV. B RIL, @-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-6 Operation when SP Value is Odd
72