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)
From SnesLab
(Redirected from PULL (SPC700))
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
The stack pointer is incremented by one before the value is pulled.
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