3 stack pointer (sp), Stack pointer (sp) – Freescale Semiconductor MC68HC08KH12 User Manual

Page 55

Advertising
background image

MC68HC(7)08KH12

Rev. 1.1

Advance Information

Freescale Semiconductor

55

6.4.3 Stack Pointer (SP)

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.

NOTE:

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.

Bit
15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

Bit

0

Read:

Write:

Reset:

0

0

0

0

0

0

0

0

1

1

1

1

1

1

1

1

Figure 6-4. Stack Pointer (SP)

Advertising