Prévia do material em texto
Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação MICROPROCESSADORES E MICROPROCESSADORES E MICROPROCESSADORES E MICROPROCESSADORES E MICROCONTROLADORESMICROCONTROLADORESMICROCONTROLADORESMICROCONTROLADORES MicroprocessadorMicroprocessador 80858085 1 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 1 Microprocessador 8085 José Wilson Lima Nerys jwilson@eee.ufg.br Goiânia, 2009 MicroprocessadorMicroprocessador 80858085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Evolução de Conhecimentos até Microprocessadores 2 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 2 Microprocessador 8085 até Microprocessadores 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 3 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 3 Microprocessador 8085 N P P N Junção PN � Diodo P N P N P N Transistores de Junção PNP e NPN 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 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 4 Microprocessador 8085 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). 5 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 5 Microprocessador 8085 Flip-flop Porta NAND Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Microprocessador Registradores Contadores Flip-flops 6 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 6 Microprocessador 8085 Microprocessador Somadores Decodificadores Codificadores Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Estrutura Básica de Um Computador 7 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 7 Microprocessador 8085 Computador Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CPU 8 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 8 Microprocessador 8085 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 9 Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 9 Microprocessador 8085 Unidade de Entrada e Saída Memória CPU Registradores Unidade Controle ULA 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. 10Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 10 Microprocessador 8085 CPU Registradores Unidade Controle ULA Unidade de Entrada e Saída Memória 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 11Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 11 Microprocessador 8085 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). 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. 12Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 12 Microprocessador 8085 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. 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) - 13Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 13 Microprocessador 8085 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. 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 14Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 14 Microprocessador 8085 N palavras de tamanho fixo: cada palavra está vinculada a um endereço único) Linhas de controles, sendo as principais: read ���� leitura write ����escrita 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. 15Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 15 Microprocessador 8085 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 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 16Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 16 Microprocessador 8085 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.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: 17Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 17 Microprocessador 8085 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. 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. 18Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 18 Microprocessador 8085 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 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 19Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 19 Microprocessador 8085 fax/modem , placas de som e placas de rede Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Barramento PCI (Peripheral Component Interconnect) Opera com 32 ou 64 bits Suporte para o padrão PnP (Plug and Desenvolvido pela Intel em 1992 – Processador Pentium Taxa de transferência de até 132 MB/s com 32 bits 20Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 20 Microprocessador 8085 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 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. 21Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 21 Microprocessador 8085 Opera com 64 bits Clock de até 133 MHz Taxa de Transferência de 533 MB/s a 4.266 MB/s 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 22Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 22 Microprocessador 8085 armazenamento de texturas para objetos tridimensionais Alta velocidade no acesso a essas texturas para aplicação na tela Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Placa Mãe 23Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 23 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Definições Básicas de Microprocessadores 24Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 24 Microprocessador 8085 Microprocessadores 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 25Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 25 Microprocessador 8085 • 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 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. 26Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 26 Microprocessador 8085 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. 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 27Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 27 Microprocessador 8085 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). 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. 28Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 28 Microprocessador 8085 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. 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, 29Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 29 Microprocessador 8085 Video Games e outros brinquedos, Controle de Motores, Controle de Tráfego, Alarmes e Sistemas de Segurança, Telefone Celular. 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 30Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 30 Microprocessador 8085 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 Suportepara Deficientes Visuais. Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistemas de Numeração 31Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 31 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Posicional × Sistema não Posicional 32Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 32 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Posicional × Sistema não Posicional 33Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 33 Microprocessador 8085 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 1 2 1o dígito: Armazena o equivalente a 20 (1). No ex.: 1 × 20 34Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 34 Microprocessador 8085 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 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. 35Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 35 Microprocessador 8085 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 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). 36Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 36 Microprocessador 8085 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: 973 10 = 1001 0111 0011. Note a diferença entre este valor e o valor do número binário 1001 0111 00112 = 241910 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: 3207 8 37Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 37 Microprocessador 8085 8 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 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 20D 16 38Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 38 Microprocessador 8085 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 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. 39Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 39 Microprocessador 8085 convertido em 4 dígitos binários equivalentes. Exemplo: 7 D 3 F 16 = 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Conversão de Base 40Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 40 Microprocessador 8085 Representação: r2 r1 r0 Valor hexadecimal correspondente a 1234: 4D2h Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Conversão de Base (algoritmo genérico) Se q0 = 0 � Valor = q0 B+ r0 = 0.B + r0 = r0 A divisão termina quando o quociente é zero 41Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 41 Microprocessador 8085 Se q1 = 0 � Valor = q0 B+ r0 q0= q1 .B + r1 = 0.B + r1 = r1 ou, Valor = r1 .B+ r0 � Representaçã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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Representação de números positivos e negativos 42Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 42 Microprocessador 8085 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 43Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 43 Microprocessador 8085 = complemento de 2 de a = 2n – a Número decimal: – a = (complemento de 9 de a) + 1 = = complemento de 10 de a = 10n – a 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: 44Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 44 Microprocessador 8085 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) 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: 45Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 45 Microprocessador 8085 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) 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 46Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson LimaNerys 46 Microprocessador 8085 Multiplicação ���� Várias adições Divisão ���� Várias adições com complemento de 2 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação ArquiteturaArquitetura, , CaracterísticasCaracterísticas e e PrincípioPrincípio de de FuncionamentoFuncionamento 47Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 47 Microprocessador 8085 PrincípioPrincípio de de FuncionamentoFuncionamento Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CaracterísticasCaracterí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 48Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 48 Microprocessador 8085 Registradores internos: 8 bits e 16 bits Número de transistores: 6500 Velocidade de clock: 5 MHz Capacidade de processamento: 0,37 MIPS 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 49Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 49 Microprocessador 8085 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 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. 50Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 50 Microprocessador 8085 Linhas exclusivas para endereços. Parte mais significativa do endereço Indicam o estado em que se encontra o 8085: Retenção (0 0) Escrita (0 1) Leitura (1 0) Interrupção (1 1) Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Microprocessador 8085 Entrada para geração de estados de espera (wait states) Permite reinicializar o 8085. O contador de programa vai para 0000h Saída que indica aos periféricos 51Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 51 Microprocessador 8085 Saída que indica aos periféricos a reinicialização do 8085 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 Sinais do Barramento de Controle 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 52Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 52 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Arquitetura do 8085 53Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 53 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Arquitetura do 8085 54Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 54 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Princípio de Funcionamento B A LOAD LOAD ENABLE CLOCK CLOCK 55Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 55 Microprocessador 8085 C D LOAD LOAD ENABLE ENABLE ENABLE CLOCK CLOCK Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CARREGA (LOAD) HABILITA SAÍDA (OE) Entrada X Saída Y D CLK Q Flip- flop Chave 3 estados Princípio de Funcionamento 56Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 56 Microprocessador 8085 Linha do barramento CARREGA (LOAD) HABILITA SAÍDA (OUTPUT ENABLE) (OE) COMENTÁRIO 0 0 Registradores isolados do barramento. Barramento flutuando 0 1 Transfere dados do registrador para o barramento 1 0 Carrega o registrador com os dados do barramento Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Princípio de Funcionamento 57Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 57 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação A = 10H Princípio de Funcionamento B LOAD LOAD ENABLE CLOCK CLOCK MOV D,A 58Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 58 Microprocessador 8085 B C D LOAD LOAD ENABLE ENABLE ENABLE CLOCK CLOCK CLOCKD = 10 H Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo CPU 8085 59Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 59 Microprocessador 8085 8085 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 60Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 60 Microprocessador 8085 2 cristal clock f f = 8085A: fcristal = 500 kHz a 3,125 MHz 8085A-2: fcristal = 500 kHz a 5 MHz Exemplo: Se fcristal = 2 MHz � fclock = 1 MHz Tclock = 1 µµµµs 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 Máquina 1: M1 Ciclo de Máquina 2 : M2 Ciclo de Instrução Ciclo de Instrução 61Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 61 Microprocessador 8085 CLK Estados T1 T2 T3 T4 T1 T2 T3 Ciclo de Busca Ciclo de Execução Ciclo de Execução Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Diagrama de Temporização M1 M2 CLK 62Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 62 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Diagrama de Temporização 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 M1 M2 63Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 63 Microprocessador 8085 AD7-AD0 PC L INST PC L INST ALE RD\ WR\ IO-M\ Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Diagrama de Temporização ADD B e MOV B,A 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 M1 M2 64Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 64 Microprocessador 8085 AD7-AD0 PC L INST PC L INST ALE RD\ WR\ IO-M\ 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 Barramento ROMEndereço Endereço 65Núcleo de Estudo e Pesquisa em Processamentode Energia e Qualidade Prof. José Wilson Lima Nerys 65 Microprocessador 8085 CLK RD\ T1 ALE M\ 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. 66Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 66 Microprocessador 8085 PC = PC + 1 CLK T2T1 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Princípio de FuncionamentoCiclo de Busca de ADD B: 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 Barramento IRCódigo Código 67Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 67 Microprocessador 8085 CLK T3 M\ RD\ T1 T2 LOAD ENABLE Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Princípio de FuncionamentoCiclo de Execução de ADD B:T4: Conteúdo de B é transferido para o barramento Conteúdo do barramento é transferido para um registrador temporário e, depois para a unidade lógica e aritmética B Barramento TEMPDados Dados 68Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 68 Microprocessador 8085 CLK T4 ENABLE LOAD T1 T2 T3 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 Barramento ROMEndereço Endereço 69Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 69 Microprocessador 8085 ALE CLK RD\ T1 – M2 ALE M\ T1 T2 T3 T4 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. PC = PC + 1 TEMP ULAENABLE TEMP+A Barramento 70Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 70 Microprocessador 8085 A CLK T2 – M2 PC = PC + 1 ULA ENABLE TEMP+A Barramento TEMP+A T1 T2 T3 T4 T1–M2 LOAD 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 Barramento IRCódigo Código 71Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 71 Microprocessador 8085 CLK T3-M2 M\ RD\ T1 T2 T3 T4 T1–M2 T2–M2 ENABLE LOAD 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 Barramento TEMPDados Dados 72Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 72 Microprocessador 8085 CLK T4 ENABLE LOAD T1 T2 T3 T4T1 T2 T3 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Formato das InstruçõesFormato das Instruções 73Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 73 Microprocessador 8085 Formato das InstruçõesFormato das Instruções Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Diagramas de Temporização e Formato das Instruções T1 T2 T3 T4 T1 T2 T3 ADD B PC FORA PC+1→→→→PC INST →→→→IR B →→→→ TMP SBE A+TMP →→→→ A M1 M2 ADD B � Adiciona o conteúdo de B ao conteúdo do Acumulador A 74Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 74 Microprocessador 8085 ADD B � Adiciona o conteúdo de B ao conteúdo do Acumulador A ADD B End Instrução/ Dado Código xxxx H 1o byte OPCODE End Instrução/ Dado Código xxxx H ADD B 80 H Instrução de 1 byte Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação T1 T2 T3 T4 T1 T2 T3 MOV B,A PC FORA PC+1→→→→PC INST →→→→IR A →→→→ TMP SBE TMP →→→→ B M1 M2 Diagramas de Temporização e Formato das Instruções 75Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 75 Microprocessador 8085 MOV B,A End Instrução/ Dado Código xxxx H 1o byte OPCODE End Instrução/ Dado Código xxxx H MOV B,A 47 H Instrução de 1 byte MOV B,A � Copia o conteúdo do Acumulador A no registrador B Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 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 M1 M2 MVI reg,byte � Carrega o registrador reg com valor byte Diagramas de Temporização e Formato das Instruções 76Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 76 Microprocessador 8085 MVI reg,byte � Carrega o registrador reg com valor byte MVI reg, byte End Instrução/Dado Código xxxx H 1o byte OPCODE xxxx + 1 2o byte Dado End Instrução/Dado Código xxxx H MVI A, 5DH 3E H xxxx + 1 5D H Instrução de 2 bytes Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação T1 T2 T3 T4 T1 T2 T3 ADI byte PC FORA PC+1→→→→PC INST →→→→IR X PC FORA PC+1→→→→PC byte→→→→TMP M1 M2 T1 T2 T3 M3 ADI byte � Adiciona o byte ao conteúdo do Acumulador A Diagramas de Temporização e Formato das Instruções 77Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 77 Microprocessador 8085 T1 T2 T3 SBE A+TMP→→→→ A do Acumulador A ADI byte End Instrução/Dado Código xxxx H 1o byte OPCODE xxxx + 1 2o byte Dado End Instrução/Dado Código xxxx H ADI 5DH C6 H xxxx + 1 5D H Instrução de 2 bytes Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 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 M1 M2 T1 T2 T3 WZ FORA MWZ A M4 Diagramas de Temporização e Formato das Instruções T1 T2 T3 PC FORA PC+1→→→→PC Byte H→→→→W M3 78Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 78 Microprocessador 8085 WZ FORA MWZ A LOAD adr � Carrega no Acumulador o conteúdo do endereço “adr” LOAD adr End Instrução/Dado Código xxxx H 1o byte OPCODE xxxx + 1 2o byte Dados L xxxx + 2 3o byte Dados H End Instrução/Dado Código xxxx H LOAD 2030H 3A H xxxx + 1 30 H xxxx + 2 20 H Instrução de 3 bytes PC FORA PC+1→→→→PC Byte H→→→→W Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 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 M1 M2 T1 T2 T3 M4 Diagramas de Temporização e Formato das Instruções T1 T2 T3 M3 79Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 79 Microprocessador 8085 WZ FORA A MWZ STA adr � Transfere conteúdo do Acumulador para o endereço “adr” STA adr End Instrução/Dado Código xxxx H 1o byte OPCODE xxxx + 1 2o byte Dados L xxxx + 2 3o byte Dados H End Instrução/Dado Código xxxx H STA 2030H 32 H xxxx + 1 30 H xxxx + 2 20 H Instrução de 3 bytes PC FORA PC+1→→→→PC Byte H→→→→W Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Outras Instruções T1 T2 T3 T4 T1 T2 T3 INR reg PC FOR A PC+1→→→→PC INST →→→→IR Reg→→→→TMP SBEULA →→→→ reg M1 M2 INR reg � Incrementa em 1 o conteúdo do registrador ‘reg’ 80Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 80 Microprocessador 8085 INR C � Opcode: 0C H T1 T2 T3 T4 T1 T2 T3 DCR reg PC FOR A PC+1→→→→PC INST →→→→IR Reg→→→→TMP TMP +1→→→→ULA SBE ULA →→→→ reg M1 M2 DCR reg � Decrementa em 1 o conteúdo do registrador ‘reg’ DCR B � Opcode: 05 H Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação T1 T2 T3 T4 T1 T2 T3 INR M PC FORA PC+1→→→→PC INST →→→→IR × HL FORA MHL TMP + 1 TMP ULA M1 M2 Outras Instruções 81Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 81 Microprocessador 8085 T1 T2 T3 HL FORA ULA M HL M3 INR M � Incrementa em 1 o conteúdo da posição de memória apontada pelo par HL Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Modos de Endereçamento e Grupos de Instruções 82Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 82 Microprocessador 8085 Grupos de Instruções 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 83Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 83 Microprocessador 8085 Direto � LDA 2010 H JMP 2005 H Por Registrador � MOV A,B ADD B Indireto por Registrador � MOV M,A 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 84Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 84 Microprocessador 8085 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 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 85Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 85 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplos Registrador + Grupo Aritmético � INR reg M1 M2 86Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 86 Microprocessador 8085 T1 T2 T3 T4 T1 T2 T3 INR reg PC FOR A PC+1→→→→PC INST →→→→IR Reg→→→→TMP SBE ULA →→→→ reg M1 M2 INR reg � Incrementa em 1 o conteúdo do registrador ‘reg’ 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 T1 T2 T3 T4 T1 T2 T3 INR M PC FORA PC+1→→→→PC INST →→→→IR × HL FORA M TMP M1 M2 87Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 87 Microprocessador 8085 INR M PC FORA PC+1→→→→PC INST →→→→IR × HL FORA MHL TMP + 1 TMP ULA T1 T2 T3 HL FORA ULA M HL M3 INR M � Incrementa em 1 o conteúdo da posição de memória apontada pelo par HL Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Registrador de Flags 88Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 88 Microprocessador 8085 Registrador de Flags 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 89Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 89 Microprocessador 8085 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 S Z × AC × P × CY 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) 90Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 90 Microprocessador 8085 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 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 91Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 91 Microprocessador 8085 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) Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplo de Operação e os Flags resultantes 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 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 + 92Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 92 Microprocessador 8085 1 0 0 0 0 1 0 1 0 CY = 1 � Houve transporte do bit 7 para o bit 8 P = 1 � Há 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 S = 0 � O bit 7 do acumulador é zero (número positivo) S Z AC P CY 0 0 × 1 × 1 × 1 F = 15 H ou F = 3F H ou F = 1F H ou … Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplo de Operação e os Flags resultantes 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 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 + 93Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 93 Microprocessador 8085 1 0 0 0 0 0 0 0 0 CY = 1 � Houve transporte do bit 7 para o bit 8 P = 1 � Há 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 S = 0 � O bit 7 do acumulador é zero (número positivo) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 1 × 0 × 1 × 1 F = 45 H ou F = 6F H ou F = 4F H ou … Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplo de Subtração Direta 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 - 94Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 94 Microprocessador 8085 CY = 0 � Não houve empréstimo do bit 8 para o bit 7 P = 0 � Há 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) Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 0 × 0 × 0 × 0 F = 00 H ou F = 2A H ou F = 02F H ou … Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplo de Subtração com Complemento de 2 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 + 95Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 95 Microprocessador 8085 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 bit4, 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) 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 96Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 96 Microprocessador 8085 se CY = 0 JZ endereço � Jump if Zero � Pula para o endereço indicado se Z = 1 (resultado da última operação é igual a zero) JNZ endereço � Jump if Not Zero � Pula para o endereço indicado se Z = 0 (resultado da última operação é diferente de zero) 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 JC 200F H DA 0F 20 Endereço Mnemônico Código 2000 H MVI A,F0H 3E F0 2002 H ADI 01H C6 01 2004 H JC 2000 H DA 00 20 97Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 97 Microprocessador 8085 2007 H JMP 2002 H C3 02 20 200F H HLT 76 2007 H JMP 2002 H C3 02 20 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 98Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 98 Microprocessador 8085 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 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 99Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 99 Microprocessador 8085 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 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 100Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 100 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Pilha 101Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 101 Microprocessador 8085 Pilha 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 2000 H LXI SP,20FFH 31 FF 20 2003 H 2004 H Instruções que usam a pilha: CALL 102Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 102 Microprocessador 8085 SP � xxxxx xxxxx xxxxx xxxxx 20FF H CALL RET PUSH POP Interrupções 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 103Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 103 Microprocessador 8085 O Ponteiro de Pilha SP aponta sempre para o topo da pilha (último valor armazenado) Registradores utilizados � PSW � A + Flags B � B + C D � D + E H � H + L 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 104Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 104 Microprocessador 8085 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 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 Flags Endereço da RAM Conteúdo 2089 208A 208B Endereço da RAM Conteúdo 2089 208A 208B PUSH PSW PUSH B SP inicial: 2090h 105Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 105 Microprocessador 8085 A � F � A F B C 208B 208C 208D 208E 23 208F 01 2090 SP após a instrução: 208Eh 208B 208C 67 208D 45 208E 23 208F 01 2090 SP após a instrução: 208Ch 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 Endereço da RAM Conteúdo 2089 208A 208B Endereço da RAM Conteúdo 2089 208A 208B POP B POP PSW 106Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 106 Microprocessador 8085 A � F � A F B C 208B 208C 67 208D 45 208E 23 208F 01 2090 SP após a instrução: 208Eh 208B 208C 67 208D 45 208E 23 208F 01 2090 SP após a instrução: 2090h Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Pilha 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 2009 H POP PSW F1 107Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 107 Microprocessador 8085 Exemplo de aplicação 2009 H POP PSW F1 200A H ADI 01H C6 01 200C H JNZ 2005 H DA 05 20 200F H JMP 2003 C3 03 20 2022 H Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação ConjuntoConjunto de de InstruçõesInstruções 108Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 108 Microprocessador 8085 ConjuntoConjunto de de InstruçõesInstruções Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação TRANSFERÊNCIA DE DADOS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento MVI r, dado8 (r) ← (byte 2) 2 7 Imediato MOV r1, r2 (r1) ← (r2) 1 4 Registrador 109Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 109 Microprocessador 8085 MOV r, M (r) ← ((H)(L)) 2 7 Indireto por registrador MOV M, r ((H)(L)) ← (r) 2 7 Indireto por registrador MVI M, dado8 ((H)(L)) ← (byte 2) 3 10 Indireto por registrador e imediato LXI rp, dado16 (rh) ← (byte 3) (rl) ← (byte 2) 3 10 Imediato Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação TRANSFERÊNCIA DE DADOS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento LDA addr (A)← ((byte 3)(byte 2)) 4 13 direto STA addr ((byte 3)(byte 2)) ← (A) 4 13 direto LHLD addr (L)←((byte 3)(byte 2)) 5 16 direto 110Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 110 Microprocessador 8085 LHLD addr (L)←((byte 3)(byte 2))(H)←((byte 3)(byte 2) + 1) 5 16 direto SHLD addr ((byte 3)(byte 2)) ← (L)((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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de ComputaçãoARITMÉTICAS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas ADD r (A) ←←←← (A) + ( r ) 1 4 registrador todas ADD M (A) ←←←← (A) + ( (H) + (L)) 2 7 registrador todas 111Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 111 Microprocessador 8085 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 ADC M (A) ←←←← (A) + ( (H)(L)) + (CY) 2 7 imediato por registrador todas ACI dado8 (A) ←←←← (A) + (byte 2) + (CY) 2 7 imediato todas Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação ARITMÉTICAS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas SUB r (A) ←←←← (A) – ( r ) 1 4 registrador todas SUB M (A) ←←←← (A) – ( (H)(L)) 2 7 indireto por registrador todas 112Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 112 Microprocessador 8085 registrador SUI dado8 (A) ←←←← (A) – (byte 2) 2 7 imediato todas SBB r (A) ←←←← (A) – ( r ) – (CY) 1 4 registrador todas SBB M (A)←←←←(A) – ((H)(L)) –(CY) 2 7 indireto por registrador todas SBI dado8 (A) ←←←← (A) – (byte 2) – (CY) 2 7 imediato todas Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação ARITMÉTICAS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas INR r (r) ←←←← (r) + 1 1 4 registrador Z, S, P e AC INR M ((H)(L)) ←←←← ((H)(L)) + 1 3 10 indireto por registrador Z, S, P e AC DCR r (r) ←←←← (r) – 1 1 4 registrador Z, S, P e AC 113Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 113 Microprocessador 8085 AC DCR M ((H)(L)) ←←←← ((H)(L)) – 1 3 10 indireto por registrador Z, S, P e 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 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) + 926 decimal (03 9E H) Endereço Mnemônico Código 2000 H LXI SP,203F 31 3F 20 2003 H MVI A,C4h 3E C4 2005 H MVI B,01h 06 01 2007 H MVI C,9Eh 0E 9E 2009 H MVI D,03h 16 03 Decimal Hexa 1 1 1 4 5 2 0 1 C 4 114Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 114 Microprocessador 8085 200B H ADD C 81 200C H MOV L,A 6F 200D H MOV A,B 78 200E H ADC D 8A 200F H MOV H,A 67 2010 H XCHG EB 2011 H CALL MOSTRAD CD 63 03 2014 H HLT 76 9 2 6 0 3 9 E 1 3 7 8 0 5 6 2 Abacus: Add 16 bits reg simples.hex Adição usando registradores simples 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) + 926 decimal (03 9E H) Endereço Mnemônico Código 2000 H LXI SP,203F 31 3F 20 2003 H LXI B, 01C4 H 01 C4 01Decimal Hexa 1 1 1 Adição usando registradores duplos 115Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 115 Microprocessador 8085 2006 H LXI H, 039E H 21 9E 03 2009 H DAD B 09 200A H XCHG EB 200B H CALL MOSTRAD CD 63 03 200E H HLT 76 1 1 1 4 5 2 0 1 C 4 9 2 6 0 3 9 E 1 3 7 8 0 5 6 2 Abacus: Add 16 bits reg duplo.hex Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES LÓGICAS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas ANA r (A) ← (A) ∧ (r) 1 4 registrador todas ANA M (A) ← (A) ∧ ((H)(L)) 2 7 indireto por registrador todas ANI dado8 (A) ← (A) ∧ (byte 2) 2 7 imediato todas XRA r (A) ← (A) ∀ (r) 1 4 registrador todas 116Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 116 Microprocessador 8085 XRA r (A) ← (A) ∀ (r) 1 4 registrador todas XRA M (A) ← (A) ∀ ((H)(L)) 2 7 indireto por registrador todas XRI dado8 (A) ← (A) ∀ (byte 2) 2 7 imediato todas ORA r (A) ← (A) ∨ (r) 1 4 registrador todas ORA M (A) ← (A) ∨ ((H)(L)) 2 7 indireto por registrador todas ORI dado8 (A) ← (A) ∨ (byte 2) 2 7 imediato todas Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES LÓGICAS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Flags Afetadas RLC (An+1) ← (An) (A0) ← (A7) (CY) ← (A7) 1 4 CY 117Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 117 Microprocessador 8085 RRC (An) ← (An+1) (A7) ← (A0) (CY) ← (A0) 1 4 CY RAL (An+1) ← (An) (CY) ← (A7) (A0) ← (CY) 1 4 CY RAR (An) ← (An+1) (CY) ← (A0) (A7) ← (CY) 1 4 CY Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES LÓGICAS Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetada s CMP r (A) – (r) 1 4 registrador todas CMP M (A) – ((H)(L)) 2 7 indireto por todas 118Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 118 Microprocessador 8085 CMP M (A) – ((H)(L)) 2 7 indireto por registrador todas CPI dado8 (A) – (byte 2) 2 7 imediato todas CMA (A) ← (A\) 1 4 nenhuma CMC (CY) ← (CY\) 1 4 CY STC (CY) ← 1 1 4 CY 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 B 1 0 0 1 1 0 1 0 ANA B 0 0 0 0 1 0 1 0 AND 119Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 119 Microprocessador 8085 ANA B 0 0 0 0 1 0 1 0 A 0 0 0 0 1 1 1 1 B 1 0 0 1 1 1 0 1 ORA B 1 0 0 1 1 1 1 1 OR Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES DE COMPARAÇÃO E TOMADA DE DECISÃO Condição Z CY CMP r CPI dado8 120Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 120 Microprocessador 8085 Condição Z CY (A) = (r) 1 0 (A) > (r) 0 0 (A) < (r) 0 1 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 121Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 121 Microprocessador 8085 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 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 122Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 122 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES DE DESVIO Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas JMP addr (PC) ← (byte 3)(byte 2) 3 10 imediato nenhuma Jcondição addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma JNZ addr Se (CCC), então, 2/3 7/10 imediato nenhuma 123Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 123 Microprocessador 8085 JNZ addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma JZ addr Se (CCC), então, (PC) ← (byte 3)(byte2) 2/3 7/10 imediato nenhuma JNC addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma JC addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES DE DESVIO Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas JPO addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma 124Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 124 Microprocessador 8085 JPE addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma JP addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma JM addr Se (CCC), então, (PC) ← (byte 3)(byte 2) 2/3 7/10 imediato nenhuma Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INSTRUÇÕES DESVIO Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas CALL addr ((SP) - 1) ← (PCH) ((SP) - 2) ← (PCL) (SP) ← (SP) - 2 (PC) ← (byte 3)(byte 2) 5 18 imediato e indireto por registrador nenhuma ((SP) - 1) ← (PCH) 125Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 125 Microprocessador 8085 Ccondition addr ((SP) - 1) ← (PCH) ((SP) - 2) ← (PCL) (SP) ← (SP) - 2 (PC) ← (byte 3)(byte 2) 2/5 9/18 imediato e direto por registrador nenhuma RET (PCL) ← (SP) (PCH) ← (SP + 1) (SP) ← (SP) + 2 3 10 indireto por registrador nenhuma Rcondição (PCL) ← (SP) (PCH) ← (SP + 1) (SP) ← (SP) + 2 1/3 6/12 indireto por registrador nenhuma Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação DESVIO Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas RST n ((SP) - 1) ← (PCH) ((SP) - 2) ← (PCL) 3 12 indireto por nenhuma 126Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 126 Microprocessador 8085 RST n ((SP) - 2) ← (PCL) (SP) ← (SP) - 2 (PC) ← 8 * (NNN) 3 12 indireto por registrador nenhuma PCHL (PCH) ← (H) (PCL) ← (L) 1 6 registrador nenhuma Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplo: Contagem com parada programada via 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 / 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 127Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 127 Microprocessador 8085 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 Abacus: Parada programada.hex Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CONTROLE, PILHA E I/O Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas PUSH rp ((SP) - 1 ← (rh) ((SP) - 2 ← (rl) (SP) ← (SP) - 2 3 12 indireto por registrador nenhuma PUSH PSW ((SP) - 1 ← (A) ← 3 12 indireto por nenhuma 128Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 128 Microprocessador 8085 PUSH PSW ((SP) - 1 ← (A) ((SP) - 2 ← (F) (SP) ← (SP) - 2 3 12 indireto por registrador nenhuma POP rp (rl) ← ((SP)) (rh) ← ((SP) + 1) (SP) ← (SP) + 2 3 10 indireto por registrador nenhuma POP PSW (F) ← ((SP)) (A) ← ((SP) + 1) (SP) ← (SP) + 2 3 10 indireto por registrador todas Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CONTROLE, PILHA E I/O Mnemônico Genérico Simbologia NO de Ciclos No de Estados Modo de Endereçamento Flags Afetadas XTHL (L) ← ((SP)) 5 16 indireto por nenhuma 129Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 129 Microprocessador 8085 XTHL (L) ← ((SP)) (H) ← ((SP) + 1) 5 16 indireto por registrador nenhuma 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CONTROLE, PILHA E I/O Mnemônico Genérico Simbologia NO de Ciclos No de Estados Flags Afetadas EI 1 4 nenhuma DI 1 4 nenhuma 130Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 130 Microprocessador 8085 DI 1 4 nenhuma HLT 1+ 5 nenhuma NOP 1 4 nenhuma RIM 1 4 nenhuma SIM 1 4 nenhuma Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação SimuladorSimulador Digital e Digital e ProgramaçãoProgramação AssemblyAssembly 131Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 131 Microprocessador 8085 ProgramaçãoProgramação AssemblyAssembly Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação CONTAGEM CRESCENTE ININTERRUPTA Endereço Mnemônico 2000 H LXI SP,203FH 2003 H MVI A,20H 2005 H PUSH PSW 2006 H CALL MOSTRAA INICIO SP 203F H A 20 H 132Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 132 Microprocessador 8085 2006 H CALL MOSTRAA 2009 H POP PSW 200A H ADI 01H 200C H JNZ 2005 H 200F H JMP 2003 S PUSH PSW CALL MOSTRAA POP PSW A A + 1 A = 0? N Abacus: Contagem.hex Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação MULTIPLICAÇÃO DE 2 NÚMEROS (3 x 4) INICIO A 00 H C 03 H A A + 04 H Label Mnemônico LXI SP,203FH MVI A,00H MVI C,03H 133Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 133 Microprocessador 8085 S N C = 0? FIM A A + 04 H C C – 1 Volta: ADI 04 H DCR C JNZ Volta CALL MOSTRAA HLT Abacus: 3 x 4 direto.hex DISPLAY A 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 Label Mnemônico LXI SP,203FH MVI A,00H MVI B,04H MVI C,03H INICIO A 00 H B 04 H C 03 H A A + B 134Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 134 Microprocessador 8085 MVI C,03H Volta: ADD B DCR C JNZ Volta CALL MOSTRAA HLT Abacus: 3 x 4 registrador.hex S N C = 0? FIM A A + B C C – 1 DISPLAY A 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 MVI A,00H MVI B,04H MVI C,03H CALL multi A A + B C C – 1 multi INICIO A 00 H B 04 H C 03 H 135Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 135 Microprocessador 8085 CALL multi CALL MOSTRAA HLT multi: ADD B DCR C JNZ multi RET Abacus: 3 x 4 subrotina.hex S N C = 0? RET C C – 1 HLT CALL multi DISPLAY A Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 1 DÍGITO Label Mnemônico LXI SP,203FH repete: CALL LETECLA MOV B,A CALL LETECLA MOV C,A MVI A,00H A A + B C C – 1 multi INICIO CALL LETECLA B A CALL LETECLA C A 136Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 136 Microprocessador 8085 CALL multi CALL MOSTRAA JMP repete multi: ADD B DCR C JNZ multi RET Abacus: Multi 1 dígito.hex S N C = 0? RET C C – 1C A A 0 CALL multi DISPLAY A Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 8 BITS Label Mnemônico LXI SP,203FH CALL LETECLA RLC RLCRLC INICIO CALL LETECLA 4 x RLC C A CALL LETECLA 4 x RLC E A CALL LETECLA ORA E 1 137Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 137 Microprocessador 8085 RLC RLC MOV C,A CALL LETECLA ORA C MOV C,A ... Abacus: Multi 2 dígitos.hex C A CALL LETECLA ORA C C A 1 ORA E E A D 0 CALL multi CALL MOSTRAD 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 Label Mnemônico multi: LXI H,0000H repete: DAD D multi HL 0 138Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 138 Microprocessador 8085 repete: DAD D DCR C JNZ repete XCHG RETS N C = 0? RET HL HL + DE C C – 1 DE HL Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Label Mnemônico LXI SP,2080 H repete: CALL Leitura Início SP 203F H MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 2 DÍGITOS PROGRAMA PRINCIPAL 139Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 139 Microprocessador 8085 repete: CALL Leitura CALL multi CALL MOSTRAD JMP repete CALL Leitura CALL multi CALL MOSTRAD Multi 2 dígitos – sub.hex Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Label Mnemônico Leitura: CALL LETECLA RLC/RLC/RLC/RLC MOV C,A CALL LETECLA ORA C MOV C,A MULTIPLICAÇÃO DE 2 NÚMEROS QUAISQUER DE 2 DÍGITOS LEITURA CALL LETECLA 4 x RLC CALL LETECLA 4 x RLC E A 1 SUBROTINA DE LEITURA DOS 2 DÍGITOS 140Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 140 Microprocessador 8085 MOV C,A CALL LETECLA RLC/RLC/RLC/RLC MOV E,A CALL LETECLA ORA E MOV E,A MVI D,00H RET 4 x RLC C A CALL LETECLA ORA C C A 1 E A CALL LETECLA ORA E E A D 0 RET Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Mnemônico Comentário CASOS PARTICULARES DE MULTIPLICAÇÃO MULTIPLICAÇÃO POR 16 16 = 24 141Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 141 Microprocessador 8085 Mnemônico Comentário RLC A = 2× RLC A = 4× RLC A = 8× RLC A = 16× Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Mnemônico Comentário RLC A = 2× CASOS PARTICULARES DE MULTIPLICAÇÃO MULTIPLICAÇÃO POR 10 142Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 142 Microprocessador 8085 RLC A = 2× MOV B,A B = 2× RLC A = 4× RLC A = 8× ADD B A = 8× + 2× = 10× Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Mnemônico Comentário MOV B,A B = ×××× CASOS PARTICULARES DE MULTIPLICAÇÃO MULTIPLICAÇÃO POR 7 Mnemônico Comentário MOV B,A B = ×××× Solução 1 Solução 2 (para 8× < 100H) 143Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 143 Microprocessador 8085 MOV B,A B = ×××× RLC A = 2×××× ADD B A = 3×××× RLC A = 6×××× ADD B A = 7×××× MOV B,A B = ×××× RLC A = 2×××× RLC A = 4×××× RLC A = 8×××× SUB B A = 7×××× 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 144Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 144 Microprocessador 8085 JNZ continua Pula para ´continua´, se A ≠ reg ... Bloco de instruções executadas, caso A = reg continua: Continuação do programa 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 ́continuá, se A = reg 145Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 145 Microprocessador 8085 JZ continua Pula para ́continuá, se A = reg ... Bloco de instruções executadas, caso A ≠ reg ... continua: Continuação do programa 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 Endereço Mnemônico 2000 H LXI SP,2080H 2003 H MVI A,20H 2005 H PUSH PSW 2006 H CALL MOSTRAA INICIO SP 2080 H A 20 H 146Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 146 Microprocessador 8085 2006 H CALL MOSTRAA 2009 H POP PSW 200A H CPI 50 H 200C H JZ 2003 H 200A H ADI 01H 200F H JMP 2005N S CALL MOSTRAA A A + 1 A = 50H? Abacus: Aula6 – 6.hex 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 ́continuá, se A <reg 147Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 147 Microprocessador 8085 JC continua Pula para ́continuá, se A <reg ... Bloco de instruções executadas, caso A ≥ reg ... continua: Continuação do programa 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 ́continuá, se A <reg 148Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 148 Microprocessador 8085 JC continua Pula para ́continuá, se A <reg JZ continua Pula para ´continua´, se A = reg ... Bloco de instruções executadas, caso A > reg continua: Continuação do programa Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Exemplo: Mostrar números (da memória) maiores ou iguais a 30 H Mnem. Mnemônico LXI SP,2080H LXI H, 2050H MVI C,0AH repete: MOV A,M INX H CPI 30 JC pula N S Início SP 2080 H HL 2050 H C 0A H CALL MOSTRAA A <30H? 1 149Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 149 Microprocessador 8085 JC pula PUSH B PUSH H CALL MOSTRAA POP H POP B pula: DCR C JNZ repete HLTAbacus: Maiores ou Iguais.hex A M H H + 1 C = 0? C C – 1 1 S Fim N 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 150Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 150 Microprocessador 8085 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 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 151Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 151 Microprocessador 8085 JNC maiorig Pula para ´maiorig´, se A ≥ reg ... Bloco de instruções executadas, caso A < reg maiorig: Continuação do programa 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 LXIH, 2050 H MVI C,0A H repete: MOV A,M INX H CPI 30 JZ mostra N S Início SP 2080 H HL 2050 H C 0A H MOSTRA A A > 30H? 1 152Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 152 Microprocessador 8085 Abacus: Menores-ou-iguais.hex JZ mostra JNC pula mostra: PUSH B PUSH H CALL MOSTRAA POP H POP B pula: DCR C JNZ repete HLT A M MOSTRA A HL HL + 1 C = 0? C C – 1 1 S Fim 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 153Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 153 Microprocessador 8085 ... 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Subrotina de atraso de tempoINICIO B 10 H C 20 H C C – 1 Endereço Mnemônico 2020 H MVI B,10 H 2022 H MVI C,20 H 2024 H DCR C 154Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 154 Microprocessador 8085 S S N C = 0? RET B B – 1 B = 0? N 2024 H DCR C 2025 H JNZ 2024 H 2028 H DCR B 2029 H JNZ 2022 H 202C H RET Abacus: Atraso.hex Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Tempo de atraso (supondo 1µs para cada estado) Mnemônico MVI B,10 H MVI C,20 H DCR C Instrução No de Vezes a instrução é executada No de Estados de cada Instrução Tempo de cada Estado (µs) Tempo Parcial (µs) MVI B 1 7 1 7 MVI C 16 7 1 112 DCR C 512 = 16x32 4 1 2048 JNZ 2024 496 = 16x31 10 1 4960 155Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 155 Microprocessador 8085 DCR C JNZ 2024 H DCR B JNZ 2022 H RET JNZ 2024 (verdadeiro) 496 = 16x31 10 1 4960 JNZ 2024 (falso) 16 = 16 x 1 7 1 112 DCR B 16 4 1 64 JNZ repete1 (verdadeiro) 15 10 1 150 JNZ repete1 (falso) 1 7 1 7 RET 1 10 1 10 Tempo Total 7490 µs ≅ 7,5ms 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 156Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 156 Microprocessador 8085 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 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 ́continuá, se X ≠ Y 157Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 157 Microprocessador 8085 JNZ continua Pula para ́continuá, 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 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 158Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 158 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação InterrupçõesInterrupções 159Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 159 Microprocessador 8085 InterrupçõesInterrupções Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação INTERRUPÇÕES Definição Pedido Internoou Externoem que o microprocessador suspende as tarefas em execução, atende o pedido de interrupção e volta para encerrar as tarefas anteriores ao pedido. 160Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 160 Microprocessador 8085 CPU Registradores Unidade Controle ULA Controle de Interrupção Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Programa Principal Instrução 1 Instrução 2 Subrotina da Interrupção Instr. 1 P ed id o de In te rr up çã o INTERRUPÇÕES Como funciona? Endereço fixo da ROM JMP subrotina 161Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 161 Microprocessador 8085 Instrução 2 Instrução 3 Instrução 4 . . . HLT Instr. 1 Instr. 2 . . . RET P ed id o de In te rr up çã o Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Endereço de desvio pré-definido ���� Interrupção vetorada A instrução em execução é encerrada, antes do desvio para INTERRUPÇÕES Características Principais 162Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 162 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Instrução Efeito Código Endereço RST 0 CALL 0000h C7 0000 h RST 1 CALL 0008h CF 0008 h Interrupções Internas Interrupção por Software 163Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 163 Microprocessador 8085 RST 2 CALL 0010h D7 0010 h RST 3 CALL 0018h DF 0018 h RST 4 CALL 0020h E7 0020 h RST 5 CALL 0028h EF 0028 h RST 6 CALL 0030h F7 0030 h RST 7 CALL 0038h FF 0038 h 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 Vetor Pino Prioridade 164Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 164 Microprocessador 8085 Vetor TRAP CALL 0024h Não tem 0024 h RST 5.5 CALL 002Ch Não tem 002C h RST 6.5 CALL 0034h Não tem 0034 h RST 7.5 CALL 003Ch Não tem 003C h INTR CALL ender. Não tem Nenhuma 6 9 8 7 10 1 4 3 2 5 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Interrupção Endereço na ROM Endereço no ABACUS Endereço no KIT Interrupções Externas Endereços no ABACUS e no KIT 165Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 165 Microprocessador 8085 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 programador Escolhida pelo programador Escolhida pelo programador Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Ativadapor Nível e Borda Ativada apenas por Borda TRAP RST 7.5 Interrupções Externas Ativando a Interrupção 166Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 166 Microprocessador 8085 Ativada apenas por Nível Ativada apenas por Nível Ativada apenas por Nível RST 6.5 RST 7.5 RST 5.5 INTR 80 85 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação EI ����Enable Interrupt ���� Instrução usada para Habilitar Interrupções Externas Habilitando a Interrupção 167Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 167 Microprocessador 8085 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) Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Interrupções Externas Contagem crescente acionada pela RST 5.5 Mostra A RST5.5 A A + 1 Início SP 2090 H A 00 H 168Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 168 Microprocessador 8085 S N A = 00? Habilita Interrupções (EI) Mostra A RET Mostra A Habilita Interrupções (EI) Exemplo ABACUS: Contagem com RST 5-5 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Interrupções Externas - Programa 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 169Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 169 Microprocessador 8085 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" Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Interrupções Externas Circuito da TRAP TRAP 1 D Q Flip-flop Pino 6 CALL 0024 h 170Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 170 Microprocessador 8085 RESET IN CLK CLR RECONHECIMENTO DE TRAP TRAP Pino 6 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Circuito de RST7.5, RST 6.5 e RST5.5 RECONHECIMENTO DE RST 7.5 1 D Q Flip-flop CLR S Q Flip-flop R RST 7.5 Pino 7 R 7.5 RST 6.5 Pino 8 M 7.5' M 6.5' M 7.5 M 6.5 I 7.5 I 6.5 CALL 003C h CALL 0034 h 171Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 171 Microprocessador 8085 RESET IN S Q Flip-flop R S Q Flip-flop R S Q Flip-flop R RST 6.5 RST 5.5 Pino 9 M 6.5' M 5.5' MSE M 6.5 M 5.5 IEEIDI QUALQUER RECONHECIMENTO DE INTERRUPÇÃO I 5.5 CALL 0034 h CALL 002C h Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Símbolo Usados - Interrupção SÍMBOLO SIGNIFICADO/COMENTÁRIO I7.5, I6.5, I5.5 Interrupções Pendentes - assumem valor 1 quando há interrupção pendente IE Flag que indica (com valor 1) quando as interrupções estão habilitadas M7.5, M6.5 e M5.5 Máscaras de Interrupção (Sinal baixo habilita as portas AND) - podem desabilitar uma interrupção pendente. Sinal alto � interrupção bloqueada RST 7.5, RST 6.5 172Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 172 Microprocessador 8085 RST 7.5, RST 6.5 e RST 5.5 interrupções mascaráveis � podem ser bloqueadas via software TRAP não é mascarável nem passível de habilitação/desabilitação por EI/DI EI Enable Interrupt - Instrução usada para habilitar todas as interrupções, exceto a TRAP. Ativo alto. DI Disable Interrupt - Instrução que Desabilita as Interrupções, exceto a TRAP (baixo) MSE Mask Set Enable - Habilita a setagem de máscara. Quando alto as 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 RESET IN \ A inicialização do sistema desabilita as interrupções pendentes e zera o flip-flop da TRAP QUALQUER Quando qualquer das interrupções é atendida, um sinal alto 173Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 173 Microprocessador 8085 QUALQUER RECONHECIME NTO DE INTERRUPÇÃO Quando qualquer das interrupções é atendida, um sinal alto desabilita as interrupções pendentes, menos a TRAP, evitando que a interrupção em execução seja interrompida. SIM Set Interrupt Mask - Instrução que seta as máscaras de interrupção, fazendo com que determinada interrupção não seja ativada. RIM Read Interrupt Mask - Intrução que lê o estado das máscaras das interrupções. 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 174Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 174 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Como Ativar as Máscaras de Interrupção? Acumulador SOD ���� SerialOutputData SOE ���� SerialOutputEnable SOD SOE ×××× R7.5 MSE M7.5' M6.5' M5.5' Máscaras de Interrupção 175Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 175 Microprocessador 8085 SOE ���� SerialOutputEnable R7.5 ���� Resseta (zera) Flip-Flop da RST 7.5 MSE ���� MaskSet 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Como Ativar as Máscaras de Interrupção? Acumulador Após escolher os valores para as máscaras... SOD SOE ×××× R7.5 MSE M7.5' M6.5' M5.5' Máscaras de Interrupção 176Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 176 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Como Ativar as Máscaras de Interrupção? Acumulador SOD SOE ×××× R7.5 MSE M7.5' M6.5' M5.5' 0 0 0 0 1 1 1 0 Exemplo 1: Máscaras de Interrupção 177Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 177 Microprocessador 8085 MVI A,0Eh SIM ABACUS: Mascara RST7-5 e RST6-5.hex As interrupções RST 7.5 e RST 6.5 são mascaradas, ou seja, são impedidas de operar. A interrupção RST 5.5 está habilitada para operar 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 Mostra A RST5.5 A A + 1 Início SP 2090 H A 0E H Seta Máscara(SIM) A 00 H 178Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 178 Microprocessador 8085 S N A = 00? Habilita Interrupções (EI) RET Mostra A Habilita Interrupções (EI) Abacus: Mascara RST7-5 e RST6-5.hex 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 Mostra A RST7.5 A A + 1 Início SP 2090 H A 09 H Seta Máscara (SIM) A 00 H Mostra A RST6.5 A A - 1 179Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 179 Microprocessador 8085 S N A = 00? Habilita Interrupções (EI) RET Mostra A Habilita Interrupções (EI) S N A = 00? Habilita Interrupções (EI) RET Abacus: Cresce e Decre com RST.hex 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 180Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 180 Microprocessador 8085 RIM ���� Read Interrupt Mask SID ���� Serial Input Data I7.5, I6.5 e I5.5 ���� 1 ���� 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 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 0 1 0 0 1 1 0 0 Conteúdo do Acumulador após a instrução RIM: 181Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 181 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação InterrupçõesInterrupções e e 182Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 182 Microprocessador 8085 SistemaSistema MínimoMínimo Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Expandindo a Capacidade de Interrupção Controlador Microprocessador INTR 183Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 183 Microprocessador 8085 Controlador de Interrupção 8259 Microprocessador 8085 Dados INTA 8 pedidos de interrupção Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Expandindo a Capacidade de Interrupção 8259 184Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 184 Microprocessador 8085 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 8259envia um pulso alto para o 8085 através do pino INTR (pino 10) 185Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 185 Microprocessador 8085 3. O 8085envia de volta um sinal baixo INTA (Interrupt Acknowledge) de reconhecimento de pedido de interrupção; 4. Após receber o sinal de OK, o 8259o bit ISR (In Service Register) do pedido de maior prioridade, limpa o registro de interrupção IRR correspondente e envia para o 8085o código de chamada de subrotina; 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 8085responde com outro sinal INTA baixo solicitando o byte inferior do endereço da subrotina; 6. O 8259envia o byte inferior de endereço correspondente ao pedido 186Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 186 Microprocessador 8085 de interrupção; 7. Um outro sinal INTA baixo é enviado pelo 8085solicitando 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo 187Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 187 Microprocessador 8085 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 188Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 188 Microprocessador 8085 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 (AD0 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 (AD0 a AD7), porque 28 = 256. Endereço inicial escolhido para a memória RAM: 2000 h Endereço final: 20FF h. 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 189Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 189 Microprocessador 8085 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 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 190Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 190 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo – Kit Didático A SegundaRAM 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 7 AD6 AD5 AD 4 AD3 AD2 AD 1 AD0 Endereço Inicial da SEGUNDA RAM 2114 do Kit Didático 191Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 191 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo – Kit Didático A TerceiraRAM 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 7 AD6 AD5 AD 4 AD3 AD2 AD 1 AD0 Endereço Inicial da TERCEIRARAM 2114 do Kit Didático 192Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 192 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo – Kit Didático A QuartaRAM 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 7 AD6 AD5 AD 4 AD3 AD2 AD 1 AD0 Endereço Inicial da QUARTA RAM 2114 do Kit Didático 193Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 193 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo – Kit Didático 194Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 194 Microprocessador 8085 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 195Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 195 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo – Kit Didático – Decodificador 74138 2 × RAM 2114 4400h – 47FFh RAM – 2 CS\ 2 × RAM 2114 4000h – 43FFh RAM – 1 A14 A12 A11 A10 CS\ 196Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 196 Microprocessador 8085 2 × RAM 2114 4800h – 4BFFh RAM – 3 2 × RAM 2114 4C00h–4FFFh RAM – 4 CS\ CS\ Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Características do CI 8156: 197Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 197 Microprocessador 8085 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, 198Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 198 Microprocessador 8085 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0A15 A14 A13 A12 A11 A10 A9 A8 = 0 0 1 0 0 0 0 10 0 1 0 0 0 0 1 = Endereçamento da porta 21h: Barramento de Dados/Endereços CE 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 199Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 199 Microprocessador 8085 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 superiores do temporizador 25 h 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 C Porta C Porta B Porta A 200Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 200 Microprocessador 8085 C C B A Dígito das Portas A ou B = 0 � Porta setada como entrada = 1 � Porta setada como saída MVI A, 02 h OUT 20 h �Porta A (Porta 21 h) setada como entrada �Porta B (Porta 22 h) setada como saída 0 0 0 0 0 0 1 0A Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 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,agendaseletrônicas. Métodos de Controle de Entrada e Saída 201Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 201 Microprocessador 8085 eletrônicos,agendaseletrô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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação 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 Métodos de Controle de Entrada e Saída 202Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 202 Microprocessador 8085 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. Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Métodos de Controle de Entrada e Saída Iníciobit 6Porta 10 h 8 bits Periférico Varredura 203Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 203 Microprocessador 8085 Status Microprocessador 8085 Dados Porta 11 h Porta 12 h bit 7 Dados 8 bits 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 204Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 204 Microprocessador 8085 do programa, independentemente se há ou não um novo valor na saída do AD velocidade End of Conversion (EOC) Start of Conversion (START) ADC 0808 8085 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: 205Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 205 Microprocessador 8085 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) Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Métodos de Controle de Entrada e Saída RST 5.5 Interrupção Interrupção: 206Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 206 Microprocessador 8085 Periférico Microprocessador 8085 Dados Reconhecimento Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Métodos de Controle de Entrada e Saída Microprocessador HOLD Transferência por DMA: 207Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José WilsonLima Nerys 207 Microprocessador 8085 Controlador de DMA Microprocessador 8085 Barramentos HLDA MEMÓRIA Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação DECODIFICAÇÃO COMPLETA DAS DECODIFICAÇÃO COMPLETA DAS PASTILHAS 8355 E 8156 E EXTENSÃO DE PASTILHAS 8355 E 8156 E EXTENSÃO DE MEMÓRIA E PORTASMEMÓRIA E PORTAS 208Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 208 Microprocessador 8085 MEMÓRIA E PORTASMEMÓRIA E PORTAS Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Sistema Mínimo 209Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 209 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Pastilha 8355 2 pinos de habilitação: CE2 e CE1\ 210Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 210 Microprocessador 8085 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: 211Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 211 Microprocessador 8085 Memória: A15 e A14 = 0 � Habilita CE2 A13, A12 e A11 = 0 e IO/M\ = 0 A10 é irrelevante Entrada e Saída: A15 e A14 = 0 � Habilita CE2 A13, A12 e A11 = 0 e IO/M\ = 1 A10 = 0 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 212Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 212 Microprocessador 8085 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 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) 213Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 213 Microprocessador 8085 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 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Pastilha 8156 1 pino de habilitação: CE 214Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 214 Microprocessador 8085 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: 215Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 215 Microprocessador 8085 Memória: A15, A14,A12, A11 = 0 e A13 = 1 + A10, A9 e A8 = 0 e IO/M\ =0 � Habilita CE Entrada e Saída: A15, A14, A12, A11= 0 e A13= 1 + IO/M\ = 1 e A10, A9 e A8irrelevante 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 216Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 216 Microprocessador 8085 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 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) 217Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 217 Microprocessador 8085 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 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 Periférico AD7D7 Habilitação Linhas de Endereço superiores 218Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 218 Microprocessador 8085 8085 Chaves de 3 estados Periférico (Chaves, AD, sensores...) AD0D0 Exemplos: 74LS125 e 74LS126 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 219Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 219 Microprocessador 8085 Habilitação: nível lógico baixo Habilitação: nível lógico alto 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 220Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 220 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação T1 T2 T3 T4 T1 T2 T3 T1 T2 T3 PC FORA PC+1→→→→ PC INST →→→→IR PC FORA PC+1→→→→ PC Byte →→→→Z, W WZ FORA Porta A A15-A8 PCH PCH Porta AD7-AD0 PCL INST PCL Byte Porta Dados Diagrama de Temporização da Instrução IN Porta 221Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 221 Microprocessador 8085 AD7-AD0 PCL INST PCL Byte Porta Dados ALE RD\ WR\ IO-M\ 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 222Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 222 Microprocessador 8085 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 223Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 223 Microprocessador 8085 74LS12574LS125 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 AD7 D7 Habilitação Linhas de Endereço superiores 224Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 224 Microprocessador 8085 8085 Latch Periférico (LEDs, DA, atuadores...) AD0 D0 Exemplos: 74LS75 e 74LS173 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 225Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 225 Microprocessador 8085 IE – Input Enable: ativo baixo OE – Output Enable: ativo baixo MR – Master Reset: ativo alto CP – Pulso de Clock 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 226Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 226 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Ampliandoa quantidade de Portas de E/S 74LS173 227Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 227 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Ampliando a quantidade de Portas de E/S Portas de Saída FC H a FF H 228Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 228 Microprocessador 8085 Universidade Federal de Goiás Escola de Engenharia Elétrica e de Computação Bibliografia [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; 229Núcleo de Estudo e Pesquisa em Processamento de Energia e Qualidade Prof. José Wilson Lima Nerys 229 Microprocessador 8085 [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.