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

PHD: Difference between revisions

From SnesLab
Jump to: navigation, search
(type of stack admode)
(clarify emulation mode note)
 
(6 intermediate revisions by the same user not shown)
Line 43: Line 43:
PHD
PHD
</pre>
</pre>
PHD works even in [[emulation mode]], and will not push zero if the [[direct page]] has been relocated, as instructions that used [[zero page addressing]] on the 6502 will use [[direct page addressing]] instead with the direct offset still added into their effective address.


=== See Also ===
=== See Also ===
Line 51: Line 53:


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page 478, on PHD: https://archive.org/details/0893037893ProgrammingThe65816/page/n504
* [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/478 page 478] on PHD
* [[Labiak]] page 162 on PHD: https://archive.org/details/Programming_the_65816/page/n172
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n172 page 162] on PHD
* snes9x implementation of PHD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1786
* snes9x implementation of PHD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1786
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3


[[Category:ASM]]
[[Category:ASM]]
Line 59: Line 62:
[[Category:One-byte Instructions]]
[[Category:One-byte Instructions]]
[[Category:Four-cycle Instructions]]
[[Category:Four-cycle Instructions]]
[[Category:Push Instructions]]

Latest revision as of 01:04, 13 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Stack (Push) 0B 1 byte 4 cycles
Flags Affected
N V M X D I Z C
. . . . . . . .

PHD (PusH Direct Page) is a 65c816 instruction that pushes the value of the direct page register onto the stack. The high byte is pushed before the low byte. The stack pointer is decremented by two.

No flags are affected.

Syntax

PHD

PHD works even in emulation mode, and will not push zero if the direct page has been relocated, as instructions that used zero page addressing on the 6502 will use direct page addressing instead with the direct offset still added into their effective address.

See Also

External Links