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
(moved tables up)
(→‎External Links: hid archive URL on E&L)
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
{| class="wikitable" style="float:right;clear:right;width:30%"
{| class="wikitable" style="float:right;clear:right;width:40%"
!colspan="8"|Basic Info
!colspan="8"|Basic Info
|+
|+
Line 7: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|stack
|[[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 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 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 ===
* [[PHD]]
* [[PHK]]
* [[PLB]]


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page on PHB: https://archive.org/details/0893037893ProgrammingThe65816/page/n503
# [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/477 page 477] on PHB
* [[Labiak]] page on PHB: https://archive.org/details/Programming_the_65816/page/n171
# [[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