Renesas H8S/2111B 用户手册

下载
页码 582
Rev. 1.00, 05/04, page 65 of 544 
 
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    (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.3 shows an example of what 
happens when the SP value is odd. 
SP
CCR:
PC:
R1L:
SP:
Condition code register
Program counter
General register R1L
Stack pointer
CCR
SP
SP
R1L
H'FFEFFA
H'FFEFFB
H'FFEFFC
H'FFEFFD
H'FFEFFF
PC
PC
TRAPA instruction executed
SP set to H'FFFEFF
Data saved above SP
MOV.B R1L, @-ER7 executed
Contents of CCR lost
Address
[Legend]
Note: This diagram illustrates an example in which the interrupt control mode is 0 in advanced mode.
 
Figure 4.3   Operation when SP Value is Odd