Ich möchte prüfen, ob die vorzeichenbehaftete Ganzzahl negativ ist. andi temp2,0b10000000 tst temp2 breq ZAHL_POSITIV brne ZAHL_NEGATIV Gibt es noch eine bessere Variante? Und jetzt soll der Betrag der negativen Ganzzahl gebildet werden com temp1 ' LOW com temp2 ' HIGH ldi temp3,1 clr temp4 add temp1, temp3 '+1 adc temp2, temp4 Ist dieses Verfahren zu umständlich, gibt es bessere? Danke Bernhard
Gast
#234703
BRMI/BRPL
> BRMI/BRPL
Stimmt, kann aber nur z.B. nach einer Subtraktion verwendet werden.
Ich hatte vergessen zu sagen, dass der Inhalt dieser Register an einer
ganz anderen Stelle geladen wird (TWI/USART).
Gast
#234705
... oder nach einem tst: tst temp2 brpl / brmi com temp1 ' LOW com temp2 ' HIGH inc temp1 breq a inc temp2 a:
Gast
#234706
oops com temp1 ' LOW com temp2 ' HIGH inc temp1 brne a 'überspringe den nächsten Befehl, wenn kein Übertrag (FF->00) inc temp2 a:
Gast
#234707
Ich hab's einfach mal in C geschrieben und geschaut, was der Compiler aus einem abs macht, und das scheint mir die kürzeste Variante zu sein:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
Danke für Eure guten Ideen, sie haben mir weiter geholfen. Gruß Bernhard