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
(added list of instructions that do not modify B) |
m (Xetheria moved page B Flag to B Flag (Super FX): there is a b flag on the 6502 too) |
||
(25 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: | ||
* ADC | * [[GSU/ADC|ADC]] R<sub>n</sub> | ||
* ADC #n | * [[GSU/ADC|ADC]] #n | ||
* ADD | * [[ADD]] R<sub>n</sub> | ||
* ADD #n | * [[ADD]] #n | ||
* AND | * [[GSU/AND|AND]] R<sub>n</sub> | ||
* AND #n | * [[GSU/AND|AND]] #n | ||
* ASR | * [[ASR]] | ||
* BIC | * [[BIC]] R<sub>n</sub> | ||
* BIC #n | * [[BIC]] #n | ||
* CACHE | * [[CACHE]] | ||
* CMODE | * [[CMODE]] | ||
* CMP | * [[GSU/CMP|CMP]] R<sub>n</sub> | ||
* COLOR | * [[COLOR]] | ||
* DEC | * [[GSU/DEC|DEC]] R<sub>n</sub> | ||
* DIV2 | * [[DIV2]] | ||
* FMULT | * [[FMULT]] | ||
* GETB | * [[GETB]] | ||
* GETBH | * [[GETBH]] | ||
* GETBL | * [[GETBL]] | ||
* GETBS | * [[GETBS]] | ||
* GETC | * [[GETC]] | ||
* HIB | * [[HIB]] | ||
* IBT | * [[IBT]] R<sub>n</sub>, #pp | ||
* INC | * [[GSU/INC|INC]] R<sub>n</sub> | ||
* IWT | * [[IWT]] R<sub>n</sub>, #xx | ||
* JMP | * [[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 | * [[LJMP]] R<sub>n</sub> | ||
* LM | * [[LM]] R<sub>n</sub>, (xx) | ||
* LMS | * [[LMS]] R<sub>n</sub>, (yy) | ||
* LMULT | * [[LMULT]] | ||
* LOB | * [[LOB]] | ||
* LOOP | * [[LOOP]] | ||
* 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 | * [[MULT]] R<sub>n</sub> | ||
* MULT #n | * [[MULT]] #n | ||
* NOP | * [[GSU/NOP|NOP]] | ||
* NOT | * [[NOT]] | ||
* OR | * [[OR]] R<sub>n</sub> | ||
* OR #n | * [[OR]] #n | ||
* PLOT | * [[PLOT]] | ||
* RAMB | * [[RAMB]] | ||
* ROL | * [[GSU/ROL|ROL]] | ||
* ROMB | * [[ROMB]] | ||
* ROR | * [[GSU/ROR|ROR]] | ||
* RPIX | * [[RPIX]] | ||
* SBC | * [[GSU/SBC|SBC]] R<sub>n</sub> | ||
* SBK | * [[SBK]] | ||
* SEX | * [[SEX]] | ||
* SM (xx), | * [[SM]] (xx), R<sub>n</sub> | ||
* SMS (yy), | * [[SMS]] (yy), R<sub>n</sub> | ||
* STB ( | * [[STB]] (R<sub>m</sub>) | ||
* STOP | * [[STOP]] | ||
* STW ( | * [[STW]] (R<sub>m</sub>) | ||
* SUB | * [[SUB]] R<sub>n</sub> | ||
* SUB #n | * [[SUB]] #n | ||
* SWAP | * [[SWAP]] | ||
* UMULT | * [[UMULT]] R<sub>n</sub> | ||
* and presumably UMULT #n too | * and presumably UMULT #n too | ||
Line 72: | Line 79: | ||
* [[Dither Flag]] | * [[Dither Flag]] | ||
* [[Break Flag]] | * [[Break Flag]] | ||
* [[ALT1]] | |||
* [[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.