Escolar Documentos
Profissional Documentos
Cultura Documentos
Teoria de Micro - Parte 1
Teoria de Micro - Parte 1
MICROPROCESSADORES E MICROCONTROLADORES
Parte 1
Jos Wilson Lima Nerys
www.eee.ufg.br/~jwilson
jwilson@eee.ufg.br
Microprocessadores
MICROPROCESSADORES E MICROCONTROLADORES
Conceitos Bsicos e Princpios de
Microprocessadores 8085 e 8086/8088
e Microcontrolador 8051
Microprocessadores
Evoluo de Conhecimentos at
Microprocessadores
Materiais Eltricos Estudo de materiais isolantes, condutores e semicondutores
caractersticas.
Juno PN Diodo
P
P
Microprocessadores
Microprocessadores
Flip-flop
Porta NAND
Microprocessadores
Contadores
Registradores
Flip-flops
Microprocessador
Somadores
Codificadores
Decodificadores
Microprocessadores
Microprocessador
CPU
Registradores
Unidade Controle
ULA
Microprocessadores
Microprocessadores
Microprocessadores
10
Microprocessadores
Microcontrolador
Computador completo construdo num nico Circuito Integrado.
Os microcontroladores so normalmente utilizados para aplicaes
especficas, tais como sistemas de segurana, controle de velocidade de um
motor e outros. Eles contm, dentre outras unidades, portas de entrada e sada
seriais e paralelas, temporizadores, controles de interrupo, memrias RAM e
ROM.
CPU
Registradore
s
Unidade
Controle
ULA
Memria
Unidade de
Entrada e
Sada
11
Microprocessadores
12
Microprocessadores
13
Microprocessadores
14
Microprocessadores
15
Microprocessadores
Definies Bsicas de
Microprocessadores
16
Microprocessadores
17
Microprocessadores
Aumento de Clock
O sinal de clock responsvel pelo sincronismo entre as unidades de
processamento internas ao microprocessador e pelas unidades
externas. Quanto maior a frequncia de clock mais rpido o
processamento. No entanto, no se pode aumentar de forma
indefinida
essa
frequncia.
Isso
pode
causar
falhas
de
18
Microprocessadores
19
Microprocessadores
20
Microprocessadores
de
dados
entre
CPU
memria
principal
e,
21
Microprocessadores
22
Microprocessadores
23
Microprocessadores
Bit
Abreviatura para Binary Digit, ou, Dgito Binrio. Pode assumir
valor 0, que corresponde a tenso O V, ou 1, que representa
normalmente uma tenso de 5 V ou 3,3 V.
Byte
Conjunto de 8 bits. a unidade bsica de dados nos
computadores, que tambm utilizam alguns mltiplos de 8, tais
como 16 bits (Word) e 32 bits (Dword).
24
Microprocessadores
Set de Instrues
Conjunto de Instrues - Conjunto de Mnemnicos (siglas que
fazem lembrar uma ao) que representam todas as instrues do
processador. Cada processador possui o seu set de instrues
particular. O microprocessador 8085 possui 74 instrues.
BIOS
Basic Input/Output System o conjunto mnimo de instrues
necessrias para a inicializao do computador. Tambm gerencia
o fluxo de dados entre o sistema operacional do computador e os
dispositivos perifricos conectados.
25
Microprocessadores
26
Microprocessadores
27
Microprocessadores
Sistemas de Numerao
28
Microprocessadores
29
Microprocessadores
30
Microprocessadores
31
Microprocessadores
32
Microprocessadores
33
Microprocessadores
No ex.: 7 80
No ex.: 0 81
No ex.: 2 82
No ex.: 3 83
34
Microprocessadores
No ex.:13 160
No ex.: 0 161
No ex.: 2 162
35
Microprocessadores
Converso de Base
O sistema hexadecimal mais fcil de trabalhar que o sistema binrio e
geralmente utilizado para escrever endereos.
Na converso de hexadecimal para binrio, cada dgito hexadecimal
convertido em 4 dgitos binrios equivalentes.
Exemplo: 7 D 3 F16 = 0111 1101 0011 11112
Na converso de binrio para hexadecimal, cada grupo de 4 dgitos
binrios convertido em 1 dgito hexadecimal equivalente.
Ex.: 10100001101110002 = 1010 0001 1011 10002 = A 1 B 816
de Estudo e Pesquisa em Processamento de Energia e Qualidade
36Ncleo
Prof. Jos Wilson Lima Nerys
36
Microprocessadores
Converso de Base
Representao: r2 r1 r0
Valor hexadecimal correspondente a 1234: 4D2h
de Estudo e Pesquisa em Processamento de Energia e Qualidade
37Ncleo
Prof. Jos Wilson Lima Nerys
37
Microprocessadores
Se q0 = 0 Valor = q0 B+ r0 = 0.B + r0 = r0
Se q1 = 0 Valor = q0 B+ r0
q0= q1 .B + r1 = 0.B + r1 = r1
ou, Valor = r1 .B+ r0 Representao: r1 r0
Se q2 = 0 Valor = q0 B+ r0 , q0= q1 .B + r1
q1= q2 .B + r2 = 0.B + r2 = r2
Valor = r2 B2 + r1 B + r0 Representao: r2 r1 r0
de Estudo e Pesquisa em Processamento de Energia e Qualidade
38Ncleo
Prof. Jos Wilson Lima Nerys
38
Microprocessadores
39
Microprocessadores
= 2n a
Nmero decimal:
a = (complemento de 9 de a) + 1 =
= complemento de 10 de a
= 10n a
40
Microprocessadores
41
Microprocessadores
42
Microprocessadores
43
Microprocessadores
Arquitetura RISC x
Arquitetura CISC
44
Microprocessadores
45
Microprocessadores
46
Microprocessadores
CISC
47
Microprocessadores
48
Microprocessadores
CONJUNTO DE INSTRUES:
Grupos de instrues mais comuns em processadores de qualquer
arquitetura:
Instrues de desvio (No CISC o valor de retorno guardado na pilha;
no RISC guardado em um registrador.
Instrues de transferncia entre registradores e memria (No RISC:
load/store; no CISC: load, store, mov etc)
Instrues de transferncia entre registradores
Instrues de transferncia entre posies de memria
Operaes aritmticas (soma, subtrao ...)
Operaes lgicas (and, or, not, rotao ...)
49
Microprocessadores
CICLO DE EXECUO:
RISC As instrues so executadas em um nico ciclo de via de
dados. So instrues muito parecidas com as micro-instrues da
arquitetura CISC. No precisam de decodificao.
No possvel ter instrues de multiplicao e diviso, por exemplo,
por exigir muitos ciclos para execuo. Multiplicaes so resolvidas
com adies e deslocamentos.
CISC Antes de executar uma instruo, h necessidade de busca
da instruo na memria e de decodificao. Utiliza-se micro-cdigos
gravados no processador, para a execuo das instrues.
50
Microprocessadores
MEMRIA E REGISTRADORES:
RISC Possui uma quantidade muito grande de registradores (em mdia
512 com 32 visveis por vez: 8 para variveis globais e ponteiros, 8 para
parmetros de entrada, 8 para variveis locais e 8 para parmetros de
sada).
Nmero reduzido de acesso memria (o acesso memria torna o
processamento mais lento). Alocao de variveis em registradores.
Um ou dois modos de endereamento para acesso memria
CISC Possui um nmero reduzido de registradores, comparado com o
RISC. Alocao de variveis em posies de memria, ao invs de
registradores.
Vrios modos de endereamento para acesso memria.
de Estudo e Pesquisa em Processamento de Energia e Qualidade
51Ncleo
Prof. Jos Wilson Lima Nerys
51
Microprocessadores
MICRO-CDIGOS:
RISC As instrues geradas por um compilador para uma mquina
RISC so executadas diretamente no hardware, sem o uso de microcdigos. A ausncia de interpretao contribui para o aumento da
velocidade de execuo.
CISC As instrues bsicas so gravadas na forma de microcdigos, que atuam no hardware estabelecendo os passos de cada
instruo. H necessidade de busca e decodificao das instrues.
O programa compilado tem uma quantidade menor de instrues
assembly do que um programa RISC, mas mais lento na execuo.
52
Microprocessadores
PIPELINE:
Tcnica usada para acelerar a execuo de instrues. A cada ciclo
de clock, enquanto uma instruo est na etapa de execuo, a
instruo seguinte est sendo buscada. O resultado global que, a
cada ciclo, uma nova instruo iniciada e uma instruo
encerrada. No caso mostrado a instruo B faz referncia memria.
Ciclos
Busca da instruo
Execuo da instruo
Referncia memria
53
Microprocessadores
PIPELINE:
Enquanto a instruo A precisa de apenas um ciclo para busca e um
para execuo, a instruo B precisa de dois ciclos para execuo.
Caso a instruo B interfira na etapa de execuo da instruo C (por
exemplo, usando o mesmo registrador ou quando a instruo C
precisa do resultado da instruo B) necessrio aguardar o trmino
da instruo B antes de executar a instruo C.
Ciclos
Busca da instruo
NOP
NOP
Execuo da instruo
Referncia memria
B
54
Microprocessadores
VANTAGENS RISC:
Velocidade de execuo
O uso de pipeline torna os processadores RISC duas a quatro vezes
mais rpidos que um CISC de mesmo clock
Simplicidade de Hardware
Ocupa menos espao no chip, devido ao fato de trabalhar com
instrues simples.
Instrues de mquina simples e pequenas, o que aumenta sua
performance.
55
Microprocessadores
DESVANTAGENS RISC:
O desempenho de um processador RISC depende diretamente do
cdigo gerado pelo programador. Um cdigo mal desenvolvido pode
resultar em tempo de execuo muito grande.
Um programa originalmente compilado para uma mquina CISC tem
um equivalente compilado para mquina RISC com uma quantidade
muito maior de cdigos assembly, ocupando um espao maior na
memria.
A arquitetura RISC requer sistema de memria rpida para alimentar
suas instrues. Normalmente possuem grande quantidade de
memria cache interna, o que encarece o projeto.
56
Microprocessadores
Arquitetura RISC
57
Microprocessadores
58
Microprocessadores
59
Microprocessadores
Arquitetura,, Caractersticas e
Arquitetura
Princpio de Funcionamento dos
Microprocessadores 8085 e 8086/88
60
Microprocessadores
Microprocessador
8085
Microprocessador 8088
Microprocessador 8086
Barramento de endereo
16 bits
20 bits
20 bits
Capacidade de
endereamento de memria
65.536
( 64 kB )
1.048.576
( 1 MB )
1.048.576
( 1 MB )
Barramento de dados
8 bits
Interno: 16 bits
Externo: 8 bits
Interno: 16 bits
Externo: 16 bits
Manipulao de STRINGS
NO
SIM
SIM
Registradores Internos
8 bits e 16 bits
16 bits
16 bits
NO
SIM
SIM
NO
SIM
SIM
Em sequncia:
Unidades Independentes:
Busca Executa
Unidade de Interfaceamento
com Barramento (BIU)
responsvel pela Busca e
Unidades Independentes:
Unidade de
Interfaceamento com
Barramento (BIU)
responsvel pela Busca e
61
Microprocessadores
Acumulador
AH
AL (A)
Apontador de dados
BH
BL
CH
CL
CX Acumulador e Contador
DH
DL
SP
PC
FLAGS
Apontador de pilha
Contador de Programa
Registrador de Flags
AX Acumulador Primrio
SP
Apontador de pilha
BP
SI
DI
IP
Ponteiro de Instruo
CS
Segmento de Cdigo
DS
Segmento de Dados
SS
Segmento de Pilha
ES
Segmento Extra
FLAGS
Registradores de
segmento. So
usados para a
formao do
endereo absoluto.
Registrador de Flags
62
Microprocessadores
Arquitetura do 8085
63
Microprocessadores
64
Microprocessadores
Arquitetura do 8086/88
65
Microprocessadores
Arquitetura do 8051
66
Microprocessadores
Chave de 3 estados
CLOCK
A
LOAD
ENABLE
LOAD
CLOCK
CLOCK
ENABLE
C
LOAD
ENABLE
CLOCK
ENABLE
67
Microprocessadores
Entrada X
CLK
Chave 3
estados
HABILITA
SADA
(OE)
Flipflop
Sada Y
Linha do barramento
CARREGA
REGISTRADOR
(LOAD)
HABILITA SADA
(OUTPUT ENABLE)
(OE)
COMENTRIO
68
Microprocessadores
A = 15 H
LOAD
ENABLE
CLOCK
ENABLE
15 H
LOAD
CLOCK
ENABLE
LOAD
D D = 15 H
CLOCK
ENABLE
69
Microprocessadores
Frequncia de Clock
CLK
Ciclo de Clock
8085A: fcristal = 500 kHz a 3,125 MHz
f clock
f cristal
=
2
Tclock = 1 s
de Estudo e Pesquisa em Processamento de Energia e Qualidade
70Ncleo
Prof. Jos Wilson Lima Nerys
70
Microprocessadores
Ciclo de Mquina 2 : M2
CLK
Estados
T1
T2
T3
Ciclo de Busca
T4
T1
T2
T3
Ciclo de
Execuo
Ciclo de Execuo
71
Microprocessadores
Diagrama de Temporizao
M2
M1
CLK
Estados
T1
T2
T3
PC FORA
PC+1
PC
INST IR
T4
T1
T2
T3
PC FORA
PC+1
PC
INST IR
ALE
PC H
A15-A8
AD7-AD0
PC L
PC H
INST
PC L
INST
72
Microprocessadores
M1
T1
T2
T3
PC FORA
PC+1
PC
INST IR
M2
T4
T1
AD7-AD0
PC H
PC L
T3
PC+1
PC
INST IR
SBE
PC FORA
A15-A8
T2
PC H
INST
PC L
INST
ALE
RD\
WR\
IO-M\
de Estudo e Pesquisa em Processamento de Energia e Qualidade
73Ncleo
Prof. Jos Wilson Lima Nerys
73
Microprocessadores
T1
T2
T3
T4
T1
T2
PC FORA
PC+1
PC
INST IR
B TMP
SBE
A+TMP A
PC FORA
PC+1
PC
MOV B,A
PC H
A15-A8
AD7-AD0
M2
PC L
T3
INST IR
A TMP
PC H
INST
PC L
INST
ALE
RD\
WR\
IO-M\
de Estudo e Pesquisa em Processamento de Energia e Qualidade
74Ncleo
Prof. Jos Wilson Lima Nerys
74
Microprocessadores
Endereo
PC
Barramento
Endereo
ROM
M\
ALE
RD\
CLK
T1
de Estudo e Pesquisa em Processamento de Energia e Qualidade
75Ncleo
Prof. Jos Wilson Lima Nerys
75
Microprocessadores
PC = PC + 1
CLK
T1
T2
76
Microprocessadores
Cdigo
ROM
Barramento
IR
Cdigo
ENABLE
LOAD
RD\
M\
CLK
T1
T2
T3
77
Microprocessadores
Dados
Barramento
Dados
ENABLE
TEMP
LOAD
CLK
T1
T2
T3
T4
78
Microprocessadores
PC
Barramento
Endereo
ROM
ALE
ALE
M\
RD\
CLK
T1
T2
T3
T4
T1 M2
79
Microprocessadores
ENABLE
ULA
TEMP+A
TEMP+A
A
ENABLE
Barramento
LOAD
CLK
T1
T2
T3
T4
T1M2 T2 M2
80
Microprocessadores
ROM
Barramento
IR
Cdigo
ENABLE
LOAD
RD\
M\
CLK
T1
T2
T3
T4
T1M2
T2M2
T3-M2
81
Microprocessadores
Dados
Barramento
ENABLE
TEMP
LOAD
CLK
T1
T2
T3
T4
T1
T2
T3
82
T4
Microprocessadores
83
Microprocessadores
84
Microprocessadores
Segmentao
Consiste em combinar 2 registradores de 16 bits para gerar um
endereo de memria de 20 bits (220 = 1.048.576 = 1 Mb)
Registrador de
Segmento
Registrador de
Offset
85
Microprocessadores
0YYYY
XXXX0
Registrador de Segmento
(16 bits)
15
Registrador de Offset
(16 bits)
15
Extra Segment - ES
Stack Pointer - SP
Code Segment - CS
Base Pointer - BP
Stack Segment - SS
Source Index - SI
Data Segment - DS
Destination Index - DI
86
Microprocessadores
87
Microprocessadores
Memria
Offset
Segment
o
16
Byte Endereado
Incio do Segmento
Exemplo 1:
Exemplo 2:
88
Microprocessadores
+
16
Offset
DS
64 kB
64 kB
16
Offset
SS
64 kB
16
Offset
ES
64 kB
16
00000H
89
Microprocessadores
Tclock =
1
f clock
Tmquina = 12 Tclock =
12
f clock
12
Se f = 12 MHz Tmquina =
= 1s
12 MHz
12
= 1,085s
Se f = 11.0592 MHz Tmquina =
11,0592MHz
de Estudo e Pesquisa em Processamento de Energia e Qualidade
90Ncleo
Prof. Jos Wilson Lima Nerys
90
Microprocessadores
91
Microprocessadores
92
Microprocessadores
93
Microprocessadores
Caractersticas
Exemplos
1 byte
MOV A,C
ADD B
RLC
DCR C
2 bytes
MVI A,35H
ADI 05H
ORI 01H
3 bytes
LDA 2030H
STA 2040H
LXI H,2080H
94
Microprocessadores
MOV A,C
Instruo
ADD B
Instruo
RLC
Opcode
79 H
Opcode
80 H
Opcode
07 H
Instruo
ADI 05H
Instruo
ORI 01H
3E H
Opcode
C6 H
Opcode
F6 H
Dado
35 H
Dado
05 H
Dado
01 H
Instruo
STA 2050H
Instruo
LXI H,2080H
Opcode
3A H
Opcode
32H
Opcode
21H
Dado L
30 H
Dado L
50 H
Dado L
80 H
Dado H
20 H
Dado H
20 H
Dado H
20 H
95
Microprocessadores
ADD B
M2
T1
T2
T3
T4
T1
T2
PC FORA
PC+1
PC
INST IR
B TMP
SBE
A+TMP A
T3
MOV B,A
M2
T1
T2
T3
T4
T1
T2
PC FORA
PC+1
PC
INST IR
A TMP
SBE
TMP B
T3
96
Microprocessadores
M2
T1
T2
T3
T4
T1
T2
T3
PC FOR A
PC+1
PC
INST IR
PC FOR A
PC+1
PC
byte
reg
ADI byte
M2
T1
T2
T3
T4
T1
T2
T3
PC FORA
PC+1
PC
INST IR
PC FORA
PC+1
PC
byte
TMP
M3
ADI dado Adiciona o dado ao contedo do
Acumulador A
T1
T2
T3
SBE
A+TMP
97
Microprocessadores
LOAD adr
M2
T1
T2
T3
T4
T1
T2
T3
PC FORA
PC+1
PC
INST IR
PC FORA
PC+1
PC
Byte L
Z
M3
M4
T1
T2
T3
T1
T2
T3
PC FORA
PC+1
PC
Byte H
W
WZ FORA
MWZ
98
Microprocessadores
STA adr
M2
T1
T2
T3
T4
T1
T2
T3
PC FORA
PC+1
PC
INST IR
PC FORA
PC+1
PC
Byte L
Z
M3
M4
T1
T2
T3
T1
T2
T3
PC FORA
PC+1
PC
Byte H
W
WZ FORA
MWZ
99
Microprocessadores
2
opcode
Byte 2
1
Byte 3
postbyte
0
Dados (se sw=0 1)
Dados
Ou
Byte 4
Byte 1
postbyte
Byte 2
Dados
Byte 3
Dados (se s w = 0 1)
Byte 4
Efeito
postbyte:
7
6
mod
reg
r/m
100
Microprocessadores
OPCODE
REG
OPERANDO
2 Bytes
OPCODE
ENDEREO DE 11 BITS
3 Bytes
OPCODE
OPCODE
ENDEREO DE 16 BITS
OPERANDO 1
OPERANDO 2
101
Microprocessadores
RLC A
0 0 1 1:0 0 1 1
(33H)
CLR A
1 1 1 0:0 1 0 0
(E4H)
CLR C
1 1 0 0:0 0 1 1
(C3H)
102
Microprocessadores
REG
ADD A,Rn
0 0 1 0:1 r r r
(2_H)
ADD A,R0
0 0 1 0:1 0 0 0
(28H)
ADD A,R1
0 0 1 0:1 0 0 1
(29H)
MOV A,Rn
1 1 1 0:1 r r r
(E_H)
MOV A,R0
1 1 1 0:1 0 0 0
(E8H)
103
Microprocessadores
OPERANDO
Instruo
Codificao
ADD A,#Dado
0 0 1 0:0 1 0 0
Instruo
Codificao
ADD A,#35H
0 0 1 0:0 1 0 0
Instruo
Codificao
0 0 1 1:0 1 0 1
(24 35)H
MOV A,#Dado
0 1 1 1:0 1 0 0
Instruo
Codificao
d7 d6 d5 d4 d3 d2 d1 d0 (24 XX) H
d7 d6 d5 d4 d3 d2 d1 d0 (74 XX)H
MOV A,#35H
0 1 1 1:0 1 0 0
0 0 1 1:0 1 0 1
(74 35)H
104
Microprocessadores
ENDEREO DE 11 BITS
AJMP End. 11 bits
AJMP 620H
1100:0001 0010:0000
(C1 20)H
105
Microprocessadores
ENDEREO DE 16 BITS
LCALL End. 16 bits
0100 H = 0 0 0 0 : 0 0 0 1 0 0 0 0 : 0 0 0 0 b
Instruo
Codificao
LCALL 0100 H
0 0 0 1:0 0 1 0 0 0 0 0 : 0 0 0 1 0 0 0 0 : 0 0 0 0 (12 01 00) H
106
Microprocessadores
ENDEREO DE 16 BITS
LJMP End. 16 bits
Codificao
0120 H = 0 0 0 0 : 0 0 0 1 0 0 1 0 : 0 0 0 0 b
Instruo
LJMP 0120 H
0 0 0 0 : 0 0 1 0 0 0 0 0 : 0 0 0 1 0 0 1 0 : 0 0 0 0 (02 01 20) H
Codificao
LJMP 80 H X SJMP 80 H:
02 00 80
107
Microprocessadores
OPERANDO 1
Instruo
Codificao
Instruo
Codificao
OPERANDO 2
a7 a6 a5 a4 : a3 a2 a1 a0
r7 r6 r5 r4 : r3 r2 r1 r0
DJNZ 01H, $
1101:0101
0000:0001
1111:1101
DJNZ 01H,$ D5 01 FD H
108
Microprocessadores
OPCODE
f (Endereo do registrador)
109
Microprocessadores
10
OPCODE
f (Endereo do registrador)
110
Microprocessadores
12
11
10
OPCODE
k (literal)
111
Microprocessadores
12
11
OPCODE
10
k (literal)
112
Microprocessadores
Modos de Endereamento e
Grupos de Instrues
113
Microprocessadores
Modos de Endereamento
8085
Imediato
MVI A,15H
8086/8088
Imediato
Por registrador
MOV AX,BX
Direto
JMP 2005H
Absoluto ou direto
MOV AX,[1000H]
Indireto por
registrador
MOV M,A
Indireto por
registrador
MOV AX,[BX]
Indexado
MOV AX,0100H[BX]
Baseado
Baseado e indexado
Baseado e indexado
com deslocamento
Strings
MOVSB
114
Microprocessadores
Grupos de Instrues
8085
8086/8088
Transferncia de
dados
MOV A,B
MVI A,15H
Transferncia de
dados
MOV AX,BX
MOV DL,23H
Aritmtico
ADD B
SUB B
Aritmtico
ADD SI,DX
SUB AX,DX
Lgico
ANA B
ORI 0FH
Lgico
NOT BX
AND CX,DX
Desvio
JMP 2005H
JNZ 2010H
Desvio
JMP BX
PUSH PSW
Controle
CLC
STC
Strings
MOVSB
STOSW
115
Microprocessadores
Registrador de Flags
8085 8088/8086 - 8051
116
Microprocessadores
Flags no 8085
Registrador F: Registra o estado da ltima operao realizada na ULA
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AC
CY
117
Microprocessadores
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AC
CY
118
Microprocessadores
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
AC
CY
119
Microprocessadores
14
13
12
11
10
Flag de Overflow
Flag de Direo
Flag de Interrupo
Flag de Trap
Flag de Sinal
Flag de Zero
Flag de Paridade
Flag de Carry
120
Microprocessadores
121
Microprocessadores
122
Microprocessadores
CY_IN
CY_OUT
OV = (XOR)
123
Microprocessadores
124
Microprocessadores
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
CY
AC
F0
RS1
RS0
OV
Carry
Overflow
Uso Geral
Paridade
Auxiliar
de Carry
RS1
RS0
Banco Selecionado
125
Microprocessadores
126
Microprocessadores
64H = 0 1 1 0:0 1 0 0
2CH = 0 0 1 0:1 1 0 0
Hexadecimal
100
64H
44
2CH
144
90H
127
Microprocessadores
144
90H
01
01H
145
91H
128
Microprocessadores
Pilha no
8085 e 8051
129
Microprocessadores
Endereo
Mnemnico
2000 H
LXI SP,20FFH
Cdigo
31 FF 20
2003 H
2004 H
CALL
RET
PUSH
POP
Interrupes
SP
xxxxx
xxxxx
xxxxx
xxxxx
20FF H
130
Microprocessadores
131
Microprocessadores
O valor de SP decrementado em 1
O byte mais significativo armazenado na posio SP 1
O valor de SP decrementado em 1
O byte menos significativo armazenado na posio SP 2
132
Microprocessadores
Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H
PUSH PSW
Endereo
da RAM
Flags
Contedo
PUSH B
Endereo
da RAM
2089
SP inicial:
2089
208A
2090h
208A
208B
Contedo
208B
208C
208C
67
208D
208D
45
F
208E
23
208E
23
A
208F
01
208F
01
2090
SP aps a instruo:
208Eh
C
B
F
A
2090
SP aps a instruo:
208Ch
133
Microprocessadores
Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H
POP B
Endereo
da RAM
POP PSW
Contedo
Endereo
da RAM
2089
2089
208A
208A
208B
208B
Contedo
208C
67
208C
67
208D
45
208D
45
F
208E
23
208E
23
A
208F
01
208F
01
2090
SP aps a instruo:
208Eh
C
B
F
A
2090
SP aps a instruo:
2090h
134
Microprocessadores
Endereo
Pilha
Exemplo de aplicao
Mnemnico
Cdigo
2000 H
LXI SP,203FH
31 22 20
2003 H
MVI A,20H
3E 20
2005 H
PUSH PSW
F5
2006 H
CALL MOSTRAA
CD 6E 03
2009 H
POP PSW
F1
200A H
ADI 01H
C6 01
200C H
JNZ 2005 H
DA 05 20
200F H
JMP 2003
C3 03 20
2022 H
Ncleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
135
Prof. Jos Wilson Lima Nerys
135
Microprocessadores
Pilha no 8051
Transferncia de dados envolve apenas um byte 8bits
Registradores de 16 bits, como DPTR, so guardados em duas
operaes PUSH e retiradas em duas operaes POP
Exemplos:
PUSH ACC Guarda contedo do acumulador
PUSH DPH Guarda 8 bits mais significativos do DPTR
PUSH DPL Guarda 8 bits menos significativos do DPTR
POP ACC Recupera contedo do acumulador
136
Microprocessadores
137
Microprocessadores
8085
8051
Variao do
apontador de pilha
SP
SP decrementado nas
operaes para guardar
valores na pilha (PUSH,
CALL, chamada de
interrupo)
SP incrementado nas
operaes para guardar
valores na pilha (PUSH,
CALL, chamada de
interrupo)
Regio da memria
Tamanho do dado
guardado
So movimentados 16 bits
em cada operao de pilha
So movimentados 8 bits em
cada operao de pilha
138
Microprocessadores
Bibliografia
139
Microprocessadores