We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
PLB: Difference between revisions
From SnesLab
(made basic info table shorter) |
(4 cycle Instructions) |
||
(14 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
|'''Speed''' | |'''Speed''' | ||
|+ | |+ | ||
| | |[[Stack Addressing|Stack]] (Pull) | ||
|AB | |AB | ||
|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: | ||
|} | |} | ||
'''PLB''' (PulL data Bank) is a [[65c816]] instruction that pulls the | '''PLB''' (PulL data Bank) is a [[65c816]] instruction that pulls the byte at the top of the [[stack]] into the [[data bank register]]. PLB is the only instruction that modifies that register. The [[stack pointer]] is incremented before the byte it points to is pulled into the register. | ||
=== See Also === | |||
* [[PLD]] | |||
* [[PLX]] | |||
* [[PLY]] | |||
* [[PHB]] | |||
=== External Links === | === External Links === | ||
* [[Eyes & Lichty]] page on PLB: https://archive.org/details/0893037893ProgrammingThe65816/page/n510 | * [[Eyes & Lichty]] page 484, on PLB: https://archive.org/details/0893037893ProgrammingThe65816/page/n510 | ||
* [[Labiak]] page on PLB: https://archive.org/details/Programming_the_65816/page/n178 | * [[Labiak]] page 168 on PLB: https://archive.org/details/Programming_the_65816/page/n178 | ||
* snes9x implementation of PLB: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2032 | * snes9x implementation of PLB: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2032 | ||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:65c816 additions]] | [[Category:65c816 additions]] | ||
[[Category:Pull Instructions]] | |||
[[Category:One-byte Instructions]] | |||
[[Category:Four-cycle Instructions]] |
Latest revision as of 12:34, 14 December 2023
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack (Pull) | AB | 1 byte | 4 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X | D | I | Z | C | |
. | . | . | . | . | . |
PLB (PulL data Bank) is a 65c816 instruction that pulls the byte at the top of the stack into the data bank register. PLB is the only instruction that modifies that register. The stack pointer is incremented before the byte it points to is pulled into the register.
See Also
External Links
- Eyes & Lichty page 484, on PLB: https://archive.org/details/0893037893ProgrammingThe65816/page/n510
- Labiak page 168 on PLB: https://archive.org/details/Programming_the_65816/page/n178
- snes9x implementation of PLB: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2032