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.....
wie du schon sagst...wirft nen fehler, das wars gruß fabian
Gast
#439629
Bei mir funktioniert dieses Vorgehen ohne Probleme. Man darf nur nicht durcheinanderkommen.
ok danke.
Gast
#439659
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.
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.