Hallo, ich möchte eine 16Bit-Zahl um eins erhöhen. Gibt es da einen speziellen Befehl? Ansonsten müsste ich immer prüfen, ob das Low-Byte 255 ist und wenn ja, dieses auf 0 setzen und das High-Byte um eins erhöhen. Ansonten eben nur das Low-Byte erhöhen. Danke! Sebastian
Die 3 gebräuchlichen Varianten: a) adiw r24, 1 b) subi r16, low(-1) sbci r17, high(-1) c) inc r14 brne weiter inc r15 weiter: Peter
bei den oberen Registern(paaren) gibts den Befehl adiw, (Addiert Registerpaar+Konstante) Ansonsten gehts auch so: subi r16, 0xff sbci r17, 0xff
Hi Peter, ich hatte bisher die Variante c), die gut lief (wenn auch umständlich). Mit "adiw ZL,1" geht's jedoch perfekt (und wesentlich platzsparender und eleganter!). Danke!!! :-) Grüße, Sebastian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.