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

From SnesLab
Revision as of 02:37, 16 August 2024 by Xetheria (talk | contribs) (Category:Condition Codes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The Carry Flag (C) is bit 0 of the 65c816's 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 instructions (except those that can only increment/decrement by one) 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.

As mentioned above, none of INC, DEC, INX, DEX, INY nor DEY modify the carry flag.

See Also

References