We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS
Negative Flag: Difference between revisions
From SnesLab
(→Reference: hid archive URL) |
(more description of LSR) |
||
Line 46: | Line 46: | ||
* [[XBA]] | * [[XBA]] | ||
Also, [[LSR]] always clears the negative flag. | Also, [[LSR]] always clears the negative flag because it also shifts a zero into the operand's most significant bit, making it non-negative. | ||
[[BPL]] and [[BMI]] examine the negative flag to decide whether or not to branch. | [[BPL]] and [[BMI]] examine the negative flag to decide whether or not to branch. |
Revision as of 22:33, 8 August 2024
The Negative Flag (N) exists on the 65c816 as bit 7 of the status register. Although there are no dedicated SEN or CLN instructions to set or clear it, it can be set with SEP and cleared with REP:
SEP #$80 REP #$80
These instructions also affect the negative flag (this bulleted list being 37 long):
- ADC
- AND
- ASL
- BIT
- CMP
- CPX
- CPY
- DEC
- DEX
- DEY
- EOR
- INC
- INX
- INY
- LDA
- LDX
- LDY
- ORA
- PLA
- PLB
- PLD
- PLX
- PLY
- ROL
- ROR
- SBC
- TAX
- TAY
- TCD
- TDC
- TSC
- TSX
- TXA
- TXY
- TYA
- TYX
- XBA
Also, LSR always clears the negative flag because it also shifts a zero into the operand's most significant bit, making it non-negative.
BPL and BMI examine the negative flag to decide whether or not to branch.
See Also
Reference
- Labiak, Willam. Page 109