We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
XOR (Super FX): Difference between revisions
From SnesLab
(now we know for sure) |
(linkify RPIX) |
||
Line 42: | Line 42: | ||
It probably restores the [[ALT0]] state like [[OR]]. | It probably restores the [[ALT0]] state like [[OR]]. | ||
The low nybble of the opcode specifies either the immediate value or which general register to use, like OR. We can deduce this by contradiction because if it were the high nybble instead, RPIX would overlap XOR on the opcode matrix. | The low nybble of the opcode specifies either the immediate value or which general register to use, like OR. We can deduce this by contradiction because if it were the high nybble instead, [[RPIX]] would overlap XOR on the opcode matrix. | ||
The source and destination registers should be specified in advance using [[WITH]], [[FROM]], or [[TO]]. Otherwise, R<sub>0</sub> serves as the default. | The source and destination registers should be specified in advance using [[WITH]], [[FROM]], or [[TO]]. Otherwise, R<sub>0</sub> serves as the default. |
Revision as of 08:51, 22 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | Speed | ||||
Immediate | 3FCn | 2 bytes | |||||
Implied (type 1) | 3DCn | 2 bytes |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
0? | 0? | 0? | .? | ? | .? | ? |
XOR is an undocumented[dubious] (XOR is mentioned on page 2-2-7 of Book II of the Nintendo documentation) Super FX instruction that performs an exculsive or.
It probably restores the ALT0 state like OR.
The low nybble of the opcode specifies either the immediate value or which general register to use, like OR. We can deduce this by contradiction because if it were the high nybble instead, RPIX would overlap XOR on the opcode matrix.
The source and destination registers should be specified in advance using WITH, FROM, or TO. Otherwise, R0 serves as the default.
Syntax
XOR Rn XOR #n
See Also
References
- https://en.wikibooks.org/wiki/Super_NES_Programming/Super_FX_tutorial#Instruction_Set_Table
- Example 3 on page 2-8-10 of Book II of the official Super Nintendo development manual