Dokument zawiera najczęściej używane instrukcje ASM dla rodziny 8051 wraz z opisami i przykładami.
← Wróć do instrukcji| Rozkaz | Składnia | Opis | Przykład |
|---|---|---|---|
| MOV | MOV dst, src | Kopiowanie danych | MOV A, R0 |
| MOVX | MOVX A, @DPTR | Dostęp do zewnętrznej RAM | MOVX A, @DPTR |
| MOVC | MOVC A, @A+DPTR | Odczyt z pamięci programu | MOVC A, @A+DPTR |
| PUSH | PUSH direct | Zapis na stos | PUSH 30H |
| POP | POP direct | Odczyt ze stosu | POP 30H |
| Rozkaz | Składnia | Opis | Przykład |
|---|---|---|---|
| ADD | ADD A, src | Dodawanie | ADD A, R1 |
| ADDC | ADDC A, src | Dodawanie z przeniesieniem | ADDC A, 30H |
| SUBB | SUBB A, src | Odejmowanie | SUBB A, R2 |
| INC | INC dst | Inkrementacja | INC DPTR |
| DEC | DEC dst | Dekrementacja | DEC R7 |
| MUL AB | MUL AB | Mnożenie | MUL AB |
| DIV AB | DIV AB | Dzielenie | DIV AB |
| DA A | DA A | Korekcja BCD | DA A |
| Rozkaz | Składnia | Opis | Przykład |
|---|---|---|---|
| ANL | ANL dst, src | AND | ANL A, #0F0H |
| ORL | ORL dst, src | OR | ORL P1, #01H |
| XRL | XRL dst, src | XOR | XRL A, R3 |
| CLR | CLR A / bit / C | Kasuj wartość | CLR P1.0 |
| SETB | SETB bit / C | Ustaw wartość | SETB P3.0 |
| CPL | CPL A / bit | Negacja | CPL A |
| RL / RR | RL A / RR A | Rotacja | RL A |
| RLC / RRC | RLC A / RRC A | Rotacja z carry | RLC A |
| SWAP | SWAP A | Zamiana połówek bajtu | SWAP A |
| Rozkaz | Składnia | Opis | Przykład |
|---|---|---|---|
| SJMP | SJMP label | Krótki skok ±128B | SJMP START |
| AJMP | AJMP addr11 | Skok w obrębie 2KB | AJMP MAIN |
| LJMP | LJMP addr16 | Daleki skok | LJMP INIT |
| JZ | JZ label | Skok jeśli A==0 | JZ ZERO |
| JNZ | JNZ label | Skok jeśli A!=0 | JNZ LOOP |
| CJNE | CJNE A,#data,label | Porównanie ≠ | CJNE A,#10,NEXT |
| DJNZ | DJNZ Rn,label | Dekrementuj i skocz ≠ 0 | DJNZ R2,LOOP |
| ACALL | ACALL label | Call w obrębie 2KB | ACALL DELAY |
| LCALL | LCALL label | Dalekie wywołanie | LCALL INIT |
| RET | RET | Powrót z podprogramu | RET |
| RETI | RETI | Powrót z obsługi przerwania | RETI |
| NOP | NOP | 1 cykl, brak operacji | NOP |
| Rozkaz | Składnia | Opis | Przykład |
|---|---|---|---|
| JB | JB bit, label | Skok jeśli bit==1 | JB P3.2,READ |
| JNB | JNB bit, label | Skok jeśli bit==0 | JNB P1.0,WAIT |
| JBC | JBC bit,label | Skok jeśli bit==1, potem zeruj | JBC P2.3,FLAG |