Ich habe etwas in den Assembler-Dokumentationen des AVR-Mikrocontrollers gelesen und stoße normalerweise auf eine Zeile, die beschreibt, wie sich ein Befehl auf ein bestimmtes Flag im Statusregister auswirkt.
Nehmen wir ein Beispiel von der ADD-Anweisungsseite
H:
Rd3 • Rr3 + Rr3 • R3 ¯ + R3 ¯ • Rd3
gesetzt, wenn es einen Übertrag von Bit 3 gab; anderweitig gelöscht
In dieser Zeile
Rd3 • Rr3 + Rr3 • R3 ¯ + R3 ¯ • Rd3
Wie kann ich diese Zeile lesen, was bedeuten diese Symbole?
Zunächst einmal leiden die Formeln unter einem Tippfehler in dieser HTML-Version der Dokumente (das PDF nicht). Die Formel, die Sie zitieren, sollte lauten:
In dieser Formel gibt es drei Werte.
ist der aktuelle Wert des Zielregisters,
der aktuelle Wert des Quellregisters ist und
ist das Ergebnis der Anweisung (z. B. for ADD
it would be
).
Die Zahl neben dem Wert stellt dar, welches Bit aus dem Wert in der Berechnung verwendet wird. In diesem Fall wäre es etwas für jedes der Register.
Die Operatoren sind die standardmäßigen booleschen Operatoren für AND ( ) und ODER ( ).
Wenn Sie die abgeleiteten Klammern hinzufügen (UND hat Vorrang vor ODER in Booleschen Gleichungen), erhalten Sie:
Hoffentlich ist es in dieser Form ziemlich einfach zu folgen.
Muhammad Nur
Muhammad Nur
Tom Tischler