beautypg.com

NEC PD754144 User Manual

Page 71

background image

CHAPTER 4 INTERNAL CPU FUNCTION

71

User’s Manual U10676EJ3V0UM

When 00H is set to SP as the initial value, memory bank 0 specified by SBS is used as the stack area, starting

from the highest address (07FH).

The stack area can be used only in memory bank 0. If stack operation is performed from address 000H onwards,

the stack pointer will point to unmounted area 0FFH. Therefore, be careful not to allow the stack pointer to exceed

000H.

The contents of SP become undefined and the contents of SBS become 1000B when the RESET signal is asserted.

Therefore, be sure to initialize these to the desired values at the beginning of the program.

Figure 4-8. Stack Pointer and Stack Bank Selection Register Configuration

SP7

SP6

SP5

SP4

SP3

SP2

SP1

0

SBS3 SBS2 SBS1 SBS0

Fix to 0

000H

07FH

080H

0FFH

Memory Bank 0

Unmounted

SP

If the stack pointer exceeds
00H, it will point to the
unmounted area 00FH, and
therefore attention should be
paid to the depth of the stack to
ensure that the stack pointer
does not exceed 00H.

F80H

Address

SP

Symbol

F84H

SBS

Mk I/Mk II mode switching

Example of SP initialization

To set the stack area in memory bank 0, and perform stack operations from address 07FH.

SEL MB15

; Or CLR1 MBE

MOV A, #0

MOV SBS, A

; Specify memory bank 0 as stack area

MOV XA, #80H

MOV SP, XA

; SP

← 80H (stack operations from 7FH)

This manual is related to the following products: