|
ANL <Zielbyte>,<Quellenbyte>
Logische UND-Verknüpfung zweier Byte-Variablen.
|
ANL A,Rr |
|
Rr = Inhalt eines der Register R0 bis R7 |
ANL A,direct |
|
direct = Adresse im unteren RAM oder SFR |
ANL A,@Ri |
|
@Ri = 8 Bit Adresse in R0 oder R1 |
ANL A,#data |
|
#data = unmittelbare 8 Bit Konstante |
ANL direct,A |
|
|
ANL direct,#data |
|
|
|
Durch ANL erfolgt eine bitweise logische UND-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
ANL A,R0
ergibt 82H (10000010B) im Akkumulator.
Wird das Zielbyte direkt adressiert, so können mit diesem Befehl Bitkombinationen in einem beliebigen RAM-Speicherplatz oder Hardware-Register (SFR) gelöscht werden.
Die zu löschende 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
ANL P1,#01110011B
löscht die Bits 7, 3 und 2 vom Ausgangs-Port 1. |
ANL A,Rr
UND-Verknüpfung des Registers Rr und dem Akkumulator (A).
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 1
Zyklen: 1
Befehlscodierung
|
ANL A,direct
UND-Verknüpfung der Adresse (direct) und dem Akkumulator (A).
direct = Adresse im unteren RAM oder SFR
Bytes: 2
Zyklen: 1
Befehlscodierung
|
ANL A,@Ri
UND-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
|
ANL A,#data
UND-Verknüpfung des Wertes #data und dem Akkumulator (A).
#data = unmittelbare 8 Bit Konstante
Bytes: 2
Zyklen: 1
Befehlscodierung
|
ANL direct,A
UND-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
|
ANL direct,#data
UND-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: 3
Zyklen: 1
Befehlscodierung
|
|

|
|