- Overflow flags get set when the register cannot properly represent the result as a signed value (you overflowed into the sign bit).
- Carry flags are set when the register cannot properly represent the result as an unsigned value (no sign bit required).