We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
BEQ (Super FX): Difference between revisions
From SnesLab
(→External Links: page 2-9-19) |
(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]] | |||
|09?? | |09?? | ||
|2 bytes | |2 bytes | ||
Line 18: | Line 20: | ||
!colspan="9"|Flags Affected | !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]] | ||
|+ | |+ | ||
|. | |. | ||
Line 35: | Line 37: | ||
|} | |} | ||
'''BEQ''' (Branch equal) is a [[Super FX]] instruction that performs a conditional jump. | '''BEQ''' (Branch equal) is a [[Super FX]] instruction that performs a conditional jump if the zero flag is set. The instruction after BEQ is already in the pipeline and will run even if the branch occurs. | ||
No flags are affected. | |||
==== Syntax ==== | |||
<pre> | |||
BEQ e | |||
</pre> | |||
==== Example ==== | |||
Let the zero flag be set. This instruction jumps the program ahead 5 bytes: | |||
<pre> | |||
BEQ $+5h | |||
</pre> | |||
=== See Also === | === See Also === | ||
Line 42: | Line 57: | ||
=== External Links === | === External Links === | ||
* Official Nintendo documentation on BEQ: [https://archive.org/details/SNESDevManual/book2/page/n174 | * Official Nintendo documentation on BEQ: paragraph 9.16 on [https://archive.org/details/SNESDevManual/book2/page/n174 page 2-9-18 of Book II] | ||
* example: [https://archive.org/details/SNESDevManual/book2/page/n175 page 2-9-19], lbid. | * example: [https://archive.org/details/SNESDevManual/book2/page/n175 page 2-9-19], lbid. | ||
[[Category:Super FX]] | [[Category:Super FX]] | ||
[[Category:ASM]] | [[Category:ASM]] | ||
[[Category:Instructions with Delay Slots]] |
Latest revision as of 08:14, 14 July 2024
Basic Info | |||||||
---|---|---|---|---|---|---|---|
Addressing Mode | Opcode | Length | ROM Speed | RAM Speed | Cache Speed | ||
Program Counter Relative | 09?? | 2 bytes | 6 cycles | 6 cycles | 2 cycles |
Flags Affected | ||||||||
---|---|---|---|---|---|---|---|---|
B | ALT1 | ALT2 | O/V | S | CY | Z | ||
. | . | . | . | . | . | . |
BEQ (Branch equal) is a Super FX instruction that performs a conditional jump if the zero flag is set. The instruction after BEQ is already in the pipeline and will run even if the branch occurs.
No flags are affected.
Syntax
BEQ e
Example
Let the zero flag be set. This instruction jumps the program ahead 5 bytes:
BEQ $+5h
See Also
External Links
- Official Nintendo documentation on BEQ: paragraph 9.16 on page 2-9-18 of Book II
- example: page 2-9-19, lbid.