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
(where stack pointer now points)
 
(10 intermediate revisions by the same user not shown)
Line 7: Line 7:
|'''Speed'''
|'''Speed'''
|+
|+
|stack
|[[Stack Addressing|Stack]] (Pull)
|2B
|2B
|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:
|}
|}


'''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]].
'''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 ===
=== See Also ===
Line 42: Line 42:
* [[PLX]]
* [[PLX]]
* [[PLY]]
* [[PLY]]
* [[TCD]]


=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page on PLD: https://archive.org/details/0893037893ProgrammingThe65816/page/n511
* [[Eyes & Lichty]] page 485, on PLD: https://archive.org/details/0893037893ProgrammingThe65816/page/n511
* [[Labiak]] page on PLD: https://archive.org/details/Programming_the_65816/page/n179
* [[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
* 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