Bitte aktiviere JavaScript!
8086/88 Assembler Befehlsreferenz XOR

Exclusive or.

Logische Exklusiv-Oder-Verknüpfung.

Syntax:

XOR <Zieloperand>,<Quelloperand>

Dieser Befehl bildet die logische, ausschließende Oder-Verknüpfung aus zwei gegebenen Operanden. Dazu werden die Bits der beiden Operanden der Reihe nach miteinander verknüpft. Besitzen je zwei korrespondierende Bits in beiden Operanden einen unterschiedlichen Wert, wird das entsprechende Bit auch im Ergebnis gesetzt, ansonsten (also wenn beide Bits gleich sind) wird das entsprechende Bit im Ergebnis gelöscht. Die Verknüpfungstabelle sieht folgendermaßen aus:
0 XOR 0 = 0
0 XOR 1 = 1
1 XOR 0 = 1
1 XOR 1 = 0
Als Operanden können zwei Register einsetzt werden oder ein Register und eine Speicheradresse oder eine Konstante oder ein Register und eine Speicherstelle. Verwendet wird dieses Kommando häufig, um einem Register den Wert 0 zuzuweisen. Dazu wird das entsprechende Register über den XOR-Befehl mit sich selbst verknüpft. Weil dann alle Bits den gleichen Inhalt haben, ist das Ergebnis Null. Diese Methode arbeitet wesentlich schneller als das Laden einer Null in das Register mit Hilfe des MOV-Kommandos, da hierzu keine Speicherzugriffe notwendig sind. Der XOR-Befehl läßt sich auch dazu einsetzen, um einen Wert zu invertieren. Dazu wird dieser mit einer Zahl verknüpft, bei der alle Bits gesetzt sind. Allerdings bietet das NOT-Kommando hierzu eine wesentlich schnellere Lösung.

Beispiel:

XOR AX,AX ;lösche AX-Register