2 Stimmen

Verstehen von bset und bclr

Ich bin auf ein Beispiel meines Professors gestoßen, das mich an meinem Verständnis der bset y bclr Montagebefehle.

Wenn ich das tue:

bset BITS,80

führe ich eine UND- oder eine ODER-Verknüpfung zwischen den beiden durch? Mein Referenzhandbuch sagt, dass bset tut dies:

M <= M + mask

Ist + ein ODER- oder ein UND-Operator? bclr ist derselbe Befehl, führt aber die Operation mit dem Komplement der Maske durch.

2voto

Ira Baxter Punkte 91118

Das Setzen und Löschen von Bits bedeutet eine bitweise ODER- bzw. UND-Verknüpfung. BSET sollte eine ODER-Verknüpfung und BCLR eine UND-Verknüpfung bewirken.

Es kann sein, dass BCLR einfach AND mit dem Bitvektor macht, den Sie ihm geben, oder BCLR macht AND mit dem Komplement des Bitvektors (meine Vermutung), je nachdem, wie nett die Designer des Befehlssatzes sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X