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
(reserved signature byte range) |
(→Cycle Penalty: added why) |
||
Line 38: | Line 38: | ||
=====Cycle Penalty ===== | =====Cycle Penalty ===== | ||
* COP takes one extra cycle in [[native mode]]. | * COP takes one extra cycle in [[native mode]] as it needs to push the [[program counter bank register]] to the [[stack]]. | ||
=== See Also === | === See Also === |
Revision as of 01:04, 26 November 2023
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Stack | 02 | 2 bytes | 7 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. 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.
Cycle Penalty
- COP takes one extra cycle in native mode as it needs to push the program counter bank register to the stack.
See Also
External Links
- Eyes & Lichty page 447, on COP: https://archive.org/details/0893037893ProgrammingThe65816/page/n473
- Labiak page on COP: https://archive.org/details/Programming_the_65816/page/n145
- snes9x implementation of COP: https://github.com/snes9xgit/snes9x/blob/master/cpuops.cpp#L2738