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
Jump to: navigation, search
(added '816 additions category)
(→‎External Links: hid archive URL on E&L)
 
(24 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''PHB''' (PusH data Bank register) is a [[65c816]] instruction that pushes the value of the [[data bank register]] to the stack.
{| class="wikitable" style="float:right;clear:right;width:40%"
 
{| class="wikitable" style="float:right;clear:right;width:30%"
!colspan="8"|Basic Info
!colspan="8"|Basic Info
|+
|+
Line 9: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|stack
|[[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 Clobbered
!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: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

  1. Eyes & Lichty, page 477 on PHB
  2. Labiak, page 161 on PHB
  3. Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3
  4. section 7.8.2 of 65c816 datasheet