www.mikrocontroller.net

Forum: Offtopic Erläuterung zu AVR Instruction set


Autor: 6655432 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 6655432 (Gast)
Datum:

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

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: None (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.