Capítulo 3
O conjunto de instruções da família de
microcontroladores MCS-51 da Intel
Instrução
ADD
ADDC
SUBB
MUL
DIV
DA
RRC
RLC
SETB C
CLR C
CPL C
ANL C,bit
ANL C,/bit
ORL C,bit
ORL C,/bit
MOV C,bit
MOV C,/bit
CJNE
Prentice Hall
C
X
X
X
0
0
X
X
X
1
0
X
X
X
X
X
X
X
X
Microcontroladores 8051
OV
X
X
X
X
X
AC
X
X
X
1
Capítulo 3:
(PSW) =
bit 7
bit 6
bit 5
C
AC
F0
bit 4
bit 3
RS1 RS0
bit 2
bit 1
bit 0
OV
-
P
(C) = Carry-bit flag = vai 0/1 do bit 7 após operações aritméticas
(AC) = Auxiliar Carry-bit flag = vai 0/1 do bit 3 após operações aritméticas
(F0) = Flag 0 = propósito geral
(RS1) e (RS0) = Register Bank Select = Selecionadores do banco de registradores (B0-B3)
(OV) = Over-flow flag = (vai 0/1 do bit 7) OR-EX (vai 0/1 do bit 6)
(P) = Parity flag = qte de números 1s no contéúdo do registrador Acumulador (A) ou (Acc):
= 0 (qte de num 1s par) : Paridade Par
= 1 (qte de num 1s ímpar) : Paridade Ímpar
Prentice Hall
Microcontroladores 8051
2
Capítulo 3:
Modos de Endereçamento
Modo de endereçamento
Endereçamento Imediato
Por Registrador
Direto
Indireto por Registrador
Registrador Base mais indireto indexado por
registrador
Operandos (Registradores e Memória)
Memória de Programa
R0-R7 e
ACC (A), B, C (carry-bit) e DPTR
Os 128 bytes menos significativos da RAM Interna e
Registradores de Funções Especiais
RAM interna (@R0, @R1 e SP) e
Memória de Dados Externa (@R0, @R1 e @DPTR)
Memória de Programa ( @DPTR+A e @PC+A )
Tabela 2: Modo de endereçamento relacionado com o espaçamento de
memória.
Prentice Hall
Microcontroladores 8051
3
Capítulo 3:
O conjunto de instruções da família de
microcontroladores MCS-51 da Intel:
Modos de Endereçamento
Mnemônico
Operação
Dir. Ind. Reg. Imed. Tempo de Exec. (s)
MOV A,<src>
X
X
X
X
1
(A)  <src>
MOV <dest>,A
X
X
X
1
<dest>  (A)
MOV <dest>,<src>
X
X
X
X
2
<dest>  <src>
MOV DPTR,#data16 (DPTR)  #data16
X
2
PUSH <src>
X
2
(SP)  (SP)+1, ((SP))  <src>
POP <dest>
X
2
<dest>  ((SP)), (SP)  (SP)-1
XCH A,<byte>
X
X
X
1
(A)  <byte>
XCHD A,@Ri
X
1
(A)3,0  ((Ri))3,0
Tabela 3: Operações de transferência de dados da RAM interna.
Prentice Hall
Microcontroladores 8051
4
Capítulo 3:
Mnemônico
Operação
Largura do endereçamento
MOVX A,@Ri
8 bits
(A)  ((Ri))
MOVX @Ri,A
8 bits
((Ri))  (A)
MOVX A,@DPTR
16 bits
(A)  ((DPTR))
MOVX @DPTR,A
16 bits
((DPTR))  (A)
Tabela 4: Operações de transferência de dados da RAM externa.
Mnemônico
Operação
MOVC A,@A+DPTR (A)  ( (A) + (DPTR) )
MOVC A,@A+PC
(A)  ( (A) + (PC) )
Tabela 5: Operações de transferência de dados da ROM.
Tempo de Exec. (s)
2
2
Modos de Endereçamento
Operação
Dir.
Ind.
Reg.
Imed.
X
X
X
X
(A)  (A) + <byte>
X
X
X
X
(A)  (A) + <byte> + (C)
X
X
X
X
(A)  (A) - <byte> - (C)
Só (A)
(A)  (A) + 1
X
X
X
(byte)  <byte> + 1
Só (DPTR)
(DPTR)  (DPTR) + 1
Só (A)
(A)  (A) - 1
X
X
X
(byte)  <byte> - 1
Só (A) e (B)
(B)  + sign (A*B)
(A)  - sign (A*B)
Só (A) e (B)
DIV AB
(A)  int (A/B)
(A)  mod (A/B)
Só (A)
DA A
Ajuste decimal
Tabela 6: Operações aritméticas da família de microcontroladores MCS-51 da Intel.
Mnemônico
ADD A,<byte>
ADDC A,<byte>
SUBB A,<byte>
INC A
INC <byte>
INC DPTR
DEC A
DEC <byte>
MUL AB
Prentice Hall
Tempo de Exec. (s)
2
2
2
2
Microcontroladores 8051
Tempo de Exec. (s)
1
1
1
1
1
2
1
1
4
4
1
5
Capítulo 3:
Mnemônico
ANL A,<byte>
ANL <byte>,A
ANL <byte>,#data
ORL A,<byte>
ORL <byte>,A
ORL <byte>,#data
XRL A,<byte>
XRL <byte>,A
XRL <byte>,#data
CLR A
CPL A
RL A
RLC A
Modos de Endereçamento
Dir. Ind.
Reg.
Imed.
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Operação
(A)  (A) and <byte>
<byte>  <byte> and (A)
<byte>  <byte> and #data
(A)  (A) or <byte>
<byte>  <byte> or (A)
<byte>  <byte> or #data
(A)  (A) or-ex <byte>
<byte>  <byte> or-ex (A)
<byte>  <byte> or-ex #data
Só (A)
(A)  #00h
Só (A)
(A)  not (A)
Só (A)
Rotaciona (A) um bit para a esq.
Só (A)
Rotaciona (A) um bit para a
esquerda através do (C)
Só (A)
RR A
Rotaciona (A) um bit para a dir.
Só (A)
RRC A
Rotaciona (A) um bit para a
direita através do (C)
Só (A)
SWAP A
(A)3,0  (A)7,4
Tabela 7: Operações lógicas da família de microcontroladores MCS-51 da Intel.
Prentice Hall
Microcontroladores 8051
Tempo de Exec. (s)
1
1
2
1
1
2
1
1
2
1
1
1
1
1
1
1
6
Capítulo 3:
Operação
Tempo de Exec. (s)
ANL C,bit
2
(C)  (C) and (bit)
ANL C,/bit
2
(C)  (C) and (not (bit))
ORL C,bit
2
(C)  (C) or (bit)
ORL C,/bit
2
(C)  (C) or (not (bit))
MOV C,bit
1
(C)  (bit)
MOV bit,C
2
(bit)  (C)
CLR C
1
(C)  #0
CLR bit
1
(bit)  #0
SETB C
1
(C)  #1
SETB bit
1
(bit)  #1
CPL C
1
(C)  not (C)
CPL bit
1
(bit)  not (bit)
JC rel
2
(PC)  (PC) + rel, se (C) =1
JNC rel
2
(PC)  (PC) + rel, se (C) =0
JB rel
2
(PC)  (PC) + rel, se (bit) =1
JNB rel
2
(PC)  (PC) + rel, se (bit) =0
JBC rel
2
(PC)  (PC) + rel, se (bit) =1
e (bit)#0
Tabela 8: Operações booleanas da família de microcontroladores MCS-51 da Intel.
Mnemônico
Prentice Hall
Microcontroladores 8051
7
Capítulo 3:
Operação
Tempo de Exec. (s)
salta para addr (-128 a +127)
2
salta para addr ( dentro do espaço de –1024 a +1024)
2
salta para addr (64K)
3
salta para A+DPTR
2
chama a sub-rotina para o end. addr (dentro do espaço de
2
–1024 a +1024)
LCALL addr
chama a sub-rotina para o end. addr (64K)
3
RET
Retorna da sub-rotina
2
RETI
Retorna da rotina de atendimento a interrupção
2
NOP
Nenhuma operação (No operation)
1
Tabela 9: Operações de salto incondicional da família de microcontroladores MCS-51 da Intel.
Mnemônico
SJMP addr
AJMP addr
LJMP addr
JMP @A+DPTR
ACALL addr
Mnemônico
JZ rel
JNZ rel
DJNZ <byte>, rel
Operação
(PC)  (PC) + rel, se (A) = 0
(PC)  (PC) + rel, se (A)  0
<byte>  <byte>-1 e
(PC)  (PC) + rel, se (byte)  0
Modos de Endereçamento
Dir. Ind.
Reg.
Imed.
Só (A)
Só (A)
X
X
X
X
(PC)  (PC) + rel,
se (A)  <byte>
CJNE A,#data, rel
X
X
(PC)  (PC) + rel,
se (A)  #data
Tabela 10: Operações salto condicional da família de microcontroladores MCS-51 da Intel.
CJNE A,<byte>, rel
Prentice Hall
Microcontroladores 8051
Tempo de Exec. (s)
2
2
2
2
2
8
Capítulo 3:
Operações de transferência
de dados
Instrução
Byte(s)
Ciclos
Codificação
Representação Simbólica
MOV A,Rn
1
1
1110 1rrr
MOV A,direct
2
1
1110 0101 direct address
MOV A,@Ri
1
1
1110 011I
MOV A,#data
2
1
0111 0100 immediate data
MOV Rn,A
1
1
1111 1rrr
MOV Rn,direct
2
2
1010 1rrr direct address
MOV Rn,#data
2
1
0111 1rrr immediate data
MOV direct,A
2
1
1111 0101 direct address
MOV direct,Rn
2
2
1000 1rrr direct address
MOV direct,direct
3
2
1000 0101 dir.adr.src dir.adr.dest
MOV direct,@Ri
2
2
1000 011i direct address
MOV direct,#data
3
2
0111 0101 dir. adr. immed. data
MOV @Ri,A
1
1
1111 011i
MOV @Ri,direct
2
2
1010 011i direct address
MOV @Ri,#data
2
1
0111 011i immediate data
(PC)  (PC) + 1
(A)  (Rn)
(PC)  (PC) + 2
(A)  (direct)
(PC)  (PC) + 1
(A)  ((Ri))
(PC)  (PC) + 2
(A)  #data
(PC)  (PC) + 1
(Rn)  (A)
(PC)  (PC) + 2
(Rn)  (direct)
(PC)  (PC) + 2
(Rn)  #data
(PC)  (PC) + 2
(direct)  (A)
(PC)  (PC) + 2
(direct)  (Rn)
(PC)  (PC) + 3
(direct)  (direct)
(PC)  (PC) + 2
(direct)  ((Ri))
(PC)  (PC) + 3
(direct)  #data
(PC)  (PC) + 1
((Ri))  (A)
(PC)  (PC) + 2
((Ri))  (direct)
(PC)  (PC) + 2
((Ri))  #data
Prentice Hall
Microcontroladores 8051
9
Download

Microcontroladores 8051