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

COP: Difference between revisions

From SnesLab
Jump to: navigation, search
(lowercase signature byte)
(→‎External Links: hid archive URL)
Line 56: Line 56:
=== External Links ===
=== External Links ===
* [[Eyes & Lichty]] page 447, on COP: https://archive.org/details/0893037893ProgrammingThe65816/page/447
* [[Eyes & Lichty]] page 447, on COP: https://archive.org/details/0893037893ProgrammingThe65816/page/447
* [[Labiak]] page 135 on COP: https://archive.org/details/Programming_the_65816/page/n145
* [[Labiak]], [https://archive.org/details/Programming_the_65816/page/n145 page 135] on COP
* snes9x implementation of COP: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2738
* snes9x implementation of COP: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2738
* https://ersanio.gitbook.io/assembly-for-the-snes/deep-dives/misc
* https://ersanio.gitbook.io/assembly-for-the-snes/deep-dives/misc

Revision as of 03:50, 6 August 2024

Basic Info
Addressing Mode Opcode Length Speed
Stack (Interrupt) 02 2 bytes 8 cycles*
Flags Affected
N V M X D I Z C
. . . . 0 1 . .

COP (Co-Processor) is a 65c816 instruction designed to run a co-processor command. The byte following the opcode is called the signature byte and is required by assemblers. Signature bytes of 80h to FFh are reserved by the Western Design Center. The state of the interrupt disable flag has no effect on the behavior of COP.

COP triggers a software interrupt and control is routed to the COP handler, whose address is stored in the COP vector at $FFF4.

The PBR is cleared, but in native mode its previous value is pushed to the stack.

Syntax

COP sig
Cycle Skipped

See Also

External Links