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
(abbreviations)
(added ref)
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) on the [[SPC700]] 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]].  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.


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


=== References ===
=== References ===
* subparagraph 8.1.5 of [https://archive.org/details/SNESDevManual/book1/page/n182 page 3-8-4 of Book I] of the official Super Nintendo development manual
# subparagraph 8.1.5 of [https://archive.org/details/SNESDevManual/book1/page/n182 page 3-8-4 of Book I] of the official Super Nintendo development manual
* diversified activities: [https://archive.org/details/SNESDevManual/book1/page/n183 page 3-8-5 of Book I], lbid.
# diversified activities: [https://archive.org/details/SNESDevManual/book1/page/n183 page 3-8-5 of Book I], lbid.
* [[Eyes & Lichty]] page 31, https://archive.org/details/0893037893ProgrammingThe65816/page/31
# [[Eyes & Lichty]] page 31, https://archive.org/details/0893037893ProgrammingThe65816/page/31
# [[Eyes & Lichty]] page 511, on TCS: https://archive.org/details/0893037893ProgrammingThe65816/page/511
 


[[Category:ASM]]
[[Category:ASM]]
[[Category:Registers]]
[[Category:Registers]]
[[Category:Inherited from 6502]]
[[Category:Inherited from 6502]]

Revision as of 23:13, 22 July 2024

The Stack Pointer (SP) on the SPC700 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.

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, https://archive.org/details/0893037893ProgrammingThe65816/page/31
  4. Eyes & Lichty page 511, on TCS: https://archive.org/details/0893037893ProgrammingThe65816/page/511