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 || ADD

ADD     A,<Operand>


Funktion


Addieren    (ohne Berücksichtigung des Übertragsbit (CY)).

 

ADD     A,Rr                     Rr = Inhalt eines der Register R0 bis R7
ADD     A,direct   direct = Adresse im unteren RAM oder SFR
ADD     A,@Ri   @Ri = 8 Bit Adresse in R0 oder R1
ADD     A,#data   #data = unmittelbare 8 Bit Konstante

 

Beschreibung


A = A + Operand
ADD addiert den angegeben Operanden zum Inhalt des Akkumulators (A), wo auch das Ergebnis abgelegt wird.

CY = 1
Das Übertragsbit (CY) wird gesetzt, wenn ein Übertrag von Bit 7 entsteht, andernfalls wird CY gelöscht. Werden ganze Zahlen ohne Vorzeichen addiert, zeigt das Übertragsbit (CY) einen Überlauf an.

AC = 1
Das Hilfsübertragsbit (AC) wird gesetzt, wenn ein Übertrag von Bit 3 entsteht, andernfalls wird AC gelöscht.

OV = 1
Das Überlaufbit (OV) wird gesetzt, wenn sich ein Übertrag aus Bit 6, aber nicht aus Bit 7 ergibt oder wenn sich ein Übertrag aus Bit 7, aber nicht aus Bit 6 ergibt. Andernfalls wird OV gelöscht.
Bei der Addition vorzeichenbehafteter, ganzer Zahlen zeigt OV an, dass eine negative Zahl durch Addition von zwei positiven Operanden entstanden ist (infolge Überschreitung des Bereiches der zugelassenen vorzeichenbehafteten Zahlen) oder dass eine positive Zahl durch Addition von zwei negativen Operanden entstanden ist (aus dem selben Grund).

 

Beispiel


Der Akkumulator (A) enthalte C3H (11000011B) und Register R0   AAH (10101010B). Der Befehl

ADD     A,R0

ergibt 6DH (01101101B) im Akkumulator. Das Hilfsübertragsbit ist gelöscht (AC=0), das Übertragsbit ist gesetzt (CY=1) und das Überlaufbit ist gesetzt (OV=1).

 

 

ADD     A,Rr

Addiert den Inhalt des Registers  r  zum Inhalt des Akkumulator (A).
Rr = R0 .. R7 der gewählten Registerbank

Bytes:      1
Zyklen:    1

Befehlscodierung

 0   0   1   0   1   r   r   r 

 

 

ADD     A,direct

Addiert den Inhalt der Adresse (direct) zum Akkumulator (A).
direct = Adresse im unteren RAM oder SFR

Bytes:      2
Zyklen:    1

Befehlscodierung

 0   0   1   0   0   1   0   1 
    
  direkte Adresse  

 

 

ADD     A,@Ri

Addiert den Inhalt der Adresse, welche durch den Wert in  Ri  definiert ist, zum Akkumulator (A).
@Ri = 8 Bit Adresse in R0 oder R1

Bytes:      1
Zyklen:    1

Befehlscodierung

 0   0   1   0   0   1   1   i 

 

 

ADD     A,#data

Addiert den Wert  #data zum Akkumulator (A).
#data = unmittelbare 8 Bit Konstante

Bytes:      2
Zyklen:    1

Befehlscodierung

 0   0   1   0   0   1   0   0 
    
  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