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
Jump to: navigation, search
m (Jeffythedragonslayer moved page WITH to WITH (Super FX): Super FX in title)
(superscripted dubious as we don't have a template)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''WITH''' is an undocumented{{dubious}} (WITH is mentioned on page 2-2-8 of the Nintendo documentation) [[Super FX]] instruction that sets the register specified by the operand as both the [[source register]] and [[destination register]].
{| 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 Clobbered
!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<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 ===
* [[TO (Super FX)]]
* [[FROM (Super FX)]]
* [[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