Nabend, beginne gerade mit dem AVR-Tutorial und bearbeite gerade die Beispiele (LED's und so Sachen). Im Instruction set habe ich nach Hilfe für den Befehl "Out" gesucht. Alles klar bis auf das hier: Operands: 0 <= r <= 31, 0 <= A <= 63 Könnte mir bitte mal einer erklären, was das bedeutet?
tja, das ist Quelle und Ziel des Out-Befehls. D.h. das auszugebende Byte muss sich in einem Register befinden, alle Register können benutzt werden. Der zweite Parameter ist die I/O-Zieladresse (nicht identisch mit der Memory-Adresse!). also: ldi r16, 0xff //Parameter laden out r16, 60 // und ausgeben nach I/O-Adresse 60 Das ist jetzt nichts sinnvolles, geht nur ums Prinzip
OK, d.h. alle Register von 0 bis 31 und alle Ausgabeadressen von 0 bis 63 können genutzt werden.
So ist es. Wobei in den allermeisten Fällen dafür nur r16-r31 genutzt wird, da meist ein ldi-Befehl (und der ist nur bei r16-r31 verfügbar) vorausgeht.
Falls nun eine Adresse groesser 63 Ziel oder Quelle sein soll verwendet man LDS & STS
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.