We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
PHK: Difference between revisions
From SnesLab
(→External Links: Clark link) |
(works in 6502 emulation mode) |
||
Line 44: | Line 44: | ||
</pre> | </pre> | ||
Its [[PLK]] counterpart does not exist. | Its [[PLK]] counterpart does not exist. PHK works even in [[emulation mode]] even though all bank addresses are forced to be zero. | ||
=== See Also === | === See Also === | ||
Line 58: | Line 58: | ||
* snes9x implementation of PHK: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1813 | * snes9x implementation of PHK: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1813 | ||
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3 | * Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3 | ||
* section 7.8.2 of 65c816 datasheet | |||
[[Category:ASM]] | [[Category:ASM]] |
Revision as of 21:14, 3 August 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack (Push) | 4B | 1 byte | 3 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | . | . | . | . |
PHK (Push Program BanK) is a 65c816 instruction that pushes the value of the program bank register onto the stack. PHK always pushes a single byte. The stack pointer is decremented by one.
No flags are affected.
Syntax
PHK
Its PLK counterpart does not exist. PHK works even in emulation mode even though all bank addresses are forced to be zero.
See Also
External Links
- Eyes & Lichty page 479, on PHK: https://archive.org/details/0893037893ProgrammingThe65816/page/479
- Labiak page 163 on PHK: https://archive.org/details/Programming_the_65816/page/n173
- snes9x implementation of PHK: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1813
- Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3
- section 7.8.2 of 65c816 datasheet