We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
PLP: Difference between revisions
From SnesLab
(→External Links: Labiak page number) |
(→External Links: hid archive URL for MCS) |
||
(18 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
|+ | |+ | ||
| | | | ||
|[[Negative Flag|N]] | |||
|[[Overflow Flag|V]] | |||
|[[M Flag|M]] | |||
|[[X Flag|X]] / [[Break Flag|B]] | |||
|[[Decimal Flag|D]] | |||
|[[I Flag|I]] | |||
|[[Zero Flag|Z]] | |||
|[[Carry Flag|C]] | |||
|+ | |||
|[[65c816 native mode]] | |||
|N | |N | ||
|V | |V | ||
|M | |M | ||
|X | |X | ||
|D | |D | ||
|I | |I | ||
|Z | |Z | ||
|C | |C | ||
|+ | |+ | ||
|[[6502 emulation mode]] | |[[6502 emulation mode]] | ||
| | |N | ||
| | |V | ||
|. | |. | ||
| | |B | ||
| | |D | ||
| | |I | ||
| | |Z | ||
| | |C | ||
|} | |} | ||
'''PLP''' (PulL status flags) is a 65x instruction that pulls the 8-bit value at the top of the [[stack]] into the [[status register]]. | '''PLP''' (PulL status flags) is a 65x instruction that pulls the 8-bit value at the top of the [[stack]] into the [[status register]]. The [[stack pointer]] is incremented before the byte is pulled. | ||
The [[emulation mode]] bit is not on the stack so it does not get pulled. | |||
==== Syntax ==== | |||
<pre> | |||
PLP | |||
</pre> | |||
=== See Also === | === See Also === | ||
Line 55: | Line 62: | ||
* [[PLX]] | * [[PLX]] | ||
* [[PLY]] | * [[PLY]] | ||
* [[BRK]] | |||
* [[RTI]] | |||
=== External Links === | === External Links === | ||
* [[Eyes & Lichty]] | * [[Eyes & Lichty]], [https://archive.org/details/0893037893ProgrammingThe65816/page/486 page 486] on PLP | ||
* [[Labiak]] | * [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n180 page 170] on PLP | ||
* [[MCS6500 Manual]] | * 8.12 on [[MCS6500 Manual]], [https://archive.org/details/mos_microcomputers_programming_manual/page/n142 page 123] on PLP | ||
* [[Carr]] | * [[Carr]], [https://archive.org/details/6502UsersManual/page/n281 page 268] on PLP | ||
* [[Leventhal]] | * [[Leventhal]], [https://archive.org/details/6502-assembly-language-programming/page/n133 page 3-84] on PLP | ||
* snes9x implementation of PLP: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2099 | * snes9x implementation of PLP: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2099 | ||
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3 | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Inherited from 6502]] | [[Category:Inherited from 6502]] | ||
[[Category:Pull Instructions]] | [[Category:Pull Instructions]] | ||
[[Category:One-byte Instructions]] |
Latest revision as of 03:56, 8 August 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack (Pull) | 28 | 1 byte | 4 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
N | V | M | X / B | D | I | Z | C | |
65c816 native mode | N | V | M | X | D | I | Z | C |
6502 emulation mode | N | V | . | B | D | I | Z | C |
PLP (PulL status flags) is a 65x instruction that pulls the 8-bit value at the top of the stack into the status register. The stack pointer is incremented before the byte is pulled.
The emulation mode bit is not on the stack so it does not get pulled.
Syntax
PLP
See Also
External Links
- Eyes & Lichty, page 486 on PLP
- Labiak, page 170 on PLP
- 8.12 on MCS6500 Manual, page 123 on PLP
- Carr, page 268 on PLP
- Leventhal, page 3-84 on PLP
- snes9x implementation of PLP: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2099
- Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.3