We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

MOVES (Super FX): Difference between revisions

From SnesLab
Jump to: navigation, search
(added example)
(made flags affected more prominent)
 
(8 intermediate revisions by the same user not shown)
Line 9: Line 9:
|'''Cache Speed'''
|'''Cache Speed'''
|+
|+
|
|[[Implied]] (type 1)
|2n'Bn
|2n'Bn
|2 bytes
|2 bytes
Line 17: Line 17:
|}
|}


{| class="wikitable" style="float:right;clear:right;width:30%"
{| class="wikitable" style="float:right;clear:right;width:35%"
!colspan="9"|Flags Affected
!colspan="9"|Flags Affected
|+
|+
Line 26: Line 26:
|[[Sign Flag|S]]
|[[Sign Flag|S]]
|[[CY]]
|[[CY]]
|Z
|[[Zero Flag|Z]]
|+
|+
|0
|0
|0
|0
|0
|0
|
|D7
|
|D15
|.
|.
|
|Z
|}
|}


'''MOVES''' (Move Second?) is a [[Super FX]] instruction that moves the value of a register into another register.
'''MOVES''' (Move and Set flags) is a [[Super FX]] instruction that moves the value of a general register into another general register.


According to [[fullsnes]], the official documentation has the source and destination operands for MOVES mixed up. <sup>[2]</sup>
According to [[fullsnes]], the official documentation has the source and destination operands for MOVES mixed up. <sup>[2]</sup>


The flags are affected according to the datum moved.  [[O/V]] will reflect bit 7, the [[sign flag]] will reflect bit 15, and the [[zero flag]] will be set iff the datum moved is zero.
The flags are affected according to the datum moved.  [[O/V]] will reflect bit 7, the [[sign flag]] will reflect bit 15, and the [[zero flag]] will be set iff the datum moved is zero.
The [[ALT0]] state is restored.


==== Syntax ====
==== Syntax ====
Line 53: Line 55:
After executing MOVES R<sub>10</sub>, R<sub>7</sub>:
After executing MOVES R<sub>10</sub>, R<sub>7</sub>:
  R<sub>10</sub> = 4983h
  R<sub>10</sub> = 4983h
and the overflow flag is set
and the overflow flag is set.


=== See Also ===
=== See Also ===
Line 59: Line 61:
* [[MOVEW]]
* [[MOVEW]]
* [[MOVEB]]
* [[MOVEB]]
* [[MOV]]


=== External Links ===
=== External Links ===

Latest revision as of 19:23, 30 July 2024

Basic Info
Addressing Mode Opcode Length ROM Speed RAM Speed Cache Speed
Implied (type 1) 2n'Bn 2 bytes 6 cycles 6 cycles 2 cycle
Flags Affected
B ALT1 ALT2 O/V S CY Z
0 0 0 D7 D15 . Z

MOVES (Move and Set flags) is a Super FX instruction that moves the value of a general register into another general register.

According to fullsnes, the official documentation has the source and destination operands for MOVES mixed up. [2]

The flags are affected according to the datum moved. O/V will reflect bit 7, the sign flag will reflect bit 15, and the zero flag will be set iff the datum moved is zero.

The ALT0 state is restored.

Syntax

MOVES Rn, Rn'

Example

Let:

R7 = 4983h

After executing MOVES R10, R7:

R10 = 4983h

and the overflow flag is set.

See Also

External Links

  1. Official Super Nintendo development manual on MOVES: 9.63 on Page 2-9-89 of Book II
  2. https://problemkaputt.de/fullsnes.htm#snescartgsuncpumisc