header.self8051
Suche   ||   HOME   ||   Eigenschaften   ||   Befehlsreferenz   ||   Derivate   ||  
 Eigenschaften
 Befehlsreferenz
     Einführung
    > alle Befehle
        ACALL
        ADD
        ADDC
        AJMP
        ANL
        ANL  C
        CJNE
        CLR
        CLR  A
        CPL
        CPL  A
        DA  A
        DEC
        DIV  AB
        DJNZ
        INC
        INC  DPTR
        JB
        JBC
        JC
        JMP
        JNB
        JNC
        JNZ
        JZ
        LCALL
        LJMP
       > MOV
        MOV  C
        MOV  DPTR
        MOVC
        MOVX
        MUL  AB
        NOP
        ORL
        ORL  C
        POP
        PUSH
        RET
        RETI
        RL  A
        RLC  A
        RR  A
        RRC  A
        SETB
        SJMP
        SUBB
        SWAP  A
        XCH
        XCHD
        XRL
 Derivate
 interessante Links
 SiteMap
Sie sind hier: SELF8051 || Befehlsreferenz || alle Befehle || MOV

MOV     <Zielbyte>,<Quellenbyte>


Funktion


Kopiere Byte-Variablen.

 

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

 

Beschreibung


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.

 

Beispiel


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

 1   1   1   0   1   r    r    r  

 

 

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

 1   1   1   0   0   1   0   1 
    
  direkte Adresse  

 

 

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

 1   1   1   0   0   1   1   i 

 

 

MOV     A,#data

Lade den Akkumulator (A) mit dem Wert  #data.
#data = unmittelbare 8 Bit Konstante

Bytes:      2
Zyklen:    1

Befehlscodierung

 1   1   1   0   0   1   0   0 
    
  unmittelbare Daten  

 

 

MOV     Rr,A

Kopiere den Akkumulator (A) in das Register Rr .
Rr = R0 .. R7 der gewählten Registerbank

Bytes:      1
Zyklen:    1

Befehlscodierung

 1   1   1   1   1   r    r    r  

 

 

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

 1   0   1   0   1   r    r    r  
    
  direkte Adresse  

 

 

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

 0   1   1   1   0   r    r    r  
    
  unmittelbare Daten  

 

 

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

 1   1   1   1   0   1   0   1 
    
  direkte Adresse  

 

 

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

 1   0   0   0   1   r    r    r  
    
  direkte Adresse  

 

 

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

 1   0   0   0   0   1   0   1 
    
  direkte Adresse (Quelle)  
    
  direkte Adresse (Ziel)  

 

 

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

 1   0   0   0   0   1   1   i  
    
  direkte Adresse  

 

 

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

 0   1   1   1   0   1   0   1 
    
  direkte Adresse  
   
  unmittelbare Daten 

 

 

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

 0   1   1   1   0   1   1   i 

 

 

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

 0   1   0   1   0   1   1   i  
    
  direkte Adresse  

 

 

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

 0   1   1   1   0   1   1   i  
    
  unmittelbare Daten  

Fehler auf dieser Seite melden



 

Seite drucken

Send a Friend

 
 zum Seitenanfang || Impressum   © Autor Dipl. Ing. Sven Pohl


Tipp: rechtssichere Patientenverfügung einfach online erstellen für nur 14,90 €

  

 

Wertschätzen Sie den Aufwand und den Inhalt mit einer kleinen Spende. Danke.

Sie bestimmen die Höhe, jeder noch so kleine Betrag hilft.

 

   
HASM - Skyscrapper 1