So wie beim addieren das Carry Fag einen Übertrag anzeigt, so ist das gleiche Flag bei der Subtraction ein "Borrow". Wenn du also (mal dezimal gesehen) von 3 die 4 subtrahierst ist das Ergebnis = 9, aber du must von der nächst höheren Stelle eins borgen.
Wenn du vom Messwert einen Vergleichswert abziehst und carry ist nicht gesetzt, heißt das, das der Messwert höher ist.
mal sehen ob ich hier einen Teilcode hinkriege:
Code:
in INT_REG_L, ADCL ;lies lo Wert
in INT_REG_H, ADCH ;lies hi wert
subi INT_REG_L, BATT_MIN ;Subtrahiere lo Wert (oder Register)
sbci INT_REG_H, BATT_MIN ;Subtrahiere hi Wert (oder Register)
brcc batt_ok ;Messwert größer als Vergleich (kein borrow)
Lesezeichen