Escolar Documentos
Profissional Documentos
Cultura Documentos
Instrução Registo
• Existem 4 bancos de
registos, estando apenas um
activo num dado instante
• Os bits 3 e 4 (RS0 e RS1)
do registo PSW especificam
qual o banco que está activo
• Os bancos de registo
ocupam os primeiros 32
bytes da RAM interna
opcode 55H
Símbolo indicador do
• Endereços dos operandos endereçamento indirecto
conhecidos apenas no instante
da execução
• MOV A, @R1
( R1 ) = 40H
40H
(40H) = 55H
(A) = 55H
? 55H
Opcode = 11100111B
?
PC
0 0 1 0
depois 0 0 0 0 1 1 1 1 0 1 0 1
do salto
PC antes
do salto
RET 77H
66H
DB 66H
22H
DB 77H
PC 83H
DB 88H 04H
..
DB 99H
Microprocessadores Profs. Adriano Tavares/Carlos Silva (DEI-Universidade do Minho)
Conjunto de Instruções do 8051
Toda a subrotina tem um nome
• Endereçamento Indexado dado por uma etiqueta e termina
com a execução da instrução RET
REL_PC: INC A
MOVC A, @A + PC
RET
DB 66H
DB 77H
DB 88H
(A) = 88H
? ...
DB 99H 99H
... 88H
Que alterações efectuaria ao
programa com a inserção da MOV A, #02H ? 77H
1. Instruções aritméticas
2. Instruções lógicas
CLR C Cycles: 1
SUBB A, R6 Encoding: 10011rrr
MOV R7, A Operation (A) ←(A) – (C) – (Rn)
• Decrementar DPTR
DEC DPL ; decrementa o LSB do DPTR
SKIP: ...
; acumulador
{
SQUARE: INC A
Solução 1 :
uso da tabela MOVC A, @A + PC
de pesquisa RET
TABLE: DB 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 ; tabela de pesquisa com os
; quadrados de 0 - 9
{
SQUARE: PUSH 0F0H ; guarda na pilha (B)
Solução 2 : MOV 0F0H, A ; coloca em B o (A)
uso da
instrução
MUL AB ; multiplica o número por ele próprio
MUL POP 0F0H ; recupere o valor inicial de B
RET ; retorna para o chamante
...
Sequência
de chamada { MOV
CALL
...
A, #6
SQUARE
Microprocessadores Profs. Adriano Tavares/Carlos Silva (DEI-Universidade do Minho)
Conjunto de Instruções do 8051
• Instruções lógicas
• Tanto a RAM interna como o espaço SFR suportam
individualmente 128 posições endereçáveis a bit
Todos os acessos usam endereçamento directo, com os seguintes
endereços 00H – 7FH e 80H – FFH, nos 128 da RAM interna e espaço
SFR, respectivamente