Hi
Eigentlich ist das einfach....
Ich arbeite viel mit Variablen, also Speicherzellen aus dem SRAM. Fest zugeteilte Register hab ich selten und dann haben sie Namen wie "Zero", "Sekunde" etc. Diese Namen behalten sie über das ganze Programm. Es sind meist Register aus dem Bereich 0 bis 15. Nehme ich ein Unterprogramm, welches Register verändert, deren Inhalte jedoch noch gebraucht werden, dann wird gepusht und gepopt. Ich hab ja schon genug darauf hingewiesen, das da jeder Programmierer seinen Stil umsetzt, auch den Umgang mit Subroutinen. Und sicherlich hat er ein Schema, seine Register zu benennen und sie damit für eine Aufgabe zu spezifizieren. Wenn ich es für sinnvoll halte, tue ich es auch, aber sie haben einen Namen und gut. Wenn du die Register innerhalb des Programms umbenennst, dann mach das. Es ist dein Programm und auch dein Stil, Wenn du irgendwann einmal erkennst, das du es einfacher machen kannst, wirst du deinen Stil evtl. anpassen oder sogar ändern. Wenn ich heute Programme aus den 80ger Jahren von mir sehe, kann ich es manchmal auch nicht glauben. Du wirst dein Leben lang schauen, wie es andere machen und lächeln oder erstaunt sein. Es ist aber falsch, sich einen Stil anderer anzugewöhnen. Du wirst immer zweifel haben, es doch nicht optimal übernommen zu haben. Lass drei Experten in Assembler eine Aufgabe lösen und du bekommst drei Programme. Glaub mir, jeder ist von seiner Lösung überzeugt. Lass drei Autoren ein Buch über ein Thema schreiben... sieht genau so aus und wenn du dich an deine Schulzeit erinnerst, und an Aufsätze... Da waren nur die abgeschriebenen gleich. Nun sag mir, wer wird nie einen eigenen Stil entwickeln, auch wenn er, weil es nicht auffiel, eine gute Note erhalten hat ?
Ok, genug philosophiert. Schreib mir dein Problem und ich versuche dir meine Lösung dazu zu zeigen. Allerdings kann ich dir nicht mit einer Programmbibliothek aufwarten, da selten unterprogramme in verschiedenen Programmen so gleich sind. Klar, diverse Initialisierungen für Timer, UART, evtl. IO oder andereDinge, ja, aber die lade ich zuerst, dann da sehe ich, ob Register bereits Namen haben, die dann noch definiert werden müssen. Dadurch sind diese Grundlegenden Register auch immer zuerst da.
Gruß oldmax
Eigentlich ist das einfach....
Ich arbeite viel mit Variablen, also Speicherzellen aus dem SRAM. Fest zugeteilte Register hab ich selten und dann haben sie Namen wie "Zero", "Sekunde" etc. Diese Namen behalten sie über das ganze Programm. Es sind meist Register aus dem Bereich 0 bis 15. Nehme ich ein Unterprogramm, welches Register verändert, deren Inhalte jedoch noch gebraucht werden, dann wird gepusht und gepopt. Ich hab ja schon genug darauf hingewiesen, das da jeder Programmierer seinen Stil umsetzt, auch den Umgang mit Subroutinen. Und sicherlich hat er ein Schema, seine Register zu benennen und sie damit für eine Aufgabe zu spezifizieren. Wenn ich es für sinnvoll halte, tue ich es auch, aber sie haben einen Namen und gut. Wenn du die Register innerhalb des Programms umbenennst, dann mach das. Es ist dein Programm und auch dein Stil, Wenn du irgendwann einmal erkennst, das du es einfacher machen kannst, wirst du deinen Stil evtl. anpassen oder sogar ändern. Wenn ich heute Programme aus den 80ger Jahren von mir sehe, kann ich es manchmal auch nicht glauben. Du wirst dein Leben lang schauen, wie es andere machen und lächeln oder erstaunt sein. Es ist aber falsch, sich einen Stil anderer anzugewöhnen. Du wirst immer zweifel haben, es doch nicht optimal übernommen zu haben. Lass drei Experten in Assembler eine Aufgabe lösen und du bekommst drei Programme. Glaub mir, jeder ist von seiner Lösung überzeugt. Lass drei Autoren ein Buch über ein Thema schreiben... sieht genau so aus und wenn du dich an deine Schulzeit erinnerst, und an Aufsätze... Da waren nur die abgeschriebenen gleich. Nun sag mir, wer wird nie einen eigenen Stil entwickeln, auch wenn er, weil es nicht auffiel, eine gute Note erhalten hat ?
Ok, genug philosophiert. Schreib mir dein Problem und ich versuche dir meine Lösung dazu zu zeigen. Allerdings kann ich dir nicht mit einer Programmbibliothek aufwarten, da selten unterprogramme in verschiedenen Programmen so gleich sind. Klar, diverse Initialisierungen für Timer, UART, evtl. IO oder andereDinge, ja, aber die lade ich zuerst, dann da sehe ich, ob Register bereits Namen haben, die dann noch definiert werden müssen. Dadurch sind diese Grundlegenden Register auch immer zuerst da.
Gruß oldmax