Fujitsu MB89202 Computer Hardware User Manual


 
42
CHAPTER 3 CPU
3.4.6 Stack Area for Interrupt Processing
A stack area on RAM is used for interrupt processing. The value in the stack pointer
(SP) is used as the start address of the stack area.
Stack Area for Interrupt Processing
The stack area is used to save/restore the value in the program counter (PC) when executing the subroutine
call instruction (CALL) or vector call instruction (CALLV) or temporarily save and restore values in
registers or other storage with the PUSHW and POPW instruction.
Locate the stack area on RAM together with the data area.
It is recommended that the initial settings be specified such that the stack pointer (SP) indicates the
highest address of RAM and that the data area be set up from the lowest address of RAM.
Figure 3.4-6 is an example showing the stack area.
Figure 3.4-6 Stack Area for Interrupt Processing
Note:
For the stack area, interrupts, subroutine calls, or PUSHW instruction use addresses in descending
order, and the return instructions (RETI and RET) or the POPW instruction releases addresses in the
stack area in ascending order. When a lower address is used in the stack area due to multiple interrupts
or subroutine calls, make arrangements so that the stack area does not overlap with the data area and
general-purpose register area containing other data.
0000
H
I/O
0080
H
RAM
0280
H
FFFF
H
ROM
Data area
Stack
area
General-
purpose
register
Access
prohibited
Value recommended for SP
(When the highest RAM address
is 027F
H)