Anda di halaman 1dari 12

INSTRUES DO M

INSTRUES DE TRANSFERNCIA DE DADOS


MOV A,Rn
MOV A,Direto
MOV A,@Ri
MOV A,#Dado
MOV Rn,A
MOV Rn,Direto
MOV Rn,#Dado
MOV Direto,A
MOV Direto,Rn
MOV Direto1,Direto2
MOV Direto,@Ri
MOV Direto,#Dado
MOV @Ri,A
MOV @Ri,Direto
MOV @Ri,#Dado
MOV DPTR,#Dado 16
MOVC A,@A+DPTR
MOVC A,@A+PC
MOVX A,@Ri
MOVX A,@DPTR
MOVX @Ri,A
MOVX @DPTR,A
PUSH Direto
POP Direto
XCH A,Rn
XCH A,Direto
XCH A,@Ri
XCHD A,@Ri
INSTRUES ARITMTICAS
ADD A,Rn
ADD A,Direto
ADD A,@Ri
ADD A,#Dado
ADDC A,Rn
ADDC A,Direto
ADDC A,@Ri
ADDC A,#Dado

SUBB A,Rn
SUBB A,Direto
SUBB A,@Ri
SUBB A,#Dado
INC A
INC Rn
INC Direto
INC @Ri
DEC A
DEC Rn
DEC Direto
DEC @Ri
INC DPTR
MUL AB
DIV AB
DA A
INSTRUES PARA VARIVEIS BOOLEANAS
CLR C
CLR Bit
SETB C
SETB Bit
CPL C
CPL Bit
ANL C,Bit
ANL C,/Bit
ORL C,Bit
ORL C,/Bit
MOV C,Bit
MOV Bit,C
JC rel
JNC rel
JB Bit, rel
JNB Bit,rel
JBC Bit,rel
INSTRUES DE DESVIO
ACALL End 11
LCALL End 16
RET
RETI
AJMP End 11
LJMP End 16
SJMP rel
JMP @A,DPTR
JZ rel
JNZ rel
CJNE A, Direto, rel
CJNE A,#Dado,rel

CJNE Rn,#Dado,rel
CJNE @Ri,#Dado,rel
DJNZ Rn,rel
DJNZ Direto,rel
NOP
INSTRUES LGICAS
CLR A
CPL A
RL A
RLC A
RR A
RRC A
SWAP A
ANL A,Rn
ANL A,Direto
ANL A,@Ri
ANL A,#Dado
ANL Direto,A
ANL Direto,#Dado
ORL A,Rn
ORL A,Direto
ORL A,@ Ri
ORL A,#Dado
ORL Direto,A
ORL Direto,#Dado
XRL A,Rn
XRL A,Direto
XRL A,@Ri
XRL A,#Dado
XRL Direto,A
XRL Direto,#Dado
OBSERVAES:

* Rn ==> Indica RegistroR0 a R7 genericamente, dependente de "n


* Ri ==> Indica RegistroR0 ou R1, dependendo de "i".
* @ ==> Significa "endereado pelo valor de ...."
* #Dado ==> Indica valor constante de 8 bits.
* #Dado 16 ==> Indica valor constante de 16 bits.
* Direto ==> Indica um endereo de memria de 8 bits ( 256 posi
* rel ==> Indica que endereamento relativo.
* ? ==> Indica que o flag indicado afetado pela instruo e depen

INSTRUES DO MICROCONTROLADOR 8051

RANSFERNCIA DE DADOS
Move o Registro n para o Acumulador.
Move o contedo da posio de memria para o Acumulador.
Move o contedo da RAM interna endereada po Ri para o Acumulador.
Move o Dado para o Acumulador.
Move o contedo do Acumulador para o Registro n.
Move o contedo da memria para o Registro n.
Move o Dado para o Registro n.
Move o contedo do Acumulador para a posio de memria.
Move o contedo do Registro n para a posio de memria.
Move o contedo da posio de memria 2 para a posio de memria 1.
Move o contedo da posio de memria endereada por Ri para a posio de memria.
Move o Dado para a posio de memria.
Move o contedo do Acumulador para a posio de memria endereada por Ri.
Move o contedo da posio de memria para a posio de memria endereada por Ri.
Move o Dado para a posio de memria endereada por Ri.
Move o Dado de 16 bits para o Registro DPTR.
Move o contedo da posio de memria da ROM endereada por A + DPTR. O endereo ser de 16 bits.
Move o contedo da posio de memria da ROM endereada por A + PC. O endereo ser de 16 bits.
Move o contedo da posio de memria da RAM externa endereada por Ri para o Acumulador.
Move o contedo da posio de memria da RAM externa endereada por DPTR para o Acumulador.
Move o contedo do Acumulador para a posio de memria da RAM externa endereada por Ri.
Move o contedo do Acumulador para a posio de memria da RAM externa endereada por DPTR.
Coloca na pilha o contedo da posio de memria. Incrementa o SP (Stack Pointer) e escreve na pilha.
Retira da pilha o Dado e coloca na posio de memria.
Troca entre si os contedo do Acumulador e do Registro n.
Troca entre si os contedo do Acumulador e do Registro n.
Troca entre si os contedo do Acumulador e da posio de memria endereada por Ri.
Troca os nibbles menos significativos do contedo do Acumulador e da posio de memria endereada
por Ri.

MTICAS
Soma o contedo do Registro n ao Acumulador.
Soma o contedo da posio de memria ao Acumulador.
Soma o contedo da posio de memria endereada por Ri ao Acumulador.
Soma o Dado ao Acumulador.
Soma o contedo do Registro n e o Carry ao Acumulador.
Soma o contedo da posio de memria e o Carry ao Acumulador.
Soma o contedo da posio de memria endereada por Ri e o Carry ao Acumulador.
Soma o Dado e o Carry ao Acumulador.

Subtrai o contedo do Registro n e o Carry do Acumulador.


Subtrai o contedo da posio de memria e o Carry do Acumulador.
Subtrai o contedo da posio de memria endereada por Ri e o Carry do Acumulador.
Subtrai o Dado e o Carry do Acumulador.
Incrementa o Acumulador.
Incrementa o Registro n.
Incrementa o contedo da posio de memria.
Incrementa o contedo da posio de memria endereada por Ri.
Decrementa o Acumulador.
Decrementa o Registro n.
Decrementa o contedo da posio de memria.
Decrementa o contedo da posio de memria endereada por Ri.
Incrementa o DPTR.
Multiplica A e B. O resultado fica: parte mais significativa em B e menos significativa em Acumulador.
Divide A e B. O resultado fica: a parte inteira no Acumulador e o resto em B.
Faz o ajuste decimal do acumulador.
VARIVEIS BOOLEANAS
Zera o Carry.
Zera o bit Endereado.
Seta o Carry.
Seta o bit endereado.
Complementa o Carry.
Complementa o bit endereado.
Operao AND entre o Carry e o bit endereado.
Operao AND entre o Carry e o complemento do bit endereado.
Operao OR entre o Carry e o bit endereado.
Operao OR entre o Carry e o complemento do bit endereado.
Move o bit endereado para o Carry.
Move o Carry para o bit endereado.
Salta se o Carry for "1". O jump relativo.
Salta se o Carry for "0". O jump relativo.
Salta se o bit endereado estiver em "1".
Salta se o bit endereado estiver em "0".
Salta se o bit endereado estiver em "1" depois zera o bit.

ESVIO
Chama sub-rotina numa faixa de 2 Kbytes da atual posio.
Chama sub-rotina em qualquer posio da memria de programa (ROM).
Retorno de sub-rotina.
Retorno de rotina de interrupo.
Salta para outro endereo numa faixa de 2Kbytes da atual.
Salta para qualquer posio de memria de programa (ROM).
Salto curto relativo. Salta 127 posies para frente ou 128 para trs.
Salta para o endereo A + DPTR.
Salta se o Acumulador for zero.
Salta se o Acumulador no for zero.
Compara e salta se o Acumulador for diferente da memria endereada.
Compara e salta se o Acumulador for diferente do Dado.

Compara e salta se o Registro n for diferente do Dado.


Compara e salta se o contedo da RAM externa endereada for diferente do Dado .
Decrementa o Registro n e salta se for diferente de zero.
Decrementa o contedo da posio de memria e salta se for diferente de zero.
Nenhuma operao.

CAS
Zera o Acumulador.
Complementa o Acumulador.
Desloca o Acumulador esquerda.
Desloca o Acumulador esquerda atravs do Carry.
Desloca o Acumulador direita.
Desloca o Acumulador direita atravs do Carry.
Troca o nibble inferior do Acumulador com o superior. Equivale a 4 vezes RR A ou RL A.
Executa a operao AND entre o Registro n e o Acumulador.
Executa a operao And entre o contedo da posio de memria e o Acumulador.
Executa a operao AND entre o contedo da posio de memria endereada por Ri.
Executa a operao AND entre o Dado e o Acumulador.
Executa a operao AND entre o contedo da posio endereada e Acumulador.
Executa a operao AND entre a posio de memria endereada e Dado.
Executa a operao OR entre o Registro n e o Acumulador.
Executa a operao OR entre o contedo da posio de memria e o Acumulador.
Executa a operao OR entre o contedo da posio de memria endereada por Ri.
Executa a operao OR entre o Dado e o Acumulador.
Executa a operao OR entre o contedo da posio endereada e Acumulador.
Executa a operao OR entre a posio de memria endereada e o Dado.
Executa a operao "OU EXCLUSIVO" entre o Registro n e o Acumulador.
Executa a operao "OU EXCLUSIVO" entre o contedo da posio de memria e o Acumulador. O
resultado fica no Acumulador.
Executa a operao "OU EXCLUSIVO" entre o contedo da posio de memria endereada por Ri e o
Acumulador.
Executa a operao OU EXCLUSIVO" entre o Dado e o Acumulador.
Executa a operao "OU EXCLUSIVO" entre o contedo da posio de memria e o Acumulador O
resultado fica na posio de memria.
Executa a operao "OU EXCLUSIVO" entre o Dado e o contedo da posio de memria. O resultado
fica na posio de memria.

stroR0 a R7 genericamente, dependente de "n".


troR0 ou R1, dependendo de "i".
dereado pelo valor de ...."
alor constante de 8 bits.
a valor constante de 16 bits.
m endereo de memria de 8 bits ( 256 posies internas - RAM interna e Registros de Funo Especial ).
ndereamento relativo.
lag indicado afetado pela instruo e depende do resultado

ONTROLADOR 8051
Bytes

Impulsos

1
2
1
2
1
2
2
2
2
3
2
3
1
2
2
3

12
12
12
12
12
24
12
12
24
24
24
24
12
24
12
24

24

24

24

24

24

24

24

2
1
2
1

24
12
12
12

12

1
2
1
2
1
2
1
2

12
12
12
12
12
12
12
12

1
2
1
1
1
1
2
1
1
1
2
1
1
1
1
1

12
12
12
12
12
12
12
12
12
12
12
12
24
48
48
12

1
2
1
2
1
2
2
2
2
2
2
2
2
2
3
3
3

12
12
12
12
12
12
24
24
24
24
12
24
24
24
24
24
24

2
3
1
1
2
3
2
1
2
2
3
3

24
24
24
24
24
24
24
24
24
24
24
24

3
3
2
3
1

24
24
24
24
12

1
1
1
1
1
1
1
1
2
1
2
2
3
1
2
1
2
2
3
1

12
12
12
12
12
12
12
12
12
12
12
12
24
12
12
12
12
12
24
12

12

12

12

12

24

Anda mungkin juga menyukai