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
(linkify S) |
(Added opcode information (opcode, size) from fullsnes and a note) |
||
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''' | |||
|+ | |||
| | |||
|2n<sup>[1]</sup> | |||
|1 byte | |||
| | |||
| | |||
| | |||
|} | |||
{| 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 | ||
Line 20: | Line 38: | ||
'''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. | '''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 === | |||
<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 === | ||
Line 31: | Line 52: | ||
* ''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] | * 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]] |
Revision as of 14:56, 4 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
2n[1] | 1 byte |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
1 |
WITH is an undocumentedTemplate: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