We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
MOV (SPC700): Difference between revisions
From SnesLab
(added link to official dev manual) |
(→External Links: MOV has two pages in the official manual) |
||
Line 340: | Line 340: | ||
=== External Links === | === External Links === | ||
* Official Super Nintendo development manual on MOV: [https://archive.org/details/SNESDevManual/book1/page/n229 Appendix C-4 of Book I] | * Official Super Nintendo development manual on MOV: [https://archive.org/details/SNESDevManual/book1/page/n228 Appendix C-3 of Book I] | ||
* [https://archive.org/details/SNESDevManual/book1/page/n229 Appendix C-4 of Book I] lbid | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:SPC700]] | [[Category:SPC700]] |
Revision as of 02:25, 8 July 2023
MOV is an SPC700 instruction that moves a value. There are a large number of variations for this instruction, and they are divided into three groups:
- In Group 1, MOV moves values from ARAM to registers.
- In Group 2, MOV moves values from registers to ARAM.
- In Group 3, MOV moves values from registers to registers or from ARAM to ARAM.
Basic Info (Group 1) | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
immediate | E8 | 2 bytes | 3 cycles | ||||
E6 | 1 byte | 3 cycles | |||||
BF | 1 byte | 4 cycles | |||||
direct page | E4 | 2 bytes | 3 cycles | ||||
F4 | 2 bytes | 4 cycles | |||||
absolute | E5 | 3 bytes | 4 cycles | ||||
F5 | 3 bytes | 5 cycles | |||||
F6 | 3 bytes | 5 cycles | |||||
E7 | 2 bytes | 6 cycles | |||||
F7 | 2 bytes | 6 cycles | |||||
immediate | CD | 2 bytes | 2 cycles | ||||
direct page | F8 | 2 bytes | 3 cycles | ||||
F9 | 2 bytes | 4 cycles | |||||
absolute | E9 | 3 bytes | 4 cycles | ||||
immediate | 8D | 2 bytes | 2 cycles | ||||
direct page | EB | 2 bytes | 3 cycles | ||||
FB | 2 bytes | 4 cycles | |||||
absolute | EC | 3 bytes | 4 cycles |
Flags Clobbered (Group 1) | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . |
Basic Info (Group 2) | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
C6 | 1 byte | 4 cycles | |||||
AF | 1 byte | 4 cycles | |||||
C4 | 2 bytes | 4 cycles | |||||
D4 | 2 bytes | 5 cycles | |||||
C5 | 3 bytes | 5 cycles | |||||
D5 | 3 bytes | 6 cycles | |||||
D6 | 3 bytes | 6 cycles | |||||
C7 | 2 bytes | 7 cycles | |||||
D7 | 2 bytes | 6 cycles | |||||
D8 | 2 bytes | 4 cycles | |||||
D8 | 2 bytes | 4 cycles | |||||
D9 | 2 bytes | 5 cycles | |||||
C9 | 3 bytes | 5 cycles | |||||
CB | 2 bytes | 4 cycles | |||||
DB | 2 bytes | 5 cycles | |||||
CC | 3 bytes | 5 cycles |
Flags Clobbered (Group 2) | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . | . | . |
Basic Info (Group 3) | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
7D | 1 byte | 2 cycles | |||||
DD | 1 byte | 2 cycles | |||||
5D | 1 byte | 2 cycles | |||||
FD | 1 byte | 2 cycles | |||||
9D | 1 byte | 2 cycles |
Flags Clobbered (Group 3) | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . |
Basic Info (Group 3 cont.) | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
BD | 1 byte | 2 cycles | |||||
FA | 3 bytes | 5 cycles | |||||
8F | 3 bytes | 5 cycles |
Flags Clobbered (Group 3 cont.) | |||||||
---|---|---|---|---|---|---|---|
N | V | P | B | H | I | Z | C |
. | . | . | . | . | . | . | . |
External Links
- Official Super Nintendo development manual on MOV: Appendix C-3 of Book I
- Appendix C-4 of Book I lbid