Escolar Documentos
Profissional Documentos
Cultura Documentos
0.737315001330086392 133 Microprocessadores PDF
0.737315001330086392 133 Microprocessadores PDF
is.
r a
uto
a
os
eit
r
di
os
Microprocessadores todos
os
ad
r v
se
e
. R
da
a
riz
to
au
ão
n
ia
óp
C
133
Cópia não autorizada. Reservados todos osMdireitos autorais.
ICROPROCESSADORES
3E
Cópia não autorizada. Reservados todos os direitos autorais.
is.
r a
uto
a
os
eit
r
di
os
os
od
t
o s
a d
r v
s e
e
R
. Rua dos Timbiras, 257/263 – São Paulo – SP – 01208-010
Editora a
d Tel.: (11) 33-35-1000 / Fax: (11) 33-35-1020
Aline Palhares
z a
Desenvolvimento de conteúdo
ri atendimento@institutomonitor.com.br
www.institutomonitor.com.br
to
Marco Aurélio Fernandes Soares
Mediação pedagógica
au Impresso no Parque Gráfico do Instituto Monitor
Rua Rio Bonito, 1746 – São Paulo – SP – 03023-000
Equipe Técnico Pedagógica Tel./Fax: (11) 33-15-8355
ã o
do Instituto Monitor grafica@monitorcorporate.com.br
n
Design gráfico Em caso de dúvidas referentes ao conteúdo, consulte o
ia
Equipe Técnico Pedagógica e-mail: eletrônica@institutomonitor.com.br
óp Editorial Ltda.
do Instituto Monitor
C
Monitor Todos os direitos reservados
Lei nº 9.610 de 19/02/98
Proibida a reprodução total ou parcial, por qualquer meio,
principalmente por sistemas gráficos, reprográficos,
fotográficos, etc., bem como a memorização e/ou
recuperação total ou parcial, ou inclusão deste trabalho
em qualquer sistema ou arquivo de processamento de
dados, sem prévia autorização escrita da editora. Os
infratores estão sujeitos às penalidades da lei,
respondendo solidariamente as empresas responsáveis
pela produção de cópias.
Cópia não
3ª Edição autorizada. Reservados todos os direitos autorais.
- Fevereiro/2005
Cópia não autorizada. Reservados todos os direitos autorais.
Índice r a i s.
u to
a
Apresentação............................................................................................................. 8
s
Lição 1 - Breve Introdução aos Microprocessadores i to
ire
Introdução................................................................................................................. 9
d
1. Histórico........................................................................................................... 9
s
Exercícios Propostos............................................................................................... 11
o
Lição 2 - Memórias Eletrônicas o s
o d
Introdução............................................................................................................... 13
t
1. Estrutura das Memórias................................................................................ 13
o s
Exercícios Propostos............................................................................................... 17
d
a– Parte I
Lição 3 - Memórias Eletrônicas Reais
r v
s e
Introdução............................................................................................................... 19
1. Memórias ROM.............................................................................................. 19
e
. R
2. Memórias PROM............................................................................................ 19
3. Memórias EPROM......................................................................................... 21
4. Memórias EEPROM. d a . ..................................................................................... 22
z a
5. Resumo........................................................................................................... 22
Exercícios Propostos. i
r .............................................................................................. 23
t o
a u
Lição 4 - Memórias Eletrônicas Reais – Parte II
Introdução............................................................................................................... 25
ã o
1. Memórias SRAM............................................................................................ 25
2. n
Memórias DRAM........................................................................................... 27
pia3. Resumo........................................................................................................... 29
óExercícios Propostos............................................................................................... 30
C
Lição 5 - Preparação para Microprocessadores
Introdução............................................................................................................... 31
1. Termos Técnicos e suas Explicações............................................................ 31
2. Controlador Programável............................................................................. 32
Exercícios Propostos............................................................................................... 36
133/
Cópia Lição
não6autorizada. Reservados todos os direitos autorais.
- Microprocessadores
Introdução .............................................................................................................. 39
1. Cérebro Humano e Cérebro Eletrônico ...................................................... 39
2. Microprocessadores Internamente .............................................................. 40
o s
2. Do 80286 para Frente ................................................................................... 50
i t
2.1 A CPU Intel 80286 ................................................................................... 50
r e
2.2 A CPU Intel 80386 ................................................................................... 51
di
2.3 A CPU Intel 80486 ...................................................................................
Exercícios Propostos .............................................................................................
52
57
o s
Lição 9 - Software
o s
o d
Introdução .............................................................................................................. 59
t
1. História do Software do IBM-PC................................................................. 59
s e
Lição 10 - Noções de Programação e Assembly
. R
Introdução .............................................................................................................. 69
i za
3. Ligando o Microcomputador ........................................................................ 70
r
o da Microsoft – Software Assembler 80X86
Lição 11 - Debug
u t
Introdução a .............................................................................................................. 73
ã o
1. Restrições do Debug ..................................................................................... 76
n Propostos ............................................................................................. 83
Exercícios
133/6
Cópia Lição
não13autorizada.
- Programas paraReservados
Periférico Didáticotodos os direitos autorais.
Introdução .............................................................................................................. 99
1. Sub-rotinas ................................................................................................... 99
2. PUSH e POP Salvando Conteúdos na Pilha (Stack) .................................. 102
3. Saída de Dados em Canal de I/O................................................................. 103
4. Entrada de Dados em Canal de I/O ............................................................ 104
Exercícios Propostos ............................................................................................ 108
is.
Lição 14 - Noções para Montagem de um
Microcomputador IBM-PC Compatível r a
to
Introdução ............................................................................................................. 109
u
a
1. Escolha seu Microprocessador ................................................................... 109
s
2. Chipset e Mother-Board.............................................................................. 110
o
eit
3. Cooler ........................................................................................................... 111
4. Memórias RAM – Pente ............................................................................... 112
r
di
5. Gabinetes ..................................................................................................... 112
6. Periféricos Comuns ..................................................................................... 113
os
s
Respostas dos Exercícios Propostos .................................................................... 118
o
od
t
os
ad
r v
se
e
. R
da
a
riz
to
au
ão
n
ia
óp
C
133/7
Cópia não autorizada. Reservados todos os direitos autorais.
Apresentação is.
r a
uto
a
estas fabulosas máquinas da era contemporânea. Entendê-los,to
s
Os microprocessadores constituem o coração dos microcomputadores,
portanto,
i
re
é requisito primordial na formação do Técnico em Eletrônica.
i
Neste fascículo você irá analisar as diferenças ed acompanhar a
o
evolução dos microprocessadores, desde o princípio s de sua utilização
s irá compreender
em microcomputadores até os dias de hoje. E ainda,
a estrutura interna dos microprocessadores eoo funcionamento básico
de computadores. o d
t
Bom estudo! o s
ad
r v
e
es
. R
d a
iza
or
u t
a
o
nã
pia
ó
C
133/
Cópia não autorizada. Reservados todos os direitos autorais.
lição
○
u
○
a
calcular trajetórias balísticas, o conceito de ar-
○
s
○
Tudo começou quando o homem começou a quitetura do ENIAC é até hoje aplicado nos
○
contar as coisas. Quanto mais coisas eram acu-
todeste conceito.
modernos microprocessadores. John Von
○
i
○
re
muladas, mais difícil era o controle das quanti- Neumann foi o criador
○
i
○
dades.
d
○
Os semicondutores avançaram e surgiu a
○
(Circuitos
d
○
ras, para facilitar a vida do homem, cometen- s Financiada pelos japoneses, uma jovem
○
o
○
a
○
1. Histórico r
○
e
○
e
○
Re sub-
As calculadoras até então eram mecâni-
○
tração. Por coincidência ou não,destas são as que eram a base para os modernos processa-
○
a
○
au
○
microprocessadores.
○
○
o
Surgiram os semicondutores. Surgiram os
○
n
transistores. Surgiu a idéia de construir uma
○
ia
calculadora eletrônica. executivo da Intel, Gordon Moore, lançou a
○
C
○
do à noite por causa deste consumo elevado. e início da década de 80, mas não havia um pa-
○
○
Os bairros ao redor do prédio tinham pro- drão. Muitos eram os microcomputadores cha-
○
blemas com a tensão elétrica baixa em vir- mados de PC, que significa Personal Computer
○
○
Cópia
tude não autorizada. Reservados
do ENIAC. todos os
ou computador direitos
pessoal. autorais.
Este conceito de com-
○
○
○
○ ○ ○ ○ ○
133/9
Instituto Monitor
Cópiapessoal
putador nãoé autorizada.
o mesma da escova Reservados
de den- todos os édireitos
Então, o que da IBM? O autorais.
que torna o
○
○
tes: cada pessoa deve ter o seu PC. IBM-PC impossível de copiar (hoje dizemos
○
○
clonar) um IBM-PC? O que dá direito autoral
○
No começo da década de 80, um padrão à IBM sobre o seu IBM-PC? A resposta é o
○
○
em termos de microprocessadores estava se software, o programa de computador que faz
○
○
fundamentando. Era o ZILOG Z80. a “máquina” funcionar. Digamos que seja a
○
“alma” do computador. Qualquer um pode-
○
s.
○
A Zilog é uma empresa formada por en- ria copiar o corpo do IBM-PC, mas não pode-
i
○
genheiros dissidentes da Intel que trabalha- ria copiar a “alma”, pois estava protegida por
a
○
r
○
vam em um projeto de microprocessador que direitos autorais.
to
○
○
esta achou inviável produzir. Esse grupo de
u
○
engenheiros saiu da Intel e fundou a Zilog, Mais tarde a Compaq conseguiu que- a
○
○
produzindo o Z80 – microprocessador de 8 s
brar o “código fonte” e produzir seu pró-
○
o
it
○
bits em encapsulamento de 40 pinos, que não prio programa para controlar o corpo do
○
dependia de outros circuitos integrados no e
IBM-PC sem que fosse necessário pagar
○
r
di
○
que dizia respeito ao controle de seu proce- direitos autorais. Aliás, o nome do progra-
○
○
ssamento. ma da IBM para controlar o computador é
os
○
s
○
d
○
viu um mercado crescente de PCs e, sendo da e Saída [de Dados]). BIOS também lem-
o
○
s
encarou o desafio de lançar seu próprio PC, microcomputador não funciona, não tem
○
d
○
v
○
r
Não havia tempo para produzir um contramos softwares, ou seja, a “alma” do
○
e
microprocessador IBM. Com o prazo se es- IBM-PC. São estes softwares (programas)
○
s
○
e
gotando, um engenheiro propôs aos executi- que fazem a máquina saber quantos drives
○
R
○
vos da IBM um microcomputador com arqui- de disco tem, qual o teclado utilizado, etc.
.
○
a
tetura aberta, do Inglês open architecture.
○
d
○
iz
○
t
○
Os demais componentes, como monitor, tudo levará você a conhecer e até a desenvol-
au
○
○
o
escolhidos entre os fabricantes existentes Basearemos nossos estudos em microproce-
○
ã
○
n
que, contratados pela IBM, produziriam con- ssadores de 8 bits, como o Z80 ou 8085, ou-
○
○
ia
forme especificação para a IBM. tros de 16 e 32 bits da família Intel 80X86.
○
óp
○
○
C
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○ ○ ○ ○ ○
133/10
Cópia não autorizada. Reservados todos os direitos autorais.
2 - INTEL significa:
os
(
(
) a) Inteligência;
) b) Internet; os
( ) c) International Business Machine; od
( ) d) Integrated Electronics; t
( ) e) International Telephonic. o s
ad significam:
3 - Em microcomputadores, “corpo” ev“alma”
( ) a) hardware e software; e r
( ) b) carcaça e vida;
es
( ) c) BIOS da IBM;
. R
( ) d) Microsoft;
( ) e) clone. d a
za
i
or pela IBM.
4 - Open Architecture ou arquitetura aberta, no IBM-PC, significava:
t
( ) a) tudo era fabricado
( ) b) tudo eraufabricado por outras empresas.
a
o
( ) c) nada era fabricado pela IBM, com exceção da BIOS.
nã
( ) d) tudo era fabricado pela IBM, com exceção da BIOS.
( ) e) Nenhuma das alternativas anteriores.
ia
5ó-pPara os micros compatíveis com o IBM-PC o que significa BIOS?
C( ) a) Sistema Operacional.
( ) b) Vida.
( ) c) Sistema Básico de Entrada e Saída de Dados.
( ) d) Basic Input Operational System.
( ) e) Nenhuma das alternativas anteriores.
133/11
Cópia não autorizada. Reservados todos os direitos autorais.
lição
○
u
○
a
○
s
○
Assim como a Intel começou fabricando
○
memórias eletrônicas, para só depois produ-
to
○
i
○
re
zir microprocessadores que utilizariam suas
○
i
○
memórias, nosso estudo seguirá esta linha
d
○
cronológica.
○
○
○
os
Memórias eletrônicas basicamente arma- s
○
o
○
to
○
s
○
d
○
v
são circuitos lógicos formados inicialmente por 16 pinos, 16 linhas, 16 saídas de 1 bit
○
r
○
e
flip-flops tipo DATA (veremos mais tarde ou- Figura 1
○
s
○
R 10H
○
. 0FH
○
0EH
ad matriz (li-
○
0DH
○
0CH
Organizadas no formato dezuma
○
i
DEMULTIPLEX
0BH
nha × coluna), cada linha darmemória
○
é nume- 0AH
o A3
○
t 09H
○
au
08H
○
07H
A0
○
06H
Inglês, address).
o
○
ã 05H
○
03H
○
nhas, portanto,
óp informações digitais (1 ou 0).
01H
○
○
CONTROLE DEMULTIPLEX
○
RTW DCS
○
○
Memória Multiplexada
○
Figura 2
○
○ ○ ○ ○ ○
133/13
Instituto Monitor
Cópia não
A figura autorizada.
1 mostra Reservados
um comparativo. À es- todos
mado de reados
ou direitos autorais.
leitura da memória. Este
○
○
querda temos uma memória com 16 linhas, bloco controla ainda a ativação de toda a me-
○
○
ou seja, 16 endereços, começando pelo zero. mória por meio da saída em tri-state.
○
Por não estar multiplexada internamente, ela
○
○
precisa de 16 pinos externos no CI, um pino Basicamente, todas as memórias moder-
○
○
para ativar cada um dos endereços. nas funcionam usando este princípio, mudan-
○
do um pouco de tecnologia e métodos de mul-
○
s.
○
Em cada endereço da memória da es- tiplexação.
i
○
querda só temos 1 bit, ou seja, somente uma
a eletrô-
○
r
○
informação digital, que pode ser 0 ou 1. Para Para fixar o conceito de memória
to destas me-
○
○
cada saída teríamos um pino externo ao CI, nica, vamos fazer uma analogia
u
○
então mais 16 pinos. Se contarmos com os mórias com arquivos de aço, a muito utilizados
○
○
pinos de alimentação (+Vcc e GND), já são 34 em escritórios. s
○
o
it arquivo de aço seja
○
pinos. É muito pino!
○
Suponha que e cada
○
uma pastilha deirmemória (ou CI). Suponha
○
Olhe agora o exemplo da figura 2. A me-
d deste arquivo de aço esteja
○
○
mória da direita tem a mesma quantidade de que cada gaveta
linhas (endereços) que a memória da esquer-
○
numerada o
○
s
a partir do zero. Suponha que den-
s gaveta só caiba uma informação
○
d
○
r
○
es
○
○
R A0,
○
a
A1, A2 e A3 estiverem em nível lógico 0, isto
○
d
○
iz destas me-
○
o semelhante à
ço zero da memória. A utilização
○
t
○
ã
○
n
ra carrega 8 informações digitais, 8 bits, ou
○
○
a
seja, 1 byte. Desta forma, teremos, nas 8 saí-
pi
○
endereçoóativado.
○
C
○
○
○
Note também um bloco de controle da Alguém pede para você ver o conteúdo
○
○
memória. Através dos pinos presos a ele con- da gaveta 4. Para isso, você executa um pro-
○
○
trolam-se as informações, se serão gravadas cesso de leitura da memória. Vai até o arqui-
○
(ou escritas) na memória. Chamamos este pro- vo, abre a gaveta certa e olha o que tem lá.
○
○
cesso de write ou escrita na memória. Con- Fecha a gaveta e pronto. O que estava lá den-
○
○
trola-se também se as informações sairão (ou tro você viu e por lá ficou. Você não alterou
○
serão lidas) da memória, processo este cha- nada. Você somente viu o que tinha lá.
○
○ ○ ○ ○ ○
133/14
Instituto Monitor
ã o
n
ia
óp
C
Final da
Início da Trecho da
Memória Memória
Memória Memória
completa
Figura 3
133/15
Instituto Monitor
Resumindo:
133/16
Cópia não autorizada. Reservados todos os direitos autorais.
( p
a
( ) c) 63 gavetas;
i 32 gavetas;
) d)
( ó) e) 2 gavetas.
64
C
5 - Uma memória multiplexada com 10 linhas de endereço, A0 até A9:
( ) a) pode endereçar 1.024 locações de memória.
( ) b) tem 10 endereços.
( ) c) tem 10 linhas de dados.
( ) d) pode endereçar 10 locações de memória.
( ) e) armazena 10 bits.
Cópia não autorizada. Reservados todos os direitos autorais.
○ ○ ○ ○ ○
133/17
Cópia não autorizada. Reservados todos os direitos autorais.
lição
○
u
○
cos. Exemplos:
a
○
s
○
As memórias eletrônicas aplicáveis em
○
microcomputadores ou sistemas eletrônicos es-
toe ruídos;
• brinquedos que, ao apertar um botão,
○
i
○
re
tão divididas em duas categorias: falam ou emitem sons
○
• liquidificadoresicom painéis digitais, que
○
d se o copo está bem
○
• memórias fixas, não-voláteis ou somente
○
• máquinas
d
○
voláteis (RAM).
o
○
eletrônico;
t
○
○
o
○
d
○
v
○
R
○
z nessa memó-
○
u
fabricada com as informações seu interior e duzida, o preço por unidade é bem pequeno.
○
o máximo que você pode Desvantagens: caso seja necessário alterar al-
○
o
○
leitura (read).
nã
guma informação do conteúdo desta memória,
○
○
por silk-screen.
mamosC
○
○
O processo de fabricação de uma memória cisava-se de uma memória que pudesse ser gra-
○
○
ROM é custoso e só se justifica quando a pro- vada (write) e depois ficasse somente para lei-
○
milhares ou milhões de memórias. Sua aplica- tas virgens, onde o usuário colocaria dentro de-
○
○
○ ○ ○ ○ ○
133/19
Instituto Monitor
Cópia não
A figura autorizada.
a seguir Reservados
mostra uma memória do todos
As figurasos
4 e direitos autorais.
5 mostram uma memória
○
○
tipo PROM (Programable Read Only Memory), PROM com 9 endereços de 8 bits cada.
○
○
que se traduz como Memória Programável
○
Somente para Leitura. Isto significa que po- Na memória PROM virgem todos os diodos
○
○
demos gravar dados na memória uma única estão bons; assim, ao acessarmos uma linha
○
○
vez; depois disso, a memória não aceita re- de endereço qualquer, teremos na saída
○
gravação e se torna uma ROM normal. 11111111.
○
s.
○
i
○
Saída de Dados
a
Na memória PROM gravada alguns diodos
○
D0 D1 D2 D3 D4 D5 D6 D7
r
○
foram destruídos, aplicando a eles uma ten-
to
○
○
são reversa que rompeu sua estrutura crista-
u
○
a
lina. Esses diodos não existem mais e em seu
○
C
○
s
lugar ficou um circuito aberto. Agora, ao
○
1
o
it
○
acessarmos a linha 4, por exemplo, teremos nas
Linhas de Endereço
○
2
e
saídas 01111011. Cada diodo queimado força
○
r
di
○
3 sua saída para nível lógico zero.
○
○
os
4
○
5
s
○
6
d
○
7
t
este motivo que dizemos que as memórias
○
○
8
s PROM podem ser gravadas uma única vez. Um
○
R R R R R R Rd
○
a
○
v
○
r Vantagens:
○
Figura 4
R
○
D0 D1 D2 D3 D4 D5dD6 D7
○
a
○
o
○
t grande lote.
○
au
○
○
1
Desvantagens:
○
o
Linhas de Endereço
nã
2
○
○
óp5
○
○
o diodo destruído.
○
7
○
8
○
R R R R R R R
○
está sendo
Figura 5
○
○
○ ○ ○ ○ ○
133/20
Instituto Monitor
Figura 6
133/21
Instituto Monitor
Cópia
Note asnão autorizada.
janelas Reservados
de entrada de radiação todos
- Não osalteração
permitem direitos autorais.
de seu conteúdo.
○
○
UV para apagamento total, permitindo ver as
○
Memórias PROM
○
locações de memória.
○
- Encapsuladas no formato de um CI.
○
○
4. Memórias EEPROM
○
- Semelhantes às ROMs, só que permitem
○
○
Com a evolução chegamos às memórias a gravação de dados.
○
s.
○
EEPROM (Electricaly Erasable Programable - Têm custo unitário maior devido à baixa
i
○
Read Only Memory), que se traduz como Me-
a
○
produção.
r
○
mória Programável e Apagável Eletricamen-
to
○
- Exigem equipamentos de gravação e não
○
te Somente para Leitura. Isto significa que
u
○
toleram erros de gravação.
podemos gravar e apagar dados com sinais a
○
○
elétricos, não sendo mais necessária a radi- - Teoricamente são como s uma matriz de
○
o
t qual “queimamos” os
○
ação ultravioleta. Podemos apagar somente diodos todos OK, ina
○
1 bit, se for o caso, e deixar o resto como es- e
○
ir
diodos cuja informação a ser gravada seja
○
tava. o bit zero.
d
○
○
Memórias o
○
s
EPROM
s
○
2
desta memória como: E PROM, E PROM e
o
○
2
- Encapsuladas no formato de um CI.
d
○
E2PROM.
o
○
a
○
r
○
se com a EPROM. e
○
.
○
a
São aplicáveis em sistemas eletrônicos que ultravioleta.
○
d
○
rietc.
como TVs, videocassetes, agendas eletrônicas,
○
- Permitem regravação.
o
câmaras fotográficas digitais,
○
t
○
5. Resumo a
○
o
○
Memórias ROM ã
○
n Memórias EEPROM
○
○
delas.
○
apenas.
○
○
reduzido.
○
eletroeletrônicos.
○
personalizada).
○
○
○ ○ ○ ○ ○
133/22
Cópia não autorizada. Reservados todos os direitos autorais.
os
2 - As memórias PROM são gravadas uma única vez porque a gravação dos
dados é feita:
( ) a) por queima de diodos. os
( ) b) pela inclusão de diodos. od
( ) c) por luz ultravioleta. t
( ) d) por silk-screen. o s
( ) e) por fita magnética.
ad
r v
3 - ROM, PROM, EPROM e E2PROM e pertencem à categoria das ROMs porque:
( ) a) são utilizadas apenas para s
e a escrita de dados.
a leitura de dados.
R
( ) b) são utilizadas apenas para
( ) c) são utilizadas também. para a leitura de dados.
d a para a escrita de dados.
( ) d) são utilizadas também
za funcionam apenas para leitura de dados.
( ) e) após serem gravadas
i
tor
au
ã o
n
ia
ó p
C
133/23
Cópia não autorizada. Reservados todos os direitos autorais.
lição
. R
so Aleatório, eram fabricadas inicialmente de flip-flops tipo data,
arranjadas em endereços com 1, 4 ou 8 flip-flops por endereço, re-
d a
presentando, respectivamente, 1 bit, 4 bits e 8 bits.
a
Chamamos riz de acesso aleatório porque nela podemos acessar
o
qualquer tendereço diretamente, sem ter que passar pela seqüência
de todosuos outros. Podemos ir direto do endereço 1000 para o ende-
a
o
reço 300, por exemplo, e depois para o endereço 2134. O endereça-
nã
mento e a saída de dados são multiplexados.
133/25
Instituto Monitor
D D D D D D D D
D D D D D D D D
is.
r a
to
D D D D D D D D
u
D D D D D D D Da
os
D D D D D D
eit D
D
r
di D D
DEMULTIPLEX DE ENDEREÇOS
D D D D D D
os D
A0
D D D D
os
D D D
D D D o
D d D D D D
A1 t
o s D D D D D D D D
A2 d
D Dva D D D D D D
A3
er
D s D
e D D D D D D
. R
da D D D D D D D D
a
riz D D D D D D D D
to
au D D D D D D D D
ão D D D D D D D D
n
ia D D D D D D D D
óp
C
CONTROLE
READ / WRITE DEMULTIPLEX DE DADOS
CHIP SELECT
R/W CS D0 D1 D2 D3 D4 D5 D6 D7
Cópia não autorizada. Reservados todos os direitos autorais.
Figura 7 - Exemplo de estrutura interna de uma memória SRAM 16 endereços - 8 BITS
○ ○ ○ ○ ○
133/26
Instituto Monitor
os
carga naturalmente com o passar do tempo. Assim, as DRAMs tam-
bém são chamadas de voláteis, pois perdem suas informações com a
a d
menor variação da tensão de alimentação.
r v
A idéia é ótima, pois em eum CI cabem muito mais capacitores do
que flip-flops; o problema s
e a perda de carga elétrica (d.d.p.). Para
é
compensar este problema R é embutido um circuito de refresh, tradu-
zido como refresco aou. renovação dos dados. Este circuito tem a fun-
ção de olhar cadadum dos milhares de capacitores que compõem a
iza deles tiver d.d.p., ou seja, carga armazenada, dar a
memória e, se um
or mais de carga.
ele um pouco
t
auprocesso é repetido entre alguns milisegundos desde a li-
Este
o da memória até que seja desligada. O inconveniente é que,
gação
ã
nenquanto estiver sendo feito o refresh, ninguém pode acessar os da-
ia dos dentro da memória, fenômeno este chamado de wait state ou
óp
estado de espera, que é o tempo que se espera para poder trocar
informações com as memórias do tipo DRAM.
C
133/27
Instituto Monitor
DEMULTIPLEX DE DADOS
is.
r a
uto
a
os
DEMULTIPLEX DE ENDEREÇOS
eit
A0
r
di
A1
os
os
A2
od
t
A3
os
a d
r v
se
e
. R
da
a
R/W CONTROLE
riz
o
READ / WRITE
CHIP tSELECT CIRCUITO REFRESH
CS
a u
o
nã Figura 8 - Exemplo de memória DRAM 16 endereços - 8 BITS
ia
óp Na figura 8, cada linha é composta de 8 capacitores que têm
C sua carga renovada pelo circuito de refresh, gerando um wait state
(período de espera) para que a memória possa ser acessada.
133/28
Instituto Monitor
Cópia não3.autorizada.
Resumo Reservados todos os direitos autorais.
As memórias RAM têm esse nome porque podem acessar qual-
quer endereço diretamente, sem passar pela seqüência dos demais.
São divididas em duas categorias: SRAM e DRAM. São conhecidas
como memórias voláteis porque perdem suas informações com a
menor variação da tensão de alimentação.
is.
As SRAMs são as estáticas, pois conservam seus dados na saída
enquanto houver alimentação. São basicamente formadas por flip- r a
flops tipo data.
uto
a
s
As DRAMs são memórias formadas basicamente por capacitores
o
para poder acessar este tipo de memória. e it
e precisam de circuito de refresh, o qual cria um tempo de espera
dir
As SRAMs têm uma quantidade de endereços menor se compa-
radas com as DRAMs, porém, são mais rápidas. os
SRAMs e DRAMs
têm características complementares.
os
od
t
o s
ad
r v
e
es
. R
d a
iza
tor
au
ão Anotações e Dicas
n
ia
óp
C
133/29
Cópia não autorizada. Reservados todos os direitos autorais.
133/30
Cópia não autorizada. Reservados todos os direitos autorais.
lição
Preparação para
5 Microprocessadores is.
r a
Introdução Barramento ou BUS – Dá-se o tnome o de barra-
○
u
○
a
mento ao conjunto de fios que transportam si-
○
s
○
Nesta lição iremos esclarecer os termos nais elétricos no formato digital e que exerçam
○
uma mesma função. Poroexemplo: uma memó-
técnicos utilizados no estudo dos microproces-
t
○
ria apresenta 10 linhasi de endereçamento; por-
○
sadores, indispensáveis para seu perfeito en-
e
○
r tem 2 endereços, que
di endereços; estas 10 linhas
○
10
tendimento. tanto, esta memória
○
corresponde a 1.024
○
o
têm a função de
○
s formar o endereço da memória
em binário,s sendo nomeadas e numeradas de A0
○
até A9. o
○
Alguns itens da eletrônica digital são uti- Este conjunto de 10 fios é entendido
d barramento ou, em Inglês, bus. Pode-
○
comooum
○
s tamanhos. Exemplos:
○
o
tes
○
es
• o microprocessador 80386 tem barramento
○
R de endereços de 32 bits.
○
.
○
z
○
ã Exemplos:
○
Tri-state – É conhecido
n
○
co 0, mas trata-se
p endereço, ou seja, tem um barramento de
○
ó
○
tri-state
○
microprocessados, pois evita o curto-circuito tais que recebem pulsos de clock e realizam
○
○ ○ ○ ○ ○
133/31
Instituto Monitor
Cópia
mados paranãocomeçarautorizada. Reservados
a contar a partir de qual- todos os Programável
2. Controlador direitos autorais.
○
○
quer número binário, podendo ser resetados
○
○
para voltar a contagem a zero. Podem contar Vamos acrescentar à lista termos própri-
○
progressiva ou regressivamente a cada pulso os de microcomputadores.
○
○
de clock.
○
○
Controlador – Circuito lógico digital cuja fun-
○
Memórias – Circuitos lógicos digitais que ar- ção é controlar dispositivos externos por meio
○
s.
○
mazenam informação binária (binary digit). de uma seqüência lógica de acionamentos
i
○
Podem armazenar 1 bit, 4 bits, 8 bits, etc. Sua deste dispositivo.
a
○
r
○
capacidade é medida em função da quanti-
to
○
○
dade de endereços e de quantos bits cada en- Controlador Programável – É o controlador
u
○
dereço tem. Cada conjunto de 1.024 é cha- a
que permite ser programado. Podemos alte-
○
○
mado kilo e representado pela letra k. Cada s
rar a seqüência lógica dos acionamentos sem
○
o
it
○
1.024 conjuntos de 1.024, ou cada 1.024 con- alterar o circuito (hardware), apenas alteran-
○
juntos de kilo é chamado mega e representa- e
do a programação (software). Estes circuitos,
○
r
di
○
do pela letra M. Cada 1.024 conjuntos de mega por conseqüência, utilizam memórias.
○
○
é chamado giga e representado pela letra G.
os
○
1 bit é 1 bit. 4 bits é chamado nibble. 2 nibbles Mostramos em seguida um aplicativo sim-
○
s
○
d
○
byte. 16 bits é chamado word. 32 bits é cha- se de um cruzamento de vias com semáforos
o
○
s
Os dispositivos externos a serem acionados
○
d
○
v
○
s
○
a
○
o
○
u
O primeiro número refere-se à quanti-
○
locações de memórias;
○
de 2 kbytes;
o segundo número, o expresso em palavras bit,
○
ia
informação que cabe em cada endereço. as lâmpadas, uma vez que +5 volts vindos
○
dúvidas.
○
○
○
○
○
○
○
○
○
○
○
○
○ ○ ○ ○ ○
133/32
Instituto Monitor
is.
r a
uto
a
os
eit
r
di
os
os
od
t
+ Vcc
os + Vcc D0
d A0 Q0
Q1va
GND D1
A1
r
eQ2
D2
s
e Q3
A2
D3
R A3
CONTADOR BINÁRIO
a. Q4 A4
D4
d
MEMÓRIA
D5
a
CLOCK
Q5 A5
z
ri
+5V D6
Q6 A6
to D7
au Q7 A7
ão R
Q8 A8
n Q9 A9
óp
C RESET R/W CS
R
C C
+5V
133/33
Instituto Monitor
is.
As saídas da memória acionam as lâmpadas dos semáforos di-
retamente através de drivers de potência. Assim: r a
uto
• quando D0 for N.L. = 1, acende a lâmpada vermelha do a
semáforo 1;
o s
• quando D1 for N.L. = 1, acende a lâmpada amarela doei
t
emáforo 1;
dir
• quando D2 for N.L. = 1, acende a lâmpada verde
os do semáforo 1;
semáforo de pedestres; o s
• quando D3 for N.L. = 1, acende a lâmpada vermelha do
od
t verde do semáforo
• quando D4 for N.L. = 1, acende a lâmpada
de pedestres;
o s
• quando D5 for N.L. = 1, acended a lâmpada vermelha do
semáforo 2; va
r
e a lâmpada amarela do
• quando D6 for N.L. = 1, acende
semáforo 2; e s
• quando D7 for N.L. R
. = 1, acende a lâmpada verde do semáforo 2.
d a
Para que o acircuito funcione é preciso programar a memória.
riz a memória pelo empilhamento de locações e
Vamos representar
indicar seuoendereço e seu conteúdo em hexadecimal.
ut
a locação de memória é composta de 8 bits, e cada bit con-
Cada
o
nãqual lâmpada. Por isso, veja a tabela proposta:
trola uma lâmpada dos semáforos. Precisamos saber que bit acen-
de
ia
óp AMARELO
VERMELHO VERDE VERMELHO VERDE VERMELHO AMARELO VERDE
C1
SEMÁFORO SEMÁFORO
1
SEMÁFORO SEMÁFORO SEMÁFORO SEMÁFORO SEMÁFORO SEMÁFORO
1 1 2 2 2
D0 D1 D2 D3 D4 D5 D6 D7
133/34
Instituto Monitor
Cópia não
A tabela autorizada.
a seguir apresenta um Reservados
progra- todos
deria os com
o conteúdo direitos
qualquer autorais.
ausência da
○
○
ma de controle dos semáforos. Como o clock tensão de alimentação. Então, sobraram as
○
○
do circuito é de 1 Hz, o conteúdo de cada en- memórias do tipo EPROM e EEPROM.
○
dereço de memória ficará na saída por 1 se-
○
○
gundo. Assim, se desejarmos que uma lâm- Uma vez com o programa todo feito, uti-
○
○
pada fique acesa por 10 segundos, devemos lizamos os gravadores de EPROM e
○
repetir este conteúdo de memória por 10 en- EEPROM, conforme exemplos a seguir.
○
s.
○
dereços consecutivos.
i
○
a
○
r
○
ENDEREÇO CONTEÚDO
to
○
0000h 10001100
○
u
○
0001h 10001100
a
○
0002h 10001100
○
0003h 10001100
Inicia com os dois
s
○
faróis vermelhos e o
o
it
○
0004h 10001100 verde de pedestres
○
0005h 10001100 acesos.
e
○
r
di
○
0006h 10001100
○
0007h 10001100
○
os
0008h 10001100 ○
○
0009h 10001100
s
○
d
○
s
○
semáforo 1 acende,
d
○
000Fh 00110100
a
○
enquanto os outros
0010h 00110100
v
○
ficam vermelho.
r
○
e
○
s
○
R
○
a
aceso, por 13 segundos. Cada farol verde
○
d
○
iz
○
o trabalhamos
○
t
○
a
○
o
conteúdo foi colocado em binário para me- basta colocá-la no circuito e ligar.
○
ã
○
n
lhor visualização dos acontecimentos, mas
○
○
a
veremos ainda que esses binários deverão ser
convertidos ipara hexadecimal.
Ao nosso controlador programável falta
○
óp
poder receber informações externas. Um
○
○
Nosso exemplo não segue até o final, pois pedestre somente se existisse alguém para
○
ocuparia várias linhas de programação (en- atravessar. Nosso circuito teria que identifi-
○
○
dereços de memória). A pergunta é: como co- car o acionamento do botão. Essas e outras
○
○
locar essas informações dentro da memória? habilidades podem ser encontradas nos mi-
○
○ ○ ○ ○ ○
133/35
Cópia não autorizada. Reservados todos os direitos autorais.
2 - Defina barramento.
os
s
...................................................................................................................................
o
d
...................................................................................................................................
o
t
...................................................................................................................................
o s
...................................................................................................................................
ad
v
3 - Bit, nibble, byte e word são, respectivamente:
r
( ) a) 1, 2, 4 e 8 bits.
( ) b) 1, 4, 8 e 16 bits. se
e
( ) c) 2, 4, 8 e 16 bits.
( ) d) 1, 2, 3 e 4 bits. . R
( ) e) 1, 8, 4 e 2 bits. da
za
4 - Para representarrio endereço de memória, bem como seu conteúdo, utilizamos
números: to
( ) a) binários. u
( ) b) decimais.a
o
nã
( ) c) trinários.
( ) d) hexadecimais.
i
( ) e)aoctais.
óp
C
133/36
Instituto Monitor
Cópia
5 -não autorizada.
Tri-state é: Reservados todos os direitos autorais.
( ) a) nível lógico 1.
( ) b) nível lógico 0.
( ) c) alta impedância.
( ) d) baixa impedância.
( ) e) três estados lógicos.
133/37
Cópia não autorizada. Reservados todos os direitos autorais.
lição
6 Microprocessadores is.
r a
Introdução to
○
u
○
Processamento,
a “RASCUNHO”
Memória de
○
Interpretação e
s
○
Os microprocessadores podem ser compa- Cálculo
○
o
it
rados com o cérebro humano, apresentando fun-
○
○
ções análogas. Vamos, nesta lição, mostrar um
e
○
r
di
○
microprocessador por dentro, analisando sua
○
estrutura e funcionamento.
○
os
○
○
1. Cérebro Humano e s
○
o
○
Cérebro Eletrônico d
○
Memória de
o
○
“RETENÇÃO
t
○
FIXA”
○
d
○
v
○
r
meio de circuitos elétricos, pois o cérebro tra-
○
e
microprocessador. Semelhante ao cérebro hu- como base dos microprocessadores
○
R
○
a
○
d
○
iz
○
t
○
• adverte sobre resultados; mação vem pelos olhos e deve ser interpretada
u
○
a
○
o so cérebro.
○
ã
fazer, depois esquece;
○
n de retenção;
○
• acessa a memória
○
ciclos do clock.
○
Basicamente, é o mesmo que nosso cérebro Buscamos na memória fixa do nosso cérebro
○
a figura 11:
○
○
○
○ ○ ○ ○ ○
133/39
Instituto Monitor
Cópia
do não autorizada.
seja o esperado Reservados
ou não, rapidamente so- todos os direitos autorais.
○
○
mos advertidos: utilizamos nossas flags. Re-
○
○
cebemos informações pelos nossos cinco sen- A0 ~ An
○
tidos (olfato, tato, visão, paladar e audição) e
○
○
comandamos nossos músculos: utilizamos os
○
○
dispositivos de I/O (input/output) ou perifé-
○
ricos. Somos movidos pelos batimentos car-
○
s.
○
díacos: utilizamos nosso clock.
i
○
a
○
r
○
Como você pode perceber, os microproces-
to
○
○
sadores são muito semelhantes ao nosso cére-
u
○
bro. a
○
D0 ~ Dn
○
s
○
o
2. Microprocessadores Internamente
it
○
○
e
○
r
di
○
O termo “micro” se deve ao fato de serem
○
○
muito pequenos quando comparados com os
os
○
s
○
d
○
dade.
t Figura 12 - Por dentro de uma C. P. U.
○
○
s
○
d
○
Processamento. e
○
e
○
de que
.
○
a
○
iz que passar
○
u
○
n
rapidamente, é preciso
○
a
de com que esse processamento é feito, ou seja,
i
○
ó com freqüências cada vez maio- der com precisão a essa velocidade, calculan-
○
sos de clock
C
○
americanos).
○
○ ○ ○ ○ ○
133/40
Instituto Monitor
Cópia
cada não colocou
fabricante autorizada. Reservados todos
em seus micropro- osa tensão
Diminuindo direitos autorais.
de alimentação dos
○
○
cessadores. No Z80, por exemplo, são 16 li- processadores geramos menos calor e pode-
○
○
nhas de endereçamento (A0 até A15); no 80386 mos aumentar a freqüência do clock; porém,
○
são 32 linhas (A0 até A31). mesmo assim precisamos utilizar cooler.
○
○
○
○
PINOS DE DADOS – Ligados ao bloco con- Vamos descrever os blocos funcionais:
○
trolador de fluxo de dados, são nomeados com
○
s.
○
a letra D e numerados a partir do zero. A quan- BLOCO CONTADOR DE ENDEREÇOS –
i
○
tidade de linhas de dados indica a “potência”
a
Trata-se de um contador binário que tem sua
○
r
○
do processador e depende de quanto o fabri- contagem controlada pelas instruções do
to
○
○
cante colocou. No Z80, por exemplo, são 8 li- microprocessador. Pode ser zerado, ter alte-
u
○
nhas de dados (D0 até D7); já no 80386 são 32 rada sua contagem, etc. a
○
○
linhas de dados (D0 até D31). s
○
o
it
○
BLOCO CONTROLADOR DE FLUXO DE
○
PINO READ – Pino de saída de sinal elétrico. e
DADOS – Trata-se de um circuito formado por
○
r
di
○
Quanto ativo, o microprocessador informa aos flip-flops tipo data com características tri-
○
○
dispositivos externos que ele fará uma leitura. state e direcionais. Ele é controlado por ins-
os
○
s
○
PINO WRITE – Pino de saída de sinal elétri- dos devem sair do processador para a memó-
o
○
d
○
PINO MEMORY – Pino de saída de sinal elé- o cessador é fabricado com um conjunto de ins-
○
trico. Quando ativo, o microprocessador in- ad truções que seu fabricante determinou. As ins-
○
○
mória apenas, e não com os periféricos. e processador sabe fazer. Não existem instru-
○
s
○
R
○
de sinal elétrico. Quando ativo, o a delas foi associado um número binário que o
○
micropro-
dcom os pe-
○
izmemórias.
○
riféricos apenas, e não com as de, esses binários foram convertidos em có-
r
○
t
○
ados.
u
○
ã
são de alimentação. Para que você tenha uma
○
enquanto que iaum 80486 trabalha com tensão 32 bits que funcionam como rascunho. Por
○
ó
○
Cópia não
processador. autorizada.
Assim, poderá funcionarReservados
por um todos os direitos autorais.
○
○ ○ ○ ○ ○
133/41
Instituto Monitor
Cópia
AX é de 16não autorizada.
bits, mas Reservados
podemos utilizar o AH todos
méticas, os direitos
ela também consegue autorais.
executar to-
○
○
de 8 bits e o AL de 8 bits. O mesmo se aplica das as funções lógicas entre dois binários,
○
○
aos outros. Veja a figura: como AND, OR, NAND, EXAND, INVERSO-
○
RA, etc.
○
○
16 - bits
○
AX
○
REGISTRADOR FLAGS (BANDEIRINHAS)
○
AH AL – É um registrador especial em que cada um
○
s.
○
8 - bits 8 - bits de seus bits tem a função de advertir algum
i
○
16 - bits
a
resultado da U.L.A. Dentro dele temos:
○
r
○
BX
o
○
• flag de zero (flag Z ): é ativada sempre que
o resultado da U.L.A. sejauot binário zero;
○
BH BL
○
8 - bits 8 - bits
a
○
○
16 - bits • flag de carry (flag C): s é ativada sempre que
○
t
o resultado da U.L.A. o provocar o “vai um”
○
CX
i
○
CH CL ou carry; e
○
ir S): é ativada sempre que
○
8 - bits 8 - bits • flag de sinal d
(flag
○
○
16 - bits
○
s da U.L.A. for um número ne-
o resultado
gativo; o
○
DX
s
○
DH DL
• flag o
○
8 - bits 8 - bits
o
○
que
tnúmero binário com quantidade par de bits
○
○
s
○
d
○
s
○
flag.
de memória RAM disponível no sistema. a
○
d
○
a
○
C
z AC P S Z
○
ri duas entradas,
BLOCO U.L.A. (UNIDADE LÓGICA E
○
8 - bits
ARITMÉTICA) – Tem apenas
o
○
t
○
pois assim como o ser humano, só consegue Basicamente, encontramos esta estrutu-
u
○
números, um únicooresultado sai da U.L.A. e dois deles para dar a você uma boa base so-
○
ã
○
p
nários (multiplicar tudar um deles deixa você apto a conhecer e
○
ó
○
○ ○ ○ ○ ○
133/42
Cópia não autorizada. Reservados todos os direitos autorais.
lição
○
u
○
a
çamento, de dados, de clock, de memória, de
○
s
○
Agora que você já tem conhecimentos bá- I/O, de reset, de leitura (read) e de escrita
○
sicos sobre microprocessadores, vamos anali- (write).
to
○
i
○
reoutros pinos:
sar em detalhes dois diferentes:
○
i
○
Comentando os
d
○
• Microprocessador Zilog Z80
○
o s
PINOS DE ALIMENTAÇÃO
○
- +Vcc de 5 volts
s
e GND referência zero volt.
○
o
○
PINO
em tnível lógico zero, indica aos periféricos que
1. Z80 Internamente
○
○
o
○
a
○
v
○
r
○
s
○
e
A figura 13 mostra o microprocessador
trico. Quando ativado vai a nível lógico zero,
○
.
Z80-CPU. Trata-se de um microprocessador
○
a ser restaurada.
a
○
iz
○
r
○
t
○
nã
○
○
ia
○
ó
○
Figura 14
um sinal elétrico pino INT.
○
○
○ ○ ○ ○ ○
133/43
Instituto Monitor
Cópia
PINO NMI não autorizada.
(NON MASKABLE Reservados todos
INTERRUPT) Hardwareos é adireitos
parte física autorais.
do sistema,
– Semelhante ao INT, este pino de entrada sendo composto de fontes de alimentação
tem prioridade total sobre a CPU, fazendo de tensão contínua, circuitos integrados de
interromper a execução do programa no portas lógicas, memórias, MUX, DEMUX,
momento da NMI, diferentemente da entrada resistores, capacitores, placa de circuito im
INT, na qual a CPU completa a instrução e presso, cristal oscilador e periféricos.
depois libera os barramentos.
ó
C A figura 16 mostra componentes do
hardware de um microcomputador pessoal
baseado na CPU Z80.
133/44
Instituto Monitor
Cópia nãocada
autorizada. Reservados
instrução foi atribuído todos
um código que os direitos
será interpretado e exe- autorais.
cutado pela CPU.
is.
r a
uto
a
os
eit
r
di
os
os
od
t
os
ad
r v
se
e
. R
da
a
riz
to
au
Mnemonic
ão SZHPNC Description Notes
ADC A,s n ***V0* Add with Carry A=A+s+CY
a
ADD iA,s
ADC HL,ss **?V0* Add with Carry HL=HL+ss+CY
óp HL,ss
ADD
***V0*
—?-0*
Add
Add
A=A+s
HL=HL+ss
CADD IX,pp —?-0* Add IX=IX+pp
ADD IY, rr —?-0* Add IY=IY+rr
AND s ***P00 Logical AND A=A&s
BIT b,m ?*1?0- Test Bit m&{2^b}
CALL cc,nn ——— Conditional Call If cc CALL
CALL nn ——— Unconditional Call -[SP] =PC, PC=nn
CCF —?-0* Complement Carry Flag CY=~CY
CP s ***V1* Compare A-s
CPD ****1- Compare and Decrement A-[HL], HL=HL-1, BC=BC-1
CPDR ****1- Compare, Dec., Repeat CPD till A=[HL]or BC=0
Cópia não autorizada. Reservados todos os direitos autorais.
CPI ****1- Compare and Increment A-[HL], HL=HL+1, BC=BC-1
○ ○ ○ ○ ○
133/45
Instituto Monitor
CópiaCPIR
não autorizada.
****1- Reservados
Compare, Inc., Repeat todos
CPIos direitos
till A=[HL]or BC=0 autorais.
CPL —1-1- Complement A=~A
DAA ***P-* Decimal Adjust Acc. A=BCD format
DEC s ***v1- Decrement s=s-1
DEC xx ——— Decrement xx=xx-
DEC ss ——— Decrement ss=ss-1
DI ——— Disable Interrupts
DJNZ e ——— Dec., Jump Non-Zero B=B-1 till B=0
s.
EI ——— Enable Interrupts
EX [SP], HL ——— Exchange [SP] <->HL
ai
EX [SP], xx ——— Exchange [SP] <->xx
r
to
EX AF, AF’ ——— Exchange AF<->AF’
EX DE, HL ——— Exchange DE<->HL
EXX ——— Exchange
au
qq<->qq’ (except AF)
HALT ——— Halt
IM n ——— Interrupt Mode (n=0, 1, 2)
os
IN A, [n]
IN r, [C]
———
***P0-
Input
Input
A=[n]
r=[C] eit
r
di
INC r ***V0- Increment r=r+1
INC [HL] ***V0- Increment [HL] = [HL]+1
os
INC xx ——— Increment xx=xx+1
INC [xx+d] ***V0- Increment [xx+d]=[xx+d]+1
INC ss Increment
os ss=ss+1
IND
INDR
?*??1-
?1??1-
Input and Decrement
Input, Dec., Repeat
od [HL] = [C], HL=HL-1, B=B-1
IND till B=0
INI ?*??1- Input and Increment t [HL] = [C], HL=HL+1, B=B-1
INIR ?1??1- s
Input, Inc., Repeat
o
INI till B=0
JP [HL]
JP [xx]
———
———
ad
Unconditional Jump
Unconditional Jump
PC=[HL]
PC=[xx]
JP nn ———
r v
Unconditional Jump PC=nn
JP cc, nn
JR e
———
——— se
Conditional Jump
Unconditional Jump
If cc JP
PC=PC+E
JR cc, e ——— e
Conditional Jump If cc JR (cc=C, NC, NZ, Z)
LD dst, src ———
. R
Load dst=src
LD A, i
LDD
**0*0-
—0*0- daLoad
Load and Decrement
A=i
[DE] = [HL], HL=HL-1, #
a
iz
LDDR —000- Load, Dec., Repeat LDD till BC=0
LDI
LDIR
or
—0*0-
—000-
Load and Increment
Load, Inc., Repeat
[DE] = [HL], HL=HL+1, #
LDI till BC=0
t
au
NEG ***V1* Negate A=-A
NOP ——— No Operation
OR s
OTDR
ão ***P00
?1??1-
Logical inclusive OR
Output, Dec., Repeat
A=Avs
OUTD till B=0
OTIR n ?1??1- Output, Inc., Repeat OUTI till B=0
ia
OUT [C], r ——— Output [C]=r
óp
OUT [n], A ——— Output [n]=A
OUTD ?*??1- Output and Decrement [C]=[HL], HL=HL-1, B=B-1
COUTI
POP xx
?*??1-
———
Output and Increment
Pop
[C]=[HL], HL=HL+1, B=B-1
xx=[SP]+
POP qq ——— Pop qq=[SP]+
PUSH xx ——— Push -[SP]=xx
PUSH qq ——— Push -[SP]=qq
RES b,m ——— Reset bit m=m&{~2^}
RET ——— Return PC=[SP]+
RET cc ——— Conditional Return If cc RET
RETI ——— Return from Interrupt PC=[SP]+
RETN ——— Return from NMI PC=[SP]+
Cópia não autorizada. Reservados todos os direitos autorais.
RL m **0P0* Rotate Left m={CY, M<-
○ ○ ○ ○ ○
133/46
Instituto Monitor
CópiaRLAnão autorizada.
—0-0*
Reservados todos
Rotate Left Acc.
os direitos autorais.
A={CY, a}<-
RLC m —0P0* Rotate Left Circular M=M<-
RLCA —0-0* Rotate Left Circular A=A<-
RLD **0P0- Rotate Left 4 bits {A,[HL]}={A,[HL]}< - # #
RR m **0P0* Rotate Right m= ->{CY,m}
RRA —0-0* Rotate Right Acc. A= ->{CY, A}
RRC m **0P0* Rotate Right Circular m= ->m
RRCA —0-0* Rotate Right Circular A= ->A
s.
RRD **0P0- Rotate Right 4 bits {A, [HL]}= ->{A,[HL]} # #
RST p ——— Restart (p=0H, 8H, 10H,...38H)
ai
SBC A, s ***V1* Subtract with Carry A=A-s-CY
r
to
SBC HL, ss **?V1* Subtract with Carry HL=HL-ss-CY
SCF
SET b, m
—0-01
———
Sei Carry Flag
Set bit
CY=1
m=mv{2^b}
au
SLA m
SRA m
**0P0*
**0P0*
Shift Left Arithmetic
Shift Right Arith.
m=m*2
m=m/2 os
SRL m **0P0* Shift Right Logical it
m= ->{0, m, CY}
e
SUB s ***V1* Subtract A=A-s
r
XOR s ***P00 Logical Exclusive OR A=Axs
di
os
F
S
-*01?
S Sign flag (Bit 7)
os
Flag unaffected/affected/reset/set/unknown
za Register
r
[rr] indirect addressing
i
or
Implied addressing
b
p
ut Bit addressing
Modified page zero addressing (see RST)
a
DEFB n(,...)ão Define Byte (s)
n
DEFB ‘srt’ (,...) Define Byte ASCII string (s)
ia
DEFS nn Define Storage Block
óp
DEFW nn(,...) Define Word (s)
C
A B C D E Registers (8-bit)
AF BC DE HL Register pairs (16-bit)
F Flag register (8-bit)
I Interrupt page address register (8-bit)
IX IY Index registers (16-bit)
PC Program Counter register (16 bit)
R Memory Refresh register
SP Stack Pointer register (16-bit)
Cópia não autorizada. Reservados todos os direitos autorais.
○ ○ ○ ○ ○
133/47
Instituto Monitor
s.
pp Register pair BC, DE, IX or SP
qq Register pair AF, BC, DE or HL
ai
qq’ Alternative register pair AF, BC, DE or HL
r
to
r Register A, B, C, D , E, H or L
rr
s
Register pair BC, DE, IY or SP
Any register r, value n, [HL] or [xx+d]
au
src
ss
Source s, ss, [BC], [DE], [HL], nn, [nn]
Register pair BC, DE, HL or SP os
xx Index register IX or IY
eit
r
+ - * / ^ Add/subtract/multiply/divide/exponent di
& ~ v x
os
Logical AND/NOT/inclusive OR/exclusive OR
<- ->
[ ]
Rotate left/right
Indirect addressing
os
[ ]+ -[ ] d
Indirect addressing auto-increment/decrement
o
{ } Combination of operands
t
#
##
o s
Also BC=BC-1, DE=DE-1
Only lower 4 bits of accumulator A used
ad
Veremos alguns exemplosr v
na parte de software, uma das pró-
ximas lições.
se
e
. R
da
a
r iz
to
au
ão Anotações e Dicas
n
ia
óp
C
133/48
Cópia não autorizada. Reservados todos os direitos autorais.
lição
Microprocessador
8 Intel 80x86 is.
r a
Introdução tem o 80286, também conhecido
uto como 286; o
80386, conhecido como 386, e o 80486, conhe-
cido como 486.
a
A Intel foi a primeira empresa a lançar s
no mercado o microprocessador de 4 bits, por
ito
Uma empresa concorrente patenteou os
intermédio de ex-funcionários da Fairchild. A e
nomes 586, 5X86,irantes que a Intel o fizesse.
Zilog, por sua vez, foi criada por ex-funcioná-
rios da Intel, que lançaram o Z80. A IBM, com Então, não podendod utilizar a nomenclatura
seu conceito de arquitetura aberta, escolheu 80586, que s
seria
o reconhecida como 586, a Intel
os microprocessadores da Intel para construir decidiu-se s pelo nome PENTA, já que era a 5ª
seu primeiro PC (Personal Computer). geração
d odos processadores da família 80X86.
to
O nome Pentium chegou ao mercado e foi pa-
tenteado, recebendo suas evoluções o sufixo I,
o s III e agora Pentium IV.
II,
ad
r v É incrível como o microcomputador da
133/49
Instituto Monitor
Cópia
2. não
Do 80286 autorizada.
para Frente Reservados todosumos
• Permitia direitos
avanço autorais.
do MS-DOS e siste-
○
○
mas operacionais mais poderosos.
○
○
Observe as figuras a seguir e procure
• Foi pouco aproveitada; funcionou como um
○
identificar os elementos básicos dos micro-
○
8086 mais veloz.
○
processadores.
○
○
2.2 CPU Intel 80386
○
2.1 CPU Intel 80286
○
s.
○
i
○
a
○
r
○
to
○
○
u
○
a
○
○
s
○
o
it
○
○
e
○
r
di
○
○
○
os
○
○
s
○
o
○
d
○
o
○
t
○
○
s
○
o
○
d
○
a
○
v
○
r
○
e
○
s
○
e
○
R
○
.
○
a
○
d
○
a
○
iz
○
r
○
o
○
t
○
au
○
○
○
o
○
ã
○
n Figura 17
○
Figura 18
○
ia
○
C A23).
○
• Relógio mais rápido (atualmente, clock de • Novas instruções para dados de 32 bits, pon-
○
○
dos de relógio por ciclo (D0 até D15). • Gerenciador de memória ampliado:
○
○
patibilidade).
○
○
○ ○ ○ ○ ○
133/50
Instituto Monitor
•Cópia
Aumentonão autorizada.
de desempenho provocado Reservados
por: • Usatodos os direitos
1,2 milhões autorais.
de transistores para inte-
○
○
- barramento de 32 bits (D0 até D31); grar:
○
○
- fila de instruções de 16 bytes (fetch ou - uma CPU 386 (32 linhas de endereçamen-
○
busca de instruções); to e 32 linhas de dados);
○
○
- menor quantidade de períodos de relógio - uma unidade de gerenciamento de me-
○
○
por instrução; mória;
○
- relógio mais veloz (clock de 16 a 33 MHz). - um cache de 8 kB (com controlador);
○
s.
○
- uma unidade de ponto flutuante.
i
○
• Totalmente compatível com software do
a
○
• Compatível com o 386 e apresenta apenas 6
r
○
8086 e 286.
to
○
novas instruções.
○
u
○
2.3 CPU Intel 80486
a
○
Ao olharmos para um processador deve-
○
s
○
o
mos procurar primeiro as linhas de dados (D0
it
○
até D...) que indicam a sua “potência”. De-
○
e
○
r
pois, procuramos as linhas de endereçamento
di
○
○
(A0 até A...), que indicam o quanto de memó-
○
os
ria o processador pode acessar diretamente.
○
○
s
○
o
○
t
○
s
○
a
○
e
○
e
○
a
○
d
○
a
○
o
○
au
○
o
○
n
○
ia Intel.
○
óp
○
○
C
○
Figura 19
○
○
○ ○ ○ ○ ○
133/51
Instituto Monitor
R.O.M.
RAM
RAM
RAM
RAM
CPU
is.
r a
to
CONTROL BUS
au
DATA BUS
os
eit
r
di
Figura 20 - Microcomputador
ia
óp
C
133/52
Instituto Monitor
○
Monitor SVGA
○
solvidos por software (sem que se abra o com-
○
○
CONTROLADORA DE VÍDEO putador).
○
CPU
○
Teclado
○
+ CONTROLADORA DE TECLA- Vamos conhecer como são estas placas de
○
MEMÒRIAS DO
○
Disk Drive 3 1/2” circuito impresso e identificar onde estão os
○
CONTROLADORA DE DISK DRIVE
elementos principais.
○
s.
Hard Disk
○
i
○
CONTROLADORA DE HDD
a
A figura 22 mostra a placa-mãe (mother
○
CD-ROM / DVD
r
○
board) para Intel 80486 – ano 1996. Nessa épo-
to
○
○
CONTROLADORA DE CD-ROM
ca começaram a surgir periféricos que tra-
Mouse
u
○
a
balhavam com os 32 bits da CPU. Ainda exis-
○
○
s
CONTROLADORA DE MOUSE SERIAL
Gravador de CD tiam periféricos de 8 bits (conector 5), sendo
○
o
it
○
a maioria de 16 bits.
○
BARRAMENTOS
e
CONTROLADORA DE DRIVE CD-R
○
r
di
○
Impressora
○
○
os
CONTROLADORA DE IMPRESSORA
○
Scanner
○
s
○
CONTROLADORA DE SCANNER
o
○
Web Câmera
d
○
o
○
t
CONTROLADORA DE CÂMERA
○
Joystick
○
s
○
CONTROLADORA DE JOYSTICK
o
○
Modem d
○
a
○
Microcomputador v
PLACA DE MODEM
○
r
○
e
○
es
○
○
R
○
.
PLACA DE REDE
○
a
○
d
○
a
○
zFAX
○
i 3
or Som
○
PLACA DE FAX 5
○
t
○
2 2
au
4
○
○
PLACA DE SOM
○
o 7 6
○
ã
○
n Figura 21
○
1
○
ia
Pela figura você percebe a importância
○
óp
○
C
○
Figura 22 Localização:
○
de que ninguém esteja passando por ali; caso 1 - soquete da CPU (80486)
○
6 - BARRAMENTO 16-bits
○
Cópiainoperante
necendo não autorizada.
até que se desfaçaReservados
o con- todos os direitos autorais.
7 - BARRAMENTO 32-bits
○
○
○ ○ ○ ○ ○
133/53
Instituto Monitor
to DURON 700
Figura u
a 23
ã o
n
ia
óp 3. Resumo
C
Internamente, todo microprocessador apresenta um inter-
pretador de códigos de instrução, memórias de rascunho chama-
das de registradores e uma Unidade Lógica e Aritmética (U.L.A.),
pois o que o microcomputador sabe fazer é calcular e manipular
números binários. Ele precisa de uma memória fixa que, ao ligar-
mos a máquina, encontre seu programa (software) de inicialização,
que geralmente é a memória EPROM. Por fim, precisa de memória
Cópia nãopara
autorizada. Reservados todos os direitos
trabalhar programas, que é a memória RAM.
autorais.
○ ○ ○ ○ ○
133/54
Cópia não autorizada. Reservados todos os direitos autorais.
os
..................................................................................................................................
s
..................................................................................................................................
o
d
..................................................................................................................................
o
t
..................................................................................................................................
o s
..................................................................................................................................
a d
..................................................................................................................................
r v
2 - A interface: e
selétricos entre CPU e periférico.
( ) a) faz a adequação dos sinais e
( ) b) fica entre as faces.
. R
( ) c) armazena informações.
( ) d) serve para conectar d ao computador.
( ) e) é um software que
i za aciona periféricos.
3 - Quanto de memória t or eletrônica a CPU 80386 pode acessar diretamente?
( ) a) 4 Gbytes a ude memória.
( ) b) 2 Gbytes o de memória.
( ) c) 4 ×ã1.024 × 1.024 × 1.024 endereços de memória.
( ) d) 1nMbit.
( ) e) ia1 mega endereços de memória.
óp
C4 - Qual é a importância dos barramentos?
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
..................................................................................................................................
Cópia não autorizada. Reservados todos os direitos autorais.
○ ○ ○ ○ ○
133/55
Instituto Monitor
Cópia
5 -não
O que autorizada. Reservados
significa placa-mãe ou mother-board? todos os direitos autorais.
( ) a) Placa de circuito impresso onde está o processador e as memórias.
( ) b) Placa de modem.
( ) c) Placa que originou o computador.
( ) d) Placa de circuito integrado.
( ) e) Nenhuma das alternativas anteriores.
is.
r a
uto
a
os
eit
r
di
os
os
od
t
os
ad
r v
se
e
. R
da
a
riz
to
au
ão
n
ia
óp
C
133/56
Cópia não autorizada. Reservados todos os direitos autorais.
lição
9 Software is.
r a
Introdução de computadores de grande porte
uto da época e
poderia retomar seus clientes com um micro
a
computador pessoal com a marca IBM.
IBM, Intel e Microsoft começaram, na s
década de 80, uma revolução em termos de to
Veja que somenteia máquina não bastava.
re para oferecer. É aqui
computação pessoal. Muitos computadores
pessoais existiam no mercado, mas nenhum
d i
Era preciso ter softwares
deles era padrão. A maioria utilizava o que entra a Microsoft, oferecendo softwares
microprocessador Zilog Z80 em uma linha de para os
o s
IBM-PC. Começou com o sistema
micros chamada TRS-80. operacional
s –chamado D.O.S. (Disk Operatio-
o
nal System Sistema Operacional em Disco),
dveio o editor de textos, a planilha de
Vale o comentário que o grande motivador o
depois
t jogos, etc.
cálculos,
dos micros pessoais foi o Apple II. A Apple,
empresa criada por Steve Jobs e Steve Wor-
s
o O IBM-PC e seus clones só dominaram o
niaks na garagem de suas casas, foi a grande d
motivadora para o usuário de classe média terv
a mercado porque existia uma fatia para o pro-
um microcomputador pessoal em sua casa.e
r cessamento de dados em escritórios e empresas
e s de pequeno porte. Não foi, de forma alguma,
1. História do Software do IBM-PC
. R o uso doméstico do IBM-PC que gerou esta
“onda” tecnológica. É claro que muitos usu-
Muitos aficionados correram para
a
d comprar o ários se beneficiaram deste avanço.
Apple II, um microcomputador z a
Motorola 6800, com teclado do ri com processador
tipo máquina de Para se ter uma idéia, no mundo todo
o
escrever e saída para que ta imagem aparecesse existe a pirataria de software. A empresa
a u
na tela de qualquer televisor colorido ou preto mais prejudicada com a pirataria é,
de longe, a Microsoft. Para
ã o foi o software desenvol-
e branco. Entretanto,
cada clone de IBM-PC
vido num Apple II que mudou a computação.
n
Tratava-se de uma planilha de cálculo, a funcionar é preciso um
a
i utilizada por contadores de
Visicalc, muito sistema operacional
p
empresasóem seu gerenciamento financeiro. criado pela Microsoft.
C Seja MS-DOS
Todas as pequenas empresas queriam ter ou Windows, o
um computador rodando um software desses. IBM-PC e seus
E foi aí que a IBM, uma empresa que prestava compatíveis
serviços de processamento de dados para pe- precisam deles
quenas, médias e grandes empresas, sentiu-se para funcionar.
incomodada e atraída. Incomodada, porque A Microsoft ganha mui-
perdia seus clientes para computadores pes- to dinheiro vendendo
Cópia não autorizada. Reservados
soais. Atraída, porque era a maior empresa seus todos
programasospara
direitos autorais.
133/57
Instituto Monitor
Cópia pois
empresas, nãoestas
autorizada.
estão sujeitas a Reservados
vistori- todos os direitos
Cada instrução cumpre umaautorais.
finalidade e
○
○
as e fiscalização. Já os usuários domésticos, a ela é dado um nome, que às vezes é extenso.
○
○
apesar de serem milhões, não há como pegá- Então, decidiu-se substituir os nomes por
○
los em seus lares. mnemônicos (forma simples de representar
○
○
uma palavra extensa). Foram os engenheiros
○
○
Em se tratando de IBM-PC, o software americanos da Intel que criaram este concei-
○
que garantia à IBM o domínio dos PCs era a to, portanto todos os mnemônicos que se re-
○
s.
○
BIOS, que roda quando a máquina é ligada. ferem a cada uma das instruções são de pala-
i
○
A BIOS fica em uma memória não-volátil do vras em Inglês.
a
○
r
○
tipo EPROM e sua função é reconhecer e sa-
to
○
○
ber como trocar dados entre os periféricos e Exemplo:
u
○
a CPU. É um software bastante simples e pe- a
○
○
queno e a IBM ganhou muito dinheiro ven- Instrução do Z80: carregue o registrador A s
○
o
it
○
dendo apenas ele, uma vez que todas as ou- com o conteúdo do registrador B.
○
tras partes do IBM-PC eram fabricadas por e
○
LD A, B r
di
○
outras empresas para a IBM.
○
LD é o mnemônico de LOAD, que, em
○
os
○
A Compaq foi a empresa que pirateou Inglês, significa carregar.
○
o
Instrução do 80X86: carregue o registrador
○
s
MOV AX, DX
○
d
○
s
○
e
A partir desse ponto, os negócios come- No entanto, a máquina não interpreta tex-
○
R
○
çaram a cair para a IBM e ela deixou . o mer- to, somente números binários. No projeto do
○
z
○
au
hexadecimal.
○
○
n
dor possa executá-las. Como vimos, o
○
○
ia
microprocessador só trabalha com binários. Instrução dos 80X86: MOV AX , DX está as-
○
p
○
O que são essas instruções? Como o micropro- sociada ao binário 100010011101000 . Para
cessador ó
○
ção de 16 bits.
○
registrador AX.
○
ticas.
○
○ ○ ○ ○ ○
133/58
Instituto Monitor
Resumindo:
• Programamos utilizando mnemônicos e pensando em decimal.
is.
• Compilamos o programa para os códigos hexadecimais. r a
• Gravamos memórias fixas do tipo ROM com estes binários.
u to
• Colocamos esta memória no sistema microprocessado e execu- a
s
to
tamos o programa ligando a máquina.
i
Todos perceberam que, desta forma, os computadores
i renão avan-
çariam muito. O sistema operacional é um programadque tenta fa-
os dispunha de
cilitar a comunicação do usuário com a máquina. O primeiro siste-
ma operacional utilizava-se de palavras. O usuário
os
um teclado para enviar sua mensagem ao microprocessador e uma
tela de monitor ou TV para receber a respostad do microprocessador,
completando o que se chama de comunicação.to O usuário deveria
s reconhecia e, ao pressio-
digitar no teclado palavras que o sistema
o
nar a tecla ENTER, ele buscaria qual
la palavra, executando-o. a d programa está associado àque-
r v
Sempre que um IBM-PC s eera ligado rodava-se o software BIOS,
e
testando a máquina e definindo como ela deve funcionar. Depois,
.
procurava-se um software R chamado DOS em uma unidade de dis-
armazenar um a
da não existiam os HD (hard disk) e a maneira de
co flexível. Na época
programa, além de escrever em memórias do tipo
riz
EPROM, era utilizar a mídia magnética, no formato de disco.
to
u operacional, que é um software, era copiado do disco
O sistema
para aamemória RAM do computador. Quando o processo termina-
ã o
va aparecia na tela uma letra seguida de dois pontos e um sinal de
n
“maior” com uma barrinha piscando ao lado. Isto indicava que o
ia processo de cópia do sistema operacional para a memória RAM
óp digitado corretamente um dos comandos que ele sabia executar.
ocorreu satisfatoriamente e que o computador esperava que fosse
C Note a diferença entre instrução e comando: um comando é com-
posto por uma série de instruções.
133/59
Instituto Monitor
s.
Cada Assembly é composta dos mnemônicos e códigos hexa-
decimais para cada processador.
a i
r
Existem programas (softwares) que rodam no PC e são cha- to
mados Assembler seguido do nome do processador. Neles você
au
digita os mnemônicos e ele compila para os códigos da linguagem
de máquina. os
eit
ir
Para criar programas em linguagem de máquina utilizamos uma
tabela de programação como essa: d
o s
Endereço Endereço Códigos
Decimal Hexadecimal Hexadecimal o s
Mnemônicos Comentários
o d
t
o s
ad
r v
e
es
. R
da
i za
tor
au
ão Anotações e Dicas
n
ia
óp
C
133/60
Instituto Monitor
is.
r a
uto
a
os
eit
r
di
os
os
od
t
os
ad
r v
se
e
. R
da
a
riz
to
au
ão
n
ia
óp
C Figura 24
133/61
Instituto Monitor
Cópia nãoMnemonic
autorizada.ODITSZAPC
Reservados
Description todos os direitos autorais.
AAA ?—??*?* ASCII Adjust for Add in AX
AAD ?—**?*? ASCII Adjust for Divide in AX
AAM ?—**?*? ASCII Adjust for Multiply in AX
AAS ?—??*?* ASCII Adjust for Subtract in AX
ADC d,s *—***** Add with Carry
ADD d,s *—***** Add
AND d,s *—**?** Logical AND
CALL a ————- Call
is.
CBW
CLC
————-
————0
Convert Byte to Word in AX
Clear Carry r a
CLD
CLI
-0———-
—0———
Clear Direction
Clear Interrupt uto
CMC ————* Complement Carry a
CMP d,s *—***** Compare
os
it
CMPS *—***** Compare memory at SI and DI
CWD ————-
e
Convert Word to Double in AX,DX
r
di
DAA ?—***** Decimal Adjust for Add in AX
DAS ?—***** Decimal Adjust for Subtract in AX
os
DEC d *—****- Decrement
DIV s ?—????? Divide (unsigned) in AX (,DX)
ESC s
HLT
————-
————- Halt os
Escape (to external device)
IDIV s ?—????? d
Divide (signed)in AX (,DX)
o
IMUL s *—????*
t
Multiply (signed) in AX (,DX)
IN d,p
INC d
————-
*—****- os Input
Increment
INT —00——-
ad Interrupt
INTO
IRET
—**——-
r v
*********
Interrupt on Overflow
Interrupt Return
JB/JNAE a
se
————- Jump on Below/Not Above or Equal
JBE/JNA a
e
————- Jump on Below or Equal/Not Above
JCXZ a
JE/JZ a . R
————-
————-
Jump on CX Zero
Jump on Equal/Zero
JL/JNGE a
da ————- Jump on Less/Not Greater or Equal
JLE/JNG a
a ————- Jump on Less or Equal/Not Greater
JMP a
JNB/JAE a riz ————-
————-
Unconditional Jump
Jump on Not Below/Above or Equal
t
JNBE/JA ao ————- Jump on Not Below or Equal/Above
au
JNE/JNZ a ————- Jump on Not Equal/Not Zero
JNL/JGE a ————- Jump on Not Less/Greater or Equal
ão
JNLE/JG a ————- Jump on Not Less or Equal/Greater
n
JNO a
JNP/JPO a
————-
————-
Jump on Not Overflow
Jump on Not Parity/Parity Odd
ia JNS a ————- Jump on Not Sign
óp
JO a ————- Jump on Overflow
C JP/JPE a
JS a
————-
————-
Jump on Parity/Parity Even
Jump on Sign
LAHF ————- Load AH with 8080 Flags
LDS r,s ————- Load pointer to DS
LEA r,s ————- Load EA to register
LES r,s ————- Load pointer to ES
LOCK ————- Bus Lock prefix
LODS ————- Load memory at SI into AX
LOOP a ————- Loop CX times
LOOPNZ/LOOPNE a ————- Loop while Not Zero/\Not Equal
Cópia não autorizada. Reservados todos os direitos autorais.
LOOPZ/LOOPE a ————- Loop while Zero/Equal
MOV d,s ————- Move
○ ○ ○ ○ ○
133/62
Instituto Monitor
Cópia nãoMOVS
autorizada. ————-
Reservados todos
Move memory os direitos autorais.
at SI to DI
MUL s *—????* Multiply (unsigned) in AX (,DX)
NEG d *—***** Negate
NOP ————- No Operation (= XCHG AX,AX)
NOT d ————- Logical NOT
OR d,s *—**?** Logical inclusive OR
OUT p,s ————- Output
POP d ————- Pop
s.
POPF ********* Pop Flags
PUSH s
PUSHF
————-
————-
Push
Push Flags ai
r
to
RCL d, c *———* Rotate through Carry Left
RCR d, c *———* Rotate through Carry Right
REP/REPNE/REPNZ ————- Repeat/Repeat Not Equal/Not Zero
au
REPE/REPZ ————- Repeat Equal/Zero
RET (s) ————- Return from call
os
ROL d,c
ROR d,c
————-
*———*
Rotate Left
Rotate Right eit
r
di
SAHF ——***** Store AH into 8080 Flags
os
SAR d,c *—**?** s
Shift Arithmetic Right
o
SBB d,s
SCAS
*—*****
*—*****
od
Subtract with Borrow
Scan memory at DI compared to AX
SEG r ————- t
Segment register
SHL/SAL d,c *—**?**
o s Shift logical/Arithmetic Left
SHR d,c
STC
*—**?**
————1
ad Shift logical Right
Set Carry
STD
r v
-0———- Set Direction
STI
STOS se
—0———
————-
Set Interrupt
Store AX into memory at DI
SUB d,s e*—***** subtract
TEST d,s
. R *—**?** AND function to flags
WAIT
XCHG r (,d) da ————-
————-
Wait
Exchange
a
iz
XLAT ————- Translate byte to AL
XOR d,s
or *—**?** Logical Exclusive OR
t
au -*01? Unaff/affected/reset/set/unknow
OF
ã
DFo 0
D
Overflow Flag (Bit 11)
Direction Flag (Bit 10)
n
IF I Interrupt enable Flag (Bit 9)
óp
SF S Sign Flag (Bit 7)
ZF Z Zero Flag (Bit 6)
C AF
PF
A
P
Auxilary carry Flag (Bit 4)
Parity Flag (Bit 2)
CF C Carry Flag (Bit 0)
133/63
Instituto Monitor
Cópia nãoDDautorizada.
e (,...)
Reservados todos os direitos autorais.
Define Double Word (s)
DDS e Define Double Word Storage
DW e (,...) Define Word (s)
DWS e Define Word Storage
EXT (sr: )sy (t) External (s) (t = ABS/BYTE/DWORD/FAR/NEAR/WORD)
LABEL t Label (t = BYTE/DWORD/FAR/NEAR/WORD)
PROC t Procedure (t = FAR/NEAR, default NEAR)
is.
ABS Absolute value of operand
r a
to
BYTE Byte type operation
DWORD
FAR
Double Word operation
IP and CS registers altered
au
HIGH
LENGHT
High – order 8 bits of 16-bit value
Number of basic units os
LOW Low – order 8 bit of 16-bit value
eit
NEAR Only IP register need be altered
r
OFFSET
PTR
Offset portion of an address
Create a variable or label di
SEG
SHORT
Segment of address
One byte for a JMP operation os
SIZE Number of bytes defined by statement
os
THIS
d
Create a variable/label of specified type
o
TYPE
WORD t
Number of bytes in the unit defined
Word operation
AX BX CX DX
os
Accumulator/Base/Count/Data registers
AL BL CL DL
AH BH CH DH a d
Low byte of general registers
High byte of general registers
SP BP
r v
Stack/Base Pointer registers
SI DI e
Source/Destination Index registers
s
CS DS SS ES
e
Code/Data/Stack/Extra Segment registers
IP
. R
Instruction Pointer register
da
a a
z Address
c
ri Count
d
to Destination
e
p au Expression or string
I/O port
r
são Register
Source
n
sr Segment register (CS,DS,SS,ES)
ia sy Symbol
óp
t Type of symbol
C
Estas são as instruções para o 8086, microprocessador de 16
bits compatível com 8080 de 8 bits. Todas estas instruções ainda
são reconhecidas pelos Pentium e pelos concorrentes da Intel, como
o AMD K6-II, Durom e Athlon.
133/64
Instituto Monitor
Cópia não
PROGRAMA autorizada.
– Seqüência lógica deReservados
instru- todosem
é executado osumdireitos autorais.
microcomputador IBM-
○
○
ções (ou comandos) que o microprocessador PC compatível que utiliza microprocessador
○
○
sabe executar. Intel. Apesar de o disco ser o mesmo utiliza-
○
do no drive de ambos, seu conteúdo, que é o
○
○
ROTINA – Programa que se repete continua- programa objeto, só é interpretado pelo
○
○
mente. Machintosh, e vice-versa.
○
○
s.
○
SUB-ROTINA – Programa que é executado 4. Fluxograma
i
○
somente se for chamado. Fica fora do pro-
a
○
r
○
grama principal, em algum lugar na memória Quando trabalhamos com programas cur-
o nossa men-
○
tos, as coisas ficam bem clarastem
○
RAM. Tem começo e fim.
au se estende de-
○
te. Porém, quando o programa
○
○
PROGRAMA FONTE – É a idéia do progra- s
mais ou utiliza muitas sub-rotinas, a tendên-
○
cia é “perder o fio dato
○
mador expressa em seqüência de mnemô- meada”. Para que isso
i
○
nicos. e
não ocorra, foi introduzido na programação o
○
r
i o nome diz, é um diagra-
○
fluxograma. Como
PROGRAMA OBJETO – É o programa fonte ma que utilizadfiguras geométricas e setas
○
○
s
○
hexadecimais. guir.
o
○
d
○
o
○
d
○
r
○
valente. e
○
s
○
e Representa COMPARAÇÃO e
○
R
○
a progra-
xível, CD-ROM, HD, etc., são programas ob-
○
d
○
izMotorola, não
○
t
○
au
○
○
○
o
○
ã Anotações e Dicas
○
n
○
○
ia
○
óp
○
○
C
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○ ○ ○ ○ ○
133/65
Cópia não autorizada. Reservados todos os direitos autorais.
lição
Noções de
10 Programação Assembly is.
r a
Introdução Lembramos que para os 80X86 to os regis-
○
u
○
a
tradores são de 16 bits, assim 1111 1111 1111
○
s
○
Faremos um breve estudo da programação 1111 corresponde a FFFFh.
○
2
Assembly para 80X86, comentando como seria
to
○
As instruções quei carregam registradores
○
re (veja tabela da lição 9).
em Assembly Z80. Vamos utilizar o fluxogra-
○
i
○
ma, que nos auxiliará a entender o processa- são as instruções MOV
d
○
mento das instruções. Utilizamos as seguintes:
○
○
○
MOV AX , FFFFh o s
1. Fluxograma s
○
o , FFFFh
○
MOV BX
d
○
MOVoCX , FFFFh
○
s
○
MOV DX , FFFFh
mador não se perca no meio do caminho. o
○
d
○
es
2
○
○
R Início
○
Início
a
○
d
○
A
a LD A, FFh
○
iz
○
r
○
B C
o
○
AX = FFFFh
t LD BC, FFFFh
○
au
D E
○
○
○
o H L LD DE, FFFFh
○
ã
○
n BX = FFFFh
○
Os registradores A, B, C, D, E, H e L
○
LD HL, FFFFh
óp
○
CX = FFFFh
○
Figura 26
○
○
○
Fim
○
Figura 25
○
○ ○ ○ ○ ○
133/67
Instituto Monitor
Cópia não
Ao rodar autorizada.
o programa Reservados
(do Inglês run, que todos
reset os O
automático. direitos autorais.
processamento aconte-
○
○
significa correr – no Brasil foi traduzido como ce assim:
○
○
rodar), devemos dizer ao processador onde se
• Liga o computador.
○
encontra a primeira instrução do programa.
○
○
Esse endereço deverá então ser carregado no • Microprocessador é resetado automatica-
○
mente.
○
registrador PC (Program Counter) e o micro-
○
processador executará o programa que estiver
○
• As linhas de endereçamento são todas co-
s.
○
na memória, a partir daquele endereço. locadas em nível lógico zero, formando o
i
○
a
○
endereço zero. Ativam-se os pinos MEM e
r
○
2. Como um Programa “Roda”
to
○
RD, indicando que o processador fará uma
○
u
leitura de memória.
○
Em outras palavras: como é feito o a
○
○
processamento das instruções? s
• No primeiro pulso de clock o microproces-
○
too ciclo
sador irá procurar pela primeira instrução
○
1º) Devemos conhecer o sistema micropro- i
○
e
a ser executada. É de fetch (busca
○
cessado. Onde está o microprocessador? de instrução nair memória).
○
d
○
2º) O que podemos fazer? Quanto de memó-
○
d
○
tra instrução.
○
idéias.
○
r
○
e
hexadecimais e criar o programa objeto. sos de clock para que ela seja executada.
○
R
○
a o regis-
○
próxima instrução.
z
○
ri da memória
7º) Executar o programa, carregando
○
t
○
o
Pronto! Automaticamente, o registrador ria, naquele endereço, a próxima instrução.
○
ã
○
n
PC vai sendo incrementado à medida que as • A partir daí o ciclo se repete até o término
○
○
ia
instruções são executadas. do programa ou desligamento da máquina.
○
óp o Microcomputador
○
○
processador deve ser resetado. No pino reset dereço da próxima instrução, busca
○
em um fluxograma, seria:
○
○
○
○
○
○
○ ○ ○ ○ ○
133/68
Instituto Monitor
RESETA µP
PC = 0000h
MEM e RD is.
são ativados
r a
Busca uto
Instrução a
os
Interpreta
eit
r
di
os
Executa
PC = endereço os
próxima instrução
od
t
N
o s Acabou?
a
S
d
r v Fim
se
e
. R Figura 27
d a
iza
o r de loop quando um programa volta ao começo. Te-
Chamamos
ut tomar cuidado com o loop infinito, pois, se ocorrer, o
remos que
a nunca termina, sempre voltando ao início.
programa
ão Anotações e Dicas
n
ia
óp
C
133/69
Cópia não autorizada. Reservados todos os direitos autorais.
lição
Debug da Microsoft
11 Software Assembler 80X86 is.
r a
Introdução to pressio-
Caso não apareça em tela inteira,
○
u
○
a
ne ALT e ENTER e o prompt do MS-DOS ocu-
○
s
○
Para treinarmos um pouco a parte prática, pará a tela inteira.
○
teríamos que montar um sistema com micro-
to
○
i
○
re
processador e memórias, criar circuitos de Digite: DEBUG [ENTER]
○
i
○
interface para entrada de dados no processador
Você já está d
○
e recebimento de dados do processador. rodando o programa DEBUG,
○
o ao lado.
○
o
○
o
○
pacotes Windows. o
○
d grama.
○
r
○
para auxiliar programadores experientes. Utili-e A chave “?” é o help (ajuda) do programa,
○
ee da-
trei- auxiliando você a utilizá-lo.
○
. utilizar
○
assemble A [endereço]
a
○
i
A partir de qualquer rcomputador com
○
dump D [intervalo]
o “Programas”
○
t
○
o go G [=endereço] [endereços]
○
ã
○
input I porta
○
ia
○
ó
○
[primeiro-setor] [número]
C
○
name
N [caminho]
○
○
[lista-de-parâmetros]
○
Figura 28
○
quit Q
○
register R [registrador]
○
○
[=endereço] [valor]
○
○
○ ○ ○ ○ ○
133/71
Instituto Monitor
Cópia nãounassemble
autorizada. Reservados todos os direitos autorais.
U [intervalo]
write W [endereço] [unidade] [primeiro-setor]
[número]
allocate
expanded XA [#páginas]
memory
deallocate
expanded XD [identificador]
is.
memory
map expanded XM [páginaL] [páginaP] memory pages r a
[identificador]
uto
display a
expanded XS
o s
memory status
- e it
dir
Desta lista de “chaves” utilizaremos apenas as seguintes:
os
COMENTÁRIOS s
CHAVE
do
to
A ASSEMBLE, seguida do número do endereço de memória, onde se
iniciará o programa.
UNASSEMBLE, seguida do endereço
o s de memória que se deseja
U
“DESASSEMBLAR”. Na tela
mnemônicos do programa.a
d aparecem os endereços, códigos e
NAME, seguido e
N .COM, nomeia . Rseude programa
uma palavra com até 8 caracteres e terminação
para armazenar em DISCO.
d
REGISTER, a mostra o STATUS de todos os registradores do IBM-PC,
R bem
z a as FLAGs.
como Quando seguido pelo nome do registrador, per-
r i
mite visualizar seu conteúdo atual e abre espaço para que você o
toaltere.
W u
WRITE, salva em disco seu programa FONTE e OBJETO.
a Permite que você execute seu programa sem o DEBUG.
ãoG GO, executa o programa a partir do endereço de memória apontado
n pelos registradores CS e IP.
óp
T do com ficam os registradores após cada instrução.
C P
PROCEED, prossegue a execução das instruções de um programa, só
parando em pontos de decisão.
133/72
Instituto Monitor
Cópia
1. nãodoautorizada.
Restrições DEBUG Reservados todos osoudireitos
Temporizar autorais.
fazer uma pausa é muito
○
○
utilizado em softwares de controle. Lembra
○
○
Ao executarmos o DEBUG em qualquer dos semáforos?
○
máquina, primeiro devemos digitar: R [EN-
○
○
TER]. No DEBUG digite:
○
○
○
Anote o valor do registrador CS. A100 [ENTER]
○
s.
○
MOV BX , 0FFF [ENTER]
i
○
Quando da criação do sistema IBM-PC, MOV CX , 0002 [ENTER]
a
○
r
○
decidiu-se dividir a memória em páginas de DEC CX [ENTER]
to
○
○
64 kbytes cada uma. Assim, o registrador CS JNZ 106 [ENTER]
u
○
tem um número hexadecimal que corres- DEC BX a
[ENTER]
○
○
ponde à página. O registrador IP contém o s
JNZ 103 [ENTER]
○
o
it
○
endereço inicial livre dessa página para pro- INT 20 [ENTER]
○
gramação, que é sempre 0100h. e [ENTER]
○
ir
○
d
○
○
Com o DEBUG não podemos criar pro-
osé? O sinal de menos e uma bar-
Você estará
○
no cursor do DEBUG. Lem-
gramas maiores que 64 kbytes, pois não po-
○
d
○
o
○
Exemplo:
t U100 [ENTER]
○
Digite:
○
s
○
-R o
○
v
○
-U100
SP=FFEE BP=0000 SI=0000 DI=0000
r
○
s
○
R 166F:0106 49 DEC CX
○
d
○
r
○
t
○
seus conteúdos.
au
○
○
IP=0100 o
○
p
quina para outra.
○
PROGRAMA 2 - TEMPORIZADOR
○
ro até chegar a zero, ele não executará nada, a CX (número de 16 bits) é B9. Em cada ende-
○
○
não ser a contagem. Isso deixa a máquina numa reço de IP cabem somente 8 bits.
○
○ ○ ○ ○ ○
133/73
Instituto Monitor
Cópia nãoMOV
A instrução autorizada. Reservados
carrega os registrado- dicatodos os
o endereço dadireitos autorais.
próxima instrução. No fi-
○
○
res com número ou copia o conteúdo de ou- nal da tela vemos a instrução a ser executada.
○
○
tro registrador. Vamos executar esse progra-
○
ma passo-a-passo. Digite:
○
○
○
T [ENTER], para executar esta nova instru-
○
Digite:
ção.
○
○
s.
RIP [ENTER]
○
i
○
100 [ENTER] Resultado:
AX=0000 BX=0FFF CX=0002raDX=0000
○
R [ENTER]
○
o
○
SP=FFEE BP=0000 SI=0000 tDI=0000
○
Na tela aparecerá o STATUS dos regis- u
○
a
DS=166F ES=166F SS=166F CS=166F
○
tradores e no final a primeira instrução do
○
IP=0106 NV UP EI PL s NZ NA PO NC
○
programa digitado.
166F:0106 49
t
DECo CX
○
i
○
re
-
○
Exemplo:
i
○
CX teve seudvalor alterado conforme a ins-
○
-rip
○
IP 0100
○
trução, IP o
○
s indica o endereço da próxi-
agora
s e no final da tela vemos esta nova
○
:100 ma instrução
o
○
-r instrução.
d
○
o
○
d
○
IP=0100 NV UP EI PL NZ NA PO NC
a tado:
○
r
○
R você
(Program Counter). Para efeitos didáticos DS=166F ES=166F SS=166F CS=166F
○
.
○
a
pode considerar IP = PC já que o CS não muda. IP=0107 NV UP EI PL NZ NA PO NC
○
d
○
r
○
o
○
t
○
A chave “T” faz o com que o processador dade do valor do registrador CX.
○
ã
○
a
i seria:
○
ó
○
- próxima instrução.
○
○
○
Note que o valor de BX foi mudado para JNZ é o mnemônico de JUMP if NOT
○
○ ○ ○ ○ ○
133/74
Instituto Monitor
Cópia
Quandonão autorizada.
decrementou Reservados
o registrador CX, todos
0000. osque
Notaremos direitos
a FLAG deautorais.
zero se ma-
○
○
o processador utilizou a ULA e as FLAGS nifestará indicando que houve resultado da
○
○
observaram o resultado. As FLAGS são mos- ULA igual a zero.
○
tradas no lado direito da tela: NV UP EI PL
○
○
NZ NA PO NC. Vejamos, digite T [ENTER]:
○
○
○
Observe a FLAG de ZERO indicando NZ AX=0000 BX=0FFF CX=0000 DX=0000
○
s.
○
(NOT ZERO): o resultado não foi o número SP=FFEE BP=0000 SI=0000 DI=0000
i
○
zero. É verdade: CX era 0002 e passou para DS=166F ES=166F SS=166F CS=166F
a
○
r
○
0001, que não é zero. IP=0107 NV UP EI PL ZR NA PE NC
to
○
○
166F:0107 75FD JNZ 0106
u
○
A instrução JUMP significa saltar para um - a
○
○
endereço; seu mnemônico é JMP endereço. Este s
○
o
it
○
salto para endereço pode ser condicionado ao CX foi para zero ao ser decrementado e a
○
apontamento das FLAGS. e
FLAG de zero mostra agora “ZR”, indicando
○
r
di
○
que houve um resultado nulo pela ULA.
○
○
SALTE SE a FLAG DE ZERO for ATIVA. (ZR)
os
○
SALTE SE a FLAG de ZERO NÃO for ATI- IP aponta para a próxima instrução, que é
○
s
○
d
○
s
○
v
○
o endereço 0106.
r SP=FFEE BP=0000 SI=0000 DI=0000
○
R
○
0106. a -
○
d
○
za
○
○
ri
Conferindo após digitar T [ENTER]: IP aponta agora para o endereço 0109 e
○
t
○
a
○
ã
○
IP=0106 NV UP EI
n DEC
PL NZ NA PO NC O valor de BX é 0FFF, que decrementado
○
○
166F:0106 49
ia CX irá para 0FFE (número hexadecimal). Isto
○
-
p muda a FLAG de zero para NZ, pois o resul-
○
ó
○
reço 0106, onde estará a próxima instrução DEC Digite T [ENTER] e veja:
○
○
grama volta para executar novamente um tre- AX=0000 BX=0FFE CX=0000 DX=0000
○
o valor de CX será zero, pois 0001 menos 1 é 166F:010A 75F7 JNZ 0103
○
-
○
○
○ ○ ○ ○ ○
133/75
Instituto Monitor
Cópia não
IP aponta autorizada.
para o endereço 010A Reservados
da pró- todos os
Verifique a direitos
alteração autorais.
na listagem. Vamos
○
○
xima instrução, que é JNZ 0103. executar.
○
○
○
SALTE se NÃO for ZERO para o ende- Digite:
○
○
reço 0103.
○
RIP [ENTER]
○
100 [ENTER]
○
Portanto, haverá o salto para o endereço
○
s.
R [ENTER]
○
0103, pois vemos a FLAG indicar NZ. Este
i
○
G [ENTER]
será o segundo LOOP deste programa.
a
○
r
○
o
○
Utilizando um microprocessador AMD
t
○
O programa seguirá assim até que o con-
u
K6 II – 500 MHz, levou aproximadamente 1
○
teúdo dos registradores BX e CX seja zero. a
○
segundo para aparecer a frase: Programa ter-
○
Quando isto ocorrer, a instrução JNZ 0103 s Utilizando um
○
minado normalmente.
o
it - SX 33 MHz, levou
○
será ignorada e a próxima instrução a ser exe-
microprocessador 80386
○
cutada será a INT 20. INT 20 é uma interrup- e
○
aproximadamente
ir 10 segundos para apare-
○
ção por software que executará um progra-
d este tempo varia de má-
○
cer a frase. Portanto,
○
ma da BIOS, finalizando o programa e vol-
tando ao prompt do DOS ou do DEBUG.Use
○
○
o s
quina para máquina. Mas podemos ajustar o
tempo que quisermos por tentativa e erro, dei-
s com FFFF e aumentando BX para
○
CX
d
○
DEBUG.
um número hexadecimal maior que 0FFF.
o
○
t
○
○
a
○
Digite:
r
○
e
○
e
○
R [ENTER] . [ENTER].
○
a
○
G [ENTER]
d
○
iz
○
t
○
- a
○
o rápido! Depende do
○
ã PROGRAMA OBJETO
○
a
CX. Quanto imaiores forem os valores, maior
○
166F:0100 BB 10111011
p
○
166F:0101 FF 11111111
ó gasto para a contagem.
○
166F:0103 B9 10111001
○
166F:0106 49 00101001
○
166F:0107 75 01110101
○
Digite:
○
166F:0108 FD 11111101
○
166F:0109 4B 01011011
A0103 [ENTER]
○
166F:010A 75 01110101
○
166F:010B F7 11110111
○
[ENTER]
Cópia não autorizada. Reservados todos os direitos autorais.
166F:010C CD 11001101
○
○ ○ ○ ○ ○
133/76
Instituto Monitor
riz
to
au AX = AX + BX
ão
n
ia
óp
CX = 0000H AX = 0100H?
C
CX = FFFFH
FIM
133/77
Instituto Monitor
ENDEREÇO CÓDIGO au
COMENTÁRIOS
HEXADECIMAL HEXADECIMAL
MNEMÔMICOS
o s
MOV AX , 0023 Carrega AX com 0023h
MOV BX , 0077 Carrega BX come0077h
it
r
Soma Ax comiBX e resultado
ADD AX , BX d
osse o valor de AX é
fica em AX
Compara
CMP AX , 0100
s
0100h
o
JNZ XUXA
odse AXpara
Salta o endereço XUXA
for diferente de 0100h
t
o s
MOV CX , FFFF Carrega CX com FFFFh
JMP XAXA Salta para endereço XAXA
XUXA: d
aINT 20
MOV CX , 0000 Carrega CX com 0000h
XAXA:
r v Finaliza o programa
s e
e a técnica do LABEL, que em Inglês
Neste exemplo, utilizamos
significa rótulo. Aqui R
entendemos como ETIQUETA de MARCA-
ÇÃO ou simplesmente a. REFERÊNCIA.
a d
Quando nãoiz sabemos exatamente a partir de qual endereço se
r
o por um LABEL; uma referência para mais tarde ser
iniciará nosso programa, substituímos os endereços relativos a sal-
t
au por um número de endereço de memória.
tos (JUMP)
substituída
ã o
n No exemplo, o endereço XUXA não existe. XUXA é a referên-
ia cia de um endereço, o endereço da instrução MOV CX , 0000. XAXA
133/78
Cópia não autorizada. Reservados todos os direitos autorais.
133/79
Instituto Monitor
Cópia
2 -não autorizada.
Utilizando as instruções: Reservados todos os direitos autorais.
is.
r a
uto
a
os
eit
r
di
os
os
od
t
os
ad
r v
se
e
. R
da
a
riz
to
au
ão
n
ia
óp
C
133/80
Cópia não autorizada. Reservados todos os direitos autorais.
lição
Dispositivos de I/O
12 (Entrada e Saída) i s.
r a
Introdução 1. Canais de I/O to
○
u
○
a
○
s
○
Vimos que um microcomputador só preci- Quando queremos assistir a um programa
○
sa de CPU, memória ROM e memória RAM. En-
továriosnocanais,
na TV, colocamos a televisão canal deseja-
○
i
○
tretanto, queremos que ele atue sobre disposi- do e pronto. A TV tem
e mas so-
○
r em cada canal.
di
○
tivos para receber ou enviar dados. Os micro- mente uma emissora
○
processadores só sabem lidar com números bi-
○
o
○
s
○
d
○
canal da impressora.
RD MEM Leitura da memória
a
○
v
○
s
○
WR IO Escrita no periférico
e canal de comunicação, senão ocorre o confli-
○
.
○
O processador fica o tempo todo nos pro- canal 0 até o 255). Ela indica o número do ca-
a
○
d
○
gramas fazendo somente estas quatro ativida- nal através das 8 primeiras linhas de endere-
a
○
des. Já vimos como ele endereça z a memória, lê çamento (A0 até A7) e ativa o pino IO.
○
i
or
○
t
○
o
○
nã
Anotações e Dicas
○
○
○
ia
○
óp
○
○
C
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○ ○ ○ ○ ○
133/81
Instituto Monitor
Cópia nãoIBM-PC
autorizada. Reservados
faz uso apenas todos
dos 10 primeiros osaté
bits (A0 direitos
A9) de autorais.
endereçamento. Os bits de A10 até A15 são ignorados e o bit A9
indica se o periférico está on-board ou via slot de expansão (conector
de barramentos). Portanto, podemos ter 512 dispositivos em 512
canais de I/O.
e it
ir Espaço de I/O com
d 512 endereços
os Indica se o endereço
os é para a placa do
sistema ou para os slots de
od expansão
t (A9 = 0) - placa do sistema
a d Gerado pelas
r v instruções IN e OUT,
mas ignorado no
s e caso do PC XT
e
. R Não são usados pelas
da instruções IN e OUT
iza
r
Instrução
o IN
A9 = 0 A9 = 1
ão Figura 30
n Antes de tudo, o periférico é um hardware, mas para funcionar
ia com a CPU é preciso um programa (software) de controle. Este
óp software ensina o computador como usar o periférico. Estes pro-
C gramas geralmente são pequenos e chamados de driver, funcio-
nando como sub-rotinas e ficando alocados em endereços reserva-
dos da memória RAM; são chamados (CALL) somente quando ne-
cessário.
133/82
Instituto Monitor
GND 1 I/O CH CK
RESET DRV 2 D7
s.
+5V 3 D6
IRQ9 4 D5
ai
r
to
-5V 5 D4
DRQ2
-12V
6
7
D3
D2 au
0WS 8 D1
os
+12V 9 D0
eit
GND I/O CH RDY r
di
10
MEMW 11 AEN
MEMR 12 A19 s
IOW A18 o
IOR
13
14 o
A17
s
dA16
(component side)
DACK3
DRQ3
15
o
t A15
DACK1
os 16
17
DRQ1
a d
18
A14
A13
REFRESH
r v 19 A12
CLOCK
se 20 A11
IRQ7e 21 A10
. R
IRQ6 22 A9
d aIRQ5 23 A8
za IRQ4 24 A7
ori IRQ3 25 A6
t DACK2 26 A5
au T/C 27 A4
ão ALE
+5 V
28 A3
n 29 A2
ia OSC 30 A1
óp
GND 31 A0
C
Figura 31
133/83
Instituto Monitor
s.
• IOWR sinal da CPU, indicando que fará uma escrita no
dispositivo de I/O.
ai
r
to
• ALE (AEN) sinal ADDRESS LATCH ENABLE, utilizado para
fixar um endereço de I/O, desabilitando as demais linhas.
a u
O circuito lógico seria parecido com este: s
74LC32 ito
74LS04
Seletor de canais
ire
A0
IORD
d
A1
os
D0
A2
A3
os D1
D3
A4
o d D4
A5 t 74LS244 D5
D6
A6 74HC38
o s D7
A7
A8 a d 74LS373
A9
r v
AEN
se D0
D1
IORD
74LS08
e D3
IOWR
. R
74LS32
D4
D5
D6
Direção da
Habilitado D7
a
iz
D0
D1
D3
o r
D4
D5 t
au
D6
D7
ã o 74LS245 74LS32
n
ia 74LS04
óp
C Figura 32
133/84
Instituto Monitor
Cópia nãoentradas
autorizada.
fica o tempoReservados todos
todo em nível lógico 1, indo aos direitos
nível lógico 0 autorais.
quando todas as suas entradas estiverem em nível lógico 1. Isto só
ocorre quando no barramento de endereços temos o número do
canal selecionado.
AEN A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
is.
1 1 1 1 1 1 0 0 r a
Para que a porta NAND possa ir a nível lógico Podem variar de t
o
ZERO estas linhas obrigatoriamente têm que estar
Por estarem
ligadas a a
000 até 111 u
em nível lógico 1. INVERSORES s
8 combinações
o
Convertendo para hexadecimal, temos os números edos it ende-
r
reços de I/O possíveis:
di
A2 A1 A0 CANAL os
0 0 0 3E0h s
0 0 1 d
3E1ho
0 1 0 o
t3E2h
0 1 1 s 3E3h
1 0 0 do 3E4h
1 0 v1a 3E5h
1 1 er 0 3E6h
1
e1 s 1 3E7h
133/85
Instituto Monitor
Cópia
Modo não
Operante: autorizada. Reservados
sui todos os direitos
em seu interior. autorais.
É a placa controladora
○
○
de impressora ou porta de comunicação pa-
○
○
Quando o software pede o acesso a um ralela LPT1. Ela disponibiliza na parte tra-
○
periférico: seira do micro um conector DB-25 pinos fê-
○
○
mea com a seguinte configuração:
○
• a CPU ativa a linha I/O;
○
○
• ativa a linha AEN, indicando que no bar-
○
s.
○
ramento de endereços terá o número de um
i
○
canal de I/O;
a
○
r
○
to
○
• coloca no barramento de endereço o nú-
○
mero do canal de I/O; u
○
a
○
○
• ativa a linha RD ou WR, dependendo da ins-
s
○
trução do software. o
it
○
○
e
○
As instruções de software que acessam r
di Figura 34
○
○
periféricos são:
○
os
○
d
○
periférico.
○
s ou 3BCh.
○
o
○
s
○
e decimal).
○
Lâmina de apoio ao
R
○
Placa de Circuito
Gabinete
. PINOS de 10 a 13 e PINO 15 - Pertencem ao
○
Impresso
a
○
a
○
ri
○
t
○
a
○
Conector do
mento. Exemplo: se S7 for conectado ao
○
Periférico
ã
○
ó
○
SLOT
C
○
Figura 33
○
○ ○ ○ ○ ○
133/86
Instituto Monitor
Cópia nãoTabela
autorizada.
dos Canais daReservados
LPT1 todos os direitos autorais.
Porta BIT Direção Pinos Nome
7 OUT 9 D7
3 6 OUT 8 D6
7 5 OUT 7 D5
8 4 OUT 6 D4
h 3
2
OUT
OUT
5
4
D3
D2 is.
1 OUT 3 D1 r a
0 OUT 2 D0
uto
3
7 IN 11(L) BUSY a
7
6 IN 10 *ACKNLG
os
it
5 IN 12 PAPER OUT
9
h
4 IN 13 SELECT
r e
di
3 IN 15 *ERROR
4 - Hab IRQ 7 -
3
7
3 IN/OUT 17(L) os *SLCT IN
A
2 IN/OUT 16
os *INIT
h
1
0
IN/OUT
IN/OUT
14(L)
1(L) od *AUTO FEED
* STROBE
t
(L) Indica que o bit é invertido
os
3. Periféricos Simples ad
r v
e saída de dados da CPU.
• Acender LEDs para visualizar
s
e dados à CPU.
• Apertar botões para enviar
. R
Damos a seguiraum periférico didático, fácil de montar, barato
d
e que possibilitaaexpandir sua imaginação para “vôos” mais altos.
riz
to
1KΩ
1KΩ
1KΩ
1KΩ
1KΩ
1KΩ
1KΩ
1KΩ
au
ão
n LEDs 5mm
ia Vermelhos D7 D6 D5 D4 D3 D2 D1 D0
óp
C 13 12 11 10 9 8 7 6 5 4 3 2 1
25 24 23 22 21 20 19 18 17 16 15 14
DB-25 Fêmea
D7 D6 D5 D4 D3
133/87
Instituto Monitor
○
○
tro, recebendo da CPU dados que no conector
○
○
aparecem como níveis de tensão +5 volts e 0 volt, • Recebem os sinais digitais vindos da CPU
○
respectivamente N.L. = 1 e N.L. = 0. de acordo com o software de controle.
○
○
○
• Convertem estes sinais digitais para
○
A cada bit igual a 1 na saída acenderá um
sinais analógicos, utilizando os
○
LED. A cada bit igual a 0 na saída o LED fi-
○
s.
conversores D/A (Digital/Analógico).
○
cará apagado.
i
○
• Processam estes sinais, tranformando em
a
○
r
○
Com relação às entradas canal 379h in- grandezas físicas.
to
○
○
ternamente estão conectadas a N.L. = 1, ou
u
○
seja, +5 volts via resistor de PULL-UP. Ao 4. Testes a
○
○
acionarmos qualquer uma das chaves de s
○
o
it
Testando o nosso periférico: o DEBUG
○
pressão NA (normalmente aberta), colocamos
○
N.L. = 0 no respectivo pino. e
tem chaves de acesso direto aos canais de I/
○
r
di
○
O. A chave “I” seguida do número do canal
○
de I/O retorna na tela um número hexade-
○
Se você montar este periférico e ligar ao
os
○
computador via cabo paralelo (ou cabo para cimal que corresponde ao que foi lido neste
○
s
○
te canal.
os dispositivos ligados ao computador.
s
○
o
○
r
○
s
○
e
○
2
d
• visualizar imagens coloridas e em
○
r
○
t
○
e armazená-los em mídia
au computadores
○
ia os periféricos de entrada:
Enfim, todos
○
O378,2 [ENTER]
p
○
C
• Processam
○
• Convertem estes sinais elétricos em sinais pino D1 estará com +5 volts. Digite:
○
Cópia manipulam
software,não estes DADOS.
autorizada. Reservados
pino D2 estaráos
todos comdireitos autorais.
○
+5 volts. Digite:
○
○
○ ○ ○ ○ ○
133/88
Instituto Monitor
Cópia
O378,8 não
[ENTER] autorizada. Reservados todos
Testado o os
canaldireitos autorais.
de saída 378h, vamos tes-
○
○
tar o canal de entrada 379h.
○
○
O quarto LED deve se acender, pois 8h
○
corresponde a 000010002, ou seja, somente o
○
Lembre-se que pelo hardware de nosso
○
pino D3 estará com +5 volts. Digite: periférico, ao pressionarmos a chave, colo-
○
○
camos N.L. = 0 no pino correspondente.
○
O378,10 [ENTER]
○
s.
○
i
○
Com TODAS as chaves NA soltas, digite:
O quinto LED deve se acender, pois 10h
a
○
I379 [ENTER].
r
○
corresponde a 000100002, ou seja, somente o
to na tela.
○
○
pino D4 estará com +5 volts. Digite:
u
○
Anote o número que aparecerá
a e digite: I379
○
Aperte a primeira chave
○
O378,20 [ENTER] s
○
[ENTER].
to
○
i
○
re que aparecerá na tela.
O sexto LED deve se acender, pois 20h
○
i
Anote o número
○
corresponde a 00100000 , ou seja, somente o
d chave e digite: I379 [ENTER].
○
2
Aperte a segunda
○
pino D5 estará com +5 volts. Digite: ○
○
o s
s
Anote o número que aparecerá na tela.
○
O378,40 [ENTER]
Aperteoa terceira chave e digite: I379 [ENTER].
○
d
○
o
○
o
2
pino D6 estará com +5 volts. Digite: Aperte a quarta chave e digite: I379 [ENTER].
○
d
○
a
○
O378,80 [ENTER]
r
○
se
Aperte a quinta chave e digite: I379 [ENTER].
○
○
2
preencha a tabela abaixo:
pino D7 estará com +5 volts. a
○
d
○
a
○
iz
○
r
○
o
○
t
○
Número na
u
CHAVE PRESSIONADA CONVERSÃO PARA BINÁRIO
○
a
○
tela em
○
o Hexadecimal
○
ã D7 D6 D5 D4 D3 D7 D6 D5 D4 D3 D2 D1 D0
○
n
○
○
i
NENHUMAa
○
óp 1
○
○
CHAVE X
C
○
○
○
CHAVE 2 X
○
○
○
CHAVE 3 X
○
○
○
CHAVE 4 X
○
○
X
○
CHAVE 5
○
○
○ ○ ○ ○ ○
133/89
Instituto Monitor
NENHUMA 7E
o s
d
to
CHAVE 1 X
CHAVE 2 X 6E s
d o
CHAVE 3 X
va
CHAVE 4 X e r
es
CHAVE 5 X
. R
da
za com essas duas verificações, já podemos concluir
Desta tabela,
i
que:
tor
• o pinouD7 é realmente invertido na leitura da porta;
a
o
• D0, D1 e D2 têm seus valores fixados pelo fabricante que, neste
ia elas (2 combinações);
óp • podemos combinar duas ou mais chaves pressionadas que
5
C
saberemos o valor lido pela CPU.
133/90
Cópia não autorizada. Reservados todos os direitos autorais.
Exercícios Propostos i s.
r a
1 - Por que a CPU tem seus canais de I/O numerados?
u to
( ) a) Porque se não, dois ou mais periféricos tentariam se comunicar com a CPU ao
a
mesmo tempo.
s
( ) b) Para evitar a memória.
ito
re
( ) c) Porque não são soletrados.
( ) d) Para provocar conflito.
d i
( ) e) Porque os periféricos são numerados.
o s
2 - O que é conflito?
o s
d
............................................................................................................................................
to
............................................................................................................................................
s
............................................................................................................................................
o
d
............................................................................................................................................
a
v
............................................................................................................................................
r
e
............................................................................................................................................
s
e
............................................................................................................................................
R
. produzidos pela CPU quando acessa um canal de I/O?
3 - Quais são os sinais elétricos a
dRD ou WR e DATA BUS na escrita.
( ) a) ADDRESS BUS, IO, a
( ) b) DATA BUS, MEM,
r iz IO, RD e DATA BUS na leitura.
( ) c) ADDRESS BUS,
t o MEM, RD ou WR e DATA BUS na escrita.
( ) d) ADDRESS u BUS, IO, MEM e WR.
( ) e) DATA BUS, a ADDRESS BUS, WR, RD, IO, MEM.
o
4 - Qual énaãimportância dos circuitos tri-state em um computador?
ia
( ) a) Permitem
( ) b)pNenhuma.
que os barramentos sejam utilizados somente por um dispositivo a cada vez.
133/91
Cópia não autorizada. Reservados todos os direitos autorais.
lição
Programas para
13 Periférico Didático is.
r a
Introdução
u to
a
Como vimos, uma sub-rotina é um programa que só é chamado
s
quando necessário. Ela fica em algum lugar na memória disponível.
ito
Toda sub-rotina é chamada pela instrução CALLirseguida do
e
número do endereço de memória onde ela começa. Termina d com a
instrução RET, para indicar à CPU a volta ao endereço
os do programa
que a chamou.
o s
d
to
1. Sub-Rotinas
A figura 36 exemplifica o processo: o s
a d
r v
XXXXH MOV AH, 09 se MOV BX, FF
e
XXXXH
PC →
0155H
MOV DX, 378
CALL 0200
. R DEC BX
CMP BX, 00
0158H ADD AX, DX
d a JNZ 0203
CMP AX, FF
a RET
JZ 0300
riz
t o
au
ã o SP → FFFFH
n TRECHO FINAL DA
ia PC 0155H MEMÓRIA
óp SP FFFFH
133/93
Instituto Monitor
s.
0158H ADD AX, DX JNZ 0203
CMP AX, FF
JZ 0300
RET
ai
r
uto
a
SP → FFFFH
os
TRECHO
eit FINAL DA
PC 0158H
ir MEMÓRIA
SP FFFFH d
os
Figura 37 - SUB-ROTINA - parte 2 - Durante instrução CALL
os
o d PC (Program Counter)
Ao encontrar a instrução CALL endereço:
t
Pointer) continua o mesmo. o s
está apontando para o endereço da próxima instrução 0158H. SP (Stack
a d
A instrução CALL tem que v
e r
tro endereço, mas precisa “lembrar”
desviar o fluxo do programa para ou-
qual o endereço de retorno ao
e s
programa. Para isso, a instrução CALL, ao ser executada, copia o con-
teúdo de PC (Program R Counter) no final da memória RAM, fazendo
com que o SP (Stack a.Pointer) aponte para o endereço anterior.
ad
riz
to
XXXXH MOVa
u
AH, 09 PC → 0200H MOV BX, FF
o
MOV DX, 378 DEC BX
0155H ãCALL 0200
0203H
ia JNZ 0203
p
CMP AX, FF RET
ó JZ 0300
C
SP → FFFEH
SP → FFFFH 0158H
TRECHO FINAL DA
PC 0200H MEMÓRIA
SP FFFEH
133/94
Instituto Monitor
s.
MOV DX, 378 0203H DEC BX
0155H CALL 0200 CMP BX, 00
ai
0158H ADD AX, DX JNZ 0203
r
to
CMP AX, FF RET
JZ 0300
au
os
it 0158H
SP → FFFEH
e
r
SP → FFFFH
TRECHO di FINAL DA
0203H s MEMÓRIA
PC
o
SP
s
FFFEH
o SUB-ROTINA
d
to
Figura 39 - SUB-ROTINA - parte 4 - Executando
o s
O programa segue agora pela sub-rotina. PC (Program Counter)
aponta para o endereço da próxima a d instrução, 0203H. SP (Stack
Pointer) não se altera.
r v
e
es
. R
XXXXH MOV AH, 09
da 0200H MOV BX, FF
MOV DX, 378
a DEC BX
0155H CALL 0200
ADD AX, DX r
iz CMP BX, 00
0158H
CMP AX, to PC → 02??H
FF
JNZ 0203
RET
a u
JZ 0300
o
nã SP → FFFEH
ia SP → FFFFH 0158H
óp TRECHO FINAL DA
C PC 0158H MEMÓRIA
SP FFFFH
133/95
Instituto Monitor
Cópia nãoexecutada,
autorizada. Reservados
retira do final todos
da memória o antigo os
valor de PCdireitos
(Program autorais.
Counter), devolvendo-o ao registrador PC (Program Counter).
is.
r a
to
XXXXH MOV AH, 09 0200H MOV BX, FF
0155H
MOV DX, 378
CALL 0200
DEC BX
CMP BX, 00
au
PC → 0158H ADD AX, DX JNZ 0203
os
it
015AH CMP AX, FF RET
e
JZ 0300
r
di
os
SP → FFFFH 0158H
o s
TRECHO
od015AH FINAL DA
MEMÓRIA
PC
t
o s SP
FFFFH
ia recuperá-lo.
133/96
Instituto Monitor
Cópia1:não
Exemplo autorizada. Reservados todos
Instruções os direitos autorais.
utilizadas:
○
○
○
PUSH AX MOV registrador , conteúdo
○
PUSH BX
○
CALL endereço
○
PUSH CX
○
RET
○
○
Na pilha (stack) teremos no topo o valor
○
DEC registrador
○
s.
de CX. Ao recuperar os dados, o primeiro
○
JNZ endereço
i
○
POP deve ser POP CX, depois POP BX e por
a
○
fim POP AX. Os POP seguem a ordem inver- OUT DX, AX r
○
to
○
sa dos PUSH.
○
u
○
Fluxograma
a
○
Exemplo 2:
s
○
○
o
it
○
INÍCIO A SUB-ROTINA
PUSH AX
○
e
○
PUSH BX r
di
○
MOV DX, 378 MOV AX, 10 MOV BX, 3FFF
○
CALL 0200
○
os
○
○
MOV AX, 00 OUT DX, AX MOV CX, 3FFF
Na pilha (stack) teremos no topo o valor
s
○
o
○
SUB-ROTINA
Não podemos executar nenhum POP antes de
o
○
t
○
MOV AX, 20
s SUB-ROTINA CX = 0 ?
○
a
MOV AX, 01 OUT DX, AX
○
AX.
v DEC BX
○
r
○
SUB-ROTINA
NÃO
○
e BX = 0 ?
○
R CALL
○
MOV AX, 40
Para enviar dados a um canal de.I/O uti- SUB-ROTINA SIM
○
RET
d que signi-
○
iz do regis-
○
r
no registrador DX com o conteúdo
○
SUB-ROTINA
trador AX”.
t
○
CALL
○
MOV AX, 80
Significa que antes SUB-ROTINA
○
o devemos carregar DX
○
CALL
óp
○
OUT DX, AX
SUB-ROTINA
○
C
○
Exemplo: CALL
○
INT 20
SUB-ROTINA
○
PROGRAMA 1
○
OUT DX, AX
ACENDIMENTO DOS LEDs
○
CALL
PROGRAMA 1 - Acender os LEDs na se-
○
SUB-ROTINA
○
qüência
Cópiaemnão
vai-vem.
autorizada. Reservados todos os direitos autorais.
○
A Figura 42
○
○
○ ○ ○ ○ ○
133/97
Instituto Monitor
Cópia Fonte
Programa não autorizada. Reservados todos
Programa 2 os direitos autorais.
○
○
○
Este programa foi criado no MS-DEBUG
○
Ao pressionar um botão, os LEDs vão
○
a partir do endereço 0100H para a parte prin- acendendo na seqüência vai-vem. O botão es-
○
○
cipal e 0200H para a sub-rotina. colhido é o que está ligado ao pino 13 do
○
○
conector DB-25 fêmea. Ele equivale ao bit D4.
○
○
PROGRAMA PRINCIPAL (endereço IP = 0100H)
s.
○
A leitura da porta paralela (LPT1) canal
i
○
166F:0100 BA7803 MOV DX,0378
a
de I/O 379H retorna 7EH quando todas as cha-
○
r
○
166F:0103 B80000 MOV AX,0000 ves estão soltas. Retorna 6EH quando a chave
to
○
166F:0106 EF OUT DX,AX
○
em questão é pressionada.
u
○
166F:0107 E8F600 CALL 0200
a
○
○
166F:010A B80100 MOV AX,0001
s
Estas são as informações de hardware;
○
166F:010D EF OUT DX,AX o
it
○
agora já podemos fazer o software. Utilizare-
○
166F:010E E8EF00 CALL 0200
e
mos a técnica das sub-rotinas, desta forma
○
r
di
166F:0111 B80200 MOV AX,0002
○
nosso programa principal fica mais flexível.
○
166F:0114 EF OUT DX,AX
○
os
○
0100H.
o
○
s
○
d
○
r
○
166F:0129 EF OUT
e
DX,AX Para receber dado de um canal de I/O uti-
○
.
○
trador AX”.
a
○
iz
166F:0134 B84000 MOV AX,0040
○
r
○
166F:0138 E8C500 t
CALL 0200
○
166F:013E EF
o OUT DX,AX
○
Exemplo:
n
○
óp
○
C
○
IN AX, DX
○
○
Instruções utilizadas:
○
166F:0206 49 DEC CX
○
RET
○
166F:020C C3 RET
○
○ ○ ○ ○ ○
133/98
Instituto Monitor
Cópia nãoDEC
autorizada.
registrador Reservados todos os direitos autorais.
JNZ endereço
OUT DX, AX
IN AX, DX
CMP registrador, conteúdo
PUSH registrador
is.
POP registrador r a
Fluxograma: uto
a
os
INÍCIO A SUB - 1
eit SUB - 2
r
MOV AX, 00 MOV AX, 10 PUSH AX di MOV DX, 378
os
CALL SUB - 1 CALL SUB - 1 s
MOV DX, 379
o
OUT DX, AX
od
MOV AX, 01 MOV AX, 20 tIN AX, DX MOV BX, 3FFF
os
CALL SUB - 1 CALL SUB - 1
ad NÃO MOV CX, FFFF
r v AX = 6E
e
es
SIM
MOV AX, 02 MOV AX, 40 DEC CX
. R POP AX
CALL SUB - 1
da
CALL SUB - 1 NÃO
CX = O ?
za
CALL SUB - 2
i
or
SIM
MOV AX, 04 MOV AX, 80
t IN AX, DX DEC BX
ão NÃO
AX = 7E ?
NÃO
BX = O ?
n INT 20
ia
MOV AX, 08
SIM SIM
óp
RET MOV DX, 379
CCALL SUB - 1
RET
A Figura 43
133/99
Instituto Monitor
•Cópia
Chamamos não autorizada.
a sub-rotina Reservados
1. Ela serve para ve- CALLtodos
0200 os direitos autorais.
○
○
rificar se o botão preso a D4 foi pressionado. MOV AX, 40
○
○
CALL 0200
• Esta sub-rotina lê o canal de I/O, que é a
○
MOV AX, 80
○
porta paralela (LPT1) do IBM-PC e com-
○
CALL 0200
○
para o conteúdo com o valor da chave pres-
○
INT 20
sionada. Como a instrução de leitura
○
○
s.
também utiliza o registrador AX, salvamos
○
SUB-ROTINA 1 (IP = 0200H)
i
○
o conteúdo de AX na pilha (stack).
a
○
PUSH AX
r
○
• Se este valor não for o exato, formamos um
to
○
MOV DX, 379
○
LOOP (lê canal e compara) e só sairemos
FURA: IN AX, DX u
○
dele se a chave for pressionada.
a
○
CMP AX, 6E
○
s
○
• Sendo a chave pressionada, a sub-rotina se- JNZ FURA
o
it
○
gue e chama uma segunda sub-rotina, mas POP AX
○
e
○
antes disso recupera o valor de AX. CALL 0250 r
di
○
○
• A segunda sub-rotina envia para a saída o BOLO: IN AX, DX
○
os
valor de AX e na seqüência faz uma pausa ○
○ CMP AX, 7E
JNZ BOLO
antes de retornar à primeira sub-rotina.
s
○
o
○
RET
d
○
s
○
a
○
es
a chave. FOGO: MOV CX, FFFF
○
○
VIRA: DEC CX
R
○
a
valor de AX é carregado e repete-se
○
d DEC BX
○
JNZ FOGO
○
ri (LPT1).
MOV DX, 379
○
o
○
t RET
○
u
○
MOV AX, 00 o
○
CALL 0200
n
○
02p
○
MOV AX, ó
○
C
○
MOV AX, 04
○
CALL 0200
○
CALL 0200
○
Podemos dizer:
○
MOV AX, 10
○
Hardware
Cópia não autorizada. Reservados todos complexo
os direitos simples
○
○
○
○ ○ ○ ○ ○
133/100
Instituto Monitor
is.
r a
to
Motor de Passo
4 Bobinas
au
os
Saída Analógica
eit
r
di
os
1KΩ
s
1KΩ
1KΩ
1KΩ
1KΩ
TRANSISTORES POTENCIAIS
od
t
s
1KΩ
1KΩ
1KΩ
1KΩ
FONTE EXTERNA
D7 D6 D5 D4 D3 D2
ad D1 D0
13 12 11 10 9 8 7 6 5 rv 4 3 2 1
e
24 23 22 21 20 19 18s 17 16 15 14
25
e
D7 D6 D5 D4 D3 . R DB-25 Fêmea
da
a
riz
NTC ou PTC
o
Chave NA
Chave NF
t
REED SWITCH
au
LDR
ã o
n
ia
ó p Figura 44
C
133/101
Cópia não autorizada. Reservados todos os direitos autorais.
Exercícios Propostos i s.
r a
1 - Como é executada a instrução CALL?
u to
a
............................................................................................................................................
s
............................................................................................................................................
ito
............................................................................................................................................
ire
............................................................................................................................................
d
............................................................................................................................................
o s
2 - Stack significa:
( ) a) Bastão de endereços de memória. o s
( ) b) Empilhamento de dados no final da memória.od
( ) c) Derramamento de dados no início da memória. t
( ) d) Bateria de dados na memória. o s
( ) e) Estaca de dados na memória.
a d
r v
3 - Quais os cuidados ao utilizar PUSHeregistrador e POP registrador em seus programas
Assembly?
e s
( ) a) Nunca utilizar PUSH ou POP. R
. é inversa ao comando PUSH.
( ) b) A ordem dos comandos POP
( ) c) Nenhum cuidado é necessário. d a
( ) d) Só não podemos utilizar z a PUSH junto do CALL.
i
or
( ) e) Executar primeiro POP depois PUSH.
t
u chaves NA por L.D.R., pois:
4 - Podemos substituir a
( ) a) Não fazodiferença alguma.
( ) b) L.D.R. ãe chave NA são a mesma coisa.
( ) c) Nãonpodemos substituir.
i
( ) d) Quandoa o L.D.R. está iluminado funciona como chave fechada e vice-versa.
( )ó e)pNenhuma das alternativas anteriores.
C
5 - Quando queremos comparar um valor lido pelo canal com um número conhecido
utilizamos a instrução:
( ) a) PUSH endereço.
( ) b) POP endereço.
( ) c) CALL endereço.
( ) d) CMP registrador, número.
( ) e) JNZ endereço.
Cópia não autorizada. Reservados todos os direitos autorais.
○ ○ ○ ○ ○
133/102
Cópia não autorizada. Reservados todos os direitos autorais.
de um Microcomputador
14 IBM-PC Compatível is.
r a
Introdução
u to
a
s
Nesta lição você irá se familiarizar com todos os dispositivos
necessários à montagem de um microcomputador IBM-PC
ito com-
re
patível.
di
1. Escolha seu Microprocessador
os
As opções que o mercado oferece são:
os
d
• CPU Intel Pentium 4 de 1.7 GHz de
clock
to
o s
• Intel Celeron
a d
• AMD Duron com clock de v 700 MHz,
800 MHz ou 900 MHz er
es
. R
d a
iza
or
ut
a
o
nã
pia
ó
C
133/103
Instituto Monitor
is.
A figura 45 mostra o que um chipset Intel faz para o Intel
Pentium 4. r a
uto
a
Intel® Pentium® 4
Processador
os
eit
r
di
osRDRAM
RDRAM
Dual
s
>1 MCH Cannel
AGP4X
o
GB/s 3.2 GB/s
od RDRAM
t RDRAM
Intel® Hub
o s Architecture
a d 6 Channel
ATA 100 MB/s
r v Audio
2 IDE Channels
se ICH2 133
PCI
LAN e MB/s
Interface
. R 4 USB ports
d a
a
r iz
to Flash BIOS
au Figura 45
ão
n
• Controla o vídeo através do barramento AGP 4X.
133/104
Instituto Monitor
is.
r a
uto
a
os
eit
r
di
os
os
od
t
o s
ad
Figura 46
r v
s e
e
R
. placa-mãe você pode escolher o CHIPSET
Ao escolher uma a
ad
para que seu processador
neira possível.zDependendo
funcione da melhor ou mais barata ma-
i da aplicação que se deseja dar ao micro-
computador,r investir muito dinheiro é totalmente desnecessário,
t
pois a cada
o meio ano seu microcomputador perde 50% do valor
au devido ao surgimento de novas tecnologias e
comercial,
ão
processadores mais rápidos.
n Placas-mãe com tudo on-board é uma opção barata para uso
ia doméstico sem grandes necessidades de hardware. Estas necessi-
óp dades acontecem em aplicações comerciais de áudio, vídeo. médi-
C ca, etc.
3. Cooler
À medida que a freqüência do clock aumenta, a temperatura
Cópia nãodosautorizada. Reservados todos os direitos autorais.
processadores aumenta muito. São utilizados coolers (do In-
○ ○ ○ ○ ○
133/105
Instituto Monitor
Cópia
glês cooler:não
aqueleautorizada. Reservados
que esfria ou torna frio). todos os direitos
O termo “pente” autorais.
é usado porque a memó-
Estes dispositivos são compostos de uma peça ria vem em uma placa de circuito impresso
em alumínio aletada e uma ventoinha ligada com terminais banhados a ouro e o conjunto
o tempo todo sobre o conjunto (figura 47). se parece com um pente de cabelo.
5. Gabinetes
is.
As figuras 49 e 50 mostram o gabinete,
que é onde você colocará a placa-mãe com
suas partes. r a
uto
a
os
eit
Figura 47 r
di
A figura mostra a ventoinha do cooler e a os
parte em que entra em contato com a CPU.
os
Recomenda-se o uso de pasta térmica od
entre a CPU e o cooler para melhorar a trans-
t
ferência de calor entre as partes e manter a os
CPU na temperatura ideal. ad
r v
4. Memórias RAM - Pente
se
e
Você já tem um processador, uma Rplaca-
mãe e o cooler, mas, sem memória a. RAM o
computador nem liga. Escolha um
ad pente de
memória entre:
riz
• 32 Mbytes por pente; t
o
u
• 64 Mbyte por pente;a
ão ou
• 128 Mbyte por pente
n
• 256 Mbyte a por pente.
p i
ó 48 mostra um pente de memória
A figura
C
DDR SDRAM
133/106
Instituto Monitor
Cópia nãovem
O gabinete autorizada.
com uma fonteReservados
de ali- todos os direitos autorais.
6.3 Mouse
mentação do tipo chaveada, com potência
recomendada de 300 W. É feito em chapa Dispositivo apontador. Criado nos Labo-
dobrada e soldada, tendo pintura externa ratórios da Xerox e copiado por Steve Jobs da
resistente e tampo de plástico com design Apple, virou o periférico mais necessário no
moderno e cores a escolher. mundo GUI (Graphic User Interface), traduzi-
do como “Interface Gráfica com o Usuário”.
6. Periféricos Comuns
is.
Arrastando e clicando sobre ícones, você
Os periféricos que não são mais opcio- r a
é dispensado de digitar comandos do antigo
nais são: MS-DOS.
uto
a
6.1 DRIVE de Disquete de 3½”
os
Com ele você inicializa a máquina, desde eit
r
que seja com o disco de BOOT ou disco de
sistema. Utilizado quando seu HardDisk é di
não-formatado, para que você inicialize a os
máquina e possa rodar o software de insta-
os
lação do Windows, por exemplo.
od
t
os
ad
r v 6.4 Estabilizador de Tensão da Rede
se
e Trata-se de um produto 100% brasileiro,
to comandos digi-
Através dele você envia
tados. Por exemplo, aoauligar o computador,
para que você acesse
ão o SETUP da BIOS tem
que apertar a tecla DEL durante a iniciali-
zação.
n
p ia
ó
C
Figura 52
133/107
Instituto Monitor
Cópia
6.5 não
Caixas de Somautorizada.
Amplificadas Reservados todos
6.7 Hard os direitos autorais.
Disk Drive
os
os
o d
t
os
ad
r v
e
es
. R
6.6 CD-ROM Player a
d
A quantidade de memória
iza ocupada
por um programa ultrapassou
o r a barreira
dos discos flexíveis, quetera de 1.4 Mbyte.
Os leitores de CD-ROM au são fundamentais
hoje; sem um deles
ã o você não instala um Os drives de CD-ROM vêm no padrão
sistema operacional como o Windows XP, IDE, o mesmo do HD. Portanto, eles ocupam
por exemplo.
n uma destas quatro posições.
ia
óp Comumente é recomendado que você te-
C nha um HD com master primário, os demais
não importando a ordem.
133/108
Instituto Monitor
Master Slave
is.
J50 J48 J46 J44 J42 J50 J48 J46 J44 J42
r a
Cable Select
uto
a
os
it
J50 J48 J46 J44 J42
e
ir
Figura 58 - Exemplo de jumper na parte traseira do HD
d
Ao manusear um HD:
os
• Manuseie com cuidado, mesmo quando forsdevolvê-lo ao fabri-
cante.
d o
• Abra a embalagem cuidadosamente. Ela to é difícil de abrir.
• Não empilhe HDs. o s
• Não o deixe cair. ad
r v
• Sempre coloque o HD sobre
s e superfícies cobertas e macias.
• Monte-o no gabinete com e cuidado para não bater, chacoalhar ou
forçar.
. R
• Use equipamento d ade proteção eletrostática durante todo o tempo
da montagem.a
riz
to Para HD Slave
a u
o
Conector do
nã(largo)
cabo de HD
ia
óp Placa-mãe Para HD Master
Fio pintado indica o
C pino 1 do conector
Figura 59
133/109
Instituto Monitor
Cópia nãofiosautorizada.
vem marcado emReservados todos
vermelho (ou outra os direitos
cor) indicando que se autorais.
trata do fio do terminal número 1 do conector. Na hora de colocar,
alinhe este fio com o terminal número 1.
d a
iza
o r
ut
a
o
nã
pia
ó
C
133/110
Cópia não autorizada. Reservados todos os direitos autorais.
○
u
○
a
ções no formato binário e que tem a mesma
○
s
○
1-A função no sistema.
○
2-D 3-B
to
○
i
○
re
3-A 4-D
○
i
○
4-C 5-C
d
○
5-C 6-B
○
○
○
o s
Lição 2 s
○
Lição 8o
○
d
○
o
○
1-C
1 - tLinhas de endereçamento ou address bus:
○
2-C
○
r
○
s
○
e
10
5 - A – pois 2 = 1.024 combinações possíveis, transportar os dados para dentro da CPU
○
.
○
Lição 3 d
○
z programa.
○
i
or
○
t
○
3-E
a interpretador identifica a qual instrução
○
○
nã
Lição 4
○
memória.
○
ia
○
ó
○
binários.
○
operação U.L.A.
○
○
○ ○ ○ ○ ○
133/111
Instituto Monitor
Lição 11 is.
r a
1-
uto
a
Início
os
eit
r
di
AX = 1234H
BX = 0234H
os
os
d
CX = 0034H
o
t
s
DX = 0004H
do
CXa= CX - DX
r v
se FLAG Z ?
e
. R
da CX = CX - DX
iza
or SIM
FLAG Z ?
ut NÃO
a BX = BX - CX
ão
n SIM
ia FLAG Z ?
óp
NÃO
C AX = AX - BX
NÃO
FLAG Z ?
SIM
FIM
133/112
Instituto Monitor
Cópia não
Convém autorizada.
lembrar Reservados
que em programação todos
Lição 12 os direitos autorais.
○
○
existem inúmeras maneiras de fazer o mes-
○
○
mo programa. Portanto, aqui é somente uma 1-A
○
sugestão de resposta. 2 - É a utilização dos barramentos por dois ou
○
○
mais periféricos ao mesmo tempo.
○
○
2 - Exemplo digitado no Debug da Microsoft, 3-A
○
a partir do endereço IP = 500. 4-A
○
s.
○
5-A
i
○
PROGRAMA FONTE NO MODO
a
○
r
○
ENDEREÇADO Lição 13
to
○
○
u
○
166F:0500 MOV AX,1234 1 - Copia o conteúdo de PC a (Program Counter)
○
○
os o registrador SP
166F:0503 MOV BX,0234 na stack (pilha), carrega PC com o endere-
○
ço mencionado emtCALL,
○
166F:0506 MOV CX,0034
i anterior no final da
○
166F:0509 MOV DX,0004 e
aponta para endereço
○
ir a instrução do endereço
○
166F:050C SUB CX,DX memória. Executa
d
○
○
166F:050E JZ 0518 apontado por CALL.
os
○
3-B s
○
166F:0512 JZ 0518
4-D o
○
d
○
166F:0516 JZ 0518
t D
○
○
166F:0518 INT 20
s
○
o
○
d
○
v
○
r
○
MOV AX,1234 e
○
es
○
MOV BX,0234
○
R
○
MOV CX,0034
DX,0004 a.
○
MOV
○
CX,DX d
○
SUB
AZUL za
○
○
ri
JZ
○
SUB
o
BX,CX
○
t
○
JZ AZUL
u
○
a AX,BX
○
SUB
○
JZ o AZUL
○
ã
○
AZUL:
n
INT 20
○
○
ia
○
óp
○
○
C
○
○
○
○
○
○
○
○
○
○
○
○
○
○
○ ○ ○ ○ ○
133/113
Cópia não autorizada. Reservados todos os direitos autorais.
Bibliografia is.
r a
VISCONTI, Antonio Carlos J. Franceschini
uto
Microprocessadores 8080 e 8085 - 3ª edição
a
São Paulo: Editora Érica 1983
os
BRAGA, Newton C.
eit
r
di
Manutenção de Microprocessadores -
Guia para futuros profissionais - 3ª edição
São Paulo: Editora Saber 1999
os
os
od
t
os
ad
r v
se
e
. R
da
a
riz
to
au
ão
n
ia
óp
C
133/114
Pesquisa de Avaliação
Cópia não autorizada. Reservados todos os direitos autorais.
133 - Microprocessadores
Caro Aluno:
Queremos saber a sua opinião a respeito deste fascículo que você acaba de estudar.
s.
Para que possamos aprimorar cada vez mais os nossos serviços, oferecendo um
a i
r
to
material didático de qualidade e eficiente, é muito importante a sua avaliação.
t
s
Nome (campo não obrigatório): _______________________________________________________________
o
o
d
N de matrícula (campo não obrigatório): _____________________
a
Curso Técnico em:
r v
Eletrônica
s eSecretariado Gestão de Negócios
Transações Imobiliárias
e Informática Telecomunicações
Contabilidade
. R
QUANTO AO CONTEÚDO
d a
a
iz muito a compreensão da matéria estudada.
1) A linguagem dos textos é:
r
a) sempre clara e precisa, facilitando
o e precisa, ajudando na compreensão da matéria estudada.
t
b) na maioria das vezes clara
au
c) um pouco difícil, dificultando a compreensão da matéria estudada.
ã o
d) muito difícil, dificultando muito a compreensão da matéria estudada.
e) outros: ______________________________________________________
n
a
2) Os temas abordados nas lições são:
a) atuais eiimportantes para a formação do profissional.
ópmas sua importância nem sempre fica clara para o profissional.
b) atuais,
C mas sem importância para o profissional.
c) atuais,
d) ultrapassados e sem nenhuma importância para o profissional.
e) outros: ______________________________________________________
3) As lições são:
a) muito extensas, dificultando a compreensão do conteúdo.
b) bem divididas, permitindo que o conteúdo seja assimilado pouco a pouco.
c) a divisão das lições não influencia Na compreensão do conteúdo.
Cópia não autorizada. Reservados todos os direitos autorais.
d) muito curtas e pouco aprofundadas.
e) outros: ______________________________________________________
QUANTO AOS EXERCÍCIOS PROPOSTOS
Cópia não
4) Os exercícios autorizada.
propostos são: Reservados todos os direitos autorais.
a) muito simples, exigindo apenas que se decore o conteúdo.
b) bem elaborados, misturando assuntos simples e complexos.
c) um pouco difíceis, mas abordando o que se viu na lição.
d) muito difíceis, uma vez que não abordam o que foi visto na lição.
e) outros: ______________________________________________________
s.
5) A linguagem dos exercícios propostos é:
a) bastante clara e precisa.
ai
b) algumas vezes um pouco complexa, dificultando a resolução do problema proposto.
r
c) difícil, tornando mais difícil compreender a pergunta do que respondê-la.
d) muito complexa, nunca consigo resolver os exercícios. uto
e) outros: ______________________________________________________ a
os
QUANTO À APRESENTAÇÃO GRÁFICA
eit
r
di o estudo bastante agradável.
6) O material é:
a) bem cuidado, o texto e as imagens são de fácil leitura e visualização, tornando
os
b) a letra é muito pequena, dificultando a visualização.
c) bem cuidado, mas a disposição das imagens e do texto dificulta a compreensão do mesmo.
o s
d) confuso e mal distribuído, as informações não seguem uma seqüência lógica.
e) outros: ______________________________________________________ d
to
7) As ilustrações são:
o
a) bonitas e bem feitas, auxiliando na compreensão e fixação
s do texto.
c) malfeitas, mas necessárias para a compreensão v
ad do texto.
b) bonitas, mas sem nenhuma utilidade para a compreensão
e fixação do texto.
d) malfeitas e totalmente inúteis. e r
es
e) outros: ______________________________________________________
Sugestões e comentáriosut
a
o
nã
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
a
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
i
óp
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
○ ○
C
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○
○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○