We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
BVS (Super FX): Difference between revisions
From SnesLab
(linkify S) |
(note about delay slot) |
||
(10 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{| class="wikitable" style="float:right;clear:right;width: | {| class="wikitable" style="float:right;clear:right;width:50%" | ||
!colspan="8"|Basic Info | !colspan="8"|Basic Info | ||
|+ | |+ | ||
|'''Addressing Mode''' | |||
|'''Opcode''' | |'''Opcode''' | ||
|'''Length''' | |'''Length''' | ||
Line 8: | Line 9: | ||
|'''Cache Speed''' | |'''Cache Speed''' | ||
|+ | |+ | ||
|[[Program Counter Relative]] | |||
|0F?? | |0F?? | ||
|2 bytes | |2 bytes | ||
Line 18: | Line 20: | ||
!colspan="9"|Flags Affected | !colspan="9"|Flags Affected | ||
|+ | |+ | ||
|B | |[[B Flag|B]] | ||
|[[ALT1]] | |[[ALT1]] | ||
|[[ALT2]] | |[[ALT2]] | ||
Line 24: | Line 26: | ||
|[[Sign Flag|S]] | |[[Sign Flag|S]] | ||
|[[CY]] | |[[CY]] | ||
|Z | |[[Zero Flag|Z]] | ||
|+ | |+ | ||
|. | |. | ||
Line 35: | Line 37: | ||
|} | |} | ||
'''BVS''' (Branch Overflow Set) is a [[Super FX]] instruction that performs a branch when the overflow flag is set. | '''BVS''' (Branch Overflow Set) is a [[Super FX]] instruction that performs a branch when the overflow flag ([[O/V]]) is set. The instruction following BVS is already in the pipeline and will run even if the branch occurs. | ||
If the overflow flag is clear, control simply falls through and the branch does not happen. | |||
No flags are affected. | No flags are affected. | ||
==== Syntax ==== | |||
<pre> | |||
BVS e | |||
</pre> | |||
==== Example ==== | |||
Let the O/V flag be set. This instruction jumps the program backward 2 bytes: | |||
<pre> | |||
BVS $-2h | |||
</pre> | |||
=== See Also === | === See Also === | ||
Line 44: | Line 59: | ||
=== External Links === | === External Links === | ||
* Official Nintendo documentation on BVS: [https://archive.org/details/SNESDevManual/book2/page/n192 Page 2-9-36 of Book II] | * Official Nintendo documentation on BVS: 9.26 on [https://archive.org/details/SNESDevManual/book2/page/n192 Page 2-9-36 of Book II] | ||
* example: [https://archive.org/details/SNESDevManual/book2/page/n193 Page 2-9-37 of Book II], lbid. | * example: [https://archive.org/details/SNESDevManual/book2/page/n193 Page 2-9-37 of Book II], lbid. | ||
[[Category:Super FX]] | [[Category:Super FX]] | ||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Instructions with Delay Slots]] |
Latest revision as of 08:04, 14 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
Program Counter Relative | 0F?? | 2 bytes | 6 cycles | 6 cycles | 2 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
. | . | . | . | . | . | . |
BVS (Branch Overflow Set) is a Super FX instruction that performs a branch when the overflow flag (O/V) is set. The instruction following BVS is already in the pipeline and will run even if the branch occurs.
If the overflow flag is clear, control simply falls through and the branch does not happen.
No flags are affected.
Syntax
BVS e
Example
Let the O/V flag be set. This instruction jumps the program backward 2 bytes:
BVS $-2h
See Also
External Links
- Official Nintendo documentation on BVS: 9.26 on Page 2-9-36 of Book II
- example: Page 2-9-37 of Book II, lbid.