We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

PLD: Difference between revisions

From SnesLab
Jump to: navigation, search
(added '816 additions category)
(where stack pointer now points)
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''PLD''' (PulL Direct page) is a [[65c816]] instruction that pulls the 16-bit value at the top of the [[stack]] into the [[direct page register]].
{| 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]] (Pull)
|2B
|2B
|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:
|.
|.
|}
|}
'''PLD''' (PulL Direct page) is a [[65c816]] instruction that pulls the 16-bit value at the top of the [[stack]] into the [[direct page register]].  The low byte of this register is pulled first.  After PLD completes, the [[stack pointer]] is pointing to where the high byte was, which becomes the next available stack location.
=== See Also ===
* [[PHD]]
* [[PLB]]
* [[PLX]]
* [[PLY]]
* [[TCD]]
=== External Links ===
* [[Eyes & Lichty]] page 485, on PLD: https://archive.org/details/0893037893ProgrammingThe65816/page/n511
* [[Labiak]] page 169 on PLD: https://archive.org/details/Programming_the_65816/page/n179
* snes9x implementation of PLD: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2069


[[Category:ASM]]
[[Category:ASM]]
[[Category:65c816 additions]]
[[Category:65c816 additions]]
[[Category:Pull Instructions]]
[[Category:Five-cycle Instructions]]

Latest revision as of 03:43, 19 December 2023

Basic Info
Addressing Mode Opcode Length Speed
Stack (Pull) 2B 1 byte 5 cycles
Flags Affected
N V M X D I Z C
. . . . . .

PLD (PulL Direct page) is a 65c816 instruction that pulls the 16-bit value at the top of the stack into the direct page register. The low byte of this register is pulled first. After PLD completes, the stack pointer is pointing to where the high byte was, which becomes the next available stack location.

See Also

External Links