We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
Direct Page Addressing: Difference between revisions
From SnesLab
(opcode 26) |
(→References: hid archive URL for E&L) |
||
(28 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
'''Direct Page Addressing''' is an [[addressing mode]] that is supported by the [[65c816]] and [[SPC700]]. | '''Direct Page Addressing''' is an [[addressing mode]] that is supported by the [[65c816]] and [[SPC700]]. It is an upgraded version of [[zero page addressing]]. The effective addresses generated by it are always in [[bank]] 0.<sup>[4]</sup> | ||
The operand specifies which byte of the [[direct page]] to access. | The operand specifies which byte of the [[direct page]] to access. | ||
Supported by 24 instructions: | ==== Syntax ==== | ||
<pre> | |||
LDA dp | |||
</pre> | |||
Supported by 24 instructions on the '816: | |||
* [[ADC]] (opcode 65) | * [[ADC]] (opcode 65) | ||
* [[SBC]] (opcode E5) | * [[SBC]] (opcode E5) | ||
* [[EOR]] (opcode 45) | * [[EOR]] (opcode 45) | ||
* [[ASL]] | * [[ASL]] (opcode 06) | ||
* [[LSR]] | * [[LSR]] (opcode 46) | ||
* [[INC]] | * [[INC]] (opcode E6) | ||
* [[DEC]] | * [[DEC]] (opcode C6) | ||
* [[BIT]] | * [[BIT]] (opcode 24) | ||
* [[CMP]] | * [[CMP]] (opcode C5) | ||
* [[CPX]] | * [[CPX]] (opcode E4) | ||
* [[CPY]] | * [[CPY]] (opcode C4) | ||
* [[ORA]] | * [[ORA]] (opcode 05) | ||
* [[AND]] | * [[AND]] (opcode 25) | ||
* [[LDA]] | * [[LDA]] (opcode A5) | ||
* [[LDX]] | * [[LDX]] (opcode A6) | ||
* [[LDY]] | * [[LDY]] (opcode A4) | ||
* [[ROL]] (opcode 26) | * [[ROL]] (opcode 26) | ||
* [[ROR]] | * [[ROR]] (opcode 66) | ||
* [[STA]] (opcode 85) | * [[STA]] (opcode 85) | ||
* [[STX]] (opcode 86) | * [[STX]] (opcode 86) | ||
Line 30: | Line 35: | ||
=== See Also === | === See Also === | ||
* [[ | * [[Direct Page Indexed, X Addressing]] | ||
* [[Direct Page Indexed, Y Addressing]] | |||
* [[Direct Page Indirect Addressing]] | |||
* [[Direct Page Bit Addressing]] | * [[Direct Page Bit Addressing]] | ||
=== | === References === | ||
# [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/389 page 389] | |||
# lbid, [https://archive.org/details/0893037893ProgrammingThe65816/page/114 page 114] | |||
# section 3.5.17 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf | |||
# lbid, section 3.3 | |||
# lbid, section 7.2 | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Addressing Modes]] | [[Category:Addressing Modes]] | ||
[[Category:Simple Admodes]] | |||
[[Category:65c816 additions]] | [[Category:65c816 additions]] |
Latest revision as of 14:23, 8 August 2024
Direct Page Addressing is an addressing mode that is supported by the 65c816 and SPC700. It is an upgraded version of zero page addressing. The effective addresses generated by it are always in bank 0.[4]
The operand specifies which byte of the direct page to access.
Syntax
LDA dp
Supported by 24 instructions on the '816:
- ADC (opcode 65)
- SBC (opcode E5)
- EOR (opcode 45)
- ASL (opcode 06)
- LSR (opcode 46)
- INC (opcode E6)
- DEC (opcode C6)
- BIT (opcode 24)
- CMP (opcode C5)
- CPX (opcode E4)
- CPY (opcode C4)
- ORA (opcode 05)
- AND (opcode 25)
- LDA (opcode A5)
- LDX (opcode A6)
- LDY (opcode A4)
- ROL (opcode 26)
- ROR (opcode 66)
- STA (opcode 85)
- STX (opcode 86)
- STY (opcode 84)
- STZ (opcode 64)
- TRB (opcode 14)
- TSB (opcode 04)
See Also
- Direct Page Indexed, X Addressing
- Direct Page Indexed, Y Addressing
- Direct Page Indirect Addressing
- Direct Page Bit Addressing
References
- Eyes & Lichty, page 389
- lbid, page 114
- section 3.5.17 of 65c816 datasheet, https://westerndesigncenter.com/wdc/documentation/w65c816s.pdf
- lbid, section 3.3
- lbid, section 7.2