Usage Note - Renesas H8SX/1650 Hardware Manual

Renesas 32-bit cisc microcomputer h8sx family / h8sx/1600 series
Table of Contents

Advertisement

4.9

Usage Note

When performing stack-manipulating access, this LSI assumes that the lowest address bit is 0. The
stack should always be accessed by a word transfer instruction or a 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
Performing stack manipulation while SP is set to an odd value leads to an address error. Figure 4.4
shows an example of operation 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)
SP
TRAPA instruction executed
Data saved above SP
(Address error occurred)
Figure 4.4 Operation when SP Value Is Odd
CCR
SP
PC
MOV.B R1L, @-ER7 executed
Contents of CCR lost
Rev.2.00 Jun. 28, 2007 Page 83 of 666
Section 4 Exception Handling
Address
H'FFFEFA
R1L
H'FFFEFB
PC
H'FFFEFC
H'FFFEFD
H'FFFEFE
H'FFFEFF
REJ09B0311-0200

Advertisement

Table of Contents
loading

This manual is also suitable for:

R5s61650cH8sx/1650c

Table of Contents