Baixe o app para aproveitar ainda mais
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 LXI
Compartilhar