Você está na página 1de 229

Universidade Federal de Goiás

Escola de Engenharia Elétrica e de Computação

MICROPROCESSADORES E
MICROCONTROLADORES

Microprocessador 8085
José Wilson Lima Nerys

jwilson@eee.ufg.br

Goiânia, 2009

1 Microprocessador 8085
1 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Evolução de Conhecimentos
até Microprocessadores

2 Microprocessador 8085
2 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Materiais Elétricos – Estudo de materiais isolantes, condutores e semicondutores


– características.

P N Junção PN Diodo

P N P

N Transistores de Junção PNP e NPN

N P N

3 Microprocessador 8085
3 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Eletrônica – Aplicações de Diodos e Transistores – retificadores, amplificadores,


ceifadores, filtros, multivibradores biestáveis.

4 Microprocessador 8085
4 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistemas Digitais – Sistemas de numeração e códigos binários. Portas


Lógicas. Álgebra Booleana. Circuitos lógicos combinacionais. Codificadores,
decodificadores, multiplexadores e demultiplexadores. Aritmética binária.
Circuitos lógicos seqüenciais (contadores e registradores).

Flip-flop Porta NAND

5 Microprocessador 8085
5 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Contadores

Registradores Flip-flops

Microprocessador

Somadores
Codificadores

Decodificadores

6 Microprocessador 8085
6 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Estrutura Básica de Um
Computador

7 Microprocessador 8085
7 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CPU

8 Microprocessador 8085
8 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Microprocessador

É a CPU de um computador construído num único Circuito Integrado.


Contém essencialmente a unidade de controle, a unidade lógica e
aritmética e registradores. Precisa de periféricos tais como memória e
unidade de entrada e saída, para a formação de um sistema mínimo.

CPU

Memória
Registradores

Unidade
Controle
Unidade de
Entrada e Saída
ULA

9 Microprocessador 8085
9 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Microcontrolador

Computador completo construído num único Circuito Integrado.


Os microcontroladores são normalmente utilizados para aplicações
específicas. Eles contêm normalmente portas seriais, portas de entrada e
saída paralelas, timers, contadores, controles de interrupção, memórias
RAM e ROM.

CPU

Memória
Registradores

Unidade
Controle
Unidade de
Entrada e Saída
ULA

10 Microprocessador 8085
10Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Funções Básicas do Computador:

Processamento de dados (ex.: execução de uma adição ou de uma


função lógica);

Armazenamento de dados (ex.: armazenamento temporário na


memória RAM, Disco, DAT, etc.);

Movimentação de dados (comunicação com mundo exterior: teclado,


monitor, impressora);

Controle (controle das funções anteriores).

11 Microprocessador 8085
11Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CPU - Central Processing Unit - Unidade Central de Processamento


(UCP).

É responsável por buscar e executar instruções na memória e


também pelo controle do computador.

Memória - Local para armazenamento de dados e programas.

I/O - Unidade Entrada (Input) e Saída (Output):

Promove a movimentação de dados entre o computador e o ambiente


externo.

12 Microprocessador 8085
12Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Unidade Central de Processamento (CPU)

Control Unit - Unidade de Controle (UC) - tem por função básica o


controle das demais unidades da CPU.

ALU (Aritmetic and Logic Unit) - Unidade Lógica e Aritmética (ULA) -


realiza funções básicas de processamento de dados (adição, subtração,
funções lógicas, etc.).

Registers - Registradores - São usados para o armazenamento interno


da CPU. Existem diversos registradores na CPU e o principal deles é
chamado de Acumulador.

13 Microprocessador 8085
13Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Memória

De um modo geral a memória do computador contém:

N palavras de tamanho fixo: cada palavra está vinculada a

um endereço único)

Linhas de controles, sendo as principais:

read leitura

write escrita

14 Microprocessador 8085
14Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Memória RAM – Permite a leitura e a gravação


de dados.

Memória Dinâmica (DRAM) – Baixa densidade,


mas lenta. Capacitores com circuitos com
“atualização de dados - refresh”.

Memória estática (SRAM) – Alta densidade.


Rápida. Baseada em Flip-flops.

Memória CACHE - Pequena quantidade de


memória RAM estática (SRAM) usada para
acelerar o acesso à memória principal (RAM
dinâmica).

Quando há necessidade de transferir dados da


(para) memória dinâmica, estes são antes
transferidos para a memória cache

15 Microprocessador 8085
15Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Memória ROM (Read-Only Memory)


Memória que permite apenas a leitura, ou seja, as suas informações são
gravadas pelo fabricante uma única vez (no caso do tipo PROM) e após
isso não podem ser alteradas ou apagadas, somente acessadas.

Alguns tipos de memória ROM:

PROM (Programmable Read-Only Memory) – Podem ser escritas com


dispositivos especiais mas não podem mais ser apagadas.

EPROM (Erasable Programmable Read-Only Memory) – Podem ser


apagadas pelo uso de radiação ultravioleta permitindo sua reutilização.

EEPROM (Electrically Erasable Programmable Read-Only Memory) –


O seu contéudo pode ser modificado eletricamente.
Memória FLASH – São semelhantes às EEPROMs, porém mais rápidas
e de menor custo.

16 Microprocessador 8085
16Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Unidade de Entrada e Saída (I/O)

Há divisão de meio interno (barramento do computador) e meio


externo (linhas de acesso a periféricos);

Constituído de M Portas (cada uma das interfaces aos periféricos:


impressoras, mouse, scanner, vídeo, etc.).

Cada uma das portas está vinculada a um endereço ou a uma faixa


única de endereços;

Envia sinais de interrupção para a CPU.

17 Microprocessador 8085
17Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Barramento

Meio físico usado para o transporte de um conjunto de


sinais digitais usados para comunicação entre o
processador, a memória e o meio externo.

Barramento de sistema - barramento específico para


a comunicação entre o processador e a memória

Para a comunicação com os periféricos os três tipos


mais comuns de barramento são: barramento ISA,
barramento PCI e barramento AGP

18 Microprocessador 8085
18Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Barramento ISA (Industry Standard Architecture)

originado no IBM PC na versão de 8 bits

aperfeiçoado no IBM PC AT / slots de 8 e 16 bits

transferência de dados – grupos de 8 ou 16 bits / clock de 8 MHz

fax/modem, placas de som e placas de rede

19 Microprocessador 8085
19Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Barramento PCI (Peripheral Component Interconnect)

Desenvolvido pela Intel em 1992 – Processador Pentium


Taxa de transferência de até 132 MB/s com 32 bits

Opera com 32 ou 64 bits

Suporte para o padrão PnP (Plug and


Play)

Clock é geralmente de 33 MHz

Placa de vídeo, placa de som,


placa de rede, modem,
adaptadores USB

20 Microprocessador 8085
20Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Barramento PCI - X (PCI Express)

O barramento PCI-X é uma extensão do barramento PCI


voltado para o mercado de servidores de rede.

Opera com 64 bits

Clock de até 133 MHz

Taxa de Transferência de 533 MB/s a 4.266 MB/s

21 Microprocessador 8085
21Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Barramento AGP (Accelerated Graphics Port)

Desenvolvido pela Intel - aumentar a taxa de transferência entre a CPU


e a placa de vídeo melhorando o desempenho de operação com gráficos

Incorporado à CPU de processadores Pentium II mais modernos.


Principal vantagem: Uso de maior quantidade de memória para
armazenamento de texturas para objetos tridimensionais

Alta velocidade no acesso a essas texturas para aplicação na tela

22 Microprocessador 8085
22Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Placa Mãe

23 Microprocessador 8085
23Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Definições Básicas de
Microprocessadores

24 Microprocessador 8085
24Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Índice de Desempenho de Processadores

O aumento de desempenho (velocidade de processamento) de


processadores gira em torno:

• Aumento de clock

• Aumento do número interno de bits

• Aumento do número externo de bits

• Redução do número de ciclos para executar cada instrução

• Aumento da capacidade e velocidade da memória cache

• Execução de instruções em paralelo

25 Microprocessador 8085
25Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MIPS - Millions of Instructions Per Seconds (Milhões de Instruções Por


Segundo): É uma unidade de desempenho do microprocessador.

FLOPS - FLOating point instructions Per Seconds (Instruções com


Ponto Flutuante Por Segundo). É também uma unidade de
desempenho do microprocessador. Indica a capacidade de trabalhar
com números decimais.

Representação em Ponto Fixo - Sistema numérico no qual o ponto


está implicitamente fixo (à direita do digito mais a direita).

Representação em Ponto Flutuante - Sistema numérico no qual um


número real é representado por um par distinto de numerais: uma
mantissa (ou significante) e um expoente. Possibilita representação de
números fracionários.

26 Microprocessador 8085
26Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Bit
Abreviatura para “Binary Digit”, ou, Dígito Binário. Pode assumir
valor 0, que corresponde a tensão O V, ou 1, que representa
normalmente uma tensão de 5 V ou 3,3 V.

Byte
Conjunto de 8 bits. É a unidade básica de dados nos
computadores, que também utilizam alguns múltiplos de 8, tais
como 16 bits (Word) e 32 bits (Dword).

27 Microprocessador 8085
27Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Set de Instruções

Conjunto de Instruções - Conjunto de Mnemônicos (siglas que


fazem lembrar uma ação) que representam todas as instruções do
processador. Cada processador possui o seu set de instruções
particular. O microprocessador 8085 possui 74 instruções.

BIOS

Basic Input/Output System – É o conjunto mínimo de instruções


necessárias para a inicialização do computador. Também gerencia
o fluxo de dados entre o sistema operacional do computador e os
dispositivos periféricos conectados.

28 Microprocessador 8085
28Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Alguns Exemplos de Aplicação de Microprocessadores


e Microcontroladores

Microcomputadores, Calculadoras, Relógios Digitais,

Controle de Fornos Micro-ondas, Lavadora de Roupas,

Video Games e outros brinquedos, Controle de Motores,

Controle de Tráfego, Alarmes e Sistemas de Segurança,

Telefone Celular.

29 Microprocessador 8085
29Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Alguns Exemplos de Projetos Finais Implementados


Usando Microcontroladores na EEEC

Controle Escalar de Motor de Indução, Controle de Motor de


Corrente Contínua, Sistema de Controle de Portão Eletrônico,
Sistema de Controle de Acesso ao Laboratório, Sistema de
Controle de Presença em Sala de Aula (Diário Eletrônico), Sistema
de Controle de Umidade e Temperatura de uma Sala, Sistema de
Monitoramento de Batimentos Cardíacos, Sistema de
Monitoramento de Temperatura e Umidade de Estufas, Sistema de
Controle de Acesso a Estacionamentos, Sistema de Monitoramento
de Tarifação de Telefone, Sistema de Controle para Centrífugas de
Apiários, Sistema de Suporte para Deficientes Visuais.

30 Microprocessador 8085
30Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistemas de Numeração

31 Microprocessador 8085
31Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Posicional × Sistema não Posicional

32 Microprocessador 8085
32Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Posicional × Sistema não Posicional

33 Microprocessador 8085
33Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Binário - O sistema binário é o sistema de numeração que o


computador entende.

Utiliza 2 dígitos: 0 e 1 ou (OFF e ON) ou (0V e 5V) ou (0V e 3,3V).

Exemplo: 1 1 0 0 1 0 1 12
1o dígito: Armazena o equivalente a 20 (1). No ex.: 1 × 20
2o dígito: Armazena o equivalente a 21 (2). No ex.: 1 × 21
3o dígito: Armazena o equivalente a 22 (4). No ex.: 0 × 22

8o dígito: Armazena o equivalente a 27 (128): No ex.: 1 × 27
A soma destas parcelas resulta no seguinte equivalente decimal:
1 + 2 + 0 + 8 + 0 + 0 + 64 + 128 = 20310

34 Microprocessador 8085
34Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

No sistema binário a ponderação é dada pelo número 2 elevado à


potência representada pela coluna, sendo que a 1a coluna é 0, a
segunda coluna é 1 e assim sucessivamente.

1 kbyte = 210 = 1.024 bytes

1 Mbyte = 210 x 210 = 1.048.576 bytes = 1.024 kbytes;

1 Gbyte = 210 x 210 x 210 = 1.073.741.824 bytes = 1.024 Mbytes

35 Microprocessador 8085
35Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema BCD (Binary-Coded Decimal) – O Sistema BCD é o sistema


em que se combina o sistema binário e o sistema decimal.
É utilizado como formato de saída de instrumentos.

Utiliza 2 dígitos: 0 e 1 que são dispostos em grupos de 4 dígitos,


utilizados para representar um dígito decimal (número 0 até 9).

A representação de um número maior que 9 deve ser feita por outro


grupo de 4 bits, com a ponderação dada pelo sistema decimal.

Exemplo: 97310 = 1001 0111 0011.


Note a diferença entre este valor e o valor do número binário
1001 0111 00112 = 241910

36 Microprocessador 8085
36Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Octal - O Sistema Octal é baseado nos mesmos princípios do


decimal e do binário, apenas utilizando base 8.

Utiliza 8 dígitos: 0 a 7.

Exemplo: 32078

1o dígito: Armazena o equivalente a 80 (1). No ex.: 7 × 80


2o dígito: Armazena o equivalente a 81 (8). No ex.: 0 × 81
3o dígito: Armazena o equivalente a 82 (64). No ex.: 2 × 82
4o dígito: Armazena o equivalente a 83 (512). No ex.: 3 × 83

O equivalente decimal é: 7 + 0 + 128 + 1536 = 167110

37 Microprocessador 8085
37Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Hexadecimal - O Sistema Hexadecimal é baseado nos


mesmos princípios do decimal e do binário, apenas utilizando base 16.

Utiliza 16 dígitos: 0 a 9, A, B, C, D, E, F.

Exemplo: 20DH ou 20Dh ou 20D16

1o dígito: Armazena o equivalente a 160 (1). No ex.:13 × 160


2o dígito: Armazena o equivalente a 161 (16). No ex.: 0 × 161
3o dígito: Armazena o equivalente a 162 (256). No ex.: 2 × 162

O equivalente decimal é: 13 + 0 + 512 = 52510

38 Microprocessador 8085
38Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Conversão de Base

O sistema hexadecimal é mais fácil de trabalhar que o sistema binário e


é geralmente utilizado para escrever endereços.

Na conversão de hexadecimal para binário, cada dígito hexadecimal é


convertido em 4 dígitos binários equivalentes.

Exemplo: 7 D 3 F16 = 0111 1101 0011 11112

Na conversão de binário para hexadecimal, cada grupo de 4 dígitos


binários é convertido em 1 dígito hexadecimal equivalente.

Ex.: 10100001101110002 = 1010 0001 1011 10002 = A 1 B 816

39 Microprocessador 8085
39Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Conversão de Base

Representação: r2 r1 r0

Valor hexadecimal correspondente a 1234: 4D2h

40 Microprocessador 8085
40Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Conversão de Base (algoritmo genérico)

A divisão termina quando


o quociente é zero

Se q0 = 0 Valor = q0 B+ r0 = 0.B + r0 = r0

Se q1 = 0 Valor = q0 B+ r0
q0= q1 .B + r1 = 0.B + r1 = r1
ou, Valor = r1 .B+ r0Representação: r1 r0

Se q2 = 0 Valor = q0 B+ r0 , q0= q1 .B + r1
q1= q2 .B + r2 = 0.B + r2 = r2

Valor = r2 B2 + r1 B + r0 Representação: r2 r1 r0

41 Microprocessador 8085
41Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Representação de números positivos e negativos

42 Microprocessador 8085
42Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Valor Simétrico de um Número

Número binário:

– a = (complemento de 1 de a) + 1 =

= complemento de 2 de a = 2n – a

Número decimal:

– a = (complemento de 9 de a) + 1 =

= complemento de 10 de a = 10n – a

43 Microprocessador 8085
43Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Subtração Usando Adição


Número binário:

a – b = a + (complemento de 2 de b)

a – b = a + (2n – b)

Exemplo para um número binário de 4 dígitos:

a – 1 = a + (24– 1) = a + (10000 – 0001) = a + 1111


a – 3 = a + (24– 3) = a + (10000 – 0011) = a + 1101

Se a = 1001 (910) a – 1 = 1001 – 0001 = 1000


a – 3 = 1001 – 0011 = 0110
ou
a – 1 = 1001 + 1111 = 1 1000 (despreza-se o quinto dígito)
a – 3 = 1001 + 1010 = 1 0110 (número é de 4 dígitos)

44 Microprocessador 8085
44Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Subtração Usando Adição


Número decimal:

a – b= a + (complemento de 10 de a)

a – b = a + (10n – b)

Exemplo para um número decimal de 2 dígitos:

a – 1 = a + (102– 1) = a + (100 – 1) = a + 99
a – 3 = a + (102– 3) = a + (100 – 3) = a + 97

Se a = 94 a – 1 = 94 – 1 = 93
a – 3 = 94 – 3 = 91
ou
a – 1 = 94 + 99 = 1 93 (despreza-se o terceiro dígito)
a – 3 = 94 + 97 = 1 91(o número é de 2 dígitos)

45 Microprocessador 8085
45Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Operações Aritméticas no Microprocessador

Adição Adição direta

Subtração Adição com o complemento de 2

Multiplicação Várias adições

Divisão Várias adições com complemento de 2

46 Microprocessador 8085
46Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Arquitetura,Arquitetura,
Características e
Princípio de Funcionamento

47 Microprocessador 8085
47Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Características

Barramento de endereços: 16 bits

Barramento de dados: 8 bits

Capacidade de endereçamento de memória: 64 kB (65.536)

Registradores internos: 8 bits e 16 bits

Número de transistores: 6500

Velocidade de clock: 5 MHz

Capacidade de processamento: 0,37 MIPS

48 Microprocessador 8085
48Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Microprocessador 8085

Entrada do
gerador de clock
interno

Saída e
Entrada serial

Entradas para
pedidos de
interrupção

Sinal de reconhecimento
de pedido de interrupção
enviado por INTR

Linhas utilizadas
para dados e para
endereços

49 Microprocessador 8085
49Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Microprocessador 8085
Alimentação (5V) e Terra

(Address Latch Enable) – Permite


ao hardware externo distinguir os
dados dos endereços e é
concebido para ser usado como
sinal de clock para um latch que
captura os endereços.

Indicam o estado em que se


encontra o 8085:
Retenção (0 0)
Escrita(0 1)
Leitura(1 0)
Interrupção (1 1)

Linhas exclusivas para


endereços. Parte mais
significativa do endereço

50 Microprocessador 8085
50Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Microprocessador 8085

Permite reinicializar o 8085.


O contador de programa vai
para 0000h

Entrada para geração de


estados de espera (wait states)

Saída que indica aos periféricos


a reinicialização do 8085
Sinais do Barramento de Controle

Entrada de pedido de
utilização de barramento para
acesso direto à memória

Saída que indica ao periférico que


o barramento está disponível

51 Microprocessador 8085
51Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Microprocessador 8085

IO/M, RD\ e WR\ – Sinais do Barramento de Controle

IO-M\ WR\ RD\ Significado Exemplo

0 0 - Escrita em memória STA 2100H

0 - 0 Leitura de memória LDA 2100H

1 0 - Escrita em E/S OUT 80H

1 - 0 Leitura de E/S IN 80H

- - - Operação interna INR A

52 Microprocessador 8085
52Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Arquitetura do 8085

53 Microprocessador 8085
53Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Arquitetura do 8085

54 Microprocessador 8085
54Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
LOAD

CLOCK A
LOAD
ENABLE
B CLOCK

LOAD ENABLE

CLOCK
C
LOAD
ENABLE
D CLOCK

ENABLE

55 Microprocessador 8085
55Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
HABILITA Chave 3
SAÍDA estados
CARREGA
(OE)
(LOAD)
D Q
Entrada X Flip-
flop
CLK Saída Y

Linha do barramento

HABILITA SAÍDA
CARREGA (OUTPUT
(LOAD) COMENTÁRIO
ENABLE) (OE)

Registradores isolados do barramento. Barramento


0 0 flutuando

0 1 Transfere dados do registrador para o barramento

1 0 Carrega o registrador com os dados do barramento

56 Microprocessador 8085
56Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento

57 Microprocessador 8085
57Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento

MOV D,A

LOAD

CLOCK
A = 10H
LOAD
ENABLE
B CLOCK

LOAD ENABLE

CLOCK C
LOAD
ENABLE
D D = 10 H CLOCK

ENABLE
58 Microprocessador 8085
58Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo

CPU

8085

59 Microprocessador 8085
59Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Frequência de Clock

CLK

Ciclo de Clock
8085A: fcristal = 500 kHz a 3,125 MHz

f cristal
f clock
= 8085A-2: fcristal = 500 kHz a 5 MHz

2
Exemplo: Se fcristal = 2 MHz fclock = 1 MHz

Tclock = 1 µs

60 Microprocessador 8085
60Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ciclos de Clock, de Máquina e de Instrução

Ciclo de Instrução

Ciclo de Instrução

Ciclo de Máquina 1: M1 Ciclo de Máquina 2 : M2

CLK

Estados T1 T2 T3 T4 T1 T2 T3

Ciclo de Busca Ciclo de


Execução

Ciclo de Execução

61 Microprocessador 8085
61Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagrama de Temporização

M1 M2

CLK

Estados T1 T2 T3 T4 T1 T2 T3
PC FORA PC+1→PC→ INST →IR PC FORA PC+1→PC→ INST →IR

ALE

A15-A8 PC H PC H

AD7-AD0 PC L INST PC L INST

62 Microprocessador 8085
62Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagrama de Temporização M1 M2

T1 T2 T3 T4 T1 T2 T3
PC FORA PC+1→PC→ INST →IR SBE
PC FORA PC+1→PC→ INST →IR

A15-A8 PC H PC H

AD7-AD0 PC L INST PC L INST

ALE

RD\

WR\

IO-M\

63 Microprocessador 8085
63Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagrama de Temporização ADD B e MOV B,A


M1 M2

T1 T2 T3 T4 T1 T2 T3
ADD B PC FORA PC+1→PC→ INST →IR B → TMP SBE
A+TMP → A

MOV B,A PC FORA PC+1→PC→ INST →IR A → TMP

A15-A8 PC H PC H

AD7-AD0 PC L INST PC L INST

ALE

RD\

WR\

IO-M\
64 Microprocessador 8085
64Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Busca de ADD B:

T1: Contador de Programa (PC) é ativado. Endereço atual é colocado no


barramento de 16 bits. O sinal ALE é o trigger para a transferência dos endereços
de PC para o barramento.

PC Endereço Barramento Endereço ROM

M\
ALE RD\

CLK

T1
65 Microprocessador 8085
65Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Busca de ADD B:

T2: Na descida do sinal de clock o PC é incrementado em 1. Barramento


disponível para outras operações.

PC = PC + 1

CLK

T1 T2

66 Microprocessador 8085
66Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ciclo de Busca de ADD B:


Princípio de Funcionamento
T3: Leitura do código da instrução (ROM). O código é transferido para o
barramento. Bloco IR (Registrador de Instrução) carrega a instrução vinda da
ROM. Instrução é decodificada no Decodificador

ROM Código Barramento Código IR

ENABLE

RD\ LOAD

M\

CLK

T1 T2 T3
67 Microprocessador 8085
67Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Execução de ADD
B: Conteúdo de B é transferido para o barramento T4:
Conteúdo do barramento é transferido para um registrador temporário e,
depois para a unidade lógica e aritmética

B Dados Barramento Dados TEMP

ENABLE LOAD

CLK

T1 T2 T3 T4
68 Microprocessador 8085
68Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Busca de MOV B,A e Execução de ADD B:
T1: Contador de Programa (PC) é ativado. Endereço atual é colocado no
barramento de 16 bits. O sinal ALE é o trigger para a transferência dos endereços
de PC para o barramento.

PC Endereço Barramento Endereço ROM

ALE
M\
ALE
RD\

CLK

T1 T2 T3 T4 T1 – M2
69 Microprocessador 8085
69Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Busca de MOV B,A e Execução de ADD B:
T2: Na descida do sinal de clock o PC é incrementado em 1. Barramento
disponível finalizar a instrução ADD B.

TEMP

ENABLE
PC = PC + 1 ULA TEMP+A Barramento

A TEMP+A

ENABLE LOAD

CLK

T1 T2 T3 T4 T1–M2 T2 – M2
70 Microprocessador 8085
70Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Busca de MOV B,A:
T3: Leitura do código da instrução (ROM). O código é transferido para o
barramento. Bloco IR (Registrador de Instrução) carrega a instrução vinda da
ROM. Instrução é decodificada no Decodificador

ROM Código Barramento Código IR

ENABLE
LOAD
RD\

M\

CLK

T1 T2 T3 T4 T1–M2 T2–M2 T3-M2


71 Microprocessador 8085
71Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Princípio de Funcionamento
Ciclo de Execução de MOV B,A:
T4: Conteúdo de A é transferido para o barramento
Conteúdo do barramento é transferido para um registrador temporário
e, depois para o registrador B, no estado T2 da próxima instrução.

A Dados Barramento Dados TEMP

ENABLE LOAD

CLK

T1 T2 T3 T4 T1 T2 T3 T4
72 Microprocessador 8085
72Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Formato das Instruções

73 Microprocessador 8085
73Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagramas de Temporização e Formato das Instruções

M1 M2

T1 T2 T3 T4 T1 T2 T3
ADD B PC FORA PC+1→PC→ INST →IR B → TMP SBE
A+TMP → A

ADD B Adiciona o conteúdo de B ao conteúdo do Acumulador A

Instrução de 1 byte ADD B

End Instrução/ Código End Instrução/ Código


Dado Dado

xxxx H 1o byte OPCODE xxxx H ADD B 80 H

74 Microprocessador 8085
74Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagramas de Temporização e Formato das Instruções

M1 M2

T1 T2 T3 T4 T1 T2 T3
MOV B,A PC FORA PC+1→PC→ INST →IR A → TMP SBE TMP → B

MOV B,A Copia o conteúdo do Acumulador A no registrador B

Instrução de 1 byte MOV B,A

End Instrução/ Código End Instrução/ Código


Dado Dado

xxxx H 1o byte OPCODE xxxx H MOV B,A 47 H

75 Microprocessador 8085
75Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagramas de Temporização e Formato das Instruções

M1 M2

T1 T2 T3 T4 T1 T2 T3
MVI reg, byte PC FOR A PC+1→PC→ INST →IR X PC FOR A PC+1→PC→ byte→reg→

MVI reg,byte Carrega o registrador reg com valor byte

Instrução de 2 bytes MVI reg, byte

End Instrução/Dado Código End Instrução/Dado Código

xxxx H 1o byte OPCODE xxxx H MVI A, 5DH 3E H

xxxx + 1 2o byte Dado xxxx + 1 5D H

76 Microprocessador 8085
76Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagramas de Temporização e Formato das Instruções

M1 M2

T1 T2 T3 T4 T1 T2 T3
ADI byte PC FORA PC+1→PC→ INST →IR X PC FORA PC+1→PC→ byte→TMP→

M3
ADI byteAdiciona o byte ao conteúdo
T1 T2 T3
do Acumulador A
SBE A+TMP→→
A

Instrução de 2 bytes ADI byte


End Instrução/Dado Código End Instrução/Dado Código

xxxx H 1o byte OPCODE xxxx H ADI 5DH C6 H

xxxx + 1 2o byte Dado xxxx + 1 5D H

77 Microprocessador 8085
77Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagramas de Temporização e Formato das Instruções


M1 M2

T1 T2 T3 T4 T1 T2 T3
LOAD adr PC FORA PC+1→PC→ INST →IR X PC FORA PC+1→PC→ Byte L→Z→

M3 M4

T1 T2 T3 T1 T2 T3
PC FORA PC+1→PC→ Byte H→W→ WZ FORA MWZ A

LOAD adrCarrega no Acumulador o conteúdo do endereço “adr”


Instrução de 3 bytesLOAD adr

End Instrução/Dado Código End Instrução/Dado Código

xxxx H 1o byte OPCODE xxxx H LOAD 2030H 3A H

xxxx + 1 2o byte Dados L xxxx + 1 30 H

xxxx + 2 3o byte Dados H xxxx + 2 20 H

78 Microprocessador 8085
78Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagramas de Temporização e Formato das Instruções


M1 M2

T1 T2 T3 T4 T1 T2 T3
STA adr PC FORA PC+1→PC→ INST →IR X PC FORA PC+1→PC→ Byte L→Z→

M3 M4

T1 T2 T3 T1 T2 T3
PC FORA PC+1→PC→ Byte H→W→ WZ FORA A MWZ

STA adr Transfere conteúdo do Acumulador para o endereço “adr”


Instrução de 3 bytes STA adr
End Instrução/Dado Código End Instrução/Dado Código

xxxx H 1o byte OPCODE xxxx H STA 2030H 32 H

xxxx + 1 2o byte Dados L xxxx + 1 30 H

xxxx + 2 3o byte Dados H xxxx + 2 20 H

79 Microprocessador 8085
79Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Outras Instruções
M1 M2

T1 T2 T3 T4 T1 T2 T3
INR reg PC FOR A PC+1→PC→ INST →IR Reg→TMP SBE ULA → reg

INR reg Incrementa em 1 o conteúdo do registrador ‘reg’

INR C Opcode: 0C H
M1 M2

T1 T2 T3 T4 T1 T2 T3
DCR reg PC FOR A PC+1→PC→ INST →IR Reg→TMP SBE ULA → reg
TMP +1→ULA

DCR reg Decrementa em 1 o conteúdo do registrador ‘reg’

DCR B Opcode: 05 H
80 Microprocessador 8085
80Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Outras Instruções

M1 M2

T1 T2 T3 T4 T1 T2 T3
INR M PC FORA PC+1→PC→ INST →IR HL FORA MHL TMP
× TMP + 1 ULA

M3

T1 T2 T3
HL FORA ULA MHL

INR MIncrementa em 1 o conteúdo da posição de memória


apontada pelo par HL

81 Microprocessador 8085
81Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Modos de Endereçamento e
Grupos de Instruções

82 Microprocessador 8085
82Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Modos de Endereçamento

Imediato MVI A,03H

ADI 15 H

Direto LDA 2010 H

JMP 2005 H

Por Registrador MOV A,B

ADD B

Indireto por Registrador MOV M,A

83 Microprocessador 8085
83Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Grupos de Instruções

Grupo de Transferência de Dados MOV A,B


MVI A,03H

Grupo Aritmético ADI 15 H, SUB C, INR A

Grupo Lógico ANA B (A and B)


ORA C (A or C)

Grupo de Desvio JMP 2005 H, JNZ 2000H

Grupo de Controle, Pilha, Entrada/Saída PUSH PSW


IN Porta

84 Microprocessador 8085
84Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos

Imediato + Transferência de Dados MVI A,03H

M1 M2

T1 T2 T3 T4 T1 T2 T3
MVI reg, byte PC FOR A PC+1→PC→ INST →IR X PC FOR A PC+1→PC→ byte→reg→

MVI reg,byte Carrega o registrador reg com valor byte

85 Microprocessador 8085
85Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos

Registrador + Grupo Aritmético INR reg

M1 M2

T1 T2 T3 T4 T1 T2 T3
INR reg PC FOR A PC+1→PC→ INST →IR Reg→TMP SBE ULA → reg

INR reg Incrementa em 1 o conteúdo do registrador ‘reg’

86 Microprocessador 8085
86Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos

Indireto por Registrador + Grupo de Controle, Pilha, Entrada/Saída INR M

M1 M2

T1 T2 T3 T4 T1 T2 T3
INR M PC FORA PC+1→PC→ INST →IR HL FORA MHL TMP
× TMP + 1 ULA

M3

INR MIncrementa em 1 o conteúdo da T1 T2 T3


posição de memória apontada pelo par HL HL FORA ULA MHL

87 Microprocessador 8085
87Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Registrador de Flags

88 Microprocessador 8085
88Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Registrador F: Registra o estado da última operação realizada na ULA

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

S Z × AC × P × CY

89 Microprocessador 8085
89Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

S Z × AC × P × CY

Flag de Sinal: Assume valor 0 para número positivo (bit 7 = 0)


e 1 para negativo (bit 7 = 1)

Flag de Zero: Assume valor 0 para número diferente de zero e


1 para número igual a zero.

Flag Auxiliar de Carry: Assume valor 1 quando há transporte


do Bit 3 para o Bit 4

90 Microprocessador 8085
90Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

S Z × AC × P × CY

Flag de Paridade: Assume valor 1 quando há uma quantidade par de


dígitos 1no acumulador. Assume valor 0 quando há uma quantidade ímpar.

Flag de Carry: Assume valor 1 quando há transporte do Bit 7


para o bit 8 (O Bit 8 é fora do acumulador)

91 Microprocessador 8085
91Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo de Operação e os Flags resultantes

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 1 1 1 1 1 1

0 0 0 0 1 1 0 1
+
1 1 1 1 1 1 0 1
1 0 0 0 0 1 0 1 0
CY = 1 Houve transporte do bit 7 para o bit 8
P=1Há quantidade par (2) de dígitos 1 no acumulador (O 1 do bit 8 está fora do
acumulador
AC = 1 Houve transporte do bit 3 para o bit 4
Z=0 O resultado da adição é diferente de zero
F = 15 H ou
S=0 O bit 7 do acumulador é zero (número positivo)
F = 3F H ou
S Z AC P CY F = 1F H ou
0 0 × 1 × 1 × 1 …
92 Microprocessador 8085
92Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo de Operação e os Flags resultantes


Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 1 1 1

0 0 0 1 0 0 0 0
+
1 1 1 1 0 0 0 0
1 0 0 0 0 0 0 0 0

CY = 1 Houve transporte do bit 7 para o bit 8


P=1Há quantidade par (0) de dígitos 1 no acumulador (O 1 do bit 8 está fora do
acumulador
AC = 0 Não houve transporte do bit 3 para o bit 4
Z=1 O resultado da adição é igual a zero
F = 45 H ou
S=0 O bit 7 do acumulador é zero (número positivo)
F = 6F H ou
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 F = 4F H ou …
0 1 × 0 × 1 × 1
93 Microprocessador 8085
93Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo de Subtração Direta


Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 0 0 0 1 1 1 1
- 0 0 0 0 0 0 0 1
0 0 0 0 1 1 1 0

CY = 0 Não houve empréstimo do bit 8 para o bit 7


P=0Há quantidade par (0) de dígitos 1 no acumulador (O 1 do bit 8 está fora do
acumulador
AC = 0 Não houve empréstimo do bit 4 para o bit 3
Z=0 O resultado da adição é diferente de zero
S=0 O bit 7 do acumulador é zero (número positivo) F = 00 H ou
F = 2A H ou
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
F = 02F H ou …
0 0 × 0 × 0 × 0
94 Microprocessador 8085
94Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo de Subtração com Complemento de 2

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 1 1 1 1 1 1 1

0 0 0 0 1 1 1 1
+ 1 1 1 1 1 1 1 1

1 0 0 0 0 1 1 1 0

Carry = 1 CY = 0 Houve transporte do bit 7 para o bit 8, mas com


complemento de 2
P=0 Há quantidade ímpar (3) de dígitos 1 no acumulador
Auxiliar = 1 AC = 0 Houve transporte do bit 3 para o bit 4, mas no
complemento de 2
Z=0 O resultado da adição é diferente de zero
S=0 O bit 7 do acumulador é zero (número positivo)
95 Microprocessador 8085
95Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos de Operações Condicionadas às Flags

JC endereço Jump if Carry Pula para o endereço indicado se CY = 1

JNC endereço Jump if Not Carry Pula para o endereço indicado


se CY = 0

JZ endereço Jump if ZeroPula para o endereço indicado se Z = 1


(resultado da última operação é igual a zero)

JNZ endereço Jump if Not ZeroPula para o endereço indicado


se Z = 0 (resultado da última operação é diferente de zero)

96 Microprocessador 8085
96Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos de Operações Condicionadas às Flags

Endereço Mnemônico Código Endereço Mnemônico Código


2000 H MVI A,F0H 3E F0 2000 H MVI A,F0H 3E F0
2002 H ADI 01H C6 01 2002 H ADI 01H C6 01
2004 H JC 200F H DA 0F 20 2004 H JC 2000 H DA 00 20
2007 H JMP 2002 H C3 02 20 2007 H JMP 2002 H C3 02 20

200F H HLT 76

97 Microprocessador 8085
97Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos de Operações Condicionadas às Flags

Endereço Mnemônico Código


2000 H MVI A,F0H 3E F0

2002 H ADI 01H C6 01


2004 H JNC 2002 H D2 02 20
2007 H JMP 2000 H C3 00 20

98 Microprocessador 8085
98Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos de Operações Condicionadas às Flags

Endereço Mnemônico Código


2000 H MVI A,F0H 3E F0
2002 H ADI 01H C6 01
2004 H JZ 2000 H CA 00 20
2007 H JMP 2002 H C3 02 20

99 Microprocessador 8085
99Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplos de Operações Condicionadas às Flags

Endereço Mnemônico Código


2000 H MVI A,F0H 3E F0
2002 H ADI 01H C6 01
2004 H JNZ 2002 H C2 02 20
2007 H JMP 2000 H C3 00 20

100 Microprocessador 8085


100
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pilha

101 Microprocessador 8085


101
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Região de memória usada para guardar endereço de retorno


e valores temporários

Endereço Mnemônico Código


Instruções que usam a 2000 H LXI SP,20FFH 31 FF 20
pilha:
2003 H
2004 H
CALL
RET
PUSH
POP
Interrupções

xxxxx xxxxx
xxxxx xxxxx
SP 20FF H
102 Microprocessador 8085
102
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Transferência de dados envolve sempre um par de bytes 16 bits

O byte mais significativo é sempre guardado primeiro na pilha


O byte menos significativo é retirado primeiro da pilha

O Ponteiro de Pilha SP aponta sempre para o topo da pilha (último


valor armazenado)

Registradores utilizados PSWA + Flags


BB+C
DD+E
HH+L

103 Microprocessador 8085


103
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

PUSH reg16 guarda conteúdo do registrador de 16 bits na pilha

1. O valor de SP é decrementado em 1
2. O byte mais significativo é armazenado na posição SP – 1
3. O valor de SP é decrementado em 1
4. O byte menos significativo é armazenado na posição SP – 2

POP reg16 carrega registrador de 16 bits com conteúdo da pilha

1. O conteúdo apontado por SP é copiado para o byte menos


significativo
2.O valor de SP é incrementado em 1
3.O conteúdo apontado por SP + 1 é copiado para o byte mais
significativo
4.O valor de SP é incrementado em 1

104 Microprocessador 8085


104
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H

PUSH PSW Flags PUSH B


Endereço Conteúdo Endereço Conteúdo
da RAM da RAM

2089 SP inicial: 2089


208A 208A
2090h
208B 208B
208C 208C 67 C
B
208D 208D 45
F 208E 23 208E 23 F
A
A 208F 01 208F 01
2090 2090
SP após a instrução: SP após a instrução:
208Eh 208Ch
105 Microprocessador 8085
105
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo: A = 01 H, F = 23 H, B = 45 H, C = 67 H

POP B POP PSW


Endereço Conteúdo Endereço Conteúdo
da RAM da RAM

2089 2089
208A 208A
208B 208B
208C 67 208C 67 C
B
208D 45 208D 45
F 208E 23 208E 23 F
A
A 208F 01 208F 01
2090 2090
SP após a instrução: SP após a instrução:
208Eh 2090h
106 Microprocessador 8085
106
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Endereço Mnemônico Código


2000 H LXI SP,203FH 31 22 20
2003 H MVI A,20H 3E 20
2005 H PUSH PSW F5
2006 H CALL MOSTRAA CD 6E 03
Pilha 2009 H POP PSW F1
Exemplo de aplicação
200A H ADI 01H C6 01
200C H JNZ 2005 H DA 05 20
200F H JMP 2003 C3 03 20

2022 H
107 Microprocessador 8085
107
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Conjunto de Instruções

108 Microprocessador 8085


108
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

TRANSFERÊNCIA DE DADOS

Mnemônico NO de No de Modo de
Genérico Simbologia Ciclos Estados Endereçamento

MVI r, dado8 (r) ← (byte 2) 2 7 Imediato

MOV r1, r2 (r1) ← (r2) 1 4 Registrador

MOV r, M (r) ← ((H)(L)) 2 7 Indireto por registrador

MOV M, r ((H)(L)) ← (r) 2 7 Indireto por registrador

((H)(L)) ← (byte 2) Indireto por registrador e


MVI M, dado8 3 10 imediato

(rh) ← (byte 3)
LXI rp, dado16 3 10 Imediato
(rl) ← (byte 2)

109 Microprocessador 8085


109
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

TRANSFERÊNCIA DE DADOS

Mnemônico NO de No de Modo de
Genérico Simbologia Ciclos Estados Endereçamento

LDA addr (A)← ((byte 3)(byte 2)) 4 13 direto

STA addr ((byte 3)(byte 2)) ← (A) 4 13 direto

(L)←((byte 3)(byte 2))


LHLD addr (H)←((byte 3)(byte 2) + 1) 5 16 direto

((byte 3)(byte 2)) ← (L)


SHLD addr ((byte 3)(byte 2)+1)← (H) 5 16 direto

LDAX rp (A) ← ((rp)) 2 7 Indireto por registrador

STAX rp ((rp)) ← (A) 2 7 Indireto por registrador

XCHG (H) ↔ (D) (L) ↔ (E) 1 4 registrador

110 Microprocessador 8085


110
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

ARITMÉTICAS

Mnemônico NO de No de Modo de Flags


Genérico Simbologia Ciclos Estados Endereçamento Afetadas

ADD r (A) ← (A) + ( r ) 1 4 registrador todas

ADD M (A) ← (A) + ( (H) + (L)) 2 7 registrador todas


ADI dado8 (A) ← (A) + (byte 2) 2 7 imediato todas

ADC r (A) ← (A) + ( r ) + (CY) 1 4 registrador todas

(A) ← (A) + ( (H)(L)) + (CY) imediato por


ADC M 2 7 registrador todas

ACI dado8 (A) ← (A) + (byte 2) + (CY) 2 7 imediato todas

111 Microprocessador 8085


111
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

ARITMÉTICAS

Mnemônico NO de No de Modo de Flags


Genérico Simbologia Ciclos Estados Endereçamento Afetadas

SUB r (A) ← (A) – ( r ) 1 4 registrador todas

(A) ← (A) – ( (H)(L)) indireto por


SUB M 2 7 todas
registrador

SUI dado8 (A) ← (A) – (byte 2) 2 7 imediato todas


SBB r (A) ← (A) – ( r ) – (CY) 1 4 registrador todas

(A)←(A) – ((H)(L)) –(CY)← indireto por


SBB M 2 7 todas
registrador

SBI dado8 (A) ← (A) – (byte 2) – (CY) 2 7 imediato todas

112 Microprocessador 8085


112
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

ARITMÉTICAS
Mnemônico NO de No de Modo de Flags
Simbologia Ciclos Estados
Genérico Endereçamento Afetadas

(r) ← (r) + 1 Z, S, P e
INR r 1 4 registrador AC

((H)(L)) ← ((H)(L)) + 1 indireto por Z, S, P e


INR M 3 10 registrador AC

(r) ← (r) – 1 Z, S, P e
DCR r 1 4 registrador AC

((H)(L)) ← ((H)(L)) – 1 indireto por Z, S, P e


DCR M 3 10 registrador AC

INX rp (rh)(rl) ← (rh)(rl) + 1 1 6 registrador nenhuma


DCX rp (rh)(rl) ← (rh)(rl) – 1 1 6 registrador nenhuma
DAD rp ((H)(L))←((H)(L)) + (rh)(rl)← 3 10 registrador CY
DAA 1 4 registrador todas

113 Microprocessador 8085


113
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo de Programa: Adição de Números de 16 bits

452 decimal (01 C4 H) Endereço Mnemônico Código


+ 2000 H LXI SP,203F 31 3F 20
926 decimal (03 9E H)
2003 H MVI A,C4h 3E C4
Decimal Hexa 2005 H MVI B,01h 06 01
1 1
1 2007 H MVI C,9Eh 0E 9E
4 5 2 0 1 C 4 2009 H MVI D,03h 16 03
9 2 6 0 3 9 E 200B H ADD C 81
1 3 7 8 0 5 6 2 200C H MOV L,A 6F
200D H MOV A,B 78
200E H ADC D 8A
Abacus: Add 16 bits reg simples.hex
200F H MOV H,A 67
2010 H XCHG EB
Adição usando registradores simples
2011 H CALL MOSTRAD CD 63 03
2014 H HLT 76
114 Microprocessador 8085
114
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo de Programa: Adição de Números de 16 bits

452 decimal (01 C4 H) Adição usando registradores duplos


+
926 decimal (03 9E H) Endereço Mnemônico Código

2000 H LXI SP,203F 31 3F 20


Decimal Hexa
1 1
2003 H LXI B, 01C4 H 01 C4 01
1

4 5 2 0 1 C 4 2006 H LXI H, 039E H 21 9E 03

9 2 6 0 3 9 E 2009 H DAD B 09

1 3 7 8 0 5 6 2 200A H XCHG EB

200B H CALL MOSTRAD CD 63 03

200E H HLT 76

Abacus: Add 16 bits reg duplo.hex

115 Microprocessador 8085


115
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES LÓGICAS

Mnemônico NO de No deModo de Flags


Genérico Simbologia Ciclos Estados Endereçamento Afetadas

ANA r (A) ← (A) ∧ (r) 1 4 registrador todas

(A) ← (A) ∧ ((H)(L)) indireto por


ANA M 2 7 registrador todas

ANI dado8 (A) ← (A) ∧ (byte 2) 2 7 imediato todas


XRA r (A) ← (A) ∀ (r) 1 4 registrador todas

(A) ← (A) ∀ ((H)(L)) indireto por


XRA M 2 7 registrador todas

XRI dado8 (A) ← (A) ∀ (byte 2) 2 7 imediato todas


ORA r (A) ← (A) ∨ (r) 1 4 registrador todas

(A) ← (A) ∨ ((H)(L)) indireto por


ORA M 2 7 registrador todas

ORI dado8 (A) ← (A) ∨ (byte 2) 2 7 imediato todas

116 Microprocessador 8085


116
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES LÓGICAS

Mnemônico NO de No de Flags
Genérico Simbologia Ciclos Estados Afetadas

(An+1) ← (An) (A0) ← (A7)


RLC (CY) ← (A7) 1 4 CY

(An) ← (An+1) (A7) ← (A0)


RRC (CY) ← (A0) 1 4 CY

(An+1) ← (An) (CY) ← (A7)


RAL (A0) ← (CY) 1 4 CY

(An) ← (An+1) (CY) ← (A0)


RAR (A7) ← (CY) 1 4 CY

117 Microprocessador 8085


117
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES LÓGICAS

Flags
Mnemônico NO de No de Modo de
Simbologia Afetada
Genérico Ciclos Estados Endereçamento s

CMP r (A) – (r) 1 4 registrador todas

indireto por
CMP M (A) – ((H)(L)) 2 7 registrador todas

CPI dado8 (A) – (byte 2) 2 7 imediato todas

(A) ← (A\) nenhum


CMA 1 4 a

CMC (CY) ← (CY\) 1 4 CY

STC (CY) ← 1 1 4 CY

118 Microprocessador 8085


118
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES AND E OR

A 0 0 0 0 1 1 1 1
AND
B 1 0 0 1 1 0 1 0
ANA B 0 0 0 0 1 0 1 0

A 0 0 0 0 1 1 1 1
OR
B 1 0 0 1 1 1 0 1
ORA B 1 0 0 1 1 1 1 1

119 Microprocessador 8085


119
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

CMP r
CPI dado8

Condição Z CY
(A) = (r) 1 0
(A) > (r) 0 0
(A) < (r) 0 1

120 Microprocessador 8085


120
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo: Programa que identifica o 1O bit de um


número hexadecimal de 1 dígito

Endereço Mnemônico Código Hexa

2000 H LXI SP,203FH 31 3F 20

2003 H CALL LETECLA CD E7 02

2006 H ANI 01H E6 01

2008 H CALL MOSTRAA CD 6E 03

200B H JMP 2003 C3 03 20

Abacus: Identifica bit 0.hex

121 Microprocessador 8085


121
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo: Programa para entrar com número de 2 dígitos pelo teclado

Endereço Mnemônico Código Hexa


2000 H LXI SP,203FH 31 3F 20
2003 H CALL LETECLA CD E7 02
2006 H RLC 07
2007 H RLC 07
2008 H RLC 07
2009 H RLC 07
200A H MOV B,A 47
200B H CALL LETECLA CD E7 02
200E H ORA B B0
200F H CALL MOSTRAA CD 6E 03
2012 H JMP 2003 C3 03 20

Abacus: Le 2 digitos.hex
122 Microprocessador 8085
122
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE DESVIO

Mnemônico NO de No de Modo de Flags


Simbologia Ciclos Estados
Genérico Endereçamento Afetadas

JMP addr (PC) ← (byte 3)(byte 2) 3 10 imediato nenhuma

Se (CCC), então,
Jcondição addr
(PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JNZ addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JZ addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JNC addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JC addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

123 Microprocessador 8085


123
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE DESVIO

Mnemônico NO de No de Modo de Flags


Genérico Simbologia Ciclos Estados Endereçamento Afetadas

Se (CCC), então,
JPO addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JPE addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JP addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

Se (CCC), então,
JM addr (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma

124 Microprocessador 8085


124
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DESVIO

Mnemônico NO de No de Modo de Flags


Genérico Simbologia Ciclos Estados Endereçamento Afetadas
((SP) - 1) ← (PCH)
((SP) - 2) ← (PCL)
imediato e indireto
CALL addr (SP) ← (SP) - 2 5 18 nenhuma
por registrador
(PC) ← (byte 3)(byte 2)

((SP) - 1) ← (PCH)
((SP) - 2) ← (PCL)
imediato e direto
Ccondition addr (SP) ← (SP) - 2 2/5 9/18 nenhuma
por registrador
(PC) ← (byte 3)(byte 2)

(PCL) ← (SP)
(PCH) ← (SP + 1) indireto por
RET 3 10 registrador nenhuma
(SP) ← (SP) + 2

(PCL) ← (SP)
(PCH) ← (SP + 1) indireto por
Rcondição 1/3 6/12 registrador nenhuma
(SP) ← (SP) + 2

125 Microprocessador 8085


125
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

DESVIO

Mnemônico NO de No de Modo de Flags


Genérico Simbologia Ciclos Estados Endereçamento Afetadas
((SP) - 1) ← (PCH)
((SP) - 2) ← (PCL)
indireto por
RST n (SP) ← (SP) - 2 3 12 nenhuma
registrador
(PC) ← 8 * (NNN)

(PCH) ← (H)
PCHL (PCL) ← (L) 1 6 registrador nenhuma

126 Microprocessador 8085


126
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Exemplo: com parada programada via teclado
ContagemUniversidade Federal Escola de Engenharia Elétrica e de Computação
de Goiás Endereço Mnemônico Código Hexa
2000 H LXI SP,203FH 31 3F 20
2003 H CALL LETECLA CD E7 02
2006 H RLC / RLC / RLC / RLC 07 07 07 07
200A H MOV B,A 47
200B H CALL LETECLA CD E7 02
200E H ORA B B0
200F H MOV B,A 47
2010 H MVI A,00H 3E 00
2012 H PUSH PSW F5
2013 H PUSH B C5
2014 H CALL MOSTRAA CD 6E 03
2017 H POP B C1
2018 H POP PSW F1
2019 H CMP B B8
201A H JZ 2003 CA 03 20
201D H INR A 3C
201E H JMP 2012 H C3 12 20

127Microprocessador 8085 Abacus: Parada


127
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
programada.hex
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CONTROLE, PILHA E I/O

Mnemônico Simbologia NO de No de Modo de Flags


Genérico Ciclos Estados Endereçamento Afetadas

PUSH rp ((SP) - 1 ← (rh) 3 12 indireto por nenhuma


((SP) - 2 ← (rl) registrador
(SP) ← (SP) - 2

PUSH PSW ((SP) - 1 ← (A) 3 12 indireto por nenhuma


((SP) - 2 ← (F) registrador
(SP) ← (SP) - 2

POP rp (rl) ← ((SP)) 3 10 indireto por nenhuma


(rh) ← ((SP) + 1) registrador
(SP) ← (SP) + 2

POP PSW (F) ← ((SP)) 3 10 indireto por todas


(A) ← ((SP) + 1) registrador
(SP) ← (SP) + 2

128 Microprocessador 8085


128
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CONTROLE, PILHA E I/O

Mnemônico Simbologia NO de No de Modo de Flags


Genérico Ciclos Estados Endereçamento Afetadas

XTHL (L) ← ((SP)) 5 16 indireto por nenhuma


(H) ← ((SP) + 1) registrador
SPHL (SP) ← (H) (L) 1 6 registrador nenhuma
IN porta (A) ← (dado 8 bits) 3 10 direto nenhuma
OUT porta (dado 8 bits) ← (A) 3 10 direto nenhuma

129 Microprocessador 8085


129
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CONTROLE, PILHA E I/O

Mnemônico Simbologia NO de No de Flags


Genérico Ciclos Estados Afetadas
EI 1 4 nenhuma
DI 1 4 nenhuma
HLT 1+ 5 nenhuma
NOP 1 4 nenhuma
RIM 1 4 nenhuma
SIM 1 4 nenhuma

130 Microprocessador 8085


130
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Simulador Digital e
Programação Assembly

131 Microprocessador 8085


131
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CONTAGEM CRESCENTE ININTERRUPTA

INICIO
Endereço Mnemônico
2000 H LXI SP,203FH
SP  203F H
2003 H MVI A,20H

A  20 H 2005 H PUSH PSW


2006 H CALL MOSTRAA
PUSH PSW 2009 H POP PSW
CALL MOSTRAA
POP PSW 200A H ADI 01H
200C H JNZ 2005 H
AA+1 200F H JMP 2003
N

A = 0?
S Abacus: Contagem.hex

132 Microprocessador 8085


132
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS (3 x 4)

INICIO
Label Mnemônico
LXI SP,203FH
A  00 H
C  03 H MVI A,00H
MVI C,03H
A  A + 04 H
CC–1 Volta: ADI 04 H
DCR C
N
C = 0? JNZ Volta
S CALL MOSTRAA
DISPLAY  A
HLT

FIM
Abacus: 3 x 4 direto.hex
133 Microprocessador 8085
133
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS (3 x 4) – Uso de Registrador

INICIO
Label Mnemônico
LXI SP,203FH
A  00 H
B  04 H MVI A,00H
C  03 H
MVI B,04H

AA+B MVI C,03H


CC–1
Volta: ADD B
N DCR C
C = 0?
JNZ Volta
S
DISPLAY  A CALL MOSTRAA
HLT
FIM
Abacus: 3 x 4 registrador.hex

134 Microprocessador 8085


134
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS (3 x 4) – Subrotina


Label Mnemônico
LXI SP,203FH
INICIO
MVI A,00H
multi
A  00 H MVI B,04H
B  04 H
C  03 H MVI C,03H
AA+B
CC–1 CALL multi
CALL multi N CALL MOSTRAA
C = 0?
HLT
DISPLAY  A S

RET
multi: ADD B
HLT
DCR C
Abacus: 3 x 4 subrotina.hex JNZ multi
RET
135 Microprocessador 8085
135
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS
Label Mnemônico
QUAISQUER DE 1 DÍGITO
LXI SP,203FH
INICIO
repete: CALL LETECLA
MOV B,A
CALL LETECLA multi
BA CALL LETECLA
MOV C,A
CALL LETECLA AA+B
CC–1 MVI A,00H
CA
CALL multi
N
A0 C = 0? CALL MOSTRAA
CALL multi
S JMP repete

RET
DISPLAY  A
multi: ADD B
DCR C

Abacus: Multi 1 dígito.hex JNZ multi


RET
136 Microprocessador 8085
136
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 8 BITS


1 Label Mnemônico
LXI SP,203FH
CALL LETECLA
INICIO 4 x RLC CALL LETECLA
EA
RLC
CALL LETECLA
4 x RLC RLC
CALL LETECLA
CA ORA E RLC
EA
D0 RLC
CALL LETECLA
ORA C MOV C,A
CA CALL multi
CALL LETECLA
ORA C
1 CALL MOSTRAD
MOV C,A
...
Abacus: Multi 2 dígitos.hex
137 Microprocessador 8085
137
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 2 DÍGITOS


Subrotina de Multiplicação

multi

Label Mnemônico
HL  0
multi: LXI H,0000H
repete: DAD D
HL  HL + DE
CC–1 DCR C

N JNZ repete
C = 0? XCHG
S RET
DE  HL

RET

138 Microprocessador 8085


138
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 2 DÍGITOS


PROGRAMA PRINCIPAL

Início
Label Mnemônico

SP  203F H LXI SP,2080 H

repete: CALL Leitura


CALL Leitura
CALL multi

CALL multi CALL MOSTRAD


JMP repete
CALL MOSTRAD

Multi 2 dígitos – sub.hex

139 Microprocessador 8085


139
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 2 DÍGITOS


Label Mnemônico

SUBROTINA DE LEITURA DOS 2 DÍGITOS Leitura: CALL LETECLA


RLC/RLC/RLC/RLC
1 MOV C,A
LEITURA
CALL LETECLA
CALL LETECLA
4 x RLC ORA C
CALL LETECLA
4 x RLC EA MOV C,A
CA
CALL LETECLA
CALL LETECLA RLC/RLC/RLC/RLC
CALL LETECLA ORA E
MOV E,A
ORA C EA
CA D0 CALL LETECLA
ORA E

1 RET MOV E,A


MVI D,00H
RET

140 Microprocessador 8085


140
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CASOS PARTICULARES DE MULTIPLICAÇÃO


MULTIPLICAÇÃO POR 16

16 = 24

Mnemônico Comentário
RLC A = 2×
RLC A = 4×
RLC A = 8×
RLC A = 16×

141 Microprocessador 8085


141
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CASOS PARTICULARES DE MULTIPLICAÇÃO

MULTIPLICAÇÃO POR 10

Mnemônico Comentário
RLC A = 2×
MOV B,A B = 2×
RLC A = 4×
RLC A = 8×
ADD B A = 8× + 2× = 10×

142 Microprocessador 8085


142
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

CASOS PARTICULARES DE MULTIPLICAÇÃO

MULTIPLICAÇÃO POR 7

Solução 1 Solução 2 (para 8× < 100H)

Mnemônico Comentário Mnemônico Comentário


MOV B,A B=× MOV B,A B=×

RLC A = 2×× RLC A = 2××

ADD B A = 3×× RLC A = 4××

RLC A = 6×× RLC A = 8××

ADD B A = 7×× SUB B A = 7××

143 Microprocessador 8085


143
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X = Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com resultado de A –
reg
JNZ continua Pula para ´continua´, se A ≠
reg
... Bloco de instruções executadas,
caso A = reg

continua: Continuação do programa

144 Microprocessador 8085


144
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X ≠ Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com resultado de A –
reg
JZ continua Pula para ´continua´, se A =
reg
... Bloco de instruções executadas,
caso A ≠ reg

...
continua: Continuação do programa

145 Microprocessador 8085


145
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO


Exemplo: Mostrar números de 20 H até 50H

INICIO
Endereço Mnemônico
2000 H LXI SP,2080H
SP  2080 H
2003 H MVI A,20H
2005 H PUSH PSW
A  20 H
2006 H CALL MOSTRAA
2009 H POP PSW
CALL MOSTRAA 200A H CPI 50 H
200C H JZ 2003 H
S
200A H ADI 01H
A=
50H? N 200F H JMP 2005
AA+1

Abacus: Aula6 – 6.hex

146 Microprocessador 8085


146
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X ≥ Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com resultado de A –
reg
JC continua Pula para ´continua´, se A <
reg
... Bloco de instruções executadas,
caso A ≥ reg

...
continua: Continuação do programa

147 Microprocessador 8085


147
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X > Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com resultado de A –
reg
JC continua Pula para ´continua´, se A <
reg
JZ continua Pula para ´continua´, se A =
reg
... Bloco de instruções executadas,
caso A > reg

continua: Continuação do programa

148 Microprocessador 8085


148
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo: Mostrar números (da memória) Mnem. Mnemônico


maiores ou iguais a 30 H
LXI SP,2080H
Início 1 LXI H, 2050H
MVI C,0AH
SP  2080 H S repete: MOV A,M
HL  2050 H A <30H?
C  0A H INX H
N
CPI 30
CALL MOSTRAA
JC pula
AM
PUSH B
CC–1
HH+1 PUSH H
CALL MOSTRAA
C = 0? POP H
1
N
S POP B
Fim pula: DCR C
JNZ repete
Abacus: Maiores ou Iguais.hex HLT
149 Microprocessador 8085
149
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X ≤ Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com
resultado
de A – reg
JZ igual Pula para ´igual´, se A = reg
JNC maior Pula para ´maior´, se A > reg
igual: ... Bloco de instruções executadas,
caso A ≤ reg

maior: Continuação do programa

150 Microprocessador 8085


150
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X < Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com resultado de A –
reg
JNC maiorig Pula para ´maiorig´, se A ≥ reg
... Bloco de instruções executadas,
caso A < reg

maiorig: Continuação do programa

151 Microprocessador 8085


151
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Exemplo: Mostrar números (da memória) menores ou iguais a 30 H


Mnem. Mnemônico
LXI SP,2080H
Início 1 LXI H, 2050 H
MVI C,0A H
repete: MOV A,M
S INX H
SP  2080 H
A> CPI 30
HL  2050 H
30H? N JZ mostra
C  0A H
JNC pula
mostra: PUSH B
MOSTRA A PUSH H
AM CALL MOSTRAA
POP H
POP B
HL  HL + 1 pula: DCR C
CC–1 JNZ repete
HLT
1

C = 0?
Abacus: S
Menores-ou-iguais.hex
Fim

152 Microprocessador 8085


152
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X = Y e outro se X ≠ Y:

Label Mnemônico Comentário


CMP reg Seta flags Z e CY de acordo com resultado de A –
reg
JNZ diferente Pula para ´diferente´, se A ≠
reg
... Bloco de instruções executadas, caso A =
reg
JMP continua Pula bloco onde A ≠ reg
diferente: Bloco de instruções executadas, caso A ≠
reg
continua: Continuação do programa

Abacus: Intervalo.hex Abacus: Menores.hex

153 Microprocessador 8085


153
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INICIO
Subrotina de atraso de tempo

B  10 H
Endereço Mnemônico

C  20 H 2020 H MVI B,10 H


2022 H MVI C,20 H
CC–1
2024 H DCR C
N
2025 H JNZ 2024 H
C = 0?
S 2028 H DCR B
BB–1
2029 H JNZ 2022 H

N 202C H RET
B = 0?
S

RET
Abacus: Atraso.hex

154 Microprocessador 8085


154
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Tempo de atraso (supondo 1µs para cada estado)


Instrução No de Vezes a No de Estados Tempo de Tempo Parcial (µs)
instrução é de cada cada Estado
executada Instrução (µs)
Mnemônico
MVI B 1 7 1 7
MVI B,10 H
MVI C 16 7 1 112
MVI C,20 H DCR C 512 = 16x32 4 1 2048
JNZ 2024 496 = 16x31 10 1 4960
DCR C
(verdadeiro)
JNZ 2024 H JNZ 2024 (falso) 16 = 16 x 1 7 1 112

DCR B DCR B 16 4 1 64
JNZ repete1 15 10 1 150
JNZ 2022 H (verdadeiro)

RET JNZ repete1 1 7 1 7


(falso)

RET 1 10 1 10
Tempo Total 7490 µs ≅ 7,5 ms

155 Microprocessador 8085


155
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X = Y ou W = Z:


Supondo uso de A = X, B = Y, C = W e D = Z

Label Mnemônico Comentário


CMP B Seta flags Z e CY de acordo com resultado de X –
Y
JZ OK Pula para ´OK´, se X = Y
MOV A, C Carrega em A valor de W. Destrói valor
original
CMP D Seta flags Z e CY conforme resultado de W -
Z
JNZ continua Pula para ´continua´, se W ≠ Z
OK: ... Bloco de instruções executadas, caso X = Y ou W =
Z
continua: Continuação do programa

156 Microprocessador 8085


156
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Execução de um Bloco de Instruções se X = Y e W = Z:


Supondo uso de A = X, B = Y, C = W e D = Z

Label Mnemônico Comentário


CMP B Seta flags Z e CY de acordo com resultado de X –
Y
JNZ continua Pula para ´continua´, se X ≠ Y
MOV A, C Carrega em A valor de W. Destrói valor
original
CMP D Seta flags Z e CY conforme resultado de W -
Z
JNZ continua Pula para ´continua´, se W ≠ Z
... Bloco de instruções executadas, caso X = Y e W =
Z
continua: Continuação do programa

157 Microprocessador 8085


157
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO

Abacus: Senha.hex

Programa que lê pelo teclado uma


senha de 4 dígitos (dois bytes) e mostra
no display uma contagem decimal
crescente de 0 a 60, se a senha
digitada for igual à senha previamente
guardada em memória

158 Microprocessador 8085


158
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções

159 Microprocessador 8085


159
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INTERRUPÇÕES

Definição
Pedido Interno ou Externo em que o microprocessador
suspende
as tarefas em execução, atende o pedido de interrupção e
volta
para encerrar as tarefas anteriores ao pedido.
CPU
ULA Registradores

Unidade
Controle

Controle de Interrupção

160 Microprocessador 8085


160
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INTERRUPÇÕES

Como funciona?
Endereço fixo da
Programa ROM
Principal Subrotina da
Pedid JMP subrotina Interrupção
o de Instrução 1
Interr
Instrução 2 Instr. 1
upção
Instrução 3 Instr. 2
Instrução 4
.
.
.
.
.
.

HLT RET

161 Microprocessador 8085


161
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

INTERRUPÇÕES

Características Principais

Endereço de desvio pré-definido Interrupção vetorada

A instrução em execução é encerrada, antes do desvio


para
atendimento da interrupção
Após o atendimento da interrupção, ao executar a
instrução RET, o processamento volta para a instrução
seguinte àquela que estava sendo executada antes do
pedido de interrupção

162 Microprocessador 8085


162
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Internas
Interrupção por Software

Instrução Efeito Código Endereço

RST 0 CALL 0000h C7 0000 h


RST 1 CALL 0008h CF 0008 h
RST 2 D7 0010 h
RST 3 CALL 0010h DF 0018 h
RST 4 CALL 0018h E7 0020 h
RST 5 EF 0028 h
RST 6 CALL 0020h F7 0030 h
RST 7 CALL 0028h FF 0038 h
CALL 0030h

CALL 0038h

163 Microprocessador 8085


163
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Externas
Interrupção por Hardware

Interrupção Efeito Código Posição do Pino Prioridade


Vetor
TRAP CALL 0024h Não tem 0024 h 6 1
RST 5.5 CALL 002Ch Não tem 002C h 9 4
RST 6.5 CALL 0034h Não tem 0034 h 8 3
RST 7.5 CALL 003Ch Não tem 003C h 7 2
INTR CALL ender. Não tem Nenhuma 10 5

164 Microprocessador 8085


164
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Externas
Endereços no ABACUS e no KIT

Interrupção Endereço na Endereço no Endereço no KIT


ROM ABACUS
TRAP 0024h 20D1 H 4BE0 H

RST 5.5 002Ch 20C8 H 4BDD H

RST 6.5 0034h 20CB H 4BDA H

RST 7.5 003Ch 20CE H 4BD7 H

INTR Escolhida pelo Escolhida pelo Escolhida pelo


programador programador programador

165 Microprocessador 8085


165
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Externas
Ativando a Interrupção

Ativada por Nível e Borda


TRAP

Ativada apenas por Borda


RST 7.5

Ativada apenas por Nível 808


RST 6.5
5
Ativada apenas por Nível RST 5.5

Ativada apenas por Nível INTR

166 Microprocessador 8085


166
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Externas
Habilitando a Interrupção

EI Enable Interrupt Instrução usada para Habilitar


todas as interrupções (exceto a TRAP)

DI Disable Interrupt Instrução usada para


Desabilitar todas as interrupções (exceto a TRAP)

167 Microprocessador 8085


167
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Externas
Contagem crescente acionada pela RST 5.5
RST5.5
Início

AA+ 1
SP  2090 H
A  00 H
Mostra A

Mostra A
N
A = 00?
Habilita Interrupções (EI) S
Habilita Interrupções (EI)

RET

Exemplo ABACUS: Contagem com RST 5-5


168 Microprocessador 8085
168
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás Interrupções Externas - Programa
Escola de Engenharia Elétrica e de Computação

Rótulo Mnemônico Comentário


LXI SP, 2090H Topo da pilha na posição 2090 h
MVI A, 00H Acumulador começa com valor 00 h
PUSH PSW Guarda A e Flags na pilha
CALL MOSTRAA Mostra conteúdo de A no display de dados
POP PSW Recupera conteúdo de A e Flags da pilha
EI Habilita interrupções (Enable Interrupt)
espera: JMP espera Laço de espera de pedido de interrupção

cresce: INR A Incrementa acumulador


PUSH PSW Guarda conteúdo de A e F na pilha
CALL MOSTRAA Mostra conteúdo de A no display
MVI D, 01H Faz D = 01 h, para usar na subrotina de tempo
CALL DELAY Chama subrotina de atraso de tempo
POP PSW Recupera conteúdo de A e F da pilha
CPI 00 H Compara A com 00 h.
JNZ cresce Se A ≠ 00 h, volta para INR A. Se A = 00 h, sai da subrotina

EI Habilita novamente as interrupções


RET Retorna da subrotina de interrupção

20C8: JMP cresce Vai para o início da subrotina "cresce"


169 Microprocessador 8085
169
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções Externas

Circuito da TRAP

TRAP CALL 0024 h


1
D Q

Flip-flop
Pino 6
CLK

TRAP CLR

RESET IN

RECONHECIMENTO DE
TRAP

170 Microprocessador 8085


170
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Circuito de RST7.5, RST 6.5 e RST5.5


1 I 7.5
D Q
Pino 7
Flip-flop
RST 7.5
R 7.5 CLR

RECONHECIMENTO DE
RST 7.5

M 7.5' S Q M 7.5 CALL 003C h


Flip-flop
R
Pino 8 I 6.5
RST 6.5 M 6.5 CALL 0034 h
M 6.5' S Q

Flip-flop
R
Pino 9
I 5.5
RST 5.5 M 5.5' S M 5.5 CALL 002C h
Q

Flip-flop
R

MSE
EI
IE
DI S Q

Flip-flop
RESET IN R

QUALQUER RECONHECIMENTO
DE INTERRUPÇÃO
171 Microprocessador 8085
171
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Símbolo Usados - Interrupção


SÍMBOLO SIGNIFICADO/COMENTÁRIO
Interrupções Pendentes - assumem valor 1 quando há
I7.5, I6.5, I5.5 interrupção
pendente
IE Flag que indica (com valor 1) quando as interrupções estão
habilitadas
Máscaras de Interrupção (Sinal baixo habilita as portas AND) -
M7.5, M6.5 e podem desabilitar uma interrupção pendente. Sinal alto
M5.5 interrupção bloqueada

RST 7.5, RST 6.5


interrupções mascaráveis podem ser bloqueadas via software
e RST 5.5
não é mascarável nem passível de habilitação/desabilitação por
TRAP
EI/DI
Enable Interrupt - Instrução usada para habilitar todas as
EI
interrupções, exceto a TRAP. Ativo alto.
Disable Interrupt - Instrução que Desabilita as Interrupções,
DI
exceto a TRAP (baixo)
Mask Set Enable - Habilita a setagem de máscara. 172 Quando alto as 8085
Microprocessador
172
MSE
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
máscaras M7.5', M6.5' e M5.5' podem ser reconhecidas
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Símbolo Usados - Interrupção

SÍMBOLO SIGNIFICADO/COMENTÁRIO
RESETA inicialização
IN \ do sistema desabilita as interrupções pendentes e
zera o flip-flop da TRAP
QUALQUERQuando qualquer das interrupções é atendida, um sinal alto
RECONHECIME desabilita as interrupções pendentes, menos a TRAP, evitando
NTO DEque a interrupção em execução seja interrompida.
INTERRUPÇÃO
SIMSet Interrupt Mask - Instrução que seta as máscaras de
interrupção, fazendo com que determinada interrupção não seja
ativada.
RIMRead Interrupt Mask - Intrução que lê o estado das máscaras das
interrupções.

173 Microprocessador 8085


173
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Máscaras de Interrupção

Sinais que bloqueiam as interrupções

M7.5 Máscara da Interrupção RST 7.5 Quando está em


nível lógico alto a interrupção RST 7.5 não opera

M6.5 Máscara da Interrupção RST 6.5 Quando está em


nível lógico alto a interrupção RST 6.5 não opera

M5.5 Máscara da Interrupção RST 5.5 Quando está em


nível lógico alto a interrupção RST 5.5 não opera

174 Microprocessador 8085


174
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Máscaras de Interrupção
Como Ativar as Máscaras de Interrupção?
Acumulador
SOD SOE × R7.5 MSE M7.5' M6.5' M5.5'

SOD Serial Output Data

SOE Serial Output Enable

R7.5 Resseta (zera) Flip-Flop da RST 7.5

MSE Mask Set Enable Habilita Setagem de Máscara

M7.5´, M6.5´, M5.5´:


1 Seta as máscaras de RST 7.5, RST 6.5 e RST5.5
0 Não habilita as máscaras
175 Microprocessador 8085
175
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Máscaras de Interrupção
Como Ativar as Máscaras de Interrupção?
Acumulador
SOD SOE × R7.5 MSE M7.5' M6.5' M5.5'

Após escolher os valores para as máscaras...

SIM Set Interrupt Mask

Os valores de R7.5, MSE, M7.5´, M6.5´ e M5.5´


São transferidos do acumulador para o circuito de
interrupção

176 Microprocessador 8085


176
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Máscaras de Interrupção
Como Ativar as Máscaras de Interrupção?
Acumulador
SOD SOE × R7.5 MSE M7.5' M6.5' M5.5'

Exemplo 1:
0 0 0 0 1 1 1 0

As interrupções RST 7.5 e RST 6.5 são


mascaradas, ou seja, são impedidas de
MVI A,0Eh operar.
SIM

A interrupção RST 5.5 está habilitada


para operar

ABACUS: Mascara RST7-5 e RST6-5.hex


177 Microprocessador 8085
177
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Contagem acionada por RST 5.5 com máscara em


RST 7.5 e RST 6.5

Início RST5.5

SP  2090 H AA+ 1
A  0E H
Seta Máscara (SIM)
A  00 H
Mostra A

Mostra A N
A = 00?

S
Habilita Interrupções (EI)
Habilita Interrupções (EI)

RET

Abacus: Mascara RST7-5 e RST6-5.hex


178 Microprocessador 8085
178
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Contagem crescente com RST 7.5 e decrescente


com RST 6.5

RST7.5 RST6.5
Início

SP  2090 H AA+ 1 AA- 1


A  09 H
Seta Máscara (SIM)
A  00 H Mostra A Mostra A

Mostra A N N
A = 00? A = 00?

S S
Habilita Interrupções (EI) Habilita Interrupções (EI) Habilita Interrupções (EI)

RET RET

Abacus: Cresce e Decre com RST.hex


179 Microprocessador 8085
179
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Leitura da Máscara de Interrupção

SID I7.5 I6.5 I5.5 IE M7.5 M6.5 M5.5

Após a instrução RIM o conteúdo do acumulador passa a


conter o estado das máscaras
RIM Read Interrupt Mask

SID Serial Input Data


I7.5, I6.5 e I5.51 máscara pendente
0 sem máscara pendente
IE Todas as Interrupções Habilitadas
M7.5, M6.5, M5.5: 1 Máscara setada
0 Máscara não setada

180 Microprocessador 8085


180
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Leitura da Máscara de Interrupção


Acumulador

SID I7.5 I6.5 I5.5 IE M7.5 M6.5 M5.5

Conteúdo do Acumulador após a instrução


0RIM: 1 0 0 1 1 0 0

Há uma interrupção RST 7.5 pendente ( I7.5 = 1 )

As interrupções estão habilitadas ( IE = 1 )

A máscara da interrupção RST 7.5 está setada, significando


que ela não será atendida

181 Microprocessador 8085


181
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Interrupções e
Sistema Mínimo

182 Microprocessador 8085


182
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Expandindo a Capacidade de Interrupção

INTR

Controlador
Microprocessador
INTA de
Interrupção 8 pedidos de
8085
interrupção
Dados 8259

183 Microprocessador 8085


183
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Expandindo a Capacidade de Interrupção


8259

184 Microprocessador 8085


184
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Expandindo a Capacidade de Interrupção

O procedimento para uso de interrupções através do 8259 é:

1. O nível lógico de um ou mais dos pinos IR (IR0 a IR7) é levado a 1,

setando o correspondente registrador de pedido de interrupção IRR;

2. O 8259 envia um pulso alto para o 8085 através do pino INTR (pino 10)

3. O 8085 envia de volta um sinal baixo INTA (Interrupt Acknowledge)

de reconhecimento de pedido de interrupção;

4. Após receber o sinal de OK, o 8259 o bit ISR (In Service Register) do

pedido de maior prioridade, limpa o registro de interrupção IRR

correspondente e envia para o 8085 o código de chamada de


subrotina;

185 Microprocessador 8085


185
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Expandindo a Capacidade de Interrupção


O procedimento para uso de interrupções através do 8259 é:

5. O 8085 responde com outro sinal INTA baixo solicitando o byte


inferior do endereço da subrotina;
6. O 8259 envia o byte inferior de endereço correspondente ao
pedido
de interrupção;
7. Um outro sinal INTA baixo é enviado pelo 8085 solicitando o byte
superior do endereço da subrotina;
8. O 8259 envia o byte superior do endereço da subrotina para o 8085
e, em seguida, limpa o bit ISR correspondente;
9. A seguir, o conteúdo do contador de programa (PC) é enviado para
a pilha e o processamento é desviado para o endereço indicado
186 Microprocessador 8085
186
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo

187 Microprocessador 8085


187
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo
Pino A13 – Pino usado para habilitar/desabilitar a RAM e a ROM.

A13 CE CE1\ Pastilha Habilitada

0 0 0 CI 8355

1 1 1 CI 8156

ROM 8355 tem 2048 bytes (800 h) de memória = 2 Kbytes


Posições ocupadas 0 a 2047 (000 h a 7FF h)
Número de linhas de endereço necessárias: 11 (AD 0 a
A10) ,
porque 211 = 2048
RAM 8156 tem 256 bytes (100 h) de memória
Posições ocupadas 0 a 255 (00 h a FF h).
Número de linhas de endereço necessárias: 8 (AD 0 a
AD7),
porque 28 = 256.
Endereço inicial escolhido para a memória RAM: 2000 h
Endereço final: 20FF h.
188 Microprocessador 8085
188
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo

A15 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereço Inicial da ROM

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0

Endereço Final da ROM

0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
0 7 F F

Endereço Inicial da RAM

0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0

Endereço Final da RAM

0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1

2 0 F F

189 Microprocessador 8085


189
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático


Memória RAM do Kit didático: RAM 2114 – 1 K de memória / 4 bits
(São utilizadas duas-a-duas para formar 1 byte por endereço)

São necessárias 10 linhas de endereço: 210 = 1024 (400h) – De AD0


a A9
Posições de memória de cada pastilha: 0 a 1023 (000 h a 3FF h)
Endereço inicial da RAM: 4000 h
Endereço Final da RAM: 43FF h

A15 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereço Inicial da primeira RAM 2114 do Kit Didático


0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 0 0 0
Endereço Final da primeira RAM 2114 do Kit Didático
0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1
4 3 F F

190 Microprocessador 8085


190
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático

A Segunda RAM 2114 do Kit didático deve ser acessada a partir


do
primeiro endereço após a primeira RAM, ou seja, endereço 4400
h.
A15 A14 A13 A12 A11 A10 A9 A8 AD AD6 AD5 AD AD3 AD2 AD AD0
7 4 1

Endereço Inicial da SEGUNDA RAM 2114 do Kit Didático

0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0

4 4 0 0

Endereço Final da SEGUNDA RAM 2114 do Kit Didático

0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1

4 7 F F

191 Microprocessador 8085


191
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático

A Terceira RAM 2114 do Kit didático deve ser acessada a partir


do
primeiro endereço após a primeira RAM, ou seja, endereço 4800
h.
A15 A14 A13 A12 A11 A10 A9 A8 AD AD6 AD5 AD AD3 AD2 AD AD0
7 4 1

Endereço Inicial da TERCEIRA RAM 2114 do Kit Didático

0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0

4 8 0 0

Endereço Final da TERCEIRA RAM 2114 do Kit Didático

0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1

4 B F F

192 Microprocessador 8085


192
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático

A Quarta RAM 2114 do Kit didático deve ser acessada a partir do


primeiro endereço após a primeira RAM, ou seja, endereço 4C00
h.

A15 A14 A13 A12 A11 A10 A9 A8 AD AD6 AD5 AD AD3 AD2 AD AD0
7 4 1

Endereço Inicial da QUARTA RAM 2114 do Kit Didático

0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0

4 C 0 0

Endereço Final da QUARTA RAM 2114 do Kit Didático

0 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1

4 F F F

193 Microprocessador 8085


193
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático

194 Microprocessador 8085


194
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático – Decodificador 74138

C B A Saída
Selecionada

0 0 0 Yo
0 0 1 Y1
0 1 0 Y2
0 1 1 Y3
1 0 0 Y4
1 0 1 Y5
1 1 0 Y6
1 1 1 Y7

195 Microprocessador 8085


195
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo – Kit Didático – Decodificador 74138


A11 2 × RAM 2114
A10 CS\
4000h – 43FFh
A12 RAM – 1

A14
2 × RAM 2114
CS\
4400h – 47FFh
RAM – 2

2 × RAM 2114

4800h – 4BFFh
CS\ RAM – 3

2 × RAM 2114
CS\ 4C00h–4FFFh
RAM – 4

196 Microprocessador 8085


196
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Características do CI 8156:

197 Microprocessador 8085


197
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Características do CI 8156:

Endereços de E/S – Número das Portas


As instruções IN e OUT no CI 8156 usam apenas os três bits menos
significativos
do endereço: AD2, AD1 e AD0.
No entanto, durante o acesso às portas, o número da porta é duplicado,
sendo
colocado tanto no barramento inferior quanto no superior. Assim,

A15 A14 A13 A12 A11 A10 A9 A8 = AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereçamento da porta 21h:

0 0 1 0 0 0 0 1 = 0 0 1 0 0 0 0 1

CE
Barramento de Dados/Endereços

198 Microprocessador 8085


198
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Características do CI 8156:

Endereços de E/S – Número das Portas


AD2 AD1 AD0 Seleção Número
da Porta

0 0 0 Registradores de comando e de status 20 h

0 0 1 Porta A 21 h

0 1 0 Porta B 22 h

0 1 1 Porta C 23 h

1 0 0 8 bits menos significativos do temporizador 24 h

1 0 1 2 bits de modo do temporizador e 6 bits 25 h


superiores do temporizador

199 Microprocessador 8085


199
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Características do CI 8156

Porta 20h - Registro de comando

D7 D6 D5 D4 D3 D2 D1 D0

Temp Temp Int. B Int. A Porta Porta Porta Porta


C C B A
Dígito das Portas A ou B = 0 Porta setada como entrada
=1 Porta setada como saída

A 0 0 0 0 0 0 1 0

MVI A, 02 h Porta A (Porta 21 h) setada como


OUT 20 h entrada
Porta B (Porta 22 h) setada como saída

200 Microprocessador 8085


200
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída


Há basicamente duas formas de comunicação entre o computador e
um periférico:
Comunicação Serial: Um bit por vez
Exemplos: comunicação via linha telefônica (através de um modem),
mouse, câmara fotográfica digital, impressora serial, instrumentos
eletrônicos, agendas eletrônicas.
A taxa de transmissão é medida em bits por segundo (bps ou bits/s).

Comunicação Paralela: Grupo de bits enviados simultaneamente


Exemplo: comunicação entre computador e impressora paralela.
A taxa de transmissão é, em geral, medida em bytes por
segundo;
Taxa de transmissão maior que na serial
Distância pequena entre transmissor e receptor

201 Microprocessador 8085


201
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída

Técnicas de hardware e software utilizadas para controlar o fluxo de


dados entre o computador e seus periféricos.

Varredura (ou E/S por consulta ou Pooling}:

Técnica de comunicação na qual o processador interroga


periodicamente o periférico para determinar seu estado;

Pode ser síncrona ou assíncrona

Desvantagem: perda de tempo: o processador abandona o


programa principal para fazer a varredura mesmo se nenhum
periférico deseja serviço.

202 Microprocessador 8085


202
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída

Varredura
Periférico

8 bits Porta bit 6 Início


10 h

Microprocessador bit 7
8 bits Porta
11 h Status
8085

Dados Porta
Dados
12 h

203 Microprocessador 8085


203
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída


Varredura (ou E/S por consulta ou Pooling):

Outro exemplo: Homogeneizador microprocessado

AA saída conversor AD é lida periodicamente, a cada ciclo de


execução
do programa, independentemente se há ou não um novo valor na
saída do
AD

velocidade ADC
8085
0808

End of Conversion Start of Conversion


(EOC) (START)
204 Microprocessador 8085
204
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída

Técnicas de hardware e software utilizadas para controlar o fluxo de


dados entre o computador e seus periféricos.

Interrupção:

Técnica de comunicação na qual o processador somente é ocupado


se há pedido de serviço de algum periférico;

Mecanismo assíncrono;

Transferência de dados é feita por software (mais lento que DMA)

205 Microprocessador 8085


205
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída

Interrupção:

RST 5.5 Interrupção

Microprocessador
Reconhecimento
Periférico
8085
Dados

206 Microprocessador 8085


206
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Métodos de Controle de Entrada e Saída

Transferência por DMA:

HOLD

Microprocessador HLDA Controlador


de
8085 DMA
Barramentos

MEMÓRIA

207 Microprocessador 8085


207
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

DECODIFICAÇÃO COMPLETA DAS


PASTILHAS 8355 E 8156 E EXTENSÃO DE
MEMÓRIA E PORTAS

208 Microprocessador 8085


208
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Sistema Mínimo

209 Microprocessador 8085


209
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8355
2 pinos de habilitação: CE2 e CE1\

210 Microprocessador 8085


210
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8355
Uma opção para eliminar todas as sombras de memória e das
portas de
Entrada e Saída:

Memória: Entrada e Saída:


A15 e A14 = 0Habilita CE2 A15 e A14 = 0Habilita CE2
A13, A12 e A11 = 0 e IO/M\ = 0 A13, A12 e A11 = 0 e IO/M\ = 1
A10 é irrelevante A10 = 0
211 Microprocessador 8085
211
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8355

Endereçamento de Memória
A15 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereço Inicial da ROM


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0

Endereço Final da ROM


0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1

0 7 F F

212 Microprocessador 8085


212
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8355
Endereçamento das Portas – Duplicação dos bytes inferior e superior
A15 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereçamento das Portas do 8355 (Portas 00H, 01H, 02H, 03H)


0 0 0 0 0 0 X X X X X X X X X X

Endereçamento da Porta A (Porta 00H)


0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Endereçamento da Porta B (Porta 01 H)


0 0 0 0 0 0 1 0 0 0 0 0 0 0 1

Endereçamento da Porta DDR A (Porta 02 H)


0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0

Endereçamento da Porta DDR B (Porta 03 H)


0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1

213 Microprocessador 8085


213
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8156
1 pino de habilitação: CE

214 Microprocessador 8085


214
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8156
Uma opção para eliminar todas as sombras de memória e das
portas de
Entrada e Saída:

Memória:
A15, A14, A12, A11 = 0 e A13 = 1 Entrada e Saída:
+ A15, A14, A12, A11 = 0 e A13 = 1
A10, A9 e A8 = 0 e IO/M\ =0 +
Habilita CE IO/M\ = 1 e A10, A9 e A8 irrelevante

215 Microprocessador 8085


215
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8156
Endereçamento de Memória

A15 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereço Inicial da RAM


0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

2 0 0 0

Endereço Final da RAM


0 0 1 0 0 0 0 0 1 1 1 1 1 1 1 1

2 0 F F

216 Microprocessador 8085


216
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Pastilha 8156
Endereçamento das Portas – Duplicação dos bytes inferior e superior
A15 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0

Endereçamento das Portas do 8156 (Portas 20H, 21H, 22H, 23H, 24H e 25H)
0 0 1 0 0 X X X X X X X X X X X

Endereçamento da Porta de Comando (Porta 20H)


0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0

Endereçamento da Porta A (Porta 21 H)


0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1

Endereçamento da Porta B (Porta 22 H)


0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0

Endereçamento da Porta C (Porta 23 H)


0 0 1 0 0 0 1 1 0 0 1 0 0 0 1 1

217 Microprocessador 8085


217
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Porta de Entrada
Habilitação
Linhas de
Endereço superiores

D7 AD7

Periférico
Chaves
(Chaves, de 3 8085
AD, estados
sensores...)

D0 AD0

Exemplos: 74LS125 e 74LS126

218 Microprocessador 8085


218
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S

74LS125 e 74LS126

Habilitação: nível lógico baixo Habilitação: nível lógico alto

219 Microprocessador 8085


219
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Criando a Porta de Entrada FFH

220 Microprocessador 8085


220
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Diagrama de Temporização da Instrução IN Porta

T1 T2 T3 T4 T1 T2 T3 T1 T2 T3
PC PC+1→→ INST PC PC+1→→ Byte WZ Porta A
FORA PC →IR FORA PC →Z, W FORA

A15-A8 PCH PCH Porta

AD7-AD0 PCL INST PCL Byte Porta Dados

ALE

RD\

WR\

IO-M\

221 Microprocessador 8085


221
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Criando a Porta de Entrada FEH

222 Microprocessador 8085


222
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Portas de Entrada de FCH a FFH

74LS125 74LS125

223 Microprocessador 8085


223
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Criando Portas de Saída

Habilitação
Linhas de
Endereço superiores

AD7 D7

Periférico

8085 Latch (LEDs,


DA,
atuadores...)
AD0 D0

Exemplos: 74LS75 e 74LS173


224 Microprocessador 8085
224
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Criando Portas de Saída

74LS173

IE – Input Enable: ativo baixo


OE – Output Enable: ativo baixo

MR – Master Reset: ativo alto


CP – Pulso de Clock
225 Microprocessador 8085
225
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


Criando Portas de Saída

226 Microprocessador 8085


226
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S

74LS173

227 Microprocessador 8085


227
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys
Universidade Federal de Goiás
Escola de Engenharia Elétrica e de Computação

Ampliando a quantidade de Portas de E/S


PortasBibliografia
de Saída FC H a FF H

[1] ZILLER, Roberto M., “Microprocessadores – Conceitos Importantes,” Edição


do autor, Florianópolis, 2000. ISBN 85-901037-2-2

[2] MALVINO, Albert Paul, “Microcomputadores e microprocessadores;


tradução Anatólio Laschuk, revisão técnica Rodrigo Araês Farias. São
Paulo: McGraw-Hill do Brasil, 1985.

228
229 Microprocessador 8085
229
228
Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade
Prof. José Wilson Lima Nerys

Você também pode gostar