INŠTRUKCIE 3051 Aritmetické operácie
ADD A,Rn Pripočíta k ACC hodnotu z Rn
ADD A,intern Pripočíta k ACC hodnotu z internej RAM
ADD A,@R0 Pripočíta k ACC hodnotu z internej RAM na ktorú ukazuje R0
ADD A,@R1 Pripočíta k ACC hodnotu z internej RAM na ktorú ukazuje R1
ADD A,#číslo Pripočíta k ACC číslo
ADDC A,Rn Pripočíta k ACC hodnotu z Rn a hodnotu CY
ADDC A,intern Pripočíta k ACC hodnotu z internej RAM a hodnotu CY
ADDC A,@R0 Pripočíta k ACC hodnotu z internej RAM na ktorú ukazuje R0 a hodnotu CY
ADDC A,@R1 Pripočíta k ACC hodnotu z internej RAM na ktorú ukazuje R1 a hodnotu CY
ADDC A,#číslo Pripočíta k ACC číslo a hodnotu CY
SUBB A,Rn Odpočíta od ACC register a hodnotu CY
SUBB A,intern Odpočíta od ACC hodnotu z internej RAM a hodnotu CY
SUBB A,@R0 Odpočíta od ACC hodnotu z internej RAM na ktorú ukazuje R0 a hodnotu CY
SUBB A,@R1 Odpočíta od ACC hodnotu z internej RAM na ktorú ukazuje R1 a hodnotu CY
SUBB A,#číslo Odpočíta od ACC číslo a hodnotu CY
INC A Zväčší ACC o jednotku
INC Rn Zväčší register Rn o jednotku
INC intern Zväčší hodnotu v internej RAM o jednotku
INC  @R0 Zväčší hodnotu v internej RAM na ktorú ukazuje R0 o jednotku
INC  @R1 Zväčší hodnotu v internej RAM na ktorú ukazuje R1 o jednotku
INC DPTR Zväčší ukazovateľa dát o jednotku
DEC A Zmenší ACC o jednotku
DEC Rn Zmenší register Rn o jednotku
DEC intern Zmenší hodnotu v internej RAM o jednotku
DEC  @R0 Zmenší hodnotu v internej RAM na ktorú ukazuje R0 o jednotku
DEC  @R1 Zmenší hodnotu v internej RAM na ktorú ukazuje R1 o jednotku
MUL AB Vynásobí ACC s registrom B. Vyšší byte výsledku uloží do registra B, nižší byte výsledku uloží do ACC
DIV AB Vydelí ACC registrom B. Celú časť výsledku uloží do A, zvyšok uloží do B
DA A Konvertuje ACC do BCD kódu
    Logické operácie
ANL A,Rn Logický súčin ACC s registrom Rn
ANL A,intern Logický súčin ACC s hodnotou z internej RAM
ANL A,@R0 Logický súčin ACC s hodnotou z internej RAM na ktorú ukazuje R0
ANL A,@R1 Logický súčin ACC s hodnotou z internej RAM na ktorú ukazuje R1
ANL A,#číslo Logický súčin ACC s číslom
ANL intern,A Logický súčin hodnoty z internej RAM s ACC. Výsledok uloží do internej RAM
ANL intern,#číslo Logický súčin hodnoty z internej RAM s číslom. Výsledok uloží do internej RAM
ORL A,Rn Logický súčet ACC s registrom Rn
ORL A,intern Logický súčet ACC s hodnotou z internej RAM
ORL A,@R0 Logický súčet ACC s hodnotou z internej RAM na ktorú ukazuje R0
ORL A,@R1 Logický súčet ACC s hodnotou z internej RAM na ktorú ukazuje R1
ORL A,#číslo Logický súčet ACC s číslom
ORL intern,A Logický súčet hodnoty z internej RAM s ACC. Výsledok uloží do internej RAM
ORL intern,#číslo Logický súčet hodnoty z internej RAM s číslom. Výsledok uloží do internej RAM
XRL A,Rn Logický XOR ACC s registrom Rn
XRL A,intern Logický XOR ACC s hodnotou z internej RAM
XRL A,@R0 Logický XOR ACC s hodnotou z internej RAM na ktorú ukazuje R0
XRL A,@R1 Logický XOR ACC s hodnotou z internej RAM na ktorú ukazuje R1
XRL A,#číslo Logický XOR ACC s číslom
XRL intern,A Logický XOR hodnoty z internej RAM s ACC. Výsledok uloží do internej RAM
XRL intern,#číslo Logický XOR hodnoty z internej RAM s číslom. Výsledok uloží do internej RAM
CLR A Vynuluje ACC
CPL A Do ACC vloží doplnok k hodnote, ktorá bola v ACC
RL A Rotácia ACC doľava
RLC A Rotácia ACC doľava cez CY
RR A Rotácia ACC doprava
RRC A Rotácia ACC doprava cez CY
SWAP A Vymení v ACC horné štyri bity za dolné štyri bity
    Presun dát
MOV A,Rn Presun hodnoty z registra Rn do ACC
MOV A,intern Presun hodnoty z internej RAM do ACC
MOV A,@R0 Presun hodnoty z internej RAM na ktorú ukazuje R0 do ACC
MOV A,@R1 Presun hodnoty z internej RAM na ktorú ukazuje R1 do ACC
MOV A,#číslo Presun čísla do ACC
MOV Rn,A Presun hodnoty z ACC do registra Rn
MOV Rn,intern Presun hodnoty z internej RAM do registra Rn
MOV Rn,#číslo Presun čísla do registra Rn
MOV intern,A Presun hodnoty z ACC do internej RAM
MOV intern,Rn Presun hodnoty z registra Rn do internej RAM
MOV intern,intern Presun hodnoty z internej RAM na inú adresu internej RAM
MOV intern,@R0 Presun hodnoty z internej RAM na ktorú ukazuje R0 na inú adresu internej RAM
MOV intern,@R1 Presun hodnoty z internej RAM na ktorú ukazuje R1 na inú adresu internej RAM
MOV intern,#číslo Presun čísla do internej RAM
MOV  @R0,A Presun hodnoty z ACC do internej RAM na ktorú ukazuje R0
MOV  @R1,A Presun hodnoty z ACC do internej RAM na ktorú ukazuje R1
MOV DPTR,#číslo16 Presun 16-bitového čísla do ukazovateľa dát
MOVC A,@A+DPTR Presun hodnoty z externej RAM do ACC. Z adresy, ktorá sa vypočíta ako súčet ACC+DPTR
MOVC A,@A+PC Presun hodnoty z externej RAM do ACC. Z adresy, ktorá sa vypočíta ako súčet ACC+PC
MOVX A,@R0 Presun hodnoty z externej RAM do ACC. Z adresy, ktorá je v R0
MOVX A,@R1 Presun hodnoty z externej RAM do ACC. Z adresy, ktorá je v R1
MOVX A,@DPTR Presun hodnoty z externej RAM do ACC. Z adresy, ktorá je v DPTR
MOVX  @R0,A Presun hodnoty z ACC do externej RAM. Na adresu, ktorá je v R0
MOVX  @R1,A Presun hodnoty z ACC do externej RAM. Na adresu, ktorá je v R1
MOVX  @DPTR,A Presun hodnoty z ACC do externej RAM. Na adresu, ktorá je v DPTR
PUSH intern Presun hodnoty z internej RAM do zásobníka
POP intern Presun hodnoty zo zásobníka do internej RAM
XCH A,intern Výmena hodnôt navzájom medzi ACC a internou RAM
XCH A,Rn Výmena hodnôt navzájom medzi ACC a Rn
XCH A,@R0 Výmena hodnôt navzájom medzi ACC a internou RAM na ktorú ukazuje R0
XCH A,@R1 Výmena hodnôt navzájom medzi ACC a internou RAM na ktorú ukazuje R1
XCHD A,@R0 Výmena dolných 4 bitov navzájom medzi ACC a internou RAM na ktorú ukazuje R0
XCHD A,@R1 Výmena dolných 4 bitov navzájom medzi ACC a internou RAM na ktorú ukazuje R1
    Manipulácia s booleovskými premennými
CLR C Nuluje bit CY
CLR bit Nuluje bit v internej RAM
SETB C Nastaví bit CY na 1
SETB bit Nastaví bit v internej RAM na 1
CPL C Invertuje bit CY
CPL bit Invertuje bit v internej RAM
ANL C,bit Logický súčin CY s bitom z internej RAM. Výsledok sa uloží do CY
ANL C,/bit Logický súčin CY s negovaným bitom z internej RAM. Výsledok sa uloží do CY
ORL C,bit Logický súčet CY s bitom z internej RAM. Výsledok sa uloží do CY
ORL C,/bit Logický súčet CY s negovaným bitom z internej RAM. Výsledok sa uloží do CY
MOV C,bit Presun bitu z internej RAM do CY
MOV bit,C Presun hodnoty bitu CY do bitu v internej RAM
JC rel Skok na adresu rel ak je CY=1
JNC rel Skok na adresu rel ak je CY=0
JB bit,rel Skok na adresu rel ak je bit v internej RAM rovný 1
JNB bit,rel Skok na adresu rel ak je bit v internej RAM rovný 0
JBC bit,rel Skok na adresu rel ak bit v internej RAM je rovný 1 a vynulovanie tohoto bitu
    Vetvenie programu
ACALL adr11 Absolútne volanie podprogramu
LCALL adr16 Skok do podprogramu na adrese adr16
RET   Návrat z podprogramu do hlavného programu
RETI   Návrat z prerušenia do hlavného programu
AJMP adr11 Absolútny skok
LJMP adr16 Skok na adresu adr16
SJMP rel Krátky skok na relatívnu adresu
JMP  @A+DPTR Skok na adresu vypočítanú z hodnôt A+DPTR
JZ rel Skok, ak ACC=0
JNZ rel Skok, ak ACC nerovná sa nule
CJNE A,intern,rel Porovnanie hodnoty z internej RAM s ACC a skok na adresu rel, ak hodnoty nie sú rovné.
CJNE A,#číslo,rel Porovnanie čísla s hodnotou v ACC a skok na adresu rel, ak hodnoty nie sú rovné.
CJNE Rn,#číslo,rel Porovnanie čísla s  hodnotou v Rn a skok na adresu rel, ak hodnoty nie sú rovné.
CJNE  @R0,#číslo,rel Porovnanie čísla s hodnotou z internej RAM na ktorú ukazuje R0 a skok ak sa hodnoty nerovnajú
CJNE  @R1,#číslo,rel Porovnanie čísla s hodnotou z internej RAM na ktorú ukazuje R1 a skok ak sa hodnoty nerovnajú
DJNZ Rn,rel Zmenšenie Rn o jednotku a skok na adresu rel, ak hodnota v Rn nie je nula
DJNZ intern,rel Zmenšenie hodnoty v internej RAM o jednotku a skok na adresu rel, ak hodnota v internej RAM nie je nula
NOP   Prázdna operácia. Nič sa nevykoná, program pokračuje ďalej.
Vysvetlivky  
Rn  - Registre R0 - R8 z aktuálne vybratej banky registrov.
intern  - 8-bitová interná dátová adresa.
číslo  - 8-bitová konštanta obsiahnutá v inštrukcii.
číslo16  - 16-bitová konštanta obsiahnutá v inštrukcii.
adr16  - 16-bitová cieľová adresa. Skok môže byť hocikam v 64 KB adresnom priestore.
adr11  - 11-bitová cieľová adresa. Používaná ACALL a AJMP.
rel  - jeden byte so znamienkom. Umožňuje skok v programe v rozsahu od -128 do +127 bajtov.
bit  - priamo adresovaný bit vo vnútornej RAM.
CY  - bit prenosu, 7.bit registra PSW
Inštrukcie, ktoré vplývajú na príznaky:
  CY  OV  AC                                                                CY
ADD  x     x     x                                          SETB C             1    
ADDC  x     x     x                                          CLR C               0
SUBB  x     x     x                                          CPL C                x
MUL  0     x                              ANL C,bit   ANL C,/bit       x
DIV  0     x                              ORL C,bit   ORL C,/bit        x
DA  x                                                        MOV C,bit         x
RRC  x                                                        CJNE                  x
RLC  x