Hallo, Im Anhang ist der PAP, der Code, und die Erklärung dazu. (Code ist aus einem Lehrbuch) ich wollte mal fragen ob ich das richtig verstanden habe. Es geht um die Warteschleife und die dafür gemachten Zähler 1 und 2. r16 soll Zähler 1 sein. r17 soll Zähler 2 sein. Ich habe das so verstanden. Die register r16 und r17 werden zuächst auf "0" gesetzt. Anschließend wird bei Tasterdruck der Befehl "inc" verarbeitet. Dieser Befehl bewirkt dass sich das Register 16 um +1 erhöht. also: 1. durchlauf 0b0000 0001 2. durchlauf 0b0000 0011 3. durchlauf 0b0000 0111 usw. bis 0b1111 1111 dann wird es wieder "0" = 0b0000 0000 Das erwähnte Z-Flag wird jetzt gesetzt?? richtig? "brne" prüft das Z-Flag, wenn das Z-Flag gesetzt ist dann wird zum nächsten zähler gewechselt. Das gleiche passiert nun mit r17. anschließend wenn der Taster immer noch gedrückt ist, dann wird der befehl "rol" ausgeführt. Habe ich das richtig verstanden dass dieser gesamte Ablauf während eines kurzen Tasterdrucks geschieht ? D.h. der Microcontroller führt das im Milisekunden Bereich aus...
O. A. schrieb: > dass dieser gesamte Ablauf während eines kurzen Tasterdrucks geschieht Auch während eines langen. ;-) Aber eben nur während eines Tastendrucks. Allerdings werden die Zähler beim Rücksprung zu "mainloop" nicht re-initialisiert, laufen also mit ihren vorigen Zählerständen weiter. Sieht alles irgendwie sehr akademisch aus …
Jörg W. schrieb: > Sieht alles irgendwie sehr akademisch aus … Das heißt ? Gut oder schlecht? : ) Aber sonst habe ich es also richtig verstanden`? Das mit dem Z-Flag etc.
O. A. schrieb: > Das heißt ? Gut oder schlecht? : ) Seltsam, irgendwie praxisfern. Wenn man eine Verzögerung haben will, würde man eine Funktion bauen, die eine entsprechende Zeit verzögert, und diese dann aufrufen, aber nicht irgendwo wild in Registern herumzählen und dann ganz woanders hinspringen. > Aber ich habe es also richtig verstanden`? Das mit dem Z-Flag etc... Ja.
O. A. schrieb: > Aber sonst habe ich es also richtig verstanden`? Das mit dem Z-Flag etc. Im Zweifelsfall ist die ultimative Quelle immer Atmel mit dem 'AVR Instruction Set Manual': http://www.atmel.com/images/Atmel-0856-AVR-Instruction-Set-Manual.pdf Hier wird jeder Befehl mit den beeinflussten Flags beschrieben.
Jörg W. schrieb: >> Aber ich habe es also richtig verstanden`? Das mit dem Z-Flag etc... > > Ja. Ich danke dir für das Feedback Jörg. Hat mir geholfen. Matthias S. schrieb: > Im Zweifelsfall ist die ultimative Quelle immer Atmel mit dem 'AVR > Instruction Set Manual': > http://www.atmel.com/images/Atmel-0856-AVR-Instruction-Set-Manual.pdf > > Hier wird jeder Befehl mit den beeinflussten Flags beschrieben. Ich danke für den Hinweis.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.



