We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

PER: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎See Also: return address)
(→‎External Links: Clark link)
Line 57: Line 57:
* snes9x implementation of PER: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1685
* snes9x implementation of PER: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L1685
* undisbeliever on PER: https://undisbeliever.net/snesdev/65816-opcodes.html#per-push-effective-pc-relative-indirect-address
* undisbeliever on PER: https://undisbeliever.net/snesdev/65816-opcodes.html#per-push-effective-pc-relative-indirect-address
* Clark, Bruce. http://www.6502.org/tutorials/65c816opcodes.html#6.8.1


[[Category:ASM]]
[[Category:ASM]]

Revision as of 14:00, 4 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Stack (PC Relative Long) 62 3 bytes 6 cycles
Flags Affected
N V M X D I Z C
. . . . . . . .

PER (Push pc RElative indirect Address) is a 65c816 instruction that pushes a 16-bit sum to the stack. The addends are:

  • the program counter after it has been incremented to point to the instruction following PER, and
  • the 16-bit displacement following the PER opcode.

The high byte of the sum is pushed before the low byte.

No flags are affected.

Syntax

PER label

See Also

External Links