Direct Page: Difference between revisions
(abbreviation) |
(→Reference: hid archive URL for E&L) |
||
Line 25: | Line 25: | ||
=== Reference === | === Reference === | ||
# [[Eyes & Lichty]] | # [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/198 page 198] | ||
# [[6502 Reference]] 5.1.1, http://www.6502.org/tutorials/65c816opcodes.html#5.1.1 | # [[6502 Reference]] 5.1.1, http://www.6502.org/tutorials/65c816opcodes.html#5.1.1 | ||
# [[6502 Reference]] 5.1.2, http://www.6502.org/tutorials/65c816opcodes.html#5.1.2 | # [[6502 Reference]] 5.1.2, http://www.6502.org/tutorials/65c816opcodes.html#5.1.2 |
Revision as of 14:34, 7 August 2024
The Direct Page (DP) is much like the zeropage on the 6502, but can be moved around to anywhere within the first 64K bank. It is technically, as its namesake, the 256 bytes accessible via Direct Page Addressing, and has special handling of wrapping behavior. Colloquial usage of this term will invariably refer to the Direct Page Register itself and by extension the group of Direct addressing modes it affects, due to the other addressing modes not being limited to 256 bytes. The wrapping behavior will always confine it to Bank 0, but if in emulation mode will also confine it to the zeropage when both DL and DH are zero or a single bank 0 page when DL is zero (see case A of [2]).
The direct page may overlap the stack.[4]
There are two ways to relocate the direct page:[1]
Unfortunately TXD, TYD, and TSD do not exist. Neither do TDX or TDY.
On the SPC700, the direct page can only be in one of two places: either coincident with page zero or page one.