We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
WITH (Super FX): Difference between revisions
From SnesLab
(which book) |
(superscripted dubious as we don't have a template) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width:50%" | |||
!colspan="8"|Basic Info | |||
|+ | |||
|'''Addressing Mode''' | |||
|'''Opcode''' | |||
|'''Length''' | |||
|'''ROM Speed''' | |||
|'''RAM Speed''' | |||
|'''Cache Speed''' | |||
|+ | |||
|[[Implied]] (type 1) | |||
|2n<sup>[1]</sup> | |||
|1 byte | |||
| | |||
| | |||
|1 cycle | |||
|} | |||
{| class="wikitable" style="float:right;clear:right;width:30%" | {| class="wikitable" style="float:right;clear:right;width:30%" | ||
!colspan="9"|Flags Affected | !colspan="9"|Flags Affected | ||
|+ | |+ | ||
|B | |[[B Flag|B]] | ||
|[[ALT1]] | |[[ALT1]] | ||
|[[ALT2]] | |[[ALT2]] | ||
|[[O/V]] | |[[O/V]] | ||
|S | |[[Sign Flag|S]] | ||
|[[CY]] | |[[CY]] | ||
|Z | |[[Zero Flag|Z]] | ||
|+ | |+ | ||
|1 | |1 | ||
| | |. | ||
| | |. | ||
| | |. | ||
| | |. | ||
| | |. | ||
| | |. | ||
|} | |} | ||
'''WITH''' is an undocumented | '''WITH''' is an undocumented<sup>[dubious]</sup> (WITH is mentioned on pages 2-2-8 and 2-6-7 of Book II the Nintendo documentation) [[Super FX]] instruction that sets the register specified by the operand as both the [[source register]] and [[destination register]]. It also sets the B flag which makes it a prefix instruction, more specifically for [[TO]] and [[FROM]] which act like [[MOVE]] and [[MOVES]], respectively, with WITH carrying the source and the modified opcode the destination. | ||
=== Notes === | |||
<sup>[1]</sup>The opcode lacks a dedicated description in the developer manual, this information comes from fullsnes instead. Furthermore, one can deduce that WITH is this opcode in that it's explicitely mentioned to be the first byte of the MOVE opcode which '''is''' documented in the manual. | |||
=== See Also === | === See Also === | ||
* [[TO]] | * [[TO (Super FX)]] | ||
* [[FROM]] | * [[FROM (Super FX)]] | ||
* [[B Flag]] | * [[B Flag]] | ||
* [[MOVE (Super FX)]] | |||
* [[MOVES (Super FX)]] | |||
* [[XOR (Super FX)]] | |||
=== References === | === References === | ||
* ''Comprehensive Super FX ASM Guide'', part C (Basic operations): https://www.smwcentral.net/?p=viewthread&t=81548 | * ''Comprehensive Super FX ASM Guide'', part C (Basic operations): https://www.smwcentral.net/?p=viewthread&t=81548 | ||
* Official Nintendo documentation on Register Prefixes: [https://archive.org/details/SNESDevManual/book2/page/n129 page 2-6-7 of Book II] | |||
* fullsnes, SNES Cart GSU-n CPU JMP and Prefix Opcodes: https://problemkaputt.de/fullsnes.txt | |||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Super FX]] | [[Category:Super FX]] | ||
[[Category:Register Prefix Instructions]] | [[Category:Register Prefix Instructions]] |
Latest revision as of 01:17, 22 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
Implied (type 1) | 2n[1] | 1 byte | 1 cycle |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
1 | . | . | . | . | . | . |
WITH is an undocumented[dubious] (WITH is mentioned on pages 2-2-8 and 2-6-7 of Book II the Nintendo documentation) Super FX instruction that sets the register specified by the operand as both the source register and destination register. It also sets the B flag which makes it a prefix instruction, more specifically for TO and FROM which act like MOVE and MOVES, respectively, with WITH carrying the source and the modified opcode the destination.
Notes
[1]The opcode lacks a dedicated description in the developer manual, this information comes from fullsnes instead. Furthermore, one can deduce that WITH is this opcode in that it's explicitely mentioned to be the first byte of the MOVE opcode which is documented in the manual.
See Also
References
- Comprehensive Super FX ASM Guide, part C (Basic operations): https://www.smwcentral.net/?p=viewthread&t=81548
- Official Nintendo documentation on Register Prefixes: page 2-6-7 of Book II
- fullsnes, SNES Cart GSU-n CPU JMP and Prefix Opcodes: https://problemkaputt.de/fullsnes.txt