We've just updated MediaWiki and its underlying software. If anything doesn't look or work quite right, please mention it to us. --RanAS

Overflow Flag: Difference between revisions

From SnesLab
Jump to: navigation, search
(hardware signal removed)
(how it behaves)
Line 9: Line 9:
* [[SEP]] (might set it)
* [[SEP]] (might set it)
* [[REP]] (might clear it)
* [[REP]] (might clear it)
* When the accumulator is 8 bits wide, V indicates whether the sum/difference of [[ADC]]/[[SBC]] is outside the range of -128 to 127.
* When the accumulator is 16 bits wide, V indicates whether the result of [[ADC]]/[[SBC]] is outside the range of -32768 to 32767.


It may be the most misunderstood flag of the [[65c816]] and the 6502.<sup>[2]</sup>  It is bit 6 of the [[status register]].
It may be the most misunderstood flag of the [[65c816]] and the 6502.<sup>[2]</sup>  It is bit 6 of the [[status register]].

Revision as of 15:59, 24 July 2024

The Overflow Flag (V) is affected only by the following eight instructions:

  • When the accumulator is 8 bits wide, V indicates whether the sum/difference of ADC/SBC is outside the range of -128 to 127.
  • When the accumulator is 16 bits wide, V indicates whether the result of ADC/SBC is outside the range of -32768 to 32767.

It may be the most misunderstood flag of the 65c816 and the 6502.[2] It is bit 6 of the status register.

There is no SEV instruction to directly set the overflow flag, but the 6502 and 65c02 do have a hardware signal to set it. Unfortunately this hardware signal was removed on the 65c816.

On the SPC700 it can be cleared with CLRV and is set whenever the half-carry flag is set.

See Also

References

  1. Eyes & Lichty, page 439: https://archive.org/details/0893037893ProgrammingThe65816/page/439
  2. Clark, Bruce. http://www.6502.org/tutorials/vflag.html
  3. Shirriff, Ken. https://www.righto.com/2012/12/the-6502-overflow-flag-explained.html?m=1
  4. lbid. https://www.righto.com/2013/01/a-small-part-of-6502-chip-explained.html?m=1
  5. Labiak. https://archive.org/details/Programming_the_65816/page/n118
  6. Pickens, John. NMOS 6502 Opcodes. http://www.6502.org/tutorials/6502opcodes.html#VFLAG