Hallo zusammen, für die Profis unter den Assembler-Programmierern sicher eine banale Frage: Bei Microchip gab es mal ein Bootloader-Generator-Tool, welches automatisiert Assembler-Code erzeugen konnte. Ich denke, dass ich das Meiste davon verstanden habe. Nur auf eine Formulierung, die immer wieder auftaucht, kann ich mir keinen Reim machen -> Beispiel: decf U1BRGL,f In der Beschreibung des Assemblerbefehls decf steht: DECF f {,d {,a}} Decrement register ‘f’. If ‘d’ is ‘0’, the result is stored in W. If ‘d’ is ‘1’, the result is stored back in register ‘f’ (default). In meinem Beispiel ist U1BRGL = f und f = d. Das heisst, wenn f = 1 ist dann wird der decrementierte Wert in das Register U1BRGL zurück geschrieben, sonst in WREG. Ich habe aber noch nicht heraus finden können, wo das "f" in "decf U1BRGL,f" her kommt und was es bedeutet!? Wäre toll, wenn ihr mir helfen könntet! Danke & Gruß Dittmar
Dittmar L. schrieb: > Ich habe aber noch nicht heraus finden können, wo das "f" in "decf > U1BRGL,f" her kommt und was es bedeutet!? f bezeichnet das jeweilige Register. Also in deinem Fall U1BRGL. Der Wert wird aus diesem gelesen, decrementiert und wieder nach f geschrieben. Oder wie war deine Frage gemeint? Wenn du den Wert aus U1BRGL holen und das Ergebnis nach beispielsweise U2BRGL speichern willst, musst du den Umweg über das WREG nehmen.
Dittmar L. schrieb: > Ich habe aber noch nicht heraus finden > können, wo das "f" in "decf U1BRGL,f" her kommt und was es bedeutet!? Siehe dort im Beitrag "Re: PIC Assembler "MOVF" Befehl"
Lothar M. schrieb: > Dittmar L. schrieb: >> Ich habe aber noch nicht heraus finden >> können, wo das "f" in "decf U1BRGL,f" her kommt und was es bedeutet!? > Siehe dort im Beitrag "Re: PIC Assembler "MOVF" Befehl" Hallo Lothar, das war exakt das, was ich wissen wollte! Danke!!!
Dittmar L. schrieb: > Ich habe aber noch nicht heraus finden > können, wo das "f" in "decf U1BRGL,f" her kommt und was es bedeutet!? Also, das ",W" oder das ",F" schreibst du selber dort hin, wo du es haben willst. Das zugehörige Bit landet dann im jeweiligen Befehlswort. Ganz generell gilt die Regel, daß man mit den Maschinenbefehlen auf den Inhalt des angesprochenen Registers im RAM zugreift und bei ,W landet das Ergebnis im W-Register oder bei ,F landet es wieder in dem angesprochenen Register im RAM. Die PICs sind keine Load-Modify-Store Maschinen, sondern es entfällt das Load und das Store und was da übrig bleibt, ist nur noch das Modify. Das ist etwas anders, als man es bei manchen anderen Architekturen hat. Für kleine µC halte ich das allerdings für ausgesprochen elegant. W.S.
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.