Forum: Mikrocontroller und Digitale Elektronik AVR Register


von Erik (Gast)


Lesenswert?

Ich habe ne Frage zu den Register R0-R31.
Wie finde ich raus welche Register ich mit welchen Befehlen verwenden
kann? R16-R31 geht ja bekanntlich mit allen Befehlen, und die Anderen?
Verwende einen Mega32 und im Datenblatt habe ich nichts gefunden....
Werden die x y und z Pointerregister eigentlich verändert wenn ich sie
für etwas anderes gebrauche, resp. ohne Pointerbefehle sie verwende?!

von Tobi (Gast)


Lesenswert?


von dave (Gast)


Lesenswert?

Das, was du suchst, steht im Tutorial ;) es ist der ausführliche
Befehlssatz: http://www.atmel.com/atmel/acrobat/doc0856.pdf

Faustformel: alles was mit Immediates gemacht wird (ANDI, ORI, LDI)

Die Pointerregister sind stinknormale Register und die Pointerbefehle
sind nur Zusatzfunktionen d.h. ja, sie werden verändert.

dave

von dave (Gast)


Lesenswert?

ups.. war etwas spät..

dave

von Santa Klaus (Gast)


Lesenswert?

>Wie finde ich raus welche Register ich mit welchen Befehlen verwenden
>kann? R16-R31 geht ja bekanntlich mit allen Befehlen, und die
Anderen?


1. Mit den oberen vier Registerpaaren, d. h. (R24, R25), (R26, R27),
(R28, R29) und (R30, R31) funktionieren die Instruktionen

ADIW
SBIW


2. Mit den Pointerregistern Y und Z funktionieren die Instruktionen

STD
LDD


3. Auf die Register R16 bis R31 beschränkt sind die Instruktionen

SUBI
SBCI
ANDI
ORI
SBR
CBR
SER
CPI
LDI

4. Alle anderen Instruktionen funktionieren mit allen Registern.

von ...HanneS... (Gast)


Lesenswert?

Das steht auch alles in der Hilfe zum AVR-Studio...

von Erik (Gast)


Lesenswert?

Dankeschön! Das hilft mir weiter!

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.