Forum: Offtopic Erläuterung zu AVR Instruction set


von 6655432 (Gast)


Lesenswert?

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?

von crazy horse (Gast)


Lesenswert?

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

von 6655432 (Gast)


Lesenswert?

OK, d.h. alle Register von 0 bis 31 und alle Ausgabeadressen von 0 bis 
63 können genutzt werden.

von Gast (Gast)


Lesenswert?

Ja.

von crazy horse (Gast)


Lesenswert?

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.

von None (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.