We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
B Flag (Super FX): Difference between revisions
From SnesLab
(subscripted m) |
m (Xetheria moved page B Flag to B Flag (Super FX): there is a b flag on the 6502 too) |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
The '''B | The '''B Flag''' is on the [[Super FX]], and is set when [[WITH]] runs. It is bit 4 of SFR. | ||
These instructions change their behaviour on the B flag: | |||
* [[TO]] R<sub>n'</sub> as [[MOVE]] R<sub>n</sub>,R<sub>n'</sub> | |||
* [[FROM]] R<sub>n'</sub> as [[MOVES]] R<sub>n</sub>,R<sub>n'</sub> | |||
For both of them, the R<sub>n</sub> is set by the preceeeding WITH R<sub>n</sub>. | |||
Many instructions clear the B flag, including: | Many instructions clear the B flag, including: | ||
Line 25: | Line 32: | ||
* [[GETC]] | * [[GETC]] | ||
* [[HIB]] | * [[HIB]] | ||
* [[IBT]] | * [[IBT]] R<sub>n</sub>, #pp | ||
* [[GSU/INC|INC]] R<sub>n</sub> | * [[GSU/INC|INC]] R<sub>n</sub> | ||
* [[IWT]] | * [[IWT]] R<sub>n</sub>, #xx | ||
* [[GSU/JMP|JMP]] R<sub>n</sub> | * [[GSU/JMP|JMP]] R<sub>n</sub> | ||
* [[LDB]] ( | * [[LDB]] (R<sub>m</sub>) | ||
* [[LDW]] ( | * [[LDW]] (R<sub>m</sub>) | ||
* [[LEA]] | * [[LEA]] R<sub>n</sub>, xx | ||
* [[LINK]] #n | * [[LINK]] #n | ||
* [[LJMP]] R<sub>n</sub> | * [[LJMP]] R<sub>n</sub> | ||
* [[LM]] | * [[LM]] R<sub>n</sub>, (xx) | ||
* [[LMS]] | * [[LMS]] R<sub>n</sub>, (yy) | ||
* [[LMULT]] | * [[LMULT]] | ||
* [[LOB]] | * [[LOB]] | ||
Line 41: | Line 48: | ||
* [[GSU/LSR|LSR]] | * [[GSU/LSR|LSR]] | ||
* [[MERGE]] | * [[MERGE]] | ||
* [[MOVE]] | * [[MOVE]] R<sub>n</sub>, R<sub>n</sub>' | ||
* [[MOVES]] | * [[MOVES]] R<sub>n</sub>, R<sub>n</sub>' | ||
* [[MULT]] R<sub>n</sub> | * [[MULT]] R<sub>n</sub> | ||
* [[MULT]] #n | * [[MULT]] #n | ||
Line 66: | Line 73: | ||
* [[SUB]] #n | * [[SUB]] #n | ||
* [[SWAP]] | * [[SWAP]] | ||
* [[UMULT]] | * [[UMULT]] R<sub>n</sub> | ||
* and presumably UMULT #n too | * and presumably UMULT #n too | ||
Line 74: | Line 81: | ||
* [[ALT1]] | * [[ALT1]] | ||
* [[ALT2]] | * [[ALT2]] | ||
* [[ALT0]] | |||
=== | === References === | ||
* [https://archive.org/details/SNESDevManual/book2/page/n158 page 2-9-2 of Book II] of the official Super Nintendo development manual | * [https://archive.org/details/SNESDevManual/book2/page/n158 page 2-9-2 of Book II] of the official Super Nintendo development manual | ||
* [https://archive.org/details/SNESDevManual/book2/page/n110 page 2-4-4 of Book II], lbid. | |||
[[Category:Flags]] | [[Category:Flags]] | ||
[[Category:Super FX]] | [[Category:Super FX]] | ||
[[Category:ASM]] | [[Category:ASM]] |
Latest revision as of 23:06, 21 July 2024
The B Flag is on the Super FX, and is set when WITH runs. It is bit 4 of SFR.
These instructions change their behaviour on the B flag:
For both of them, the Rn is set by the preceeeding WITH Rn.
Many instructions clear the B flag, including:
- ADC Rn
- ADC #n
- ADD Rn
- ADD #n
- AND Rn
- AND #n
- ASR
- BIC Rn
- BIC #n
- CACHE
- CMODE
- CMP Rn
- COLOR
- DEC Rn
- DIV2
- FMULT
- GETB
- GETBH
- GETBL
- GETBS
- GETC
- HIB
- IBT Rn, #pp
- INC Rn
- IWT Rn, #xx
- JMP Rn
- LDB (Rm)
- LDW (Rm)
- LEA Rn, xx
- LINK #n
- LJMP Rn
- LM Rn, (xx)
- LMS Rn, (yy)
- LMULT
- LOB
- LOOP
- LSR
- MERGE
- MOVE Rn, Rn'
- MOVES Rn, Rn'
- MULT Rn
- MULT #n
- NOP
- NOT
- OR Rn
- OR #n
- PLOT
- RAMB
- ROL
- ROMB
- ROR
- RPIX
- SBC Rn
- SBK
- SEX
- SM (xx), Rn
- SMS (yy), Rn
- STB (Rm)
- STOP
- STW (Rm)
- SUB Rn
- SUB #n
- SWAP
- UMULT Rn
- and presumably UMULT #n too
See Also
References
- page 2-9-2 of Book II of the official Super Nintendo development manual
- page 2-4-4 of Book II, lbid.