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
(no other flags affected) |
(superscripted dubious as we don't have a template) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 14: | Line 14: | ||
| | | | ||
| | | | ||
| | |1 cycle | ||
|} | |} | ||
Line 26: | Line 26: | ||
|[[Sign Flag|S]] | |[[Sign Flag|S]] | ||
|[[CY]] | |[[CY]] | ||
|Z | |[[Zero Flag|Z]] | ||
|+ | |+ | ||
|1 | |1 | ||
Line 37: | Line 37: | ||
|} | |} | ||
'''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 === | === Notes === | ||
Line 48: | Line 48: | ||
* [[MOVE (Super FX)]] | * [[MOVE (Super FX)]] | ||
* [[MOVES (Super FX)]] | * [[MOVES (Super FX)]] | ||
* [[XOR (Super FX)]] | |||
=== References === | === References === |
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