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
Jump to: navigation, search
(works in 6502 emulation mode)
(→‎External Links: hid archive URL for Labiak)
Line 53: Line 53:
=== External Links ===
=== External Links ===
# [[Eyes & Lichty]] page 484, on PLB: https://archive.org/details/0893037893ProgrammingThe65816/page/484
# [[Eyes & Lichty]] page 484, on PLB: https://archive.org/details/0893037893ProgrammingThe65816/page/484
# [[Labiak]] page 168 on PLB: https://archive.org/details/Programming_the_65816/page/n178
# [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n178 page 168] on PLB
# 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
# Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3
# Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3

Revision as of 19:24, 6 August 2024

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

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.[1][dubious, see MVP and MVN] The stack pointer is incremented before the byte it points to is pulled into the register.

Syntax

PLB

PLB works even in emulation mode even though all bank addresses are forced to zero.[5]

See Also

External Links

  1. Eyes & Lichty page 484, on PLB: https://archive.org/details/0893037893ProgrammingThe65816/page/484
  2. Labiak, page 168 on PLB
  3. snes9x implementation of PLB: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2032
  4. Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3
  5. section 7.8.2 of 65c816 datasheet