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
(→See Also: PLD) |
(4 cycle Instructions) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
|'''Speed''' | |'''Speed''' | ||
|+ | |+ | ||
| | |[[Stack Addressing|Stack]] | ||
|0B | |0B | ||
|1 byte | |1 byte | ||
Line 14: | Line 14: | ||
{| class="wikitable" style="float:right;clear:right;width:30%" | {| class="wikitable" style="float:right;clear:right;width:30%" | ||
!colspan="9"|Flags | !colspan="9"|Flags Affected | ||
|+ | |+ | ||
|N | |[[Negative Flag|N]] | ||
|V | |[[Overflow Flag|V]] | ||
|M | |[[M Flag|M]] | ||
|X | |[[X Flag|X]] | ||
|D | |[[Decimal Flag|D]] | ||
|I | |[[I Flag|I]] | ||
|Z | |[[Zero Flag|Z]] | ||
|C | |[[Carry Flag|C]] | ||
|+ | |+ | ||
|. | |. | ||
Line 35: | Line 35: | ||
|} | |} | ||
'''PHD''' is a [[65c816]] instruction that pushes the value of the [[direct page register]] onto the [[stack]]. | '''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. | ||
=== See Also === | === See Also === | ||
* [[PLD]] | * [[PLD]] | ||
* [[PHB]] | * [[PHB]] | ||
* [[TDC]] | |||
* [[PHK]] | * [[PHK]] | ||
=== External Links === | === External Links === | ||
* [[Eyes & Lichty]] page on PHD: https://archive.org/details/0893037893ProgrammingThe65816/page/n504 | * [[Eyes & Lichty]] page 478, on PHD: https://archive.org/details/0893037893ProgrammingThe65816/page/n504 | ||
* [[Labiak]] page on PHD: https://archive.org/details/Programming_the_65816/page/n172 | * [[Labiak]] page 162 on PHD: https://archive.org/details/Programming_the_65816/page/n172 | ||
* 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 | ||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:65c816 additions]] | [[Category:65c816 additions]] | ||
[[Category:One-byte Instructions]] | |||
[[Category:Four-cycle Instructions]] |
Latest revision as of 12:04, 14 December 2023
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack | 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.
See Also
External Links
- Eyes & Lichty page 478, on PHD: https://archive.org/details/0893037893ProgrammingThe65816/page/n504
- Labiak page 162 on PHD: https://archive.org/details/Programming_the_65816/page/n172
- snes9x implementation of PHD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1786