6.46.2 Status Register (SREG) and Boolean Formula

ITHSVNZC
H

Rd3 ∧ Rr3 ∨ Rr3 ∧ R3 ∨ R3 ∧ Rd3

Set if there was a borrow from bit 3; cleared otherwise.

S
N ⊕ V, for signed tests.
V

Rd7 ∧ Rr7R7Rd7 ∧ Rr7 ∧ R7

Set if two’s complement overflow resulted from the operation; cleared otherwise.

N

R7

Set if MSB of the result is set; cleared otherwise.

Z

R7R6R5R4R3R2R1R0 ∧ Z

The previous value remains unchanged when the result is zero; cleared otherwise.

C

Rd7 ∧ Rr7 ∨ Rr7 ∧ R7 ∨ R7 ∧ Rd7

Set if the absolute value of the contents of Rr plus previous carry is larger than the absolute value of Rd; cleared otherwise.

R (Result) after the operation.

Example:

                   ; Compare r3:r2 with r1:r0
      cp    r2,r0  ; Compare low byte
      cpc   r3,r1  ; Compare high byte
      brne  noteq  ; Branch if not equal
      ...
noteq: 
      nop          ; Branch destination (do nothing)
Words
1 (2 bytes)
Table 6-46. Cycles
NameCycles
AVRe1
AVRxm1
AVRxt1
AVRrc1