|
MOV <Zielbyte>,<Quellenbyte>
MOV A,Rr |
|
Rr = Inhalt eines der Register R0 bis R7 |
MOV A,direct *) |
|
direct = Adresse im unteren RAM oder SFR |
MOV A,@Ri |
|
@Ri = 8 Bit Adresse in R0 oder R1 |
MOV A,#data |
|
#data = unmittelbare 8 Bit Konstante |
MOV Rr,A |
|
|
MOV Rr,direct |
|
|
MOV Rr,#data |
|
|
MOV direct,A |
|
|
MOV direct,Rr |
|
|
MOV direct,direct |
|
|
MOV direct,@Ri |
|
|
MOV direct,#data |
|
|
MOV @Ri,A |
|
|
MOV @Rr,direct |
|
|
MOV @Ri,#data |
|
|
*) MOV A,ACC ist kein zulässiger Befehl
|
Die im <Quellenbyte> angegebene Byte-Variable wird in den im <Zielbyte> angegebenen Speicherplatz kopiert.
Das <Quellenbyte> wird nicht geändert. Andere Register oder Kennzeichnungsbits werden nicht beeinflußt.
Dieser Befehl gestattet bei weitem die meisten Varianten. 15 Kombinationen von Adressierungsarten des Quellen- und Zieloperanten sind zulässig.
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 Speicherplatz 30H des internen RAM enthalte 40H, der Inhalt des RAM-Speicherplatzes 40H sei 10H. Am Eingangsport 1 liegen die Daten CAH (11001010B). Die Befehlsfolge
MOV R0,#30H ;R0 = 30H
MOV A,@R0 ;A = 40H
MOV R1,A ;R1 = 40H
MOV B,@R1 ;B = 10H
MOV @R1,P1 ;RAM(40H) = CAH
MOV P2,P1 ;P2 = CAH
bringt 30H in Register R0, 40H sowohl in den Akkumulator als auch in Register R1, 10H in Register B und CAH (11001010B) sowohl in den RAM-Speicherplatz 40H als auch an die Ausgangsanschlüsse von Port 2. |
MOV A,Rr
Kopiere Rr in den Akkumulator (A).
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 1
Zyklen: 1
Befehlscodierung
|
MOV A,direct
Kopiere den Inhalt der Adresse (direct) in den Akkumulator (A).
direct = Adresse im unteren RAM oder SFR
!!! MOV A,ACC ist kein zulässiger Befehl !!!
Bytes: 2
Zyklen: 1
Befehlscodierung
|
MOV A,@Ri
Kopiere den Inhaltes der Adresse, welche durch den Wert in Ri definiert ist, in den Akkumulator (A).
@Ri = 8 Bit Adresse in R0 oder R1
Bytes: 1
Zyklen: 1
Befehlscodierung
|
MOV A,#data
Lade den Akkumulator (A) mit dem Wert #data.
#data = unmittelbare 8 Bit Konstante
Bytes: 2
Zyklen: 1
Befehlscodierung
|
MOV Rr,A
Kopiere den Akkumulator (A) in das Register Rr .
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 1
Zyklen: 1
Befehlscodierung
|
MOV Rr,direct
Kopiere den Inhalt der Adresse (direct) in das Register Rr .
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 2
Zyklen: 2
Befehlscodierung
|
MOV Rr,#data
Lade das Register Rr mit dem Wert #data .
#data = unmittelbare 8 Bit Konstante
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 2
Zyklen: 1
Befehlscodierung
|
MOV direct,A
Kopiere den Inhalt des Akkumulators (A) in die Adresse (direct).
direct = Adresse im unteren RAM oder SFR
Bytes: 2
Zyklen: 1
Befehlscodierung
|
MOV direct,Rr
Kopiere den Inhalt des Registers Rr in die Adresse (direct).
direct = Adresse im unteren RAM oder SFR
Rr = R0 .. R7 der gewählten Registerbank
Bytes: 2
Zyklen: 1
Befehlscodierung
|
MOV direct,direct
Kopiere den Inhalt der Quellen-Adresse (direct) in die Ziel-Adresse (direct).
direct = Adresse im unteren RAM oder SFR
Bytes: 3
Zyklen: 2
Befehlscodierung
|
MOV direct,@Ri
Kopiere den Inhalt der Adresse, welche durch den Wert in Ri definiert ist, in die Adresse (direct).
direct = Adresse im unteren RAM oder SFR
@Ri = 8 Bit Adresse in R0 oder R1
Bytes: 2
Zyklen: 2
Befehlscodierung
|
MOV direct,#data
Lade die Adresse (direct) mit dem Wert #data..
direct = Adresse im unteren RAM oder SFR
#data = unmittelbare 8 Bit Konstante
Bytes: 3
Zyklen: 2
Befehlscodierung
|
MOV @Ri,A
Kopiere den Inhalt dees Akkumulators (A) in die Adresse, welche durch den Wert in Ri definiert ist.
@Ri = 8 Bit Adresse in R0 oder R1
Bytes: 1
Zyklen: 1
Befehlscodierung
|
MOV @Ri,direct
Kopiere den Inhalt der Adresse (direct) in die Adresse, welche durch den Wert in Ri definiert ist.
@Ri = 8 Bit Adresse in R0 oder R1
direct = Adresse im unteren RAM oder SFR
Bytes: 2
Zyklen: 2
Befehlscodierung
|
MOV @Ri,#data
Lade die Adresse, welche durch den Wert in Ri definiert ist, mit dem Wert #data.
#data = unmittelbare 8 Bit Konstante
@Ri = 8 Bit Adresse in R0 oder R1
Bytes: 2
Zyklen: 1
Befehlscodierung
|
|

|
|