Guten Tag, folgendes Problem: Ich möchte eine IF-Anweisung in Assembler schreiben. Infos: ATMega128,Assembler, in Eclipse Hier mal der Pseudo-Code: while: call look4key // schreibt einen Wert in Register 17 // jetzt kommt mein Problem: if register 24 = 0xff -> springe zu while // wenn ungleich 0xff in r24 dann laufe weiter im code call ... call ... etc. danke für die Hilfe
Gibt es denn nirgendwo ein Assemblerprogramm für einen ATmega, wo man solche Dinge abkupfern kann? Falls der Inhalt von register 24 nicht weiter gebraucht wird, könnte man auf so Dinge wie
1 | INC R24 |
2 | BRNE myLabel |
kommen.
Michael schrieb: > Gibt es denn nirgendwo ein Assemblerprogramm für einen ATmega, wo man > solche Dinge abkupfern kann? > > Falls der Inhalt von register 24 nicht weiter gebraucht wird, könnte man > auf so Dinge wie >
1 | > INC R24 |
2 | > BRNE myLabel |
3 | > |
> kommen.
Leider wird der Inhalt in r24 später weiter verwendet, den kann ich also
nicht verändern. danke
Phillip Pressol schrieb: > Ich möchte eine IF-Anweisung in Assembler schreiben. In Assembler gibts sowas wie if nicht. In deinem Fall wäre das ein Vergleich. Also: cpi r24, 0xff breq -> Label zu deiner While Schleife, die es so in der Art in Assembler auch nicht gibt, musst du auch mit Hand programmieren, also so in etwa: Main: //was eben gemacht werden soll.. rjmp Main Arbeite doch einfach hier auf der Seite das Assembler Tutorial durch, das ist nicht schlecht gemacht. MfG Dennis
Vielen Dank! cpi r24, 0xff breq -> Label zu deiner While Schleife sowas habe ich gesucht! das while nur eine marke ist, ist mir bewusst : ) vielen dank
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.