Usage Note; Figure 4.3 Operation When Sp Value Is Odd - Renesas H8S/2158 User Manual

16-bit single-chip microcomputer h8s family/h8s/2100 series
Table of Contents

Advertisement

4.7

Usage Note

When accessing word data or longword data, this LSI assumes that the lowest address bit is 0. The
stack should always be accessed in words or longwords, 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.3 shows an example of what
happens when the SP value is odd.
SP
SP set to H'FFFEFF
Legend:
CCR:
Condition code register
PC:
Program counter
R1L:
General register R1L
SP:
Stack pointer
Note: This diagram illustrates an example in which the interrupt control mode is 0 in advanced mode.
(or
MOV.W Rn, @-SP
(or
MOV.L ERn, @-SP
(or
MOV.W @SP+, Rn
(or
MOV.L @SP+, ERn
CCR
SP
TRAPA instruction executed
Data saved above SP

Figure 4.3 Operation when SP Value Is Odd

)
)
)
)
SP
PC
MOV.B R1L, @-ER7 executed
Contents of CCR lost
Rev. 3.00 Jan 25, 2006 page 71 of 872
Section 4 Exception Handling
Address
R1L
H'FFFEFA
H'FFFEFB
H'FFFEFC
PC
H'FFFEFD
H'FFFEFF
REJ09B0286-0300

Advertisement

Table of Contents
loading

Table of Contents