Stack Pointer (Sp) - Freescale Semiconductor MC68HC08KH12 Datasheet

Freescale semiconductor microcontrollers data sheet
Table of Contents

Advertisement

6.4.3 Stack Pointer (SP)

NOTE:
MC68HC(7)08KH12
Rev. 1.1
Freescale Semiconductor
The stack pointer is a 16-bit register that contains the address of the next
location on the stack. During a reset, the stack pointer is preset to
$00FF. The reset stack pointer (RSP) instruction also sets the least
significant byte to $FF but does not affect the most significant byte. The
stack pointer decrements as data is pushed onto the stack and
increments as data is pulled from the stack.
In the stack pointer 8-bit offset and 16-bit offset addressing modes, the
stack pointer can function as an index register to access data on the
stack. The CPU uses the contents of the stack pointer to determine the
conditional address of the operand.
Bit
15
14
13
Read:
Write:
Reset:
0
0
0
The location of the stack is arbitrary and may be relocated anywhere in
RAM. Moving the SP out of page zero ($0000 to $00FF) frees direct
address (page zero) space. For correct operation, the stack pointer must
point only to RAM locations.
12
11
10
9
8
0
0
0
0
0
Figure 6-4. Stack Pointer (SP)
7
6
5
4
3
1
1
1
1
1
Advance Information
Bit
2
1
0
1
1
1
55

Advertisement

Table of Contents
loading

Table of Contents