Grundlagen Assemblerprogrammierung 7

Logikbefehle:

Zu dieser Gruppe gehören die Befehle AND, OR, XOR und CPL. Die Befehle AND, OR und XOR verknüpfen das A-Register mit einem Operanden wiefolgt:
 
A-Register Operand AND OR XOR
0 0 0 0 0
0
1
0
1
1
1 0 0 1 1
1 1 1 0 0

 
Daraus folgt, das bei der AND-Verknüpfung alle Bits, die im Operanden 0 gesetzt sind, im A - Register auch 0 gesetzt werden.

Beispiel:
 
A-Register: 01001101 (dez. 77)
Operand   : 11010011 (dez. 211)
--------------------------
--------------------------
--------------------------
AND       : 01000001 (dez. 65)

Dieser Wert ist nach der AND-Operation im ARegister vorzufinden.

Bei der OR-Verknüpfung werden alle Bits, die im Operanden 1 gesetzt sind, auch im A-Register 1 gesetzt. Beispiel:
 
A-Register: 01001101 (dez. 77)
Operand   : 11010011 (dez. 211)
--------------------------
--------------------------
--------------------------
OR       : 11011111 (dez. 223)

Bei der XOR-Verknüpfung werden alle Bits, die im Operanden 1 gesetzt sind, im A-Register invertiert, d.h. sind diese Bits im A-Register gesetzt, werden sie gelöscht. Sind sie = 0, werden sie gesetzt.
Beispiel:
 
A-Register: 01001101 (dez. 77)
Operand   : 11010011 (dez. 211)
--------------------------
--------------------------
--------------------------
XOR       : 10011110 (dez. 158)

Das Ergebnis der Operation steht immer im ARegister. Dieses wird also zerstört und muss u.U. zuerst mit PUSH AF gerettet werden.

Der Befehl CPL bewirkt eine Invertierung des ganzen A-Register (entspricht also XOR &FF).

weiter->