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

Carry Flag: Difference between revisions

From SnesLab
Jump to: navigation, search
(→‎See Also: Negative/Overflow)
(all Arithmetic/shift+rotate)
Line 3: Line 3:
It can be set with [[SEC]] and cleared with [[CLC]].  Or, [[SEP]] and [[REP]] can be used.
It can be set with [[SEC]] and cleared with [[CLC]].  Or, [[SEP]] and [[REP]] can be used.


The following other 10 instructions have side effects that directly affect the carry flag:
The following other 10 instructions have side effects that directly affect the carry flag, which includes all arithmetic and all shift/rotate instructions:


* [[ADC]] (becomes set when an addition overflows)
* [[ADC]] (becomes set when an addition overflows)

Revision as of 02:24, 10 August 2024

The Carry Flag (C) exists on the 65c816 as bit 0 of the status register.

It can be set with SEC and cleared with CLC. Or, SEP and REP can be used.

The following other 10 instructions have side effects that directly affect the carry flag, which includes all arithmetic and all shift/rotate instructions:

  • ADC (becomes set when an addition overflows)
  • ASL (becomes whatever the most significant bit was)
  • CMP
  • CPX
  • CPY
  • LSR (becomes whatever bit 0 was)
  • ROL (becomes whatever the most significant bit was)
  • ROR (becomes whatever bit 0 was)
  • SBC (where it is often called the "borrow flag" instead)
  • XCE (becomes whatever the e flag was)

The following two instructions indirectly affect the carry flag by loading the status register:

The carry flag influences whether BCS and BCC branch or not.

See Also

Reference