4.8
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 by word size or longword size 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 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.
Rev. 1.00, 09/03, page 64 of 704
(or MOV.W Rn, @-SP)
(or MOV.L ERn, @-SP)
(or MOV.W @SP+, Rn)
(or MOV.L @SP+, ERn)
SP
TRAP instruction executed
Data saved above SP
Figure 4.3 Operation when SP Value is Odd
CCR
SP
PC
MOV.B R1L, @-ER7
Contents of CCR lost
Address
H'FFFEFA
R1L
H'FFFEFB
PC
H'FFFEFC
H'FFFEFD
H'FFFEFE
H'FFFEFF