We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
POP (SPC700): Difference between revisions
From SnesLab
(→See Also: '816 pushes) |
(added operands to basic info table) |
||
Line 12: | Line 12: | ||
|4 cycles | |4 cycles | ||
|+ | |+ | ||
|[[Stack Addressing | Stack]] | |[[Stack Addressing | Stack]] - X | ||
|CE | |CE | ||
|1 byte | |1 byte | ||
|4 cycles | |4 cycles | ||
|+ | |+ | ||
|[[Stack Addressing | Stack]] | |[[Stack Addressing | Stack]] - Y | ||
|EE | |EE | ||
|1 byte | |1 byte | ||
|4 cycles | |4 cycles | ||
|+ | |+ | ||
|[[Stack Addressing | Stack]] | |[[Stack Addressing | Stack]] - PSW | ||
|8E | |8E | ||
|1 byte | |1 byte |
Revision as of 03:41, 9 August 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Accumulator | AE | 1 byte | 4 cycles | ||||
Stack - X | CE | 1 byte | 4 cycles | ||||
Stack - Y | EE | 1 byte | 4 cycles | ||||
Stack - PSW | 8E | 1 byte | 4 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
Operand is the PSW? | N | V | P | B | H | I | Z | C |
yes | N | V | P | B | H | I | Z | C |
no | . | . | . | . | . | . | . | . |
POP is an SPC700 command that pops a byte from the stack, pulling it into a register. The target register can be:
- the accumulator
- the X Index Register
- the Y Index Register
- the program status word
When the program status word is the operand, all the flags are naturally affected as that is the register they live in. Otherwise, no flags are affected.
Syntax
POP A POP X POP Y POP PSW
See Also
References
- Table C-17 in Appendix C-9 of Book I of the official Super Nintendo development manual
- anomie: https://github.com/yupferris/TasmShiz/blob/master/spc700.txt#L536