Freescale Semiconductor MC68HC08KH12 manual Stack Pointer SP

Models: MC68HC08KH12

1 262
Download 262 pages 21.58 Kb
Page 55
Image 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.

 

Bit

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bit

 

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

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)

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.

MC68HC(7)08KH12 Rev. 1.1

Advance Information

 

 

Freescale Semiconductor

55

Page 55
Image 55
Freescale Semiconductor MC68HC08KH12 manual Stack Pointer SP