|
XRL <Zielbyte>,<Quellenbyte>
Logische Exklusiv-ODER-Verknüpfung zweier Byte-Variablen.
|
XRL A,Rr |
|
Rr = Inhalt eines der Register R0 bis R7 |
XRL A,direct |
|
direct = Adresse im unteren RAM oder SFR |
XRL A,@Ri |
|
@Ri = 8 Bit Adresse in R0 oder R1 |
XRL A,#data |
|
#data = unmittelbare 8 Bit Konstante |
XRL direct,A |
|
|
XRL direct,#data |
|
|
|
Durch XRL erfolgt eine bitweise logische Exklusiv-ODER-Verknüpfung zwischen dem angegebenen <Zielbyte> und dem <Quellenbyte>. Die anschließende Speicherung des Ergebnisses erfolgt im <Zielbyte>.
Kennzeichnungsbits werden nicht beeinflußt.
Die beiden Operanden erlauben sechs Kombinationen von Adressierungsatren. Wenn das Ziel der Akkumulator ist, können für die Quelle die Adressierungsarten Register, direkt, registerindirekt oder unmittelbar verwendet werden. Ist das Ziel durch direkte Adressierung bestimmt, so kann es sich bei der Quelle um den Akkumulator oder um unmittelbare Daten handeln.
Zur Beachtung:
Dient dieser Befehl zur Änderung des Wertes eines Ausgangsports, so wird der zu verarbeitende Portwert vom Ausgangs-Zwischenspeicher und nicht von den Eingangsanschlüssen direkt gelesen.
|
Der Akkumulator (A) enthalte C3H (11000011B) und Register R0 AAH (10101010B). Der Befehl
XRL A,R0
ergibt 69H (011010011B) im Akkumulator.
Wird das Zielbyte direkt adressiert, so können mit diesem Befehl Bitkombinationen in einem beliebigen RAM-Speicherplatz oder Hardware-Register (SFR) komplementiert werden.
Die zu komplementierende Bitanordnung wird durch eine Maske festgelegt, die entweder eine im Befehl enthaltene Konstante oder ein Wert sein kann, der während der Ausführungszeit im Akkumulator (A) berechnet wird. Der Befehl
XRL P1,#00110001B
komplementiert die Bits 5, 4 und 0 vom Ausgangs-Port 1. |
XRL A,Rr
Exklusiv-ODER-Verknüpfung des Registers Rr und dem Akkumulator (A).
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 1
Zyklen: 1
Befehlscodierung
|
XRL A,direct
Exklusiv-ODER-Verknüpfung der Adresse (direct) und dem Akkumulator (A).
direct = Adresse im unteren RAM oder SFR
Bytes: 2
Zyklen: 1
Befehlscodierung
|
XRL A,@Ri
Exklusiv-ODER-Verknüpfung des Inhaltes der Adresse, welche durch den Wert in Ri definiert ist, mit Akkumulator (A).
@Ri = 8 Bit Adresse in R0 oder R1
Bytes: 1
Zyklen: 1
Befehlscodierung
|
XRL A,#data
Exklusiv-ODER-Verknüpfung des Wertes #data und dem Akkumulator (A).
#data = unmittelbare 8 Bit Konstante
Bytes: 2
Zyklen: 1
Befehlscodierung
|
XRL direct,A
Exklusiv-ODER-Verknüpfung der Adresse (direct) und dem Akkumulator (A). Das Ergebnis wird in die Adresse (direct) geschrieben.
direct = Adresse im unteren RAM oder SFR
Bytes: 2
Zyklen: 1
Befehlscodierung
|
XRL direct,#data
Exklusiv-ODER-Verknüpfung der Adresse (direct) und dem Wert #data. Das Ergebnis wird in die Adresse (direct) geschrieben.
direct = Adresse im unteren RAM oder SFR
#data = unmittelbare 8 Bit Konstante
Bytes: 2
Zyklen: 1
Befehlscodierung
|
|

|
|