We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Stack Pointer: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎References: on the stack pointer)
(move definition to top)
Line 1: Line 1:
The '''Stack Pointer''' (SP) on the [[SPC700]] is 16-bit, but the upper byte is fixed by the hardware to be 0x01.
The '''Stack Pointer''' (SP) points to the next [[stack]] location available for pushing to.  On the [[SPC700]] it is 16-bit, but the upper byte is fixed by the hardware to be 0x01.


On the [[65c816]], the only two instructions that modify the stack pointer (S) directly are [[TCS]] and [[TXS]].<sup>[4]</sup>  It is only fixed to be in page one in [[emulation mode]] on the '816.
On the [[65c816]], the only two instructions that modify the stack pointer (S) directly are [[TCS]] and [[TXS]].<sup>[4]</sup>  It is only fixed to be in page one in [[emulation mode]] on the '816.
Line 5: Line 5:
1FFh is a common value to initialize the stack pointer to.
1FFh is a common value to initialize the stack pointer to.


Pushing things onto the [[stack]] decrements the stack pointer and pulling things increments it.  It points to the next available location on the stack.
Pushing things onto the [[stack]] decrements the stack pointer and pulling things increments it.


=== See Also ===
=== See Also ===

Revision as of 20:15, 12 November 2024

The Stack Pointer (SP) points to the next stack location available for pushing to. On the SPC700 it is 16-bit, but the upper byte is fixed by the hardware to be 0x01.

On the 65c816, the only two instructions that modify the stack pointer (S) directly are TCS and TXS.[4] It is only fixed to be in page one in emulation mode on the '816.

1FFh is a common value to initialize the stack pointer to.

Pushing things onto the stack decrements the stack pointer and pulling things increments it.

See Also

References

  1. subparagraph 8.1.5 of page 3-8-4 of Book I of the official Super Nintendo development manual
  2. diversified activities: page 3-8-5 of Book I, lbid.
  3. Eyes & Lichty, page 31 on The Stack Pointer
  4. Eyes & Lichty, page 511 on TCS