We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
PHB: Difference between revisions
From SnesLab
(created page) |
(→External Links: hid archive URL on E&L) |
||
(25 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width:40%" | |||
{| class="wikitable" style="float:right;clear:right;width: | |||
!colspan="8"|Basic Info | !colspan="8"|Basic Info | ||
|+ | |+ | ||
Line 9: | Line 7: | ||
|'''Speed''' | |'''Speed''' | ||
|+ | |+ | ||
| | |[[Stack Addressing|Stack]] (Push) | ||
|8B | |8B | ||
|1 byte | |1 byte | ||
Line 16: | 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 36: | Line 34: | ||
|. | |. | ||
|} | |} | ||
'''PHB''' (PusH data Bank register) is a [[65c816]] instruction that pushes the value of the [[data bank register]] to the [[stack]]. PHB always pushes one byte. The [[stack pointer]] is decremented by one and ends up pointing directly below the byte pushed. | |||
No flags are affected. | |||
==== Syntax ==== | |||
<pre> | |||
PHB | |||
</pre> | |||
PHB works even in [[emulation mode]] even though all bank addresses are forced to zero.<sup>[4]</sup> | |||
=== See Also === | |||
* [[PHD]] | |||
* [[PHK]] | |||
* [[PLB]] | |||
=== External Links === | |||
# [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/477 page 477] on PHB | |||
# [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n171 page 161] on PHB | |||
# Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3 | |||
# section 7.8.2 of 65c816 datasheet | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:65c816 additions]] | |||
[[Category:Push Instructions]] | |||
[[Category:One-byte Instructions]] | |||
[[Category:Three-cycle Instructions]] |
Latest revision as of 19:27, 6 August 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack (Push) | 8B | 1 byte | 3 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | . | . | . | . |
PHB (PusH data Bank register) is a 65c816 instruction that pushes the value of the data bank register to the stack. PHB always pushes one byte. The stack pointer is decremented by one and ends up pointing directly below the byte pushed.
No flags are affected.
Syntax
PHB
PHB works even in emulation mode even though all bank addresses are forced to zero.[4]
See Also
External Links
- Eyes & Lichty, page 477 on PHB
- Labiak, page 161 on PHB
- Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3
- section 7.8.2 of 65c816 datasheet