Forum: Mikrocontroller und Digitale Elektronik Mehrmalige Registerzuweisung?


von Thomas (kosmos)


Lesenswert?

ich möchte einige Rechenroutinen in ein Programm integrieren. Da ich die 
Rechenergebnisse am Ende ins SRAM lege, wollte ich mal fragen ob ich die 
Register bei jeder Rechenroutine neu zuweisen kann? AVR-Studio wirft 
eine Warnung aber keinen Fehler aus.

Kleines Beispiel:
.def XYZ = R16
.def WXY = R17
Programm1.....


.def ZYX = R16
.def YXW =R17
Programm2.....

von Fabian B. (fabs)


Lesenswert?

wie du schon sagst...wirft nen fehler, das wars

gruß
fabian

von Visitor (Gast)


Lesenswert?

Bei mir funktioniert dieses Vorgehen ohne Probleme. Man darf nur nicht 
durcheinanderkommen.

von Thomas (kosmos)


Lesenswert?

ok danke.

von Unbekannter (Gast)


Lesenswert?

Die Warnung kommt, um Dir mitzuteilen dass Du etwas machst, wo die 
meisten einen Fehler machen. Wenn Du aber genau weisst, was Du machst, 
kannst Du das schon so machen.

von Hannes L. (hannes)


Lesenswert?

Wenn Du die Registerinhalte während der Rechnerei auf Stack sicherst und 
darauf achtest, dass Du keine Register verwendest, die für 
exklusivnutzung in ISRs vorgesehen sind, dann kannst Du die Register 
doch mit ihren ursprünglichen Bezeichnungen (r16, r17, ...) ansprechen.

Solange die Berechnungsroutine arbeitet, kann kein anderer Teil des 
Hauptprogramms arbeiten und die Register verändern. Nach der Rechnerei 
werden die alten Inhalte wiederhergestellt (pop), und das Hauptprogramm 
hat nix davon gemerkt.

...

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.