MOV A,Rn Move o Registro n para o Acumulador.
MOV A,Direto Move o conteúdo da posição de memória para o Acumulador.
MOV A,@Ri Move o conteúdo da RAM interna endereçada po Ri para o Acumulador.
MOV A,#Dado Move o Dado para o Acumulador.
MOV Rn,A Move o conteúdo do Acumulador para o Registro n.
MOV Rn,Direto Move o conteúdo da memória para o Registro n.
MOV Rn,#Dado Move o Dado para o Registro n.
MOV Direto,A Move o conteúdo do Acumulador para a posição de memória.
MOV Direto,Rn Move o conteúdo do Registro n para a posição de memória.
MOV Direto1,Direto2 Move o conteúdo da posição de memória 2 para a posição de memória 1.
MOV Direto,@Ri Move o conteúdo da posição de memória endereçada por Ri para a posição de memória.
MOV Direto,#Dado Move o Dado para a posição de memória.
MOV @Ri,A Move o conteúdo do Acumulador para a posição de memória endereçada por Ri.
MOV @Ri,Direto Move o conteúdo da posição de memória para a posição de memória endereçada por Ri.
MOV @Ri,#Dado Move o Dado para a posição de memória endereçada por Ri.
MOV DPTR,#Dado 16 Move o Dado de 16 bits para o Registro DPTR.
MOVC A,@A+DPTR Move o conteúdo da posição de memória da ROM endereçada por A + DPTR. O endereço será de 16 bits.
MOVC A,@A+PC Move o conteúdo da posição de memória da ROM endereçada por A + PC. O endereço será de 16 bits.
MOVX A,@Ri Move o conteúdo da posição de memória da RAM externa endereçada por Ri para o Acumulador.
MOVX A,@DPTR Move o conteúdo da posição de memória da RAM externa endereçada por DPTR para o Acumulador.
MOVX @Ri,A Move o conteúdo do Acumulador para a posição de memória da RAM externa endereçada por Ri.
MOVX @DPTR,A Move o conteúdo do Acumulador para a posição de memória da RAM externa endereçada por DPTR.
PUSH Direto Coloca na pilha o conteúdo da posição de memória. Incrementa o SP (Stack Pointer) e escreve na pilha.
POP Direto Retira da pilha o Dado e coloca na posição de memória.
XCH A,Rn Troca entre si os conteúdo do Acumulador e do Registro n.
XCH A,Direto Troca entre si os conteúdo do Acumulador e do Registro n.
XCH A,@Ri Troca entre si os conteúdo do Acumulador e da posição de memória endereçada por Ri.
XCHD A,@Ri Troca os nibbles menos significativos do conteúdo do Acumulador e da posição de memória endereçada por Ri.
Instruções Aritméticas
ADD A,Rn Soma o conteúdo do Registro n ao Acumulador.
ADD A,Direto Soma o conteúdo da posição de memória ao Acumulador.
ADD A,@Ri Soma o conteúdo da posição de memória endereçada por Ri ao Acumulador.
ADD A,#Dado Soma o Dado ao Acumulador.
ADDC A,Rn Soma o conteúdo do Registro n e o Carry ao Acumulador.
ADDC A,Direto Soma o conteúdo da posição de memória e o Carry ao Acumulador.
ADDC A,@Ri Soma o conteúdo da posição de memória endereçada por Ri e o Carry ao Acumulador.
ADDC A,#Dado Soma o Dado e o Carry ao Acumulador.
SUBB A,Rn Subtrai o conteúdo do Registro n e o Carry do Acumulador.
SUBB A,Direto Subtrai o conteúdo da posição de memória e o Carry do Acumulador.
SUBB A,@Ri Subtrai o conteúdo da posição de memória endereçada por Ri e o Carry do Acumulador.
SUBB A,#Dado Subtrai o Dado e o Carry do Acumulador.
INC A Incrementa o Acumulador.
INC Rn Incrementa o Registro n.
INC Direto Incrementa o conteúdo da posição de memória.
INC @Ri Incrementa o conteúdo da posição de memória endereçada por Ri.
DEC A Decrementa o Acumulador.
DEC Rn Decrementa o Registro n.
DEC Direto Decrementa o conteúdo da posição de memória.
DEC @Ri Decrementa o conteúdo da posição de memória endereçada por Ri.
INC DPTR Incrementa o DPTR.
MUL AB Multiplica A e B. O resultado fica: parte mais significativa em B e menos significativa em Acumulador.
DIV AB Divide A e B. O resultado fica: a parte inteira no Acumulador e o resto em B.
DA A Faz o ajuste decimal do acumulador.
Instruções Booleanas
CLR C Zera o Carry.
CLR Bit Zera o bit Endereçado.
SETB C Seta o Carry.
SETB Bit Seta o bit endereçado.
CPL C Complementa o Carry.
CPL Bit Complementa o bit endereçado.
ANL C,Bit Operação AND entre o Carry e o bit endereçado.
ANL C,/Bit Operação AND entre o Carry e o complemento do bit endereçado.
ORL C,Bit Operação OR entre o Carry e o bit endereçado.
ORL C,/Bit Operação OR entre o Carry e o complemento do bit endereçado.
MOV C,Bit Move o bit endereçado para o Carry.
MOV Bit,C Move o Carry para o bit endereçado.
JC rel Salta se o Carry for "1". O jump é relativo.
JNC rel Salta se o Carry for "0". O jump é relativo.
JB Bit, rel Salta se o bit endereçado estiver em "1".
JNB Bit,rel Salta se o bit endereçado estiver em "0".
JBC Bit,rel Salta se o bit endereçado estiver em "1" depois zera o bit.
Instruções de desvio
ACALL End 11 Chama sub-rotina numa faixa de 2 Kbytes da atual posição.
LCALL End 16 Chama sub-rotina em qualquer posição da memória de programa (ROM).
RET Retorno de sub-rotina.
RETI Retorno de rotina de interrupção.
AJMP End 11 Salta para outro endereço numa faixa de 2Kbytes da atual.
LJMP End 16 Salta para qualquer posição de memória de programa (ROM).
SJMP rel Salto curto relativo. Salta 127 posições para frente ou 128 para trás.
JMP @A,DPTR Salta para o endereço A + DPTR.
JZ rel Salta se o Acumulador for zero.
JNZ rel Salta se o Acumulador não for zero.
CJNE A, Direto, rel Compara e salta se o Acumulador for diferente da memória endereçada.
CJNE A,#Dado,rel Compara e salta se o Acumulador for diferente do Dado.
CJNE Rn,#Dado,rel Compara e salta se o Registro n for diferente do Dado.
CJNE @Ri,#Dado,rel Compara e salta se o conteúdo da RAM externa endereçada for diferente do Dado .
DJNZ Rn,rel Decrementa o Registro n e salta se for diferente de zero.
DJNZ Direto,rel Decrementa o conteúdo da posição de memória e salta se for diferente de zero.
NOP Nenhuma operação.
Instruções Lógicas
CLR A Zera o Acumulador.
CPL A Complementa o Acumulador.
RL A Desloca o Acumulador à esquerda.
RLC A Desloca o Acumulador à esquerda através do Carry.
RR A Desloca o Acumulador à direita.
RRC A Desloca o Acumulador à direita através do Carry.
SWAP A Troca o nibble inferior do Acumulador com o superior. Equivale a 4 vezes RR A ou RL A.
ANL A,Rn Executa a operação AND entre o Registro n e o Acumulador.
ANL A,Direto Executa a operação And entre o conteúdo da posição de memória e o Acumulador.
ANL A,@Ri Executa a operação AND entre o conteúdo da posição de memória endereçada por Ri.
ANL A,#Dado Executa a operação AND entre o Dado e o Acumulador.
ANL Direto,A Executa a operação AND entre o conteúdo da posição endereçada e Acumulador.
ANL Direto,#Dado Executa a operação AND entre a posição de memória endereçada e Dado.
ORL A,Rn Executa a operação OR entre o Registro n e o Acumulador.
ORL A,Direto Executa a operação OR entre o conteúdo da posição de memória e o Acumulador.
ORL A,@ Ri Executa a operação OR entre o conteúdo da posição de memória endereçada por Ri.
ORL A,#Dado Executa a operação OR entre o Dado e o Acumulador.
ORL Direto,A Executa a operação OR entre o conteúdo da posição endereçada e Acumulador.
ORL Direto,#Dado Executa a operação OR entre a posição de memória endereçada e o Dado.
XRL A,Rn Executa a operação "OU EXCLUSIVO" entre o Registro n e o Acumulador.
XRL A,Direto Executa a operação "OU EXCLUSIVO" entre o conteúdo da posição de memória e o Acumulador. O resultado fica no Acumulador.
XRL A,@Ri Executa a operação "OU EXCLUSIVO" entre o conteúdo da posição de memória endereçada por Ri e o Acumulador.
XRL A,#Dado Executa a operação OU EXCLUSIVO" entre o Dado e o Acumulador.
XRL Direto,A Executa a operação "OU EXCLUSIVO" entre o conteúdo da posição de memória e o Acumulador O resultado fica na posição de memória.
XRL Direto,#Dado Executa a operação "OU EXCLUSIVO" entre o Dado e o conteúdo da posição de memória. O resultado fica na posição de memória.