Hilfe Startseite Assembler-Direktiven>
Direkt zu:
Arithmetik
Logische Befehle
Datentransport
Bitverarbeitende Befehle
Sprung-Befehle

Arithmetische Befehle

Hilfe Startseite
MnemonicFunktionBytesMZFlags
ADD A,RrDer Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku und dem Inhalt von Rr.11CY, AC, OV, P
ADD A,dadrDer Akkumulator wird Überschrieben durch das Ergebis der Addition von Akku und dem Inhalt von dadr.21CY,AC, OV,P
ADD A,@RiDer Akkumulator wird Überschrieben durch das Ergebis der Addition von Akku und dem Inhalt der internen Datenspeicherzelle, die durch Ri adressiert wird.11CY,AC, OV,P
ADD A,#const8Der Akkumulator wird Überschrieben durch das Ergebis der Addition von Akku und dem Inhalt der 8-Bit-Konstanten.21CY,AC, OV,P
ADDC A,RrDer Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, Rr und dem Inhalt des Carry-Flag.11CY,AC, OV,P
ADDC A, dadrDer Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, dadr und dem Inhalt des Carry-Flag.21CY,AC, OV,P
ADDC A, @RiDer Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, dem Inhalt der internen Datenspeicherzelle, die durch Ri adressiert wird und dem Inhalt des Carry-Flag.11CY,AC, OV,P
ADDC A, #const8Der Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, dem Inhalt der 8-Bit-Konstanten und dem Inhalt des Carry-Flag.21CY,AC, OV,P
SUBB A,RrDer Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von Rr und Carry-Flag.11CY,AC, OV,P
SUBB A,dadrDer Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von dadr und Carry-Flag.21CY,AC, OV,P
SUBB A,@RiDer Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von Carry-Flag und dem Inhalt der internen Datenspeicherzelle, die durch Ri adressiert wird.11CY,AC, OV,P
SUBB A,#const8Der Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von Carry-Flag und der 8-Bit-Konstanten.21CY,AC, OV,P
INC AZum Inhalt des Akkumulators wird inkrementiert.11P
INC RrDer Inhalt des Registers Rr wird inkrementiert.11-
INC dadrDer Inhalt der Speicherzelle dadr wird inkrementiert.21-
INC @RiDer Inhalt der Speicherzellen des internen Datenspeichers, der durch Ri adressiert ist, wird inkrementiert.11-
INC DPTRDer Inhalt des Datenpointers wird inkrementiert.12-
DEC ADer Inhalt des Akkumulators wird dekrementiert11P
DEC RrDer Inhalt des Registers Rr wird dekrementiert.11-
DEC dadrDer Inhalt der Speicherzelle dadr wird dekrementiert.21-
DEC @RiDer Inhalt der Speicherzelle des internen Datenspeichers, die durch Ri adressiert ist, wird dekrementiert.11-
MUL ABDie Inhalte von Akkumulator und Register B werden multipliziert. Das niederwertige Byte des Produktes steht im Akku, das höherwertige Byte im Register B. Das Carry-Flag wird gelöscht und das OV-Flag gesetzt, wenn das Ergebnis im Reg. B ungleich Null ist.14CY,OV,P
DIV ABDie Inhalte von Akkumulator und Register B werden dividiert. Der Quotienten steht im Akku, der Dvisionsrest im Register B. Das Carry-Flag wird gelöscht. Bei einer Division durch Null wird das OV-Flag gesetzt.14CY,OV,P
DA ADas Ergebnis einer vorangegangenen Addition zweier BCD-Zahlen steht im Akku und wird unter Berücksichtigung von Carry und Hilfscarry korrigiert.11CY,P
RL AVerschiebe den Inhalt des Akkus um eine Stelle nach links. Die höchstwertige Bitstelle wird in die niederwertigste Bitstelle verschoben.11-
RLC AVerschiebe den Inhalt des Akkus um eine Stelle nach links über das Carry-Flag. Der Inhalt des Carry-Flag wird in die niederwertigste Bitstelle verschoben.11CY,P
RR AVerschiebe den Inhalt des Akkus um eine Stelle nach rechts. Die niederwertigste Bitstelle wird in die höchstwertigste Bitstelle verschoben.11-
RRC AVerschiebe den Inhalt des Akkus um eine Stelle nach rechts über das Carry-Flag. Die niederwertigste Bitstelle wird in das Carry-Flag verschoben.11CY,P

Logische Befehle

Hilfe Startseite
MnemonicFunktionBytesMZFlags
ANL A,RrDer Akkumulator wird überschrieben durch das Ergebnis der UND-Verknüpfung von Akku und dem Inhalt von Rr.11P
ANL A,dadrDer Akkumulator wird überschrieben durch das Ergebnis der UND-Verknüpfung von Akku und dem Inhalt von dadr.21P
ANL A,@RiDer Akkumulator wird überschrieben durch das Ergebnis der UND-Verknüpfung von Akku und dem Inhalt der internen Datenspeicherzelle, die durch den Inhalt von Ri adressiert wird.11P
ANL A,#const8Der Akkumulator wird überschrieben durch die UND-Verknüpfung von Akku und der 8-Bit-Konstanten.21P
ANL dadr,ADer Inhalt von dadr wird überschrieben durch die UND-Verknüpfung von Akku und dem Inhalt von dadr.21-
ANL dadr,#const8Der Inhalt von dadr wird überschrieben durch die UND-Verknüpfung der 8-Bit-Konstanten und dem Inhalt von dadr.32-
ORL A,RrDer Akkumulator wird überschrieben durch die ODER-Verknüpfung von Akku und dem Inhalt von Rr.11P
ORL A,dadrDer Akkumulator wird überschrieben durch die ODER-Verknüpfung von Akku und dem Inhalt von dadr.21P
ORL A,@RiDer Akkumulator wird überschrieben durch die ODER-Verknüpfung von Akku und dem Inhalt der internen Datenspeicherzelle, die durch den Inhalt von Ri adressiert wird.11P
ORL A,#const8Der Akkumulator wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Akku und der 8-Bit-Konstanten.21P
ORL dadr,ADer Inhalt von dadr wird überschrieben durch die ODER-Verknüpfung von Akkumulator und dem Inhalt von dadr.21-
ORL dadr,#const8Der Inhalt von dadr wird überschrieben durch die ODER-Verknüpfung der 8-Bit-Konstanten und dem Inhalt von dadr.32-
XRL A,RrDer Akkumulator wird überschrieben durch das Ergebnis der EXCLUSIVE-ODER-Verknüpfung von Akku und dem Inhalt von Rr.11P
XRL A,dadrDer Akkumulator wird überschrieben durch das Ergebnis der EXCLUSIVE-ODER-Verknüpfung von Akku und dem Inhalt von dadr.21P
XRL A,@RiDer Akkumulator wird überschrieben durch die EXCLUSIVE-ODER-Verknüpfung von Akku und dem Inhalt der internen Datenspeicherzelle, die durch den Inhalt von Ri adressiert wird.11P
XRL A,#const8Der Akkumulator wird überschrieben durch das Ergebnis der EXCLUSIVE-ODER-Verknüpfung von Akku und der 8-Bit-Konstanten.21P
XRL dadr,ADer Inhalt von dadr wird überschrieben durch die EXCLUSIVE-ODER-Verknüpfung von Akkumulator und dem Inhalt von dadr.21-
XRL dadr,#const8Der Inhalt von dadr wird überschrieben durch die EXCLUSIVE-ODER-Verknüpfung der 8-Bit-Konstan-und dem Inhalt von dadr.32-
CLR ADer Akkumulator wird gelöscht.11P
CPL ADer Inhalt des Akkumulators wird invertiert.11P

Transport Befehle

Hilfe Startseite
MnemonicFunktionBytesMZFlags
MOV A,RrLade den Akkumulator mit dem Inhalt von Rr.11P
MOV A,dadrLade den Akkumulator mit dem Inhalt von dadr.21P
MOV A,@RiLade den Akkumulator mit dem Inhalt der internen Speicherzelle , die durch Ri adressiert wird.11P
MOV A,#konst8Lade den Akkumulator mit der 8-Bit-Konstanten.21P
MOV Rr,ALade Register Rr mit dem Inhalt des Akkumulators.11-
MOV Rr,dadrLade Register Rr mit dem Inhalt von dadr.22-
MOV Rr,#konst8Lade Register Rr mit der 8-Bit-Konstanten.21-
MOV dadr,ALade die interne Datenspeicherzelle mit dem Inhalt des Akkumulators.21-
MOV dadr,RrLade die interne Datenspeicherzelle mit dem Inhalt des Registers Rr.22-
MOV dadr,dadrLade die interne Datenspeicherzelle dadr mit dem Inhalt der internen Speicherzelle dadr.32-
MOV dadr,@RiLade die interne Datenspeicherzelle dadr mit dem Inhalt der intern. Speicherz.,die durch Ri adress. ist.22-
MOV dadr,#konst8Lade die interne Datenspeicherzelle dadr mit der 8-Bit-Konstanten.32-
MOV @Ri,ALade in die interne Datenspeicherzelle, die durch Ri adressiert wird, den Inhalt des Akkumulators.11-
MOV @Ri,dadrLade in die interne Datenspeicherzelle, die durch Ri adressiert wird, den Inhalt von dadr.22-
MOV @Ri,#konst8Lade in die interne Datenspeicherzelle, die durch Ri adressiert wird, die 8-Bit-Konstante.21-
MOV DPTR,#konst16Lade den Daten-Pointer mit der 16-Bit-Konstanten.32-
MOVC A,@A+DPTRLade den Akkumulator mit dem Inhalt der Programmspeicherzelle, die durch die Summe von Daten-Pointer und Akkumulator adressiert wird.12-
MOVC A,@A+PCLade den Akkumulator mit dem Inhalt der Programmspeicherzelle, die durch die Summe von Program-Counter und Akkumulator adressiert wird.12P
MOVX A,@RiLade den Akkumulator mit dem Inhalt der externen Speicherzelle, die durch Ri adressiert wird.12P
MOVX A,@DPTRLade den Akku mit dem Inhalt der externen Datenspeicherzelle, die durch den Daten-Pointer adressiert wird.12P
MOVX @Ri,ALade die externe Datenspeicherzelle, die durch Ri adressiert wird, mit dem Inhalt des Akkumulators.12-
MOVX @DPTR,ALade die ext. Datenspeicherzelle, die durch den Daten-Pointer adressiert ist, mit dem Inhalt des Akkus.12-
PUSH dadrDer Stack-Pointer wird um 1 erhöht und der Inhalt von dadr im Stack abgelegt.22-
POP dadrD er Inhalt der durch den Stack-Pointer adressierten Adresse wird nach dadr transferiert und der Stack-Pointer um 1 erniedrigt.22-
XCH A,RrVertausche die Inhalte des Akkumulators und des Registers Rr.11P
XCH A,dadrVertausche die Inhalte des Akkumulators und der internen Datenspeicherzelle dadr.21P
XCH A,@RiVertausche die Inhalte des Akkus und der internen Datenspeicherzelle, die durch Ri adressiert wird.11P
XCHD A,@RiVertausche die Inhalte der niederwertigen Halbbytes von Akku und der internen Datenspeicherzelle, die durch Ri adressiert wird.11P
SWAP AVertausche die Bytehälften des Akkumulators11-
NOPLehrbefehl11-

Bitverarbeitende Befehle

Hilfe Startseite
MnemonicFunktionBytesMZFlags
CLR CLösche das Carry-Flag.11CY
CLR badrLösche den Inhalt von badr.21-
SETB CSetze das Carry-Flag.11CY
SETB badrSetze den Inhalt von badr.21-
CPL CInvertiere den Inhalt des C-Flag.11CY
CPL badrInvertiere den Inhalt von badr.21-
ANL C,badrDas Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem Inhalt von badr.22CY
ANL C,/badrDas Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem invertierten Inhalt von badr.22CY
ORL C,badrDas Carry-Flag wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Carry-Bit und dem Inhalt von badr.22CY
ORL C,/badrDas Carry-Flag wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Carry-Bit und dem invertierten Inhalt von badr.22CY
MOV C,badrLade in das Carry-Bit den Inhalt von badr.22CY
MOV badr,CLade in die badr den Inhalt des Carry-Bit.22-

Sprungbefehle

Hilfe Startseite
MnemonicFunktionBytesMZFlags
ACALL adr11Unterprogrammaufruf innerhalb einer 2 k-Byte-Seite.32-
LCALL adr16Unterprogrammaufruf .22-
RETRücksprung aus einem Unterprogramm.12-
RETIRücksprung aus einer Interrupt-Service-Routine.12-
AJMP adr11Setze das Programm bei adr11 innerhalb der 2 kByte-Seite fort.22-
LJMP adr16Setze das Programm bei adr16 fort.32-
SJMP relSetze das Programm bei rel, relativ zum Programm-Counter, fort.22-
JMP @A+DPTRSetze das Programm an der Stelle fort, die sich aus der Summe von Akkumulator und DPTR ergibt.12-
JZ relSpringe relativ um die Adresse rel, wenn der Inhalt des Akkus gleich null ist.22-
JNZ relSpringe relativ um die Adresse rel, wenn der Inhalt des Akkus ungleich null ist.22-
JC relSpringe relativ um die Adresse rel, wenn der Inhalt des Carry-Flag gesetzt ist.22-
JNC relSpringe relativ um die Adresse rel, wenn der Inhalt des Carry-Flag nicht gesetzt ist .22-
JB badr, relSpringe relativ um die Adresse rel, wenn der Inhalt von badr gleich eins ist.32-
JNB badr,relSpringe relativ um die Adresse rel, wenn der Inhalt von badr gleich null ist.32-
JBC badr,relSpringe relativ um die Adresse rel, wenn der Inhalt von badr gleich eins ist und lösche den Inhalt von badr.32-
CJNE A,dadr,relSpringe relativ um die Adresse rel, wenn die Inhalte von Akkumulator und dadr ungleich sind.32CY
CJNE A,#konst8,relSpringe relativ um die Adresse rel, wenn der Inhalt des Akkus ungleich der 8-Bit-Konstanten ist.32CY
CJNE Rr,#konst8,relSpringe relativ um die Adresse rel, wenn der Inhalt des Registers Rr ungleich der 8-Bit-Konstanten ist.32CY
CJNE @Ri,#konst8,relSpringe relativ um die Adresse rel, wenn der Inhalt der internen Datenspeicherzelle, die durch Ri adressiert wird, ungleich der 8-Bit-Konstanten ist.32CY
DJNZ Rr,relDer Inhalt von Register Rr wird um eins erniedrigt. Ist dann der Inhalt ungleich null, springe relativ um die Adresse rel.32-
DJNZ dadr,relDer Inhalt von dadr wird um eins erniedrigt. Ist dann der Inhalt ungleich null, springe relativ um die Adresse rel.32-