Notes On Use Of The Stack; Figure 4.4 Operation When Sp Value Is Odd - Hitachi H8S/2215 Series Hardware Manual

Hitachi single-chip microcomputer
Table of Contents

Advertisement

4.8

Notes on Use of the Stack

When accessing word data or longword data, this LSI assumes that the lowest address bit is 0. The
stack should always be accessed by word transfer instruction or 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 (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.4 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.
CCR
SP
PC
TRAP instruction executed
Data saved above SP

Figure 4.4 Operation when SP Value is Odd

R1L
SP
PC
MOV.B R1L, @-ER7 executed
Contents of CCR lost
Rev. 3.0, 10/02, page 73 of 686
Address
H'FFFEFA
H'FFFEFB
H'FFFEFC
H'FFFEFD
H'FFFEFE
H'FFFEFF

Advertisement

Table of Contents
loading

Table of Contents