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
(see also) |
(→External Links: hid archive URL on E&L) |
||
(19 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
|'''Speed''' | |'''Speed''' | ||
|+ | |+ | ||
| | |[[Stack Addressing|Stack]] (Push) | ||
|8B | |8B | ||
|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: | ||
|} | |} | ||
'''PHB''' (PusH data Bank register) is a [[65c816]] instruction that pushes the value of the [[data bank register]] to the stack. | '''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 === | === See Also === | ||
* [[PHD]] | * [[PHD]] | ||
* [[PHK]] | * [[PHK]] | ||
* [[PLB]] | |||
=== External Links === | === 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: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