hallo, vielleicht hab ich ja gerade mal wieder nen brett vorm kopf? also mein code: kuerzen: cli clr LCD cut: cpi temp1,31 brge next_f jmp end_cut next_F: cpi temp1, 31 breq next_g subi temp1, 32 inc lcd jmp cut next_g: inc LCD end_cut: sei ret Problem: also ich springe ins unterprogramm und übergebe mit temp1 nen wert zw. 0 - 255. bis 127 ist alles i.o., ab 128 vergleicht cpi (hab es auch mit cp und nem separaten register probiert) die werte (gleich im cpi hinter Marke cut:) scheinbar nicht mehr richtig und spring nicht mehr zu next_f. 128 ist doch aber größer als 31 ??? hab schon an signed wert gedacht, aber lt. intruction chart ist bei cpi rd, K --> K = 0-255. überall im restlichen programm funktionieren die vergleiche, nur hier nicht. ziel ist: den temp1 wert durch 32(31 zu teilen), da ich das ergebnis zur speicheradressierung benötige! hat jemand ne idee, was hier daneben läuft? verwende AVR studio 4.10 und nen mega128 by by und schon mal danke
hat sich schon erledigt, testen wir eben auf lower und nicht auf greater or equal. byby
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.