Mehrmalige Registerzuweisung?

OP #439626
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.....
#439904
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.

...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren