Mnemonic | Funktion | Bytes | MZ | Flags |
ADD A,Rr | Der Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku und dem Inhalt von Rr. | 1 | 1 | CY, AC, OV, P |
ADD A,dadr | Der Akkumulator wird Überschrieben durch das Ergebis der Addition von Akku und dem Inhalt von dadr. | 2 | 1 | CY,AC, OV,P |
ADD A,@Ri | Der Akkumulator wird Überschrieben durch das Ergebis der Addition von Akku und dem Inhalt der internen Datenspeicherzelle, die durch Ri adressiert wird. | 1 | 1 | CY,AC, OV,P |
ADD A,#const8 | Der Akkumulator wird Überschrieben durch das Ergebis der Addition von Akku und dem Inhalt der 8-Bit-Konstanten. | 2 | 1 | CY,AC, OV,P |
ADDC A,Rr | Der Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, Rr und dem Inhalt des Carry-Flag. | 1 | 1 | CY,AC, OV,P |
ADDC A, dadr | Der Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, dadr und dem Inhalt des Carry-Flag. | 2 | 1 | CY,AC, OV,P |
ADDC A, @Ri | Der 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. | 1 | 1 | CY,AC, OV,P |
ADDC A, #const8 | Der Akkumulator wird überschrieben durch das Ergebnis der Addition von Akku, dem Inhalt der 8-Bit-Konstanten und dem Inhalt des Carry-Flag. | 2 | 1 | CY,AC, OV,P |
SUBB A,Rr | Der Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von Rr und Carry-Flag. | 1 | 1 | CY,AC, OV,P |
SUBB A,dadr | Der Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von dadr und Carry-Flag. | 2 | 1 | CY,AC, OV,P |
SUBB A,@Ri | Der 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. | 1 | 1 | CY,AC, OV,P |
SUBB A,#const8 | Der Akkumulator wird überschrieben durch das Ergebnis der Subtraktion von Akku und der Summe der Inhalte von Carry-Flag und der 8-Bit-Konstanten. | 2 | 1 | CY,AC, OV,P |
INC A | Zum Inhalt des Akkumulators wird inkrementiert. | 1 | 1 | P |
INC Rr | Der Inhalt des Registers Rr wird inkrementiert. | 1 | 1 | - |
INC dadr | Der Inhalt der Speicherzelle dadr wird inkrementiert. | 2 | 1 | - |
INC @Ri | Der Inhalt der Speicherzellen des internen Datenspeichers, der durch Ri adressiert ist, wird inkrementiert. | 1 | 1 | - |
INC DPTR | Der Inhalt des Datenpointers wird inkrementiert. | 1 | 2 | - |
DEC A | Der Inhalt des Akkumulators wird dekrementiert | 1 | 1 | P |
DEC Rr | Der Inhalt des Registers Rr wird dekrementiert. | 1 | 1 | - |
DEC dadr | Der Inhalt der Speicherzelle dadr wird dekrementiert. | 2 | 1 | - |
DEC @Ri | Der Inhalt der Speicherzelle des internen Datenspeichers, die durch Ri adressiert ist, wird dekrementiert. | 1 | 1 | - |
MUL AB | Die 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. | 1 | 4 | CY,OV,P |
DIV AB | Die 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. | 1 | 4 | CY,OV,P |
DA A | Das Ergebnis einer vorangegangenen Addition zweier BCD-Zahlen steht im Akku und wird unter Berücksichtigung von Carry und Hilfscarry korrigiert. | 1 | 1 | CY,P |
RL A | Verschiebe den Inhalt des Akkus um eine Stelle nach links. Die höchstwertige Bitstelle wird in die niederwertigste Bitstelle verschoben. | 1 | 1 | - |
RLC A | Verschiebe den Inhalt des Akkus um eine Stelle nach links über das Carry-Flag. Der Inhalt des Carry-Flag wird in die niederwertigste Bitstelle verschoben. | 1 | 1 | CY,P |
RR A | Verschiebe den Inhalt des Akkus um eine Stelle nach rechts. Die niederwertigste Bitstelle wird in die höchstwertigste Bitstelle verschoben. | 1 | 1 | - |
RRC A | Verschiebe den Inhalt des Akkus um eine Stelle nach rechts über das Carry-Flag. Die niederwertigste Bitstelle wird in das Carry-Flag verschoben. | 1 | 1 | CY,P |
Mnemonic | Funktion | Bytes | MZ | Flags |
ANL A,Rr | Der Akkumulator wird überschrieben durch das Ergebnis der UND-Verknüpfung von Akku und dem Inhalt von Rr. | 1 | 1 | P |
ANL A,dadr | Der Akkumulator wird überschrieben durch das Ergebnis der UND-Verknüpfung von Akku und dem Inhalt von dadr. | 2 | 1 | P |
ANL A,@Ri | Der 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. | 1 | 1 | P |
ANL A,#const8 | Der Akkumulator wird überschrieben durch die UND-Verknüpfung von Akku und der 8-Bit-Konstanten. | 2 | 1 | P |
ANL dadr,A | Der Inhalt von dadr wird überschrieben durch die UND-Verknüpfung von Akku und dem Inhalt von dadr. | 2 | 1 | - |
ANL dadr,#const8 | Der Inhalt von dadr wird überschrieben durch die UND-Verknüpfung der 8-Bit-Konstanten und dem Inhalt von dadr. | 3 | 2 | - |
ORL A,Rr | Der Akkumulator wird überschrieben durch die ODER-Verknüpfung von Akku und dem Inhalt von Rr. | 1 | 1 | P |
ORL A,dadr | Der Akkumulator wird überschrieben durch die ODER-Verknüpfung von Akku und dem Inhalt von dadr. | 2 | 1 | P |
ORL A,@Ri | Der Akkumulator wird überschrieben durch die ODER-Verknüpfung von Akku und dem Inhalt der internen Datenspeicherzelle, die durch den Inhalt von Ri adressiert wird. | 1 | 1 | P |
ORL A,#const8 | Der Akkumulator wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Akku und der 8-Bit-Konstanten. | 2 | 1 | P |
ORL dadr,A | Der Inhalt von dadr wird überschrieben durch die ODER-Verknüpfung von Akkumulator und dem Inhalt von dadr. | 2 | 1 | - |
ORL dadr,#const8 | Der Inhalt von dadr wird überschrieben durch die ODER-Verknüpfung der 8-Bit-Konstanten und dem Inhalt von dadr. | 3 | 2 | - |
XRL A,Rr | Der Akkumulator wird überschrieben durch das Ergebnis der EXCLUSIVE-ODER-Verknüpfung von Akku und dem Inhalt von Rr. | 1 | 1 | P |
XRL A,dadr | Der Akkumulator wird überschrieben durch das Ergebnis der EXCLUSIVE-ODER-Verknüpfung von Akku und dem Inhalt von dadr. | 2 | 1 | P |
XRL A,@Ri | Der 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. | 1 | 1 | P |
XRL A,#const8 | Der Akkumulator wird überschrieben durch das Ergebnis der EXCLUSIVE-ODER-Verknüpfung von Akku und der 8-Bit-Konstanten. | 2 | 1 | P |
XRL dadr,A | Der Inhalt von dadr wird überschrieben durch die EXCLUSIVE-ODER-Verknüpfung von Akkumulator und dem Inhalt von dadr. | 2 | 1 | - |
XRL dadr,#const8 | Der Inhalt von dadr wird überschrieben durch die EXCLUSIVE-ODER-Verknüpfung der 8-Bit-Konstan-und dem Inhalt von dadr. | 3 | 2 | - |
CLR A | Der Akkumulator wird gelöscht. | 1 | 1 | P |
CPL A | Der Inhalt des Akkumulators wird invertiert. | 1 | 1 | P |
Mnemonic | Funktion | Bytes | MZ | Flags |
MOV A,Rr | Lade den Akkumulator mit dem Inhalt von Rr. | 1 | 1 | P |
MOV A,dadr | Lade den Akkumulator mit dem Inhalt von dadr. | 2 | 1 | P |
MOV A,@Ri | Lade den Akkumulator mit dem Inhalt der internen Speicherzelle , die durch Ri adressiert wird. | 1 | 1 | P |
MOV A,#konst8 | Lade den Akkumulator mit der 8-Bit-Konstanten. | 2 | 1 | P |
MOV Rr,A | Lade Register Rr mit dem Inhalt des Akkumulators. | 1 | 1 | - |
MOV Rr,dadr | Lade Register Rr mit dem Inhalt von dadr. | 2 | 2 | - |
MOV Rr,#konst8 | Lade Register Rr mit der 8-Bit-Konstanten. | 2 | 1 | - |
MOV dadr,A | Lade die interne Datenspeicherzelle mit dem Inhalt des Akkumulators. | 2 | 1 | - |
MOV dadr,Rr | Lade die interne Datenspeicherzelle mit dem Inhalt des Registers Rr. | 2 | 2 | - |
MOV dadr,dadr | Lade die interne Datenspeicherzelle dadr mit dem Inhalt der internen Speicherzelle dadr. | 3 | 2 | - |
MOV dadr,@Ri | Lade die interne Datenspeicherzelle dadr mit dem Inhalt der intern. Speicherz.,die durch Ri adress. ist. | 2 | 2 | - |
MOV dadr,#konst8 | Lade die interne Datenspeicherzelle dadr mit der 8-Bit-Konstanten. | 3 | 2 | - |
MOV @Ri,A | Lade in die interne Datenspeicherzelle, die durch Ri adressiert wird, den Inhalt des Akkumulators. | 1 | 1 | - |
MOV @Ri,dadr | Lade in die interne Datenspeicherzelle, die durch Ri adressiert wird, den Inhalt von dadr. | 2 | 2 | - |
MOV @Ri,#konst8 | Lade in die interne Datenspeicherzelle, die durch Ri adressiert wird, die 8-Bit-Konstante. | 2 | 1 | - |
MOV DPTR,#konst16 | Lade den Daten-Pointer mit der 16-Bit-Konstanten. | 3 | 2 | - |
MOVC A,@A+DPTR | Lade den Akkumulator mit dem Inhalt der Programmspeicherzelle, die durch die Summe von Daten-Pointer und Akkumulator adressiert wird. | 1 | 2 | - |
MOVC A,@A+PC | Lade den Akkumulator mit dem Inhalt der Programmspeicherzelle, die durch die Summe von Program-Counter und Akkumulator adressiert wird. | 1 | 2 | P |
MOVX A,@Ri | Lade den Akkumulator mit dem Inhalt der externen Speicherzelle, die durch Ri adressiert wird. | 1 | 2 | P |
MOVX A,@DPTR | Lade den Akku mit dem Inhalt der externen Datenspeicherzelle, die durch den Daten-Pointer adressiert wird. | 1 | 2 | P |
MOVX @Ri,A | Lade die externe Datenspeicherzelle, die durch Ri adressiert wird, mit dem Inhalt des Akkumulators. | 1 | 2 | - |
MOVX @DPTR,A | Lade die ext. Datenspeicherzelle, die durch den Daten-Pointer adressiert ist, mit dem Inhalt des Akkus. | 1 | 2 | - |
PUSH dadr | Der Stack-Pointer wird um 1 erhöht und der Inhalt von dadr im Stack abgelegt. | 2 | 2 | - |
POP dadr | D er Inhalt der durch den Stack-Pointer adressierten Adresse wird nach dadr transferiert und der Stack-Pointer um 1 erniedrigt. | 2 | 2 | - |
XCH A,Rr | Vertausche die Inhalte des Akkumulators und des Registers Rr. | 1 | 1 | P |
XCH A,dadr | Vertausche die Inhalte des Akkumulators und der internen Datenspeicherzelle dadr. | 2 | 1 | P |
XCH A,@Ri | Vertausche die Inhalte des Akkus und der internen Datenspeicherzelle, die durch Ri adressiert wird. | 1 | 1 | P |
XCHD A,@Ri | Vertausche die Inhalte der niederwertigen Halbbytes von Akku und der internen Datenspeicherzelle, die durch Ri adressiert wird. | 1 | 1 | P |
SWAP A | Vertausche die Bytehälften des Akkumulators | 1 | 1 | - |
NOP | Lehrbefehl | 1 | 1 | - |
Mnemonic | Funktion | Bytes | MZ | Flags |
CLR C | Lösche das Carry-Flag. | 1 | 1 | CY |
CLR badr | Lösche den Inhalt von badr. | 2 | 1 | - |
SETB C | Setze das Carry-Flag. | 1 | 1 | CY |
SETB badr | Setze den Inhalt von badr. | 2 | 1 | - |
CPL C | Invertiere den Inhalt des C-Flag. | 1 | 1 | CY |
CPL badr | Invertiere den Inhalt von badr. | 2 | 1 | - |
ANL C,badr | Das Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem Inhalt von badr. | 2 | 2 | CY |
ANL C,/badr | Das Carry-Flag wird überschrieben durch das Ergebnis der UND-Verknüpfung von Carry-Bit und dem invertierten Inhalt von badr. | 2 | 2 | CY |
ORL C,badr | Das Carry-Flag wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Carry-Bit und dem Inhalt von badr. | 2 | 2 | CY |
ORL C,/badr | Das Carry-Flag wird überschrieben durch das Ergebnis der ODER-Verknüpfung von Carry-Bit und dem invertierten Inhalt von badr. | 2 | 2 | CY |
MOV C,badr | Lade in das Carry-Bit den Inhalt von badr. | 2 | 2 | CY |
MOV badr,C | Lade in die badr den Inhalt des Carry-Bit. | 2 | 2 | - |
Mnemonic | Funktion | Bytes | MZ | Flags |
ACALL adr11 | Unterprogrammaufruf innerhalb einer 2 k-Byte-Seite. | 3 | 2 | - |
LCALL adr16 | Unterprogrammaufruf . | 2 | 2 | - |
RET | Rücksprung aus einem Unterprogramm. | 1 | 2 | - |
RETI | Rücksprung aus einer Interrupt-Service-Routine. | 1 | 2 | - |
AJMP adr11 | Setze das Programm bei adr11 innerhalb der 2 kByte-Seite fort. | 2 | 2 | - |
LJMP adr16 | Setze das Programm bei adr16 fort. | 3 | 2 | - |
SJMP rel | Setze das Programm bei rel, relativ zum Programm-Counter, fort. | 2 | 2 | - |
JMP @A+DPTR | Setze das Programm an der Stelle fort, die sich aus der Summe von Akkumulator und DPTR ergibt. | 1 | 2 | - |
JZ rel | Springe relativ um die Adresse rel, wenn der Inhalt des Akkus gleich null ist. | 2 | 2 | - |
JNZ rel | Springe relativ um die Adresse rel, wenn der Inhalt des Akkus ungleich null ist. | 2 | 2 | - |
JC rel | Springe relativ um die Adresse rel, wenn der Inhalt des Carry-Flag gesetzt ist. | 2 | 2 | - |
JNC rel | Springe relativ um die Adresse rel, wenn der Inhalt des Carry-Flag nicht gesetzt ist . | 2 | 2 | - |
JB badr, rel | Springe relativ um die Adresse rel, wenn der Inhalt von badr gleich eins ist. | 3 | 2 | - |
JNB badr,rel | Springe relativ um die Adresse rel, wenn der Inhalt von badr gleich null ist. | 3 | 2 | - |
JBC badr,rel | Springe relativ um die Adresse rel, wenn der Inhalt von badr gleich eins ist und lösche den Inhalt von badr. | 3 | 2 | - |
CJNE A,dadr,rel | Springe relativ um die Adresse rel, wenn die Inhalte von Akkumulator und dadr ungleich sind. | 3 | 2 | CY |
CJNE A,#konst8,rel | Springe relativ um die Adresse rel, wenn der Inhalt des Akkus ungleich der 8-Bit-Konstanten ist. | 3 | 2 | CY |
CJNE Rr,#konst8,rel | Springe relativ um die Adresse rel, wenn der Inhalt des Registers Rr ungleich der 8-Bit-Konstanten ist. | 3 | 2 | CY |
CJNE @Ri,#konst8,rel | Springe relativ um die Adresse rel, wenn der Inhalt der internen Datenspeicherzelle, die durch Ri adressiert wird, ungleich der 8-Bit-Konstanten ist. | 3 | 2 | CY |
DJNZ Rr,rel | Der Inhalt von Register Rr wird um eins erniedrigt. Ist dann der Inhalt ungleich null, springe relativ um die Adresse rel. | 3 | 2 | - |
DJNZ dadr,rel | Der Inhalt von dadr wird um eins erniedrigt. Ist dann der Inhalt ungleich null, springe relativ um die Adresse rel. | 3 | 2 | - |