Home

Notas de Aula Microprocessador 8085 Microprocessador 8088

image

Contents

1. Interrup o Finalidade macro Subfun o Registradores Descri o da subfun o INT10H Servi os de v deo 00 H AH 00H Seta o modo v deo AL modo AL 03 gt VGA 80x 25 E uma fun o do 01 H AH 01H Seta tamanho do cursor BIOS CH bit7 0 Bits 6e 5 00 normal 01 invis vel Bits 4a O Linha mais alta do caracter para o cursor CL bits 4a 0 Linha mais baixa do caracter para o cursor 02H AH 02H Seta posi o do cursor BH 0a3 N mero da p gina de v deo DH linha 00 H gt linha superior DL coluna 00 H gt coluna da esquerda INT21H Servi os Gerais 01H AH 01H L caractere da entrada padr o com eco AL Retorna o c digo ASCII do caractere lido E uma fun o do 02H AH 02H Escreve caractere na sa da padr o DOS DL Cont m o c digo ASCII do caractere 08 H AH 08 H L caractere da entrada padr o sem eco AL Retorna o c digo ASCII do caractere lido 09 H AH 09 H Escreve na sa da padr o textos terminados em DS DX Endere o de in cio do texto 25 H AH 25 H Seta vetor de interrup o AL N mero do vetor de interrup o a ser modificado DS DX Novo valor para o vetor a ser modificado 31H AH 31 H Encerra programa e deixa residente TSR AL C digo de retorno DX N mero de par grafos que devem ficar residentes 4CH AH 4CH Encerra programa AL C digo de retorno 9 10 Conjunto de Instru es do 8088 86
2. Nibble Word Dword Palavra digital composta de 4 16 32 bits respectivamente 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 CISC Complex Instruction Set Computer Tecnologia atribu da s CPUs de um modo geral que cont m set de instru es complexo O barramento de comunica o entre as unidades que comp em a CPU comum a todas as unidades ou seja n o h comunica o direta entre unidades atrav s de um barramento exclusivo RISC Reduced Instruction Set Computer Computador com set de instru es reduzido Principais caracter sticas e Conjunto de instru es limitado e simples e Grande n mero de registradores de prop sito geral e Pipeline otimizado Em outras palavras h comunica o direta entre algumas unidades atrav s de barramento exclusivo possibilitando assim o processamento paralelo de intru es BIOS Basic Input Output System o conjunto m nimo de instru es necess rias para a inicializa o do computador Tamb m gerencia o fluxo de dados entre o sistema operacional do computador e os dispositivos perif ricos conectados Mem ria EPROM Erasable Programmable Read Only Memory S o mem rias somente de leitura usadas para a grava o de programas A grava o feita atrav
3. Exemplo 2 Fa a no ABACUS um programa que executa de forma ininterrupta uma contagem hexadecimal crescente de 00h at 60h seguida de uma contagem hexadecimal decrescente de 60h at 00h Label Mnem nico LXI SP 2090H MVI A 00H volta PUSH PSW CALL MOSTRA A POP PSW CPI 60H JZ decresce cresce INR A JMP volta decresce DCR A PUSH PSW CALL MOSTRA A POP PSW CPI 00H JZ cresce JMP decresce Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 60 4 3 Exerc cios Propostos 1 10 11 12 13 14 15 16 17 18 Fa a no ABACUS um programa que executa uma contagem decimal de 00 a 60 Fa a no ABACUS um programa que executa uma contagem decrescente em hexadecimal de 60 h at 00 h Repita o problema anterior para uma contagem decimal de 60 at 00 Fa a no ABACUS um programa que seleciona e mostra no display o maior n mero contido em uma tabela inserida na mem ria A tabela cont m n meros aleat rios e tem in cio no endere o 2050h e termine no endere o 205Fh Repita o problema anterior selecionando e mostrando o menor n mero Fa a no ABACUS um programa que seleciona e mostra no display os n meros mpares contidos em uma tabela inserida na mem ria A tabela cont m n meros aleat rios e tem in cio no endere o 2050h e termine no endere o 205Fh Use uma subrotina de atraso c
4. z Decodificador 16 Unidade de instru o Pet oa l gico e codificador de ciclo de Contador 16 m quina de programa Latch de endere incrementador decrementador Fonte de 13N alimenta o Temporiza o e controle Buffer de 8 dados endere os Iniciali za o Buffer de endere os Gerador de rel gio Controle STATUS CLK OUT RD WR ALE So i IOM RESET OUT e A15 Ag AD7 AD9 READY HOLD RESET IN Barramento de dados endere o Fig 2 1 Diagrama de blocos do microprocessador 8085 Principais Caracter sticas e microprocessador de 8 bits de prop sito geral com 6 200 transistores e opera com 5V e GND O 8080 seu antecessor opera com 12V 5V e 5V e 100 compat vel em software com o 8080A e conjunto de instru es com 74 instru es Estas 74 instru es resultam num total de 246 opcodes distintos e instru es do 8085 possuem 1 2 ou 3 bytes e H 2 registradores tempor rios de 8 bits W e Z n o aparentes ao programador n o endere veis e 8 linhas de dados barramento bidirecional e com 3S three state e 16 linhas de endere o permite endere amento de at 64kbytes 65 536 posi es de mem ria e barramento de dados multiplexado com parte baixa do barramento de endere o o hardware deve conter um latch ex 74373 para armazenar os endere os baixos Ay a Ay e possui pino de sele o de Entrada I e Sa da O
5. Ponteiro de Instru o Segmento de C digo Segmento de Dados Segmento de Pilha Segmento Extra Registradores de segmento S o usados para a forma o do endere o absoluto Registrador de Flags Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 106 9 2 Diagrama de Blocos do 8088 Uma das principais inova es do 8088 foi a separa o entre l gica de execu o e l gica de controle do barramento criando dois blocos que funcionam de forma ass ncrona a Unidade de Execu o EU e a Unidade de Interface com o Barramento BIU A EU tem como fun o processar decodificar e executar instru es obtidas da BIU A EU constitu da de e Registradores de Dados e Registradores de Endere os e ALU e Unidade de Controle A BIU tem apenas fun es de hardware controla o acesso ao barramento linhas de endere amento linhas de dados e sinais de controle A BIU constitu da de e L gica de interface com o barramento e Registradores de segmento e L gica para endere amento de mem ria somador e Fila de instru es 4 bytes para o 8088 e 6 bytes para o 8086 Procedimento de trabalho do 8088 1 A BIU coloca o conte do do IP que somado ao registrador CS no barramento para efetuar a busca de instru o O registrador IP incrementado aponta para a pr xima instru o A instru o lida passada para a fila
6. 25 Out O apontador de pilha registrador SP aponta sempre para o topo desta pilha top of stack ou seja para o ltimo dado que foi armazenado Os dados normalmente armazenados s o endere os de chamadas retornos de subrotina e endere os de retorno de interrup es que automaticamente armazenados pelo 8085 e ainda outros dados que podem ser armazenados pelo programador usando a instru o PUSH Posteriormente esses dados s o retirados da pilha usando a instru o POP Registrador Contador de Programa O registrador Contador de Programa PC Program Counter o registrador que armazena o endere o da pr xima instru o a ser executada incrementado pela unidade de controle ap s a execu o de uma instru o OBS as instru es est o localizadas na mem ria e precisam ser transferidas para dentro da CPU Sendo um registrador de 16 bits o registrador PC pode indicar at 65536 diferentes endere os 0 a 65535 ou 0000h a FFFFh 2 3 Frequ ncia de Clock A frequ ncia de clock do 8085A deve ficar na faixa de 500 kHz a 3 125 MHz J a frequ ncia de clock do 8085A 2 deve ficar entre 500 kHz e 5 MHz A fregii ncia de clock metade da frequ ncia do cristal oscilador como mostrado na express o que segue Isso ocorre porque o flip flop que gera o clock divide o sinal de entrada por 2 f cristal f clock 2 Feristal Fig 2 2 Conex o do cristal oscilador para a gera o da frequ ncia de clock 2
7. MOV CX MEMWO Carrega CX com posi o da vari vel de 1 word MEMWO MOV CX MEMWO Carrega CX com posi o da vari vel de 1 word MEMWO MOV BX BX 2 Carrega BX com conte do da posi o BX 2 e BX 2 1 MOV BP 2 BH Carrega posi o BP 2 com conte do do registrador BH MOV AX SI 6 AL SI 6 e AH amp SI 5 MOV AX BX SI AL lt BX SIJ e AH lt BX SI 1 MOV BX BP SI 3 BL amp BP SI 3 e BH BP SI 3 1 MOV BX MEMBYTSI O mesmo que MOV BX SI4MEMBY Observa es a Um registrador de segmento n o pode ser carregado usando o modo imediato Exemplos incorretos MOV CS 1000 MOV DS 3A00 b Somente o registrador BX e os ponteiros e ndices podem referenciar mem ria Exemplos incorretos MOV AX DX MOV CX AX c Destino e fonte n o podem especificar posi es de mem ria ao mesmo tempo Exemplo incorreto MOV BX SI Instru es Especiais de Transfer ncia de Dados Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 125 Mnem nico Descri o XCHG AX BX permuta registradores AX e BX gt AX BX XCHG AL CL Permuta registradores AL e CL XCHG DX SI Permuta DX com o conte do da posi o de mem ria endere ada por SI Neste exemplo DL amp SI e DH amp SI 1 LAHF AH lt Flags low SAHF Flags low lt AH IN AH 26
8. Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 36 As instru es apresentadas na tabela anterior est o na forma gen rica Cada uma dessas instru es representada por diferentes c digos de opera o OPCODES para diferentes registradores Na tabela a seguir as instru es de transfer ncia de dados s o desmembradas em seus diferentes opcodes MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE LDA adr 3A MOV BH 44 MOV E C 59 MOV LM 6E LDAX B 0A MOV B L 45 MOV E D 5A MOV M A 77 LDAX D 1A MOV B M 46 MOV E E 5B MOV M B 70 LHLD addr 2A MOV C A 4F MOV E H 5C MOV M C 71 LXI B Dado16 01 MOV C B 48 MOV EL 5D MOV M D 72 LXI D Dado16 11 MOV C C 49 MOV E M 5E MOV M E 73 LXI H Dado16 21 MOV C D 4A MOV H A 67 MOV M H 74 LXI SP Dadol6 31 MOV CE 4B MOV H B 60 MOV ML 75 MOV A B 78 MOV CH 4C MOV H C 61 MVI A Dado8 3E MOV A C 79 MOV C L 4D MOV H D 62 MVI B Dado8 06 MOV A D 7A MOV C M 4E MOV H E 63 MVIC Dado8 0E MOV A E 7B MOV D A 57 MOV H H 64 MVID Dado8 16 MOV A H 7C MOV D B 50 MOV H L 65 MVI E Dado8 1E MOV A L 7D MOV D C 51 MOV H M 66 MVI L Dado8 2E MOV A M 7E MOV D D 52 MOV L A 6F MVIM Dado8 36 MOV B A 47 MOV D E 53 MOV L B 68 SHLD addr 22 MOV B B 40 MOV D H 54 MOV L C 69 STA addr 32 MOV B C 41 MOV D L 55 MOV LD 6A STAX B 02 MOV B D 42 MOV DM 56 MOV L E 6B STAX D 12 MOV B D 42 MOV EA S
9. Universidade Federal de Goi s D EEEC Escola de Engenharia El trica e de Computa o Notas de Aula Microprocessador 8085 Microprocessador 8088 Prof Jos Wilson Lima Nerys PES N cleo de Estudo e Pesquisa em Processamento da Energia e Qualidade Goi nia 2006 Observa es 1 Esta apostila destina se ao ensino de Microprocessadores e Microcontroladores para alunos da 4 S rie de Engenharia El trica da Escola de Engenharia El trica e de Computa o da Universidade Federal de Goi s 2 N o se pretende com o uso desta apostila dispensar os livros did ticos indicados na refer ncia b sica mas apenas facilitar o ensino da disciplina em quest o reunindo num s volume o material a ser usado em sala de aula 3 A apostila est distribu das em cap tulos que cobrem dois dos tr s temas principais que s o Microprocessador 8085 Neste t pico s o abordados desde a estrutura b sica de um microprocessador at a aplica o do mesmo num sistema m nimo com microprocessador mem ria portas de entrada e sa da e outros perif ricos As instru es em assembly do 8085 s o empregadas na solu o de v rios problemas de cunho did tico com aux lio do simulador ABACUS Microprocessador 8088 O objetivo deste t pico fazer um estudo comparativo entre um microprocessador de 16 bits e o microprocessador 8085 8 bits e estudar o princ pio de funcionamento do 8088 8086 utilizado
10. Da mesma forma que o kit did tico o ABACUS tem algumas sub rotinas j prontas na mem ria ROM No caso do ABACUS s o apenas 4 mostradas na tela a seguir cujo acesso no ABACUS atrav s do menu Op es Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Sub rotinas simuladas em ROM LETECLA 027 MOSTRAD 0363 MOSTRAS 036E DELAY 58 osF1 Restaurar Cancelar Subrotina Endere o Fun o Entrada Sa da Registradores h Afetados LETECLA 02E7 Mostra uma entrada de dados no nenhuma A valor da A HeL simulador atrav s da qual um nico tecla lida caractere 0 a F pode ser digitado MOSTRAA 036E Mostra no display de dados o conte do A nenhuma todos do registrador A MOSTRAD 0363 Mostra no display de endere os o D byte mais nenhuma todos conte do dos registradores D e E significativo E byte menos significativo DELAY 05F1 Provoca atraso de tempo proporcional ao D 1 byte a ser nenhuma A DeE conte do de D mostrado no display E 2 byte a ser mostrado no display Nesse momento interessante refazer o exemplo usado com o kit did tico Tr s detalhes devem ser observados 1 A mem ria RAM do ABACUS come a no endere o 2000 h ao inv s de 4000 h 2 N o h necessidade de usar uma subrotina para apagar o display no ABACUS No kit essa subrotina essencial 3 fundamental definir a po
11. 3 1 Simbologia das Instru es addr address endere o quantidade de 16 bits dadog dado de 8 bits dadol6 dado de 16 bits byte 2 segundo byte da instru o byte 3 terceiro byte da instru o rT rl r2 Um dos registradores A B C D E H L a operador l gico AND v operador l gico OR Exemplo 1 Instru o MOV r1 r2 Indica o simb lica r1 lt 12 Significado O conte do do registrador r2 transferido copiado para o registrador rl O valor de SSS identifica o registrador r2 origem e o valor de DDD identifica o registrador r1 destino Para transferir o conte do do registrador B para o registrador A o mem nico da instru o MOV A B A cada mnem nico corresponde um c digo de opera o opcode em hexadecimal No caso dessa instru o 778 h Para transferir o conte do do registrador E para o registrador D o mnem nico da instru o MOV D E O opcode 53 h Exemplo 2 Instru o LDA addr Indica o simb lica A lt byte 3 byte 2 Significado O conte do da mem ria cujo endere o especificado nos bytes inferior byte 2 e superior byte 3 transferido copiado para o registrador A E uma instru o de 3 bytes opcode byte 3 byte 2 Para transferir o conte do do endere o 234B h da mem ria a instru o e o c digo da instru o seriam LDA 234B h Opcode 3A 4B 23 O conte do do byte menos significativ
12. A EU pega a primeira instru o da fila Send GOO Enquanto a EU executa esta instru o a BIU faz uma nova busca de instru o para preencher a fila Se a instru o a ser executada pela EU for muito demorada a BIU preenche toda a fila H 2 situa es em que n o s o aproveitadas as instru es contidas na fila S o elas e Na execu o de instru es de desvio Neste caso a fila descartada ou seja sobreescrita e Quando a instru o faz refer ncia mem ria Defini es gt Pipelining introdu o de paralelismo para executar programas de natureza sequencial OBS Esta tecnologia utilizada no projeto de processadores RISC gt Perif rico qualquer equipamento ou dispositivo que prov CPU comunica o com o resto do sistema gt Interface Conjunto de componentes capaz de controlar um dispositivo device OBS uma placa de expans o pode conter uma ou mais interfaces IP Instruction Pointer tem a mesma fun o do PC Program Counter no 8085 Uy Registrador de Segmento registrador que armazena o endere o base Deve ser somado ao endere o de deslocamento ou offset ou ainda endere o l gico para obter o endere o f sico ou endere o absoluto No 8088 os segmentos definem blocos de 64Kbytes de mem ria H 4 registradores de segmento Code Segment CS rea destinada a c digo Data Segment DS rea destinada a dados Extra Segment ES rea extra destinada a dados
13. Data set ready gt Receive data F Request to send Transmit data Clear to send Z Data terminal ready Ring indicator E Signal ground Protective ground Interface RS 422 Interface que proporciona taxa de transfer ncia de at 10 Mbit s para dist ncias de at 300m Seus circuitos el tricos s o balanceados ou seja cada sinal transmitido atrav s de um par de condutores um positivo e um negativo o que proporciona maior imunidade ao ru do Esta interface geralmente est dispon vel em conectores DB37 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 88 7 2 Integrados de Suporte 7 2 1 Mem rias RAM e ROM Como j foi enfatizado anteriormente o microprocessador 8085 precisa de alguns componentes auxiliares que al m de conterem mem rias ROM e RAM possibilitem a comunica o do 8085 com ambiente externo Dois desses componentes s o os Circuitos Integrados 8156 e 8355 PC3 1 Vec CE n E PCa 2 PC ce O 2 TIMER IN 3 PC clx O3 RESET QO 4 PCo RESET Q 4 PCs 5 PB 5 TIMER OUT 6 PBe READY 6 10 M 7 PB5 10 M Q7 CE 8 PB4 710R Ds RD PB3 RDO 9 WR PB TOW ALE PB ALE ADo PBo ADo AD PA AD AD PAg AD AD3 PAs AD3 AD4 PAs AD4 ADs PA3 ADs ADe PAs ADe AD Vss PA AD PAo Fig 7 1 Pastilhas de mem ria ROM e RAM CI Tipo de Mem ria e N mero de Portas Caracter sticas Capacidade de Entrada e Sa da 8156 RAM 256 bytes 3 2048 bits organizado
14. Na subida do sinal de clock em T1 o endere o transferido do barramento para a mem ria ROM 3 Na descida do sinal de clock estado T2 o PC incrementado em 1 ficando pronto para apontar a pr xima instru o O barramento est dispon vel para outras opera es Nesse instante tamb m O sinal RD torna se baixo habilitando uma opera o de leitura Como o sinal IO M permanece baixo trata se de leitura de mem ria Na subida do sinal de clock ainda estado T2 nenhum bloco est ativo O barramento continua dispon vel 5 Na descida do sinal de clock estado T3 o c digo da instru o ADD B lida da mem ria ROM endere o transferido do barramento para a mem ria ROM no passo 2 transferido para o barramento 6 Na subida do sinal de clock o bloco IR Registrador de Instru o carrega a instru o vinda da ROM e que est presente no barramento Termina o ciclo de busca da instru o ADD B CICLO DE EXECU O DE ADD B E BUSCA DE MOV B A Na descida do sinal de clock no in cio do estado T4 o conte do de B transferido para o barramento Na subida do clock no estado T4 o conte do de B presente no barramento transferido para um registrador tempor rio TMP para depois ser transferido para a unidade l gica e aritm tica 9 Durante o estado T1 do ciclo de m quina M2 n o h nenhuma opera o na instru o ADD B da uma outra instru o pode utilizar o barramento para iniciar o ciclo de busca No
15. o Essa posi o visualizada no display de endere os Usa se as teclas lt XRG gt lt PC gt SP gt Permite visualizar o conte do do apontador de pilha ou seja o endere o atual de armazenagem ou leitura da pilha Usa se as teclas lt XRG gt lt SP gt M gt Permite visualizar o conte do de mem ria cujo endere o dado pelo par HL Ao digitar se lt XRG gt lt M gt o conte do dos registradores H e L mostrado no display de endere os e o conte do da posi o de mem ria correspondente mostrado no display de dados Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 65 SUB gt Substitui se o conte do de uma determinada posi o de mem ria por outro byte Usa se digitando essa tecla seguida do endere o desejado O conte do atual aparece no display de dados quando ent o pode se substitu do Em seguida digita se lt EXC gt Resumindo lt SUB gt lt endere o gt lt novo conte do gt lt EXC gt DSP gt Permite mostrar Display o conte do de uma determinada posi o de mem ria Uso lt DSP gt lt endere o desejado gt DNX gt Permite mostrar no display o conte do do pr ximo endere o de mem ria ap s o uso da tecla DSP Usando repetidas vezes essa tecla pode se percorrer todo o programa digitado DMN gt Permite mostrar no display de dados o conte do de mem ria do endere o anterior ao atual usado da mesma forma que a tecla DNX GO gt usa
16. o O n o usado pela usados pelas arquitetura instru es IN e a indica se o dispositivo pensado a nao da placa ou dos slots define 512 portas O bit A9 tem um significado especial no projeto do PC quando est inativo 0 os dados n o podem ser recebidos pelo micro vindo dos slots S o habilitados apenas dados vindos de dispositivos de I O instalados na pr pria placa m e mother board main board ou system board Quando ativo 1 s o habilitados a recep o apenas de dados provenientes dos slots Tem se assim 512 portas para uso interno do PC e 512 portas para uso de dispositivos conectados nos slots ver figura abaixo AA AAAA AAAA AAAA AAAA 98 7654 3210 7654 3210 o x X X x x x x x x 1 X X x x x x x x X 000 1FF PARA PLACA 200 3FF PARA SLOTS Esta divis o aplica se apenas instru o IN instru o de entrada de I O Para a instru o OUT instru o de sa da de I O todos os 1024 endere os podem ser utilizados nos slots Em sintonia com a restri o da instru o IN o PC usa a primeira metade dos endere os para os dispositivos da placa principal placa m e e a metade restante para os dispositivos dos slots ver figura abaixo Endere o Quantidade de Endere os Fun o paga E 512 Di itivos da Placa Principal OIFF h ispositivos da Placa Principa 0200 h ve 03FF h 512 Dispositivos dos Slots 0400 h a FFFF h 64 512 N o usado no projeto do PC A segu
17. o de erros e para indicar o final do pacote Veja o formato t pico de um pacote de dados no exemplo do protocolo BISYNC logo abaixo onde SYN caracteres de sincronismo STX in cio de texto dados Dados 100 ou mais bytes ETX fim de texto BCC Block Check Character caractere utilizado para a detec o de erros PAD final de transmiss o Com este tipo de transmiss o fica claro que o overhead reduzido para uma mesma taxa de transmiss o o modo s ncrono ser mais r pido que o ass ncrono Interface RS 232 Interface proposta pela IBM na d cada de 60 e que vigora at hoje como a principal interface para transmiss o de dados a baixas velocidades Esta interface utiliza normalmente um conector DB25 Conector em forma de D com 25 pinos Pode ainda utilizar o DB9 usado para conectar o mouse e o DB15 Seus circuitos el tricos s o desbalanceados ou seja h um terra comum para todos os sinais Quando a interface RS 232 est inativa ela fica transmitindo Marca 12V Seus n veis el tricos s o mostrados na tabela abaixo N vel L gico Tens o TTL Tens o RS 232 0 0 a 0 8V 12V 3 a 15V 22a50V TV 3a ISV Principais Pinos DB25 DB9 TX Transmited Data 2 3 RX Received Data 3 2 GND Ground 7 5 RTS Request to Send 4 7 CTS Clear to Send 5 8 DSR Data Set Ready 6 6 DTR Data Terminal Ready 20 4 CD Carrier Detected 8 1 E T Data carrier detect
18. transferido incondicionalmente para a instru o cujo endere o dado no segundo e no terceiro bytes da instru o de desvio Jcondi o addr Se CCC ent o 2 3 7 10 imediato nenhuma Jump to address if CCC Se a condi o indicada for verdadeira o controle PC lt byte 3 byte 2 transferido para a instru o cujo endere o dado no segundo e no terceiro bytes da instru o de desvio Caso a condi o seja falsa o processamento continua sequencialmente JNZ addr Se CCC ent o 2 3 710 imediato nenhuma Jump if Not Zero Desvia para o endere o indicado se o resultado da opera o PC lt byte 3 byte 2 aritm tica anterior a esta instru o n o for zero ou seja desvia se Z 0 JZ addr Se CCC ent o 2 3 710 imediato nenhuma Jump if Zero Desvia para o endere o indicado se o resultado da opera o PC lt byte 3 byte 2 aritm tica anterior a esta instru o for igual a zero ou seja desvia se Z 1 JNC addr Se CCC ent o 2 3 7 10 imediato nenhuma Jump if No Carry Desvia para o endere o indicado se a flag de Carry estiver PC lt byte 3 byte 2 zerada CY 0 JC addr Se CCC ent o 2 3 7 10 imediato nenhuma Jump if Carry Desvia para o endere o indicado se a flag de Carry estiver PC lt byte 3 byte 2 setada CY 1 JPO addr Se CCC ent o 2 3 7 10 imediato nenhuma Jump if Parity Odd Desvia para o endere o indicado se a paridade for mpar PC byt
19. 112 Z 0 gt se o resultado da opera o for diferente de zero S Flag de Sinal igual ao bit de mais alta ordem do resultado de uma opera o aritm tica S 0 gt resultado positivo S 1 gt resultado negativo O Flag de Overflow seu conte do obtido atrav s de uma opera o XOR do carry in com o carry out do bit de mais alta ordem do resultado de uma opera o aritm tica Ele indica um overflow de magnitude em aritm tica bin ria com sinal Indica que o resultado muito grande para o campo destino Flags de Controle T Flag de Trap armadilha usada para a depura o de programas Coloca o 8086 no modo passo a passo Ap s cada instru o uma interrup o gerada automaticamente I Flag de Interrup o habilita ou desabilita a interrup o externa pedida pelo pino INTR Ao contr rio do 8085 onde as interrup es RST 7 5 RST 6 5 e RST 5 5 podem ser habilitadas desabilitadas individualmente no 8086 todas s o habilitadas ou desabilitadas ao mesmo tempo A habilita o desabilita o individual pode ser feita atrav s do controlador de interrup o 8259 I 1 5 interrup o habilitada I 0 gt interrup o desabilitada D Flag de Dire o determina se as opera es com strings v o incrementar ou decrementar os registradores de indexa o SI e DI D 1 5 os registradores SI e DI ser o decrementados ou seja a string ser acessa
20. 9 10 11 Quantas posi es de mem ria podem ser endere adas com um barramento de endere os de 16 bits E de 20 bits Como os indicadores abaixo contribuem para o aumento do desempenho de um processador a aumento da frequ ncia de clock b redu o do n mero de ciclos para executar uma instru o c processamento paralelo de instru es Qual a diferen a entre microprocessador e microcontrolador Diferencie bit nibble e byte Diferencie EPROM e EEPROM Converta os n meros abaixo que est o na base indicada para hexadecimal Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 21 a 345p h b 10100111 h c 10101010 h d 2551 h e 1280 h 10100111011 h 1 10 Refer ncias Bibliogr ficas 1 Ziller Roberto M Microprocessadores Conceitos Importantes Edi o do Autor Florian polis SC 2000 2 http www intel com research silicon moorespaper pdf B www maebee com br 4 http www intel com intel intelis museum exhibits hist micro hof 5 http www computerhistory org timeline Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 22 2 ARQUITETURA E PRINC PIO DE FUNCIONAMENTO DO 8085 2 1 Diagrama de Blocos do Microprocessador 8085 INTA RST 6 5 TRAP I Controle de Interrup o centos aa Registrador t8 de instru o 8 Acumulador 8
21. A maioria dos exemplos dados a seguir s o exemplos do emulador do 8086 chamado Emu8086 v2 58 Eles podem ser verificados atrav s desse emulador 1 Adiciona o conte do de dois registradores Mnem nico Descri o make BINH Diretiva do compilador para gerar um arquivo bin MOV AX 5 Registrador AX 0005 decimal MOV BX 10 Registrador BX 0010 decimal ADD AX BX Faz AX AX BX gt AX 0005 h 000A h 000F h 15 dec SUB AX 1 Faz AX AX 0001 h gt AX 000F 0001 000E h 14 dec HLT P ra programa 2 Calcula a soma dos elementos do vetor V1 e armazena o resultado na vari vel V2 R tulo Mnem nico Descri o Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 134 make_BIN Diretiva do compilador para gerar um arquivo bin MOV CX 5 N mero de elementos CE 5 decimal MOV AL O Registrador AL registrar a soma dos elementos valor inicial 0 MOV BX 0 BX o indexador Valor inicial 0 Next ADD AL V1 BX Faz AL AL V1 BX Conte do da posi o V1 BX MOV VI BX BL Modifica o conte do da posi o V1 BX com o valor de BL INC BX Incrementa BX LOOP Next Retorna para Next at o contador CX 0 Decrementa CX automaticamente MOV V2 AL Armazena conte do de AL na vari vel V2 HLT P ra programa V1 DB 4 3 2 1 0 Valores do vetor
22. INR M MAL MD 1 3 10 indiretor por Z S P e AC O conte do da posi o apontada pelo par HL incrementado de 1 registrador DCRr e r 1 1 4 registrador Z S Pe AC O conte do do registrador r decrementado Todas as Flags s o afetadas exceto CY DCR M HL HXL 1 3 10 indireto por Z S P e AC O conte do da posi o apontada pelo par HL decrementada de 1 registrador INX rp rh lt rh rl 1 1 6 registrador nenhuma O conte do do registrador par rp adicionado de 1 Nenhuma Flag afetada Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Instru es Aritm ticas Continua o Mnem nico Simbologia N de N de Modo de Flags Coment rio Gen rico Ciclos Estados Endere amento Afetadas DCX rp rh rl lt rh rl 1 1 6 registrador nenhuma O conte do do registrador par rp decrementado de 1 DAD rp MA HL rh rl 3 10 registrador CY O conte do do registrador par rp adicionado ao conte do do registrador par HL Somente a Flag de Carry CY afetada DAA 1 4 registrador todas Faz o ajuste decimal do n mero no acumulador O n mero de 8 bits do acumulador ajustado para formar dois n meros de 4 bits em BCD A regra seguida a seguinte 1 Se o n mero representado pelo nibble inferior for maior do que 9
23. Perif rico Porta 10 h IN CIO STATUS Microprocessador 8085 Fig 6 6 Entrada de dados programada Nesse exemplo quando a CPU est pronta para receber dados ela envia um bit alto de IN CIO bit 6 para o perif rico Quando os dados est o prontos um bit alto de STATUS bit 7 enviado de volta CPU Em seguida os dados s o transferidos do perif rico para a CPU O grande problema nesse tipo de transfer ncia de dados que a CPU fica aguardando o bit alto de STATUS o que pode significar um tempo consider vel uma vez que a maior parte do tempo gasto esperando o perif rico terminar o processamento de dados Exemplo de Transfer ncia por Interrup o Interrup o Microprocessador Reconhecimento Perif rico sos E a Dados Fig 6 7 Transfer ncia de dados por interrup o Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 83 Nesse exemplo a CPU n o precisa aguardar o processamento do perif rico Quando o perif rico est pronto para transferir ou receber os dados um bit de INTERRUP O enviado CPU O processamento normal da CPU interrompido para atender o pedido externo Um bit de RECONHECIMENTO de interrup o enviado para o perif rico havendo ent o a transfer ncia dados para a CPU Exemplo de Transfer ncia por DMA HOLD Microprocessador HLDA Controlador de ms A n m Barramentos MEM RIA Fig 6 8 Transfer ncia de d
24. Tradu o Anat lio Laschuk revis o t cnica Rodrigo Araes Caldas Farias McGraw Hill S o Paulo 1985 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 98 8 INTERFACE ANAL GICA Como os dados de um microprocessador est o na forma digital e os dados do mundo exterior est o na forma anal gica cont nua necess rio fazer a convers o entre esses dados Assim tem se o Conversor Anal gico Digital ADC que faz a convers o de sinal anal gico para sinal digital e o Conversor Digital Anal gico DAC que faz a convers o de sinal digital para sinal anal gico Sistema Sinal M nimo Digital com 8085 Sinal DAC Sinal Anal gico Anal gico Fig 8 1 Processamento de sinal anal gico pelo Microprocessador 8 1 Conversor Digital Anal gico Um circuito somador com Amplificador Operacional pode ser usado para construir um conversor digital anal gico bastando para isso escolher valores ponderados dos resistores como na figura 8 2 a seguir A figura mostra um conversor DA de 4 bits VREF Voatda Fig 8 2 Circuito B sico de um Conversor Anal gico Digital Estas chaves podem ser substitu das por transistores que trabalhar o na regi o de corte quando D 0 na regi o de satura o quando D 1 Correntes nas resist ncias quando as chaves Ds D2 D e Do est o ligadas Tac VREF Ls VREF TE VREF Ta VREF 3S R PO R 1 4R O gR A corrente total na resist
25. es para movimenta o de strings Mnem nico Descri o STOSB Armazena o byte em AL no endere o padr o ES DI ES DI AL Se D 0 incrementa DI se D 1 decrementa DI STOSW Armazena o word em AX no endere o padr o ES DI ES DI AL ES DI 1 lt AH SeD 0DI lt DI 2 SeD 1DI lt DI 2 LODSB Copia em AL o byte localizado no endere o padr o DS SI AL lt DS SI Se DF 0 incrementa SI Se DF 1 decrementa SI LODSW Copia em AX o word localizado no endere o padr o DS SI AL DS SIH AH DS SH 1 Se DF 0 SI lt SI 2 Se DF 1 SI amp SI 2 MOVSB Copia bytes da regi o de origem padr o DS ST para a regi o de destino padr o ES DJ Sendo a origem e o destino as regi es padr es ao contr rio da instru o MOVS a instru o n o precisa de argumentos ES DI DS SI Se D 0 incrementa SI e DI Se D 1 decrementa SI e DI MOVSW Copia words da regi o de origem padr o DS SI para a regi o de destino padr o ES DJ Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 127 Sendo a origem e o destino as regi es padr es ao contr rio da instru o MOVS a instru o n o precisa de argumentos ES DI DS SI ES DI 1 DS SI 1 SeD 0 DI lt DI 2 e SI SI 2 SeD 1 DI DI 2 e SIesSI 2 CMPSB Compara os bytes das posi es DS SI e ES DI e atualiza Flags DS SI ES DI CMPSW Compara os words das posi
26. ltimo caso diz se que houve sobreposi o dos ciclos de busca e execu o SBE No diagrama da Fig 2 4 aparece um est gio a mais denominado de Per odo de Espera Tai Ele gerado quando h necessidade de retardar o processo de busca da instru o em fun o de atraso no processamento de informa es por um perif rico Esse intervalo de espera aparece sempre ap s o estado T2 Para exemplificar o princ pio de opera o do 8085 mostrado a seguir o processo de busca e execu o das instru es ADD B adi o do conte do do registrador B ao conte do do registrador A O resultado guardado em A e MOV B A move copia o conte do do registrador A no registrador B Microprocessador CPU Contador de Programa PC I Barramento de Endere os Acumulador Registrador de A ou ACC Instru es IR Opcode Outros ROM Registradores Unidade de Decodifica o de B C D E H L Instru es i Endere o Instru o 0000 h ADD B 0001 h MOV B A Unidade de Controle RAM Endere o Conte do Unidade L gica e Aritm tica ALU Fig 2 6 Diagrama de blocos simplificado de um computador O barramento de endere os de 16 bits sendo que os 8 bits menos significativos s o usados tamb m para a transfer ncia de dados enquanto que os 8 bits mais significativos s o exclusivos para endere os Assim a chave de tr s estados desempenha um papel essencia
27. ns 80 Reservada ou N o Documentada r g 16 Porta Paralela ou Impressora 2 o 112 Reservada ou N o Documentada a i 16 Porta Serial 2 ro 32 Placa de Prototipo E E 16 Adaptador de Disco R gido es E 64 N o Documentada e E 16 Impressora Paralela Principal pa 48 Reservada ou N o Documentada o 16 Placa de V deo Monocrom tica CE 16 Placa de V deo EGA e 16 Placa de V deo CGA o 16 Reservado E E RR Disco Flex vel e Porta Serial 9 12 Decodifica o de Endere os A decodifica o de endere os de I O semelhante ao mapeamento de mem ria e utilizada em qualquer placa de interface Para acessar perif ricos de I O o PC XT utiliza se apenas 10 bits de endere os de AO a A9 Pode portanto endere ar 1024 endere os diferentes Decodificar um endere o ou grupo de endere os gerar um nico sinal geralmente baixo a partir dos sinais de endere o e controle Este sinal chamado de habilita o e ligado nos CI s perif ricos no pino CS Chip Select ou CE Chip Enable Para gerar este sinal pode se utilizar CT s decodificadores e portas l gicas mais simples decodificando os sinais de controle IOR IOW e AEN e os sinais de Endere os 99 A0 at A9 O decodificador 74LS138 um dos decoficadores usados nesse processo Um decoficador 74LS154 cuja principal diferen a do 74LS138 possuir dois sinais de habilita o e quatro sinais de sele o gerando portanto 16 sa das diferentes 9 13 Exemplos Gerais
28. o Stack Segment SS rea destinada a armazenar endere os de retorno de rotinas de interrup es e de sub rotinas Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 107 Interface com Mem ria Barramento B Unidade de Interfaceamento ad com Barramento BIU Era QUEUE 4 Extra Segment ES 3 Code Segment CS Stack Segment SS Registradores de 2 Data Segment DS Segmento j Instruction Pointer IP Sistema de Controle da Unidade de Execu o Barramento A Unidade de Execu o EU Stack Pointer Base Pointer Source Index Destination Index Diagrama de blocos do 8088 8086 Vantagens da Utiliza o de Mem ria Segmentada e Por haver uma rea espec fica para armazenamento de c digo e outras reas para armazenamento de dados pode se trabalhar com tipos diferentes de conjuntos de dados por exemplo em um ambiente multitarefa onde um programa atende v rias entradas de dados e Programas que referenciam endere os l gicos 0000 a FFFF no caso do 8088 podem ser carregados em qualquer espa o f sico da mem ria 00000 a FFFFF possibilita a realoca o de programas SEGMENTA O Consiste em combinar 2 registradores de 16 bits para gerar um endere o de mem ria de 20 bits Registrador de Registrador de Segmento Offset Microprocessadores e Microcomputadores Prof Jos Wilso
29. o colocada no barramento de dados 8086 salva PSW na pilha Apaga flag TF Trap passo a passo e se for reservada tamb m IF Interrupt Flag desabilita interrup es por INTR Salva CS segmento e IP offset na pilha Carrega novo IP a partir do endere o 4 nn Carrega novo CS a partir do endere o 4 nn 2 9 9 4 Interrup es por Software S o interrup es solicitadas atrav s da instru o INT nn onde nn deve estar entre 32 e 255 as interrup es de O a 31 s o reservadas As interrup es geradas pela instru o INT nn n o s o mascar veis A sequ ncia de atendimento de uma interrup o por software e tamb m de uma interrup o reservada Salva PSW na pilha Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 123 Apaga flag TF Trap passo a passo e se for reservada tamb m IF Interrupt Flag desabilita interrup es por INTR Salva CS segmento e IP offset na pilha Carrega novo IP a partir do endere o 4 nn Carrega novo CS a partir do endere o 4 nn 2 Embora existam 256 interrup es por software cada uma delas pode ter at 256 sub fun es diferentes ou seja atrav s das interrup es por software pode se executar 256 256 65 536 fun es diferentes Normalmente o registrador AH usado para passar para a interrup o qual a fun o a ser executada A tabela a seguir exemplifica algumas dessas fun es
30. o de transistores resulta ainda na redu o do consumo de energia el trica e do custo dos microprocessadores H um postulado que diz que o gate de um transistor n o pode ser menor do a largura correspondente a 10 tomos A previs o de pesquisadores da Intel a dimens o do gate dos transistores alcan ar o esse valor por volta do ano 2017 http www intel com update archive issue2 focus htm Silicon Process 1 54 1 0u 0 8u 0 6u 0 35u 0 254 Technology Intel3867M DX Processor S E Intel4867M DX Processor La E ES Pentium Processor ER Ea pa Pentium Pro amp Pentiume Il Processors 25 Fig 1 2 Redu o do tamanho f sico dos processadores 1 3 Defini es e Classifica es B sicas gt COMPUTADOR defini es M quina destinada a reduzir c mputos c lculos e tomadas de decis es M quina que executa uma segii ncia de opera es descritas por um programa sobre um determinado dado e produz uma sa da Dispositivo com a habilidade de ser programado para operar armazenar relembrar e processar dados sem a interven o humana Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 15 gt COMPUTADOR classifica o quanto velocidade de processamento n mero de registradores da CPU complexidade do sistema operacional etc Microcomputador Computador que tem a CPU implementada em um nico chip o microprocessador Minicomputador Multi usu rio
31. 11 2 ou 2 e bit de paridade usado para detectar erros simples pode ser especificado como mpar par ou nenhum e taxa de transmiss o etc Uma das considera es que devem ser feitas ao se utilizar a comunica o serial entre perif ricos e computador ou entre dois computadores a sele o de par metros de comunica o compat veis Um dos problemas mais comuns o de configura o de taxas de transmiss o distintas entre o transmissor e o receptor Transmiss o Serial S ncrona Processo de comunica o no qual o transmissor e o receptor est o sincronizados pelo mesmo sinal de clock O transmissor envia continuamente caracteres de sincronismo sempre que n o existir dado a ser transmitido Na transmiss o serial ass ncrona os bits de start e stop representam um grande overhead nos dados transmitidos reduzindo a taxa de transfer ncia de informa es Na transmiss o serial s ncrona tamb m Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 87 necessitamos de um certo tipo de overhead para sincronismo pois como o receptor saberia quando o dado significativo para receb lo e guard lo O start bit da comunica o ass ncrona substitu do por um caracter de sincronismo Este caracter diz ao receptor que os dados est o a seguir Os dados s o transmitidos entre caracteres especiais que servem para sincronismo e para informar quando iniciam e terminam os dados para detec
32. An Primeira RAM 2x RAM 2114 4400h 47FFh Segunda RAM 2x RAM 2114 4800h 4BFFh Terceira RAM 2x RAM 2114 4C00h 4FFFh Quarta RAM Fig 7 4 Circuito l gico para conex o de 4 conjuntos de RAMs 2114 ao sistema m nimo A Quarta RAM 2114 acessada a partir do endere o 4C00h As Au As Ao An Ao Ao A AD AD AD AD AD AD AD AD 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 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 91 Desejando se acrescentar mais 4 conjuntos de RAMs de forma a ter um sistema m nimo com 8 Kbytes de mem ria precisa se de mais um pino de sele o que no caso o pino Ar A o E 2x RAM2114 Am 1d D 4000h 43FFh TE Es ZONAS DE ENDERE O PARA A RAM E ES 2x RAM2114 2114 A PARTIR DE 4000h A 4400h 47FFh Eca RAM 2 ZONA BYTES ENDERE O 1 1024 4000 43FF 2 1024 4400 47FF E 2x RAM 2114 3 1024 4800 4BFF ES EA 4800h 4BFFh 4 1024 4C00 4FFF peido 224 RAM 3 5 1024 5000 53FF 6 1024 5400 57FF 7 1024 5800 5BFF oOo 2x RAM 2114 8 1024 5C00 5FFF SEA PE 9 1024
33. CS DS SS e ES podem assumir o mesmo valor ou valores pr ximos ou seja podem se sobrepor parcial ou totalmente O programador deve tomar cuidado para que isto apenas ocorra se for estritamente necess rio Estes 4 registradores podem apontar para qualquer regi o de 64 kB no espa o de 1 MB Uma vez setados haver uma regi o de 64kB para o c digo CS 64kB para dados CS 64kB para pilha SS e 64kB para dados extra ES Em qualquer momento que o programa necessite manipular a mem ria f sica fora das atuais regi es de 64 kB ele deve manipular o registrador de segmento apropriado alterando o atrav s de instru es de transfer ncia de dados As figuras a seguir ilustram as regi es definidas pelos registradores de segmento sem e com sobreposi o Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys FFFFFH 00000H MULTIPLICIDADE DE ENDERE OS de offset FFFFFH Ea 00000H Exemplo Endere o F sico 10020 h Possibilidades de pares SEGMENTO OFFSET 1000h 0020h 1000h 10h 20h 1001h 0010h 1001h 10h 10h 1002h 0000h 1002h 10h 00h Um segmento tem at 64 kBytes lt 64 kB lt 64 kB lt 6 kB lt 64 kB J j O Um mesmo endere o pode ser acessado usando diferentes registradores de segmentos e diferentes registradores lt 64 kB lt 64 kB 117 Microprocessadores e M
34. Fa a a leitura do acumulador mostrado abaixo ap s uma instru o RIM SID I7 5 16 5 I5 5 IE M7 5 M6 5 M55 A 0 0 1 1 1 1 1 0 30 Zerar o flip flop da interrup o RST 7 5 setar e habilitar as interrup es RST 7 5 e RST 6 5 e mascarar a interrup o RST 5 5 Comente o valor de cada bit utilizado na instru o de setagem de m scara Desenhe um circuito simples com fototransistor que possa ser usado para acionar a interrup o RST 7 5 com a interrup o de um sinal luminoso 31 Fa a um programa no ABACUS usando o assembly do 8085 que mostre uma contagem decimal crescente no display de zero a 50 Ao alcan ar o valor 50 a interrup o RST 7 5 deve ser habilitada e o programa deve ficar aguardando um pedido de interrup o Quando a interrup o RST 7 5 for solicitada a contagem no display deve se tornar decrescente e a interrup o desabilitada at alcan ar o valor zero Alcan ado o valor zero a interrup o deve ser habilitada novamente para iniciar outra contagem decimal at 50 e assim sucessivamente Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 32 84 Fa a um programa no ABACUS que mostre uma contagem decimal no display sendo que esta contagem deve ser crescente at que ocorra uma interrup o RST 6 5 quando ent o a contagem dever se tornar decrescente Caso ocorra uma nova interrup o RST 6 5 o programa deve voltar a contar na
35. Registrador Acumulador o principal registrador da CPU utilizado como Buffer tempor rio de entrada da Unidade L gica e Aritm tica ALU ou ULA Fregiientemente o registrador de entrada ou sa da da CPU utilizado implicitamente na maioria das instru es um registrador de 8 bits o que permite trabalhar com n meros sem sinal de O a 255 e n meros com sinal de 128 a 127 O resultado das opera es resultantes da ULA enviado para o Acumulador Registrador TEMP um registrador auxiliar usado para a entrada de dados da Unidade L gico Aritm tica Os dados desse registrador s o enviados para a ULA juntamente com os dados do Acumulador Registrador Flip flops dos flags tamb m conhecido como registrador F de Flags ou registrador PSW Program Status Word um registrador de 8 bits mas somente 5 bits s o utilizados que armazena o estado da ltima opera o realizada na ULA S o 5 as flags do 8085 conforme mostrado a seguir Registrador F bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit O S Z x AC x P x CY Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 24 S Flag de Sinal assume o valor 1 quando o resultado de uma opera o negativo Z Flag de Zero assume o valor 1 quando o resultado de uma opera o zero AC Auxiliar de Carry flag usada como auxiliar de transporte Assume valor 1 quando h transporte
36. SI Byte apontado por SI complementado NOT WORD PTR SI Word apontado por SI complementado AND CX DX Fun o AND entre CX e DX AND BL BYTE PTR SI Fun o AND entre BL e conte do do Byte apontado por SI AND AX 8000 H Fun o AND entre AX e 8000 H OR CX DX Fun o OR entre CX e DX OR BL BYTE PTR SI OR AX 8000 XOR CL DH Fun o XOR entre CL e DH XOR BX WORD PTR SI Fun o XOR entre BX e o Word apontado por SI XOR AX 8000 TEST CX DX Semelhante ao AND apenas n o altera os operandos utilizado quando se deseja testar v rios bits se o teste do 1 bit fracassa pode se testar o 2 bit TEST AX 3000 EXEMPLO Determine o estado do registrador AL e dos flags ap s as sequ ncia de instru es MOV AL 6D MOV BH 40 AND AL BL Resultado das Flags C 0 gt n o houve transporte do bit 7 para o 8 na opera o de 8 bits executada Z 1 gt o resultado da opera o zero S 0 gt o bit mais significativo ap s a opera o zero n mero positivo O 0 gt n o houve overflow na opera o P 1 gt h um n mero par de bits 1 nos 8 primeiros bits ap s a opera o n mero de 1s 0 A 0 gt n o houve transporte do bit 3 para o bit I 1 5 interrup o desabilitada D 0 gt os registradores SI e DI ser o incrementados nas opera es com string Instru es de Deslocamento e de Rota o SHL AL 1 Deslocar esquerda uma vez Formato SHL destino
37. meros come am nas posi es 2041 e 2061 1 byte o menos significativo O resultado deve substituir o n mero que come a na posi o 2041 Escrever uma sub rotina que divida dois n meros de 8 bits Os dois n meros est o nas posi es 2050 dividendo e 2051 divisor O quociente deve ser armazenado na posi o 2052 e o resto na posi o 2053 Fa a no ABACUS um programa que l um n mero de 1 byte pelo teclado dividendo em seguida l outro n mero de 1 byte pelo teclado divisor faz divis o e mostra o quociente no display de endere os e o resto no display de dados nom Fa a no ABACUS um programa que l um n mero x pelo teclado e mostra no display o resultado da opera o 3x 5 Fa a no ABACUS um programa que l um n mero x pelo teclado e mostra no display o resultado da opera o 5x 2 Fa a no ABACUS um programa que l um n mero x pelo teclado e mostra no display o resultado da opera o 3 x 5 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 61 nom 19 Fa a no ABACUS um programa que l um n mero x pelo teclado e mostra no display o resultado da opera o 5 x 2 20 O trecho de programa dado abaixo usado para montar uma tabela de 10 n meros cada um com dois d gitos LABEL MNEM NICO LABEL MNEM NICO LXI SP 2080h LEITURA PUSHH LXI H 2050h CALL L
38. s de uma gravadora espec fica e os dados gravados podem ser apagados atrav s de raios ultravioletas Pode se repetir esse processo gravar apagar por v rias vezes Mem ria EEPROM ou E PROM Electrically Erasable Programmable Read Only Memory S o mem rias que podem ser usadas tanto para leitura quanto para escrita porque a grava o pode ser atrav s de gravadora espec fica ou pelo sistema S o apagadas eletricamente o feita atrav s de uma gravadora espec fica e os dados gravados podem ser apagados atrav s de raios ultravioletas Pode se repetir esse processo gravar apagar por v rias vezes Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 19 1 8 Sistemas de Numera o 1 8 1 Sistema Decimal O sistema decimal utiliza 10 d gitos que v o de 0 a 9 Exemplo 3461 1 d gito Armazena as unidades ou 10 1 Noex seis unidades ou 6x 10 2 d gito Armazena as dezenas ou 10 10 Noex quatro dezenas ou 4 x 105 3 d gito Armazena as centenas ou 10 100 No ex tr s centenas ou 3 x 107 A soma destas parcelas eq ivale a 6 40 300 34610 A pondera o dada pelo n mero 10 elevado pot ncia representada pela coluna sendo que a 1 coluna da direita O 1 8 2 Sistema Bin rio O sistema bin rio o sistema de numera o que o computador entende Utiliza 2 d gitos O e 1 ou OFF e ON ou 0V e 5V ou 0V e 3 3V Exemplo 11001011 1 d g
39. 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 Como a ROM 8355 tem 2048 bytes 800 h de mem ria as posi es ocupadas por estes bytes v o de O a 2047 que em hexadecimal 0000 h at 07FF h O n mero de linhas de endere o necess rias s o 11 de AD a A10 porque 2 2048 Como a RAM 8156 tem apenas 256 bytes de mem ria os endere os desses bytes v o de O a 255 00 h a FF h Da como o endere o inicial escolhido para a mem ria RAM 2000 h na conex o do sistema m nimo dado o endere o final ser 20FF h O n mero de linhas de endere o necess rias s o 8 de AD a AD porque 2 256 A mem ria RAM do Kit did tico usado no laborat rio a RAM 2114 de 1 K de mem ria mas de apenas 4 bits Assim utiliza se duas a duas para forma 1 byte por endere o No kit o endere o inicial da RAM 4000 h S o necess rias 10 linhas de endere o 2 1024 400h Posi es de mem ria O a 1023 000 h a 3FF h Ais Aja Ao Ass Am Ao As A AD AD AD AD AD AD AD AD 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 A Segunda RAM 2114 do Kit did tico deve ser acessada a partir do primeiro endere o ap s a primeira RAM ou seja
40. 2090 SP ap s a instru o SP ap s a instru o SP ap s a instru o SP ap s a instru o 208E h 208C h 208E h 2090 h Observa es a Apesar da regi o da pilha continuar com o mesmo conte do ap s as instru es POP rp eles n o acess veis porque o Apontador de Pilha SP aponta para a posi o original de quando a pilha estava vazia b POP B vem antes de POP PSW porque a ordem de retirada da pilha inversa ordem de armazenagem Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 10 Exemplos de Programas em Assembly do 8085 52 1 Exemplo de uso de instru es de desvio e de controle A instru o MOV A B n o afeta nenhuma flag e portanto n o afeta a flag de zero Z decorrente da instru o DCR C Label Instru es Coment rio MVI C 10h Carrega o registrador C com o valor 10h volta DCR C Decrementa conte do do registrador C MOV A B Copia conte do de B em A N o afeta nenhuma flag JNZ volta Se o resultado de DCR C n o for ZERO desvia para volta fim HLT Esta instru o p ra o processamento do programa 2 Exemplo similar ao anterior mas usando a instru o JZ endere o e JMP endere o Label Instru es Coment rio MVI C 10h Carrega o registrador C com o valor 10 h volta DCR C Decrementa conte do do registrador C JZ fim Se o resultado de DCR C for ZERO desvia para fim MOV A B Copia conte do
41. 6502 MOS Utilizado pelo 1 APPLE APPLE 1 em 1976 por Steve Wozniak e Steve Jobs data da funda o da APPLE 1976 8085 INTEL 8080 operando com 5V 2 instru es a que o 8080 melhor performance 5 MHz 370 000 instru es s 6500 transistores 1978 8086 INTEL Processador 16 bits barram externo de 16 bits e registradores de 16 bits 5 MHz 0 33 MIPS 8 MHz 0 66 MIPS e 10 MHz 0 75 MIPS 29 000 transistores 1979 8088 INTEL Processador 16 bits barram externo de 8 bits e registradores de 16 bits 133 instru es chip utilizado no primeiro PC em 1981 O PC XT seria lan ado em 1983 com HD de 10 MB e 128 Kbyte RAM 29 000 transistores Lan ado o 68 000 MOTOROLA que foi utilizado no Machintosh em 1984 1980 Coprocessador 8087 processador matem tico 8051 INTEL Lan ado o microcontrolador 8051 microprocessador perif ricos RAM ROM Serial Timer Controlador de Interrup o etc num nico chip voltado para aplica es de controle 1982 80186 188 80286 80287 INTEL PC AT 16 bits modo protegido 24 linhas endere os 1985 80386 INTEL Processador de 32 bits bus ext de dados de 32bits 275 000 transistores 16MHz 2 5 MIPS 20 MHz 2 5 MIPS 25 MHz 2 7 MIPS 33 MHz 2 9 MIPS 1989 80486 INTEL Processador de 32 bits 386 que incorpora o 387 coprocessador cache interna L1 de 8KB e maior performance 235 ins
42. A mem ria RAM divide se ainda em Mem ria Din mica DRAM e mem ria est tica SRAM que ser o melhor detalhadas posteriormente A principal caracter stica a ser destacada neste ponto a baixa velocidade de acesso da mem ria RAM Com o passar dos anos os processadores tornaram se cada vez mais r pidos o mesmo n o acontecendo com as pastilhas de mem ria que evolu ram de forma bem menos acentuada em particular a mem ria din mica que possui velocidade de acesso bem menor que a est tica mas bem mais barata Para evitar com que a baixa velocidade de acesso da mem ria comprometesse o desempenho dos processadores mais modernos um tipo especial de mem ria RAM foi criado a mem ria CACHE A mem ria CACHE consiste numa pequena quantidade de mem ria RAM est tica SRAM usada para acelerar o acesso RAM din mica Quando h necessidade de ler dados da mem ria din mica estes s o antes transferidos para a mem ria cache Enquanto o processador l dados da mem ria cache mais dados s o antecipadamente transferidos da mem ria din mica para a mem ria cache de forma que o processamento torna se mais r pido 1 4 3 Unidade de Entrada e Sa da I O E a unidade atrav s da qual o usu rio se comunica com o sistema Ela abriga componentes respons veis pelo interfaceamento do sistema com perif ricos tais como teclado LCD mouse impressora e monitor E tamb m atrav s da unidade de entrada e sa da que s o enviados sinais
43. ADD B Adiciona B ao acumulador A A B DCR C Decrementa o contador C C 1 JNZ soma Desvia para volta se o resultado de DCR C n o for zero Se Z 0 RET Retorna para programa principal 8 Programa que gera uma contagem crescente em hexadecimal de 00 h a FF h e envia o resultado para a sa da 1 Label Mnem nico Coment rio MVI A 00h Zera acumulador A 00 h volta OUT Olh Envia valor de A para a Porta de sa da O1h INR A Incrementar conte do do acumulador A A 1 JNZ volta volta se conte do do acumulador for diferente de zero HLT Encerra quando conte do do acumulador for zero Obs Nesse programa o acumulador inicia com valor 00h e encerra quando o acumulador volta para o valor 00h ap s passar por todos os valores de 00 a FFh 9 Subrotina de atraso de 1 ms feita a suposi o de que um programa chama a subrotina denominada atraso que dada logo a seguir E suposto um tempo de lus para cada estado CALL atraso Label Mnem nico Coment rio atraso MVI C 46h Registrador C recebe valor 46 h 70 d volta DCR C Decrementa C C C 1 JNZ volta Volta se flag de zero for zero 2 0 gt C 0 NOP Estado inoperante No Operation Apenas retardo HLT Encerra quando conte do do acumulador for zero Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Instru o N de Vezes que a N de Estados Tempo de cada Tempo Parcial in
44. C ser usado como contador volta ADI 04h Adiciona Imediato 04h ao acumulador A A 04 h DCR C Decrementa o contador C C 1 JNZ volta volta se o resultado de DCR C n o for zero Se Z 0 HLT Encerra processamento quando C 0 ou seja flag Z 1 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 53 6 Outra vers o de programa que faz a multiplica o de 4 por 3 A instru o ADI Dado8 substitu da pela instru o ADD B O acumulador vai assumir os valores 00 h 04 h 08 h e finalmente OC h isto 12 decimal Label Mnem nico Coment rio MVI A 00h Zera acumulador A 00 h MVI B 04h Carrega o registrador B com 04 h MVI C 03h Carrega o registrador C com 03 h C ser usado como contador volta ADD B Adiciona B ao acumulador A A B DCR C Decrementa o contador C C 1 JNZ volta volta se o resultado de DCR C n o for zero Se Z 0 HLT Encerra processamento quando C 0 ou seja flag Z 1 7 Programa que faz a multiplica o de 4 por 3 usando uma subrotina Label Mnem nico Coment rio LXI SP 2090h Pilha na posi o 2090 h MVI A 00h Zera acumulador A 00 h MVI B 04h Carrega o registrador B com 04 h MVI C 03h Carrega o registrador C com 03 h C ser usado como contador CALL soma Chama subrotina que adiciona B ao acumulador HLT Encerra processamento soma
45. EC JP adr F2 PUSH B C5 RPO EO SPHL F9 CMP A BF CPI D8 FE JPE adr EA PUSH D D5 RSTO C7 STC 37 CMP B B8 CPO adr E4 JPO adr E2 PUSH H E5 RST 1 CE XCHG EB CMP C B9 CZ adr CC JZ adr CA PUSH PSW F5 RST 2 D7 XRI D8 EE CMP D BA DI F3 NOP 00 RC D8 RST 3 DF XTHL E3 CMP E BB EI FB ORI D8 F6 RET c9 RST 4 E7 CMP H BC IN D8 DB OUT D8 D3 RIM 20 RST5 EF CMP L BD JC adr DA PCHL E9 RM F8 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 51 3 9 Funcionamento da Pilha Como j foi dito anteriormente a Pilha uma regi o da mem ria RAM definida pelo usu rio para guardar valores que ser o usados posteriormente Assim o usu rio pode guardar o conte do de qualquer registrador dois a dois A e Flags Be C De E He L na pilha e o microprocessador guarda automaticamente os endere os de retorno de subrotinas comuns e de subrotinas de interrup es A seguir ilustrada a regi o da mem ria definida como Pilha Stack Observa es a O conte do guardado na pilha sempre de 16 bits Assim o microprocessador normalmente guarda o conte do de PC que j de 16 bits mas o usu rio normalmente guarda o conte do de registradores de 8 bits que ent o s o associados 2 a 2 b Os registradores duplos que podem ser guardados na pilha s o PSW A Flags B B C D D BeH H L c Para guardar o conte do de um desses registradores duplos
46. H mais de 3000 opcodes distintos se considerados os v rios modos de endere amento Abaixo est o listadas algumas instru es relativas a cada grupo funcional 9 10 1 Instru es de Transfer ncia de Dados e movimenta o de dados entre dois registradores e entre um registrador e posi o de mem ria e entre registradores e portas I O FORMATO destino fonte Formas gen ricas poss veis MOV REG mem ria Copia conte do da posi o de mem ria para o Registrador indicado MOV mem ria REG Copia conte do do registrador indicado para a posi o de mem ria MOV REG REG Copia conte do de um registrador para outro MOV mem ria imediato Carrega posi o de mem ria com valor indicado MOV REG immediate Carrega registrador com valor indicado Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Formas gen ricas poss veis para os registradores de segmento MOV SREG mem ria segmento indicado Copia conte do da posi o de mem ria para o Registrador de MOV mem ria SREG de mem ria Copia conte do do registrador de segmento indicado para a posi o MOV SREG REG Copia conte do de um registrador comum para um de segmento MOV REG SREG Copia conte do de um registrador de segmento para um comum 124 Podem ser movimentados byte ou word sendo que os registradores Ponteiros BP e SP ndices SI e
47. OD Decrementa 1 do conte do de C C 10h Olh 0Fh INX D 13 Incrementa 1 ao registrador par DE DE 1234h 1h 1235h DCX B OB Decrementa 1 do conte do do registrador par BC BC 030Fh 1h 030Eh DAD B 09 Adiciona ao registrador par HL o conte do do registrador par BC HL 0123h 0310h 0433h DAA 27 Corrige para decimal os nibbles inferior e superior do acumulador Antes A 0Ah Depois A 10h Exemplo especial Programa em assembly do 8085 para fazer a adi o de dois n meros com mais de 8 bits maiores que 255 Os n meros s o 452 e 926 452 decimal 1C4h 926 decimal 39E h Mnem nico C digo Coment rio MVI A C4h Carrega registradores com bytes inferior e superior das parcelas MVI B 01h MVI C 9Eh MVI D 03h ADD C Adiciona parcelas dos bytes inferiores A A C MOV L A Guarda resultado dos bytes inferiores em L MOV A B Carrega acumulador com uma das parcelas do byte superior ADC D Adiciona parcelas dos bytes superiores incluindo o bit de Carry MOV HA Guarda resultado dos bytes superiores em H Obs Ap s a primeira adi o ADD C a flag auxiliar de carry AC assume o valor 1 porque h transporte do bit 3 para o bit 4 Tamb m h transporte do bit 7 para o bit 8 o qual est fora da capacidade do acumulador A ilustra o da adi o acima mostrada abaixo em decimal hexadecimal e bin rio Decimal Hexa Bin rio Byte Superior Byte Inferio
48. bit menos significativo b N mero de degraus de um conversor 2 1 onde n o n mero de bits Para n 4 gt 15 degraus 1 Resolu o E a rela o entre o menor incremento poss vel 1 LSB e a sa da m xima Resolu o n n mero de bits No caso de n 4 Resolu o 2 1 15 Resolu o Percentual Resolu o x 100 No caso de 4 bits gt Resolu o Percentual 6 67 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 100 Resolu o do DA versus N mero de bits N mero de bits Resolu o Resolu o Percentual 4 1 15 6 67 8 1 255 0 392 12 1 4095 0 0244 16 1 65535 0 000381 2 Precis o Absoluta Refere se a qu o pr xima cada corrente de sa da est de seu valor ideal A precis o depende da toler ncia dos resistores do descasamento dos transistores e da tens o de refer ncia 3 Precis o Relativa Refere se a qu o pr ximo cada n vel de sa da est de sua fra o ideal de sa da total A precis o relativa depende principalmente da toler ncia dos resistores ponderados Se eles forem exatamente iguais a R 2R 4R e 8R no caso do conversor de 4 bits todos os degraus ser o iguais a 1 incremento LSB Se os resistores n o estiverem corretos os degraus poder o ser maiores ou menores que 1 incremento LSB 4 Monotonicidade Um conversor DA monot nico aquele que produz um aumento na corrente de sa da para cada
49. contador SHL BX CL Deslocar a esquerda CL vezes Bit7 ou Bit 15 Bit 0 Ep e Instru o SHL SHR AX 1 Deslocar direita uma vez SHR BL CL Deslocar direita CL vezes Bit 7 ou Bit 15 Bit O Instru o SHR Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys ROL AL 1 Rodar esquerda ROR CX CL Rodar direita CL vezes MSB LSB A Instru o ROL RCL AL 1 rodar a esquerda atrav s do CY MSB LSB Fc Instru o RCL RCR DL CL Rodar direita atrav s do CY CL vezes 9 10 4 Instru es Aritm ticas Mnem nico Descri o ADD SL DX soma de registradores ADD BYTE PTR BX CH ADD DI 6000 ADC SI DX soma de registradores com carry 9 10 5 ADC BYTE PTR BX CL SUB AX BX subtra o de registradores SUB BL 34 subtra o de cte imediata SBB AX CX subtra o de registradores com borrow SBB BL 34 subtra o de cte imediata com borrow DAA ajuste decimal para adi o DAS ajuste decimal para subtra o AAA ajuste ASCII para adi o AAS ajuste ASCII para subtra o INC CL incremento de registrador INC WORD PTR SI incremento de byte apontado por SI DEC CX decremento de registrador DEC WORD PTR SI NEG DX NEG WORD PTR SI complemento de 2 de registrador CMP BL BH compara o entre dois registradores BL e BH CMP BX CX c
50. da instru o CMP r Condi o Z CY A 1 1 0 A gt r 0 0 A lt r 0 1 Opcode e Mnem nico das Instru es L gicas 45 MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE ANA A A7 ORA B BO RLC 07 ANA B AO ORA C Bl RNC DO ANA C Al ORA D B2 RRC OF ANAD A2 ORA E B3 XRA A AF ANA E A3 ORA H B4 XRA B A8 ANA H A4 ORA L B5 XRA C A9 ANAL AS ORA M B6 XRA D AA ANA M A6 ORI Dado8 F6 XRA E AB ANI Dado8 E6 RAL 17 XRA H AC CMC 3F RAR 1F XRAL AD ORA A B7 RC D8 XRA M AE Exemplo de programa usando instru es l gicas Mnem nico C digo Coment rio MVI A 0Fh 3E OF Carrega acumulador com valor OFh MVI C 52h OE 52 Carrega registrador C com valor 52h MVI B 46h 06 46 Carrega registrador B com valor 46h ANA C Al Faz opera o A AND C ou OF AND 52h gt A 02h ANI 44h E6 44 Faz A AND 44h ou 02h AND 44h gt A 00h XRI 23h EE 23 Faz A XOR 23h ou 00h XOR 23h gt A 23h CPI 33h FE 33 Faz A 33h sem alterar A Ou 23 33h gt Z 0 e CY 1 RLC 07 Rotaciona A esquerda Resultado A 46h e CY 0 CMP B B8 Faz A B sem alterar A Ou 46h 46h gt Z 1 e CY 0 CMC 3F Complementa flag de Carry CY 1 RAR 1F Rotaciona A direita com Carry gt A A3h e CY 0 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 7 Instru es de Desv
51. de Barramento do 8086 O 8086 COMUNICA SE COM AMBIENTE EXTERNO ATRAV S DE UM SISTEMA DE BARRAMENTOS ASSIM EXISTEM CICLOS DE BARRAMENTO PARA BUSCAR FETCH INSTRU ES E PARA TRANSFERIR DADOS ESCREVER OU LER AS FIGURAS A SEGUIR ZELENOVSKY P G 22 MOSTRAM OS CICLOS DE LEITURA E ESCRITA RESPECTIVAMENTE Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 115 k Tt sk T2 x T3 7 Tio ITW ALE nz Elf ENDEREDO ESTADO ADO ADIS ic a SS E a D i m RE se SP A RSA Figura 2 4 Cicio de barramento para a leitura de dados ou instru o IR E TW ALE f e AINS ABRI XX ENDERE O X era ETA nas e ADI AQ15 X NDER As ATE e ss gi E O O da A me p DEN Figura 2 5 Ciclo de barramento para a escrita de dados T1 a T4 gt per odos de rel gio ALE Address Latch Enable O endere o s reconhecido depois que este sinal vai para n vel alto mas o endere o s efetivamente usado quando este sinal volta para o n vel l gico baixo Durante o ciclo T2 os sinais de endere o s o removidos ADO AD15 gt Barramento de dados No ciclo de leitura esse barramento colocado em estado de alta imped ncia no estado T2 em prepara o para a leitura de dados No ciclo de escrita a CPU coloca os dados no barra barramento no estado T2 RD gt Ativo baixo Indica leitura de dados da mem ria ou de um dispositivo de entrada e sa da Ativado em T2 WR gt Ativo bai
52. de Ciclo de M quina o registrador respons vel pela decodifica o de cada instru o e de defini o dos ciclos de m quina que ser o controlados pela unidade de controle Registradores B C D E He L S o registradores de prop sito geral de 8 bits e que podem ser combinados aos pares para formar registradores par rp register pair para armazenar endere os 16 bits Os pares formados s o BC DE e HL O primeiro registrador de cada par armazena o byte mais significativo isto B D e H Registrador par HL Registrador usado como apontador de dados na mem ria RAM semalhan a do registrador PC que aponta instru es e dados na mem ria ROM como ser visto numa se o posterior O registrador HL usado implicitamente em v rias instru es e referenciado nessas instru es M de Memory Registrador Apontador de Pilha O registrador apontador de pilha SP Stack Pointer um registrador de 16 bits usado como apontador de dados numa regi o especial da mem ria RAM denominada de Pilha Stack Esse espa o de mem ria especialmente destinado a guardar temporariamente informa es de registradores que ser o usados em outra tarefa A ordena o de elementos na pilha tal que somente um dado pode ser acessado num determinado instante e a ltima palavra digital que entra a primeira que sai Lista LIFO Last In First Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys
53. de O a 31 ou 00h a 1Fh s o reservadas Elas t m finalidades espec ficas para o 8086 Dentre as reservadas 5 interrup es j s o pr definidas no 8086 N mero da Endere o do Finalidade Interrup vetor 01H 0000h 0004h Execu o passo a passo E chamada sempre que a Flag de Trap T estiver setada Facilita a depura o de um programa 03H 0000h 000Ch Breakpoints Permite a execu o de programas para depura o at um endere o especificado pelo programador 05H 1FH 0000H 0014H Interrup es que n o s o pr definidas mas s o reservadas para o at 8086 As diversas vers es de sistemas usando o 8086 usam essas 0000H 007C H interrup es para finalidades espec ficas mas n o necessariamente id nticas entre os sistemas 9 9 3 Interrup es por Hardware S o interrup es solicitadas atrav s do pino INTR pino 18 Nesse pino conectado um controlador de interrup o que amplia para 8 os pedidos de interrup o S o interrup es mascar veis atrav s do bit IF do registrador de flags A seq ncia de atendimento de uma interrup o por hardware 8086 envia primeiro pulso INTA para perif rico ap s receber pedido de interrup o Ap s esse sinal reconhecimento de pedido de interrup o o perif rico prepara se para enviar o n mero da interrup o 8086 envia segundo pulso INTA para perif rico tendo como resposta do perif rico o n mero da interrup
54. de RAMs c Use portas l gicas para desenhar o circuito de habilita o dos grupos de RAMs a partir do endere o 1000h d Use o decodificador 74139 figura a seguir para a habilita o dos grupos de RAMs a partir do endere o 1000h Os pinos A e B s o usados para selecionar a sa da e o pino G1 usado para habilitar a pastilha 3 Y Linhas de endere o A o Yo P 74139 DE O Y2 G1 Y3 A B Y 0 0 Yo 0 1 YN 1 0 YA Pinos de habilita o 1 1 YA Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 10 97 A RAM 2114 de 1 K mas possui apenas 4 bits cada uma Por isso s o usadas de duas em duas de modo a formar 1 byte para cada endere o Deseja se associar 4 grupos de RAMs 2114 ver figura abaixo de modo a formar uma mem ria RAM de 4 Kbytes Pede se e Quais s o as linhas de endere o para a opera o das RAMs 2114 f Qual a faixa de endere os endere os cont nuos de cada grupo de RAMs Fa a um programa para o ABACUS com a seguinte caracter stica Quando a chave CHO OU a chave CH1 est ligada os LEDs ficam piscando em intervalos regulares Quando est o desligadas o programa fica num loop de espera 7 4 Refer ncias Bibliogr ficas 1 3 Ziller Roberto M Microprocessadores Conceitos Importantes Editora do autor Florian polis SC 2000 Malvino Albert P Microcomputadores e Microprocessadores
55. de forma ininterrupta 3 O programa a seguir uma adapta o do programa anterior contagem decimal para ser executado no kit did tico Codifique o programa e insira o no kit did tico Label Mnem nico C digo Label Mnem nico C digo LXI SP 4090 h decresce CALL APDIS MVI A 00 h PUSH PSW cresce CALL APDIS CALL DBYTE PUSH PSW CALL DELI1 CALL DBYTE POP PSW CALL DEL1 ADI 99 h POP PSW DAA ADI OI h CPI 00h DAA JNZ decresce CPI 99 h JMP cresce JNZ cresce HLT 4 Quest es do Experimento 6 a Por que a instru o INR A foi substitu da pela instru o ADI 01 h no programa 2 b Por que foi usada a instru o ADI 99 h nos programas 2 e 3 ao inv s de DCR A como no programa 1 c Por que foi usada a instru o CALL APDIS no programa 3 d Por que foi usada a instru o CALL DEL1 no programa 3 e Substitua a instru o CALL DEL1 por CALL DEL2 e observe o efeito Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 1 EXPERIMENTO 7 Objetivo Programa o com o assembly do 8085 e uso de INTERRUP ES Material Computador com o simulador ABACUS e kit did tico Execute os programas dados a seguir usando o simulador ABACUS e usando o m dulo did tico Programa 1 Usa subrotinas para gerar de forma ininterrupta uma sequ ncia crescente de 00 h a FF h no display de dados seguida de uma seq ncia decrescente FF h a 00 h Com
56. de interrup o para a CPU 1 4 4 Barramento Barramento o 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 O barramento espec fico para a comunica o entre o processador e a mem ria chamado de barramento de sistema Para a comunica o com os perif ricos os tr s tipos mais comuns de barramento hoje s o barramento ISA usado para interfaces seriais paralelas interface para drivers e alto falante barramento PCI usado para interfaces IDE e USB e barramento AGP usado para placas de v deo 3D de alto desempenho Um barramento constitu do de um barramento de dados um barramento de endere os e um barramento de controle O barramento de dados nos computadores mais modernos possui at 64 linhas bits e permite o fluxo bidirecional de dados O microprocessador 8085 objeto de estudo na primeira parte do presente curso possui 8 bits de dados e por esta raz o denominado de processador de 8 bits Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 17 A quantidade de posi es de mem ria que um computador pode acessar ditada pela quantidade de bits do barramento de endere os Um barramento com 32 bits pode acessar at 4 294 967 296 2 posi es de mem ria o que corresponde a 4 GB de mem ria 4 294 967 296 4 x 1024 x 1024 x 1024 4 GB Todos os processadores da classe Pentium po
57. digo 4009 CALL DEL1 CD 70 07 400C POP PSW F1 400D INR A 3C 400E JMP 4002 C3 02 40 5 Quest es do Experimento 1 a O que ocorre quando se diminui o valor de D no ABACUS b Por que foram usadas as instru es PUSH PSW e POP PSW no ABACUS e no Kit Did tico c Sendo SP 2020 h no ABACUS em que endere o ser armazenado o primeiro dado da pilha d A subrotina DEL1 provoca um atraso de 50 ms Mostre como ela pode ser usada para gerar um atraso de tempo de aproximadamente 200 ms Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 68 EXPERIMENTO 2 Objetivo Familiariza o com as instru es de transfer ncia de dados Material Computador com o simulador ABACUS e kit did tico Roteiro 1 Codifique as opera es dadas na tabela a seguir e insira no ABACUS os mnem nicos resultantes Depois execute cada instru o PASSO A PASSO observando o que ocorre no registrador ou nos registradores e posi es de mem ria envolvidas Opera o Mnem nico Coment rio ee o SSS esenl TT oem TT Pocm 0 Deco TT mpeg SSS opel D S SSS abso TT seno Cosan TT m 0 oca TT FERE FE R DI o 2 Complete a tabela dada a seguir fazendo uma adapta o do que foi feito na tabela anterior Acrescente os c digos das opera es e insira os no kit did tico Execute cada instru o PASSO A PASSO observando o que ocorre no registrador ou nos regi
58. do bit 3 para o bit 4 E usada em opera es BCD P Flag de Paridade assume valor 1 quando h um n mero de par de algarismos 1 no acumulador CY Flag de Carry transporte assume valor 1 quando h transporte do bit 7 Exemplos de opera o e os Flags resultantes CY 1 AC 1 Houve transporte do bit 3 para o bit 4 da AC 1 Houve transporte do bit 7 para o bit 8 da CY 1 bita do dis o dd 1 H quantitade par de bits 1 no resultado o resultado 0 0 0 0d do 001 est nos 8 primeiros bits porque todos os registradores IT i i L i 1 gt L possuem apenas 8 bits Da P 1 O resultado da opera o diferente de zero da Z 0 P 1 O bit 7 do resultado da opera o zero Da S 0 CY 1 N o houve transporte do bit 3 para o bit 4 da AC 0 LG Houve transporte do bit 7 para o bit 8 da CY 1 Lodo do H quantitade par de bits 1 no resultado o resultado 7 E A i g o o i est nos 8 primeiros bits porque todos os registradores 1000000 0 0 possuem apenas 8 bits Da P 1 O resultado da opera o igual a zero da Z 1 P 1eZ 1 Obit 7 do resultado da opera o zero Da S 0 Registrador de Instru o IR Instruction Register um registrador de 8 bits que armazena o primeiro byte da instru o OPCODE ou seja o conte do da mem ria apontado endere ado pelo registrado PC Registrador Decodificador de Instru o e Codificador
59. do ponto de terra onde o terra da corrente de sa da um terra virtual do amplificador operacional Dessa forma a corrente de sa da varia de acordo com o fechamento das chaves D A Fig 8 5 mostra a conex o de um conversor Digital Anal gico DAC0808 com um sistema m nimo formado pelo microprocessador 8085 mem ria ROM 8355 e mem ria RAM 8156 8 2 Conversor Anal gico Digital A Fig 8 6 mostra um circuito que converte um sinal anal gico em digital O processo de convers o usa um conversor digital anal gico e um contador No in cio da convers o um sinal de controle zera a sa da do contador Como o valor digital inicial zero a sa da do conversor DA tamb m zero o que resulta um sinal alto na sa da do amplificador operacional que compara o sinal anal gico de entrada V com o sinal anal gico Vsa da de sa da do conversor DA Esse sinal alto d in cio ao processo de convers o Comparador Vem Vsaida Conversor DIA de 8 bits Contador de Bbits CLK D D D5 D D D D Da S Inicio de convers o INICIO l Fim de convers o f l ci Fig 8 6 Circuito b sico de um Conversor Anal gico Digital A convers o se encerra quando o sinal de sa da do comparador estiver em n vel baixo ou seja quando o sinal Vsa da for maior que o sinal que se deseja converter Vem O resultado da convers o obtido nas linhas de transfer ncia de dados do contador para o conversor DA Observe qu
60. e seta flags ENDERE AMENTO IMEDIATO Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 120 Operando faz parte da pr pria instru o Usado para atribuir valores de 8 ou 16 bits a registradores Ex MOV AX 1000H gt faz AX 1000H CMP SI 0000H compara conte do de SI com 0000H e seta flags Obs Modo imediato n o pode ser usado para os registradores de segmento nem para as instru es PUSH ENDERE AMENTO ABSOLUTO OU DIRETO O operando est na mem ria A instru o cont m o offset do endere o do operando o segmento DS Ex MOV AX 1000H copia para AX o conte do localizado nos offsets 1000H e 1001 H ou seja AX 1234 H Endere o ENDERE AMENTO INDIRETO O operando est na mem ria A instru o ao inv s de conter o offset do endere o como no caso direto cont m um registrador que cont m o offset do endere o do operando Os registradores de offset podem ser BX BP DI ou SI o segmento DS Ex MOV AX BX copia para AX o conte do localizado no offset dado em BX Se BX 1000h ent o AX 1234h Endere o Exemplo de aplica o Tabelas onde o endere o de leitura da tabela dado atrav s do registrador de offset que incrementado para varredura da tabela ENDERE AMENTO INDEXADO Uma constante denominada base e um registrador de ndice s o usados A base e o ndice s o somados para a
61. endere o 4400 h As Aa g A n lAo AD AD AD AD AD AD AD AD 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 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 90 A Terceira RAM 2114 do Kit did tico deve ser acessada a partir do primeiro endere o ap s a segunda RAM ou seja endere o 4800 h As Aa As Ao An Ao As AD AD AD AD AD AD AD AD Endere o Inicial da SEGUNDA 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 SEGUNDA RAM 2114 do Kit Did tico Dessa forma um circuito l gico deve ser usado quando h um conjunto de pastilhas de mem ria no sistema m nimo A Fig 7 3 mostra o circuito l gico para conectar tr s conjuntos de RAMs A A RAM 2114 Aro 4000h 43FFh Agi Primeira RAM RAM 2114 4400h 47FFh Segunda RAM RAM 2114 4800h 4BFFh Terceira RAM Fig 7 3 Circuito l gico para conex o de 3 conjuntos de RAMs 2114 ao sistema m nimo Desejando se conectar um quarto conjunto de RAMs tem se o circuito l gico da Fig 7 4 a seguir Ars 2x RAM 2114 Aro 4000h 43FFh
62. entrada de um novo dado Q fam Resultado no display 30 70 Dado de entrada Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 62 23 Codifique usando mnem nicos do microprocessador 8085 e recursos do ABACUS os trechos de programas representados nos fluxogramas dados a seguir a Label Mnem nico b Label Mnem nico N ACE Mostra A 24 Fa a para executar no ABACUS um programa que l um n mero x de 1 d gito pelo teclado e mostra no display de dados o resultado de x 2 4 4 Refer ncias Bibliogr ficas 1 Ziller Roberto M Microprocessadores Conceitos Importantes Editora do autor Florian polis SC 2000 2 Intel MCS 80 85 M Family User s Manual Outubro de 1979 3 Malvino Albert P Microcomputadores e Microprocessadores Tradu o Anat lio Laschuk revis o t cnica Rodrigo Araes Caldas Farias McGraw Hill S o Paulo 1985 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 5 KIT DID TICO E ROTEIROS DE LABORAT RIO 5 1 Sub rotinas do Programa Monitor do Kit Did tico 63 O laborat rio de microprocessadores conta com um Kit Did tico para realiza o de experimentos usando o microprocessador 8085 Esse Kit j possui v rias sub rotinas no programa residente chamado de p
63. mem ria b c Todos os registradores internos possuem 16 bits alguns podem ser acessados pela metade primeiros ou ltimos 8 bits Na Capacidade de uso de coprocessador 8087 d No Possui 2 modos de funcionamento M nimo e M ximo no modo m nimo equivale a um 8085 acelerado O modo m ximo usado em ambientes multiprocessados quando o 8088 convive com outros 8088 ou em ambientes coprocessados quando h processador aritm tico Desta forma como o PC XT tem soquete para utiliza o do 8087 sua CPU funciona com o 8088 no modo m ximo e A CPU dividida em 2 blocos Unidade de Execu o EU e Unidade de Interface com o Barramento BIU f BIU com fila de instru es queue de 4 bytes 8088 ou 6 bytes 8086 g Realiza instru es de divis o e multiplica o para n meros com ou sem sinal assim como opera es com strings blocos de bytes h Possui registradores de segmento possibilitando segmenta o de mem ria i No RESET o endere o de mem ria acessado FFFFOH No Para ilustrar melhor as caracter sticas do 8088 a tabela a seguir foi criada onde feita uma compara o entre o 8085 o 8086 e o 8088 A seguir faz se um paralelo entre os registradores do 8085 e os registradores do 8088 os quais ser o mais detalhadamente explicados nas pr ximas se es Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Caracter sticas dos Microprocessado
64. o B D ou H O conte do do registrador SP incrementado de 2 POP PSW F lt SP 3 10 indireto por todas O conte do da posi o de mem ria indicada por SP movido para o A SP 1 registrador registrador que guarda o estado das Flags registrador F O conte do da posi o de mem ria indicada por SP 1 movido para o acumulador O SP lt SP 2 conte do do registrador SP incrementado de 2 XTHL L SP 5 16 indireto por nenhuma Exchange Stack Top with H and L O conte do da posi o de SP 1 registrador mem ria indicada por SP trocado com o conte do do registrador L e o conte do da posi o de mem ria indicada por SP 1 trocado pelo conte do do registrador H SPHL SP H L 1 6 registrador nenhuma Move HL to SP O conte do do registrador par HL movido para o registrador de 16 bits SP IN porta A lt dado 8 bits 3 10 direto nenhuma Input Entrada O dado colocado na porta indicada transferido para o acumulador atrav s do barramento de dados 8 bits OUT porta dado 8 bits lt A 3 10 direto nenhuma Output Sa da O dado do acumulador transferido para a porta indicada atrav s do barramento de dados 8 bits Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 50 EI 1 nenhuma Enable Interrupt Habilita Interr
65. o do motor e mostra nos LEDs A tens o que varia de O a 255 V lida atrav s de um conversor Anal gico Digital de 8 bits e entrada de O a 5 V que conectado porta A 21h do sistema m nimo do 8085 Cada fim de convers o desse AD gera uma interrup o RST 6 5 para leitura da tens o A tens o lida em base hexadecimal e mostrada em base decimal A velocidade que varia de O a 2000 rpm lida tamb m atrav s de um conversor Anal gico Digital de 8 bits e entrada de O a 5 V que conectado porta C 23h do sistema m nimo Cada fim de convers o desse AD gera uma interrup o RST 5 5 para leitura da velocidade A indica o de velocidade nos LEDs feita da seguinte forma at 250 rpm apenas o LEDO fica ligado de 250 rpm at 500 rpm os LEDs O e 1 ficam ligados e assim sucessivamente at chegar no intervalo de 1750 rpm at 2000 rpm quando todos os LEDs ficam ligados Seguir os passos dados Programa principal a Habilita as interrup es RST 6 5 e RST 5 5 e mascara a RST 7 5 Habilita a porta A 21 h como entrada de dados e a porta B 22 h como sa da de dados igual ao caso do ABACUS Considere que a porta C j est habilitada c Zera registradores A De E Entra num loop que mostra continuamente o conte do de DE tens o no display subrotina do ABACUS e o conte do de A velocidade nos LEDs Subrotina 1 atendimento da RST 6 5 a cada fim de convers o do AD da tens o a L o valor da tens o pres
66. o estado dentro do ciclo de m quina M1 M2 M3 M4 M5 T1 T2 T3 T4 T5 T6 T1 T2 T3 T1 T2 T3 T1 T2 T3 Ti T2 T3 2 7 Exerc cios Propostos 1 Enumerar todos os registradores endere veis ou n o do microprocessador 8085 Qual a capacidade em bits de cada um deles 2 Quais os poss veis registradores pares do 8085 3 Com que finalidade usado o registrador par HL 4 Qual a fun o dos registradores PC e SP 5 Qual a fun o dos registradores W e Z 6 Qual a fun o do registrador TEMP 7 Descreva a estrutura interna da CPU 8 Qual a fun o de cada uma das FLAGS do 8085 9 Dizer em poucas palavras a fun o de cada um dos seguintes pinos do 8085 HOLD HLDA INTR INTA RST5 5 TRAP READY ALE IO M SID e SOD 10 Apresentar um circuito combinacional para decodificar os sinais dos pinos RD WR e IO M em MEM RD MEM WR IO RD IO WR OBS Utilizar apenas gates 11 Codifique as instru es da tabela a seguir coloque o endere o de cada instru o escreva o significado de cada instru o e responda s quest es relativas tabela SP 2090n 2000 o e 2050 wesh E o T O Beori o e Doo ooo T O A A B EL lt A Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 32 a Qualo valor final do registrador A b Quais os valores das f
67. o franc s JOSEPH MARIE JACQUARD aperfei oou o tear 1822 M QUINA DE DIFEREN A e M QUINA ANAL TICA Aborrecido pelos in meros e freq entes 1885 O CART O DE HOLLERITH Herman Hollerith funcion rio do Departamento de Estat stica dos 10 imitando a apar ncia humana Eram capazes de tocar flautas Sua cria o mais famosa foi O Pato Esse pato mec nico era capaz de imitar todos os movimentos de um pato real bater asas movimentar a cabe a fazer barulho equivalente comer e evacuar www automates anciens com Em 1749 ele construiu o primeiro TEAR AUTOM TICO que aceitava comandos atrav s de um cilindro de metal perfurado Tear de Vaucanson Tear de Jacquard constru do por Vaucanson Ele construiu uma m quina de tear que memorizava em cart es perfurados os padr es de desenho dos tecidos e depois os reproduzia com fidelidade lendo comandos na presen a ou aus ncia de orif cios A vers o seguinte do Tear em 1804 era totalmente automatizada e podia fazer desenhos muito complicados Esse considerado o primeiro registro de programa o semelhante de computadores modernos erros que encontrava nas tabelas de logaritmos o professor de matem tica CHARLES BABBAGE ingl s decidiu construir uma m quina que eliminasse o trabalho repetitivo de fazer esses c lculos a M quina de Diferen a O modelo apresentado em 1822 encantou o Governo Brit nico que decidiu financi lo na constru o de
68. opera es aritm ticas incluindo multiplica o e divis o com o resultado a 32 bits Pode ser usado por compiladores juntamente com AX para retornar valores de subrotinas 9 3 2 Registradores Apontadores e ndices Este grupo de 4 registradores tipicamente usado para gerar endere os de mem ria efetivo nome dado por o offset do endere o f sico Apenas s o usados em 16 bits Podem ainda ser utilizados em opera es aritm ticas e l gicas para gerar novos endere os efetivos Registradores Apontadores e ndices 15 0 Stack Pointer Base Pointer BP O Source Index Destination Index SP Ponteiro de Pilha Parece com o registrador SP do 8085 Armazena o offset do endere o do topo da pilha Todas as refer ncias ao SP por defini o usam o registrador SS BP Ponteiro da Base Permite acessar dados no segmento da pilha Tipicamente usado para acessar par metros que foram passados pela pilha SI e DI Registradores de Indexa o S o usados para acessar dados na mem ria de dados S o extensivamente usados nas opera es com strings Podem ser usados como operandos em todas as opera es l gicas e aritm ticas de 16 bits Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 110 No conjunto de instru es do 8088 nem todos os registradores s o especificados Em muitos casos uma instru o pode usar um s registrador ou conjunto de registrador
69. para o bit i 1 Somente a flag de carry CY afetada RAL An E An CY Rotate Left through Carry Rotacionar Esquerda atrav s do Carry CY A O conte do do acumulador rotacionado uma posi o esquerda Ao CY incluindo o bit de carry como o oitavo bit Assim o conte do do bit 7 transferido para o bit de Carry CY e o conte do do bit de Carry transferido para o bit menos significativo bit 0 Somente a flag de carry afetada RAR An amp Ani CY Rotate Right through Carry Rotacionar Esquerda O conte do do CY Ao acumulador rotacionado uma posi o direita incluindo o carry como A amp CY oitavo bit Assim o conte do do ltimo bit de Carry CY transferido para a posi o do bit 7 e conte do do bit O transferido para o bit de Carry Somente a flag de carry afetada CMA A lt AY nenhuma Complement Accumulator Complementa Acumulador O conte do do acumulador complementado bit a bit Os bits zero tornam se 1 e os bits 1 tornam se zero Nenhuma flag afetada CMC CY lt CY CY Complement Carry Complementa Carry O conte do da flag de Carry complementado Nenhuma outra flag afetada STC CM 1 CY Set Carry Seta o bit de Carry A flag de Carry CY feita igual a 1 Nenhuma outra flag afetada Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Resumo das condi es
70. paralelas impressoras portas seriais RS 232 adaptador gr fico CGA MDA EGA VGA acionador de disquetes e de disco r gido Para evitar problemas de incompatibilidade de placa de interface entre diferentes micros deve se evitar a duplica o desses endere os O modo mais simples de decodificar um endere o para uma porta de I O ou um grupo de endere os para projetos de interface inspecionar o mapa de endere amento e encontrar um bloco de endere os n o utilizado e ent o construir um circuito decodificador adequado O endere o decodificado dever ser acionado logicamente com os sinais de barramento IOR leitura de 1 0 ou IOW escrita de I O para gerar entradas ou sa das de dados respectivamente Outro sinal importante o AEN Address ENable gerado pelo controlador de DMA Quando ativo 1 o DMA assume o controle dos barramentos e o microprocessador desabilitado Portanto tem a fun o de desabilitar a decodifica o de endere os de I O durante o ciclo de DMA deve fazer parte da l gica de decodifica o Como mostrado mais frente a faixa de endere os de 0300h 031Fh est livre para uso em placas de interface 9 11 4 O Slot do PC ISA 8 bits O slot do PC apresenta todos os sinais de interesse para a interface com qualquer dispositivo de I O Os sinais dispon veis nos slots s o os sinais de endere amento de dados clock tens es etc A configura o dos sinais no slot ISA 8 bits pode ser visu
71. programa anterior tem se Na primeira execu o de MOV B A o conte do de B ser O 100 0 0 0 0 porque o primeiro dado 1 foi recebido no bit 7 do acumulador mas foi rotacionado direita antes da transfer ncia para B Ap s a segunda execu o de MOV B A o conte do de B ser 0110 0000 Ap s a oitava execu o de MOV B A o conte do de B ser 1 0 10 0 0 O 1 V se aqui que o primeiro dado 1 a ser carregado j voltou para o bit 7 de B sendo portanto necess rio fazer uma rota o esquerda para encerrar o primeiro byte de entrada Assim ap s sair do La o e ap s a instru o RLC o conte do do acumulador mas n o o de B conter o byte de entrada que 01 00 0011 A leitura foi feita do bit menos significativo para o bit mais significativo 7 1 Interface Serial no PC Os microcomputadores atuais utilizam uma pastilha especial para a comunica o serial Os primeiros PCs usavam o CI 8250 UART Universal Asynchronous Receiver Transmitter que permitia o armazenamento de apenas um byte por vez limitando a velocidade de comunica o serial Atualmente o CI utilizado o 16550 que permite o armazenamento simult neo de at 16 bytes de informa o A seguir s o dadas as caracter sticas da Interface Serial no PC e Possui 2 interfaces seriais e S o interfaces ass ncronas e S o baseadas no CI 16550 UART Universal Asynchronous Receiver Transmiter Este CI um upgrade do CI 8250 da National utilizado PC origi
72. resulte em sa da anal gica Vsa da maior que o sinal a ser convertido o bit D mantido A seguir o segundo bit mais significativo Ds e os demais bits restantes s o testados seguindo o mesmo procedimento at atingir o valor correto de convers o Ao final da convers o um sinal baixo emitido para o Registrador Buffer liberando a sa da digital e ao mesmo tempo conservando esse valor durante a pr xima convers o 8 3 Exerc cios Propostos 1 Explique de forma resumida o princ pio de opera o de um conversor Anal gico Digital conversor AD com aproxima o sucessiva 2 Explique a caracter stica monotonicidade de um conversor digital anal gico conversor DA 3 Diferencie precis o absoluta de precis o relativa de um conversor DA 4 Como se calcula a resolu o de um conversor DA Qual a resolu o de um conversor DA de 12 bits 5 Qual a tens o na sa da de um conversor DA de 8 bits cujo sinal de entrada seja 40 h e cuja tens o de refer ncia seja 5 V 6 Considere o conversor DA de 4 bits da Fig 8 2 com resist ncias ponderadas onde a resist ncia R 2 KQ e a resist ncia de sa da seja Rsa da 10 KQ Calcule a corrente e a tens o de sa da do circuito A tens o de refer ncia Vagp 5 V 7 Fa a um programa para o ABACUS que l a tens o de alimenta o de um motor de corrente cont nua e mostra no display de 7 segmentos correspondente ao endere o usar CALL MOSTRAD e l a velocidade de rota
73. sido incrementado de 2 ao final da opera o de busca da pilha Reondi o PCL SP 1 3 6 12 indireto por nenhuma Conditional Return Retorno de Subrotina Condicionado a que CCC seja PCH lt SP 1 registrador verdadeiro O processamento volta para o local de onde partiu instru o SP lt SP 2 seguinte se a condi o dada em CCC for verdadeira O endere o de retorno buscado na pilha O conte do da posi o SP o byte menos significativo do endere o de retorno O conte do da posi o SP 1 o byte mais significativo do endere o de retorno Ap s essas duas opera es de transfer ncia o valor de SP ainda incrementado novamente de forma que SP ter sido incrementado de 2 ao final da opera o de busca da pilha RST n SP 1 PCH 3 12 indireto por nenhuma Restart Rein cio O processamento desviado para o endere o indicado por 8 SP 2 lt PCL registrador NNN No entanto antes do desvio o endere o da pr xima instru o SP lt SP 2 guardado na pilha PC 8 NNN PCHL PCH lt H 1 6 registrador nenhuma Jump H and L inderect move H and L to PC O conte do do registrador H PCD L transferido para o byte mais significativo de PC O conte do do registrador L transferido para o byte menos significativo de PC Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 8 Instru es de Controle Pilha e Entrad
74. um simulador digital para a execu o de alguns programas simples O cap tulo sobre o microcontrolador 8051 est dispon vel parte 4 Os t picos abordados s o acompanhados de experimentos de laborat rio Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Informa es sobre a Disciplina Disciplina MICROPROCESSADORES E MICROCOMPUTADORES C digo 13 05 035 Carga Hor ria 96 horas te ricas e 32 horas de laborat rio Grade Curricular 1992 disciplina do 4 ano Ano Letivo 2006 Aulas Te ricas Quarta feira 13 30h s 15 10h alternando com Controle Sexta feira 15 30h s 17 10h Aulas de Laborat rio Segunda feira tarde 13 30 s 18 30h Professor Jos Wilson Lima Nerys Obs As 96 horas de aulas te ricas ser o ministradas em 48 aulas de 2 horas cada uma As 32 horas de aulas pr ticas ser o ministradas em 16 aulas de 2 horas cada uma BIBLIOGRAFIA B SICA Microprocessador 8085 1 ZILLER Roberto M Microprocessadores Conceitos Importantes Edi o do autor Florian polis 2000 ISBN 85 901037 2 2 2 NERYS Jos Wilson L Apostila de Microprocessadores Microprocessador 8086 3 ZILLER Roberto M Microprocessadores Conceitos Importantes Edi o do autor Florian polis 2000 ISBN 85 901037 2 2 4 ZELENOVSKY Ricardo e MENDON A Alexandre PC Um Guia Pr tico de Hardware e Interfaceamento Interci ncia Rio de Janeir
75. uma m quina de diferen a completa movida a vapor e completamente autom tica comandada por um programa de instru o fixo capaz de imprimir as tabelas Baseada em opera es de adi o e subtra o e na t cnica de diferen as finitas era capaz de resolver fun es polinomiais e trigonom tricas c lculo de tabelas de navega o M quina de diferen as m quina anal tica O projeto da sua nova m quina levou 10 anos e foi abandonada em 1833 quando decidiu criar a M quina Anal tica um computador mec nico autom tico totalmente program vel fun o que designou para sua esposa a condessa Ada Lovelace filha de Lord Byron O novo computador decimal paralelo a vapor operaria n meros de 50 d gitos e proveria de uma mem ria de 1000 n meros usando cart es perfurados e condicionais IF al m de instru es de desvio Apesar de ter uma estrutura correta a metalurgia da poca n o permitia a simetria e resist ncia das pe as raz o ao qual a m quina nunca funcionou Seria capaz de fazer uma adi o em 1 segundo e uma multiplica o em 1 minuto Estados Unidos construiu uma m quina de cart o perfurado para fazer o recenseamento da popula o americana Antes da m quina o recenseamento durava 7 anos e ocupava 500 empregados Com a m quina o recenseamento de 1890 durou 1 ano e ocupou 43 empregados A m quina foi aproveitada nas mais diversas aplica es em reparti es p blicas com rcio e ind stria e aper
76. 0 Faz CX 10 gt ser o armazenado 10 bytes a partir de E0000 h REP STOSB Repete instru o 10 vezes HLT P ra programa EXEMPLO 3 Copiar um bloco de mem ria de 1000 bytes do endere o f sico A1000H para o endere o f sico E1000 H Mnem nico Descri o MOV AX 04000 H AX A000 H gt valor que ser passado para registrador de segmento DS MOV DS AX Segmento de dados DS AX A000 h MOV SL 1000 H SI 1000h gt DS SI E0000 00000 A1000 h MOV AX 0E000 H AX E000 h gt valor que ser passado para registrador de segmento ES MOV ES AX Segmento especial ES AX E000 h MOV S1 1000 H Registrador de offset SI 1000 h gt DS SI A1000 H MOV DI 1000 H Registrador de offset DI 1000 h gt ES DI E1000 H CLD clear direction flag resseta flag dire o modo auto incremento MOV CX 03E7H Faz CX 03E7 h ser o armazenado 1000 bytes a partir de E0000 h REP MOVSB Repete instru o 1000 vezes gt ser o copiados 1000 bytes Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 9 10 3 Instru es L gicas 128 e referem se a fun es de l gica booleanas e cada instru o realizada bit a bit e H tamb m instru es de rota o e deslocamento e H instru es booleanas NOT AND OR XOR TEST Mnem nico Descri o NOT BX BX complementado seus bits s o invertidos NOT BYTE PTR
77. 000 Pentium Ill Processor MOORE S LAW 4 i Pentium il Processor 10 000 000 Pentium Processor 486 DX Processor as 4 o ts iais 1 000 000 386 Processor 100 000 8080 10 000 8008 i 4004 i 1000 1970 1975 1980 1985 1990 1995 2000 Fig 1 1 Evolu o do n mero de transistores no microprocessador Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 14 Tabela Evolu o do n mero de transistores no microprocessador Processador Ano de N mero de Barramento de Capacidade de Introdu o transistores dados bits endere amento 4004 1971 2 250 4 1 kB 8008 1972 2 500 8 16 kB 8080 1974 5 000 8 64 kB 8085 1976 6 500 8 64 kB 8086 1978 29 000 16 1 MB 8088 1979 29 000 16 1 MB 286 1982 120 000 16 16 MB 386 1985 275 000 32 4 GB 486 DX 1989 1 180 000 32 4 GB Pentium 1993 3 100 000 32 4 GB Pentium II 1997 7 500 000 32 4 GB Pentium IN 1999 24 000 000 32 4 GB Pentium 4 2000 42 000 000 32 4 GB A quantidade cada vez maior de transistores numa nica pastilha foi acompanhada da redu o do tamanho f sico dos transistores Essa redu o mostrada na Fig 1 2 A redu o do tamanho do transistor resulta no aumento da velocidade de opera o e tamb m na redu o das conex es internas al m de permitir a inser o de um n mero cada vez maior de transistores numa nica pastilha O aumento da capacidade de integra
78. 010h D7 0010h RST 3 CALL 0018h DF 0018h RST 4 CALL 0020h E7 0020h RST5 CALL 0028h EF 0028h RST 6 CALL 0030h F7 0030h RST7 CALL 0038h FF 0038h Verifica se da tabela acima que h apenas 8 posi es 8 bytes dispon veis para cada instru o de recome o Sendo assim normalmente essas posi es vetoradas s o usadas apenas para desviar para uma subrotina que frequentemente usada e que n o caberia em apenas 8 posi es Uma instru o de desvio incondicional JMP addr ent o usada A chamada da subrotina atrav s de uma dessas instru es de recome o mais eficiente que a chamada direta da subrotina 6 2 Interrup es Al m das 8 instru es de recome o por software o 8085 possui 4 instru es de recome o por hardware Interrup es Externas Essas instru es s o chamadas de TRAP pino 6 RST 7 5 pino 7 RST 6 5 pino 8 e RST 5 5 pino 9 Quando qualquer desses pinos ativado os circuitos internos do 8085 produzir o uma chamada de subrotina CALL por hardware que desviar o o processamento para o endere o predeterminado A tabela das posi es de recome o por hardware interrup es externas dada a seguir As opera es de entrada e sa da por interrup o usam uma das interrup es por hardware dadas na tabela de forma que quando o perif rico est pronto para a transfer ncia de dados a interrup o selecionada acionada permitindo a transfer ncia de dados de uma forma mais r pida que a tr
79. 10 M e possui gerador de clock interno necess rio apenas um cristal externo juntamente com dois capacitores e Reset do 8085 PC em 0000h Flip Flop IE Interrupt Enable em O indicando interrup es desabilitadas HLDA em 0 demais registradores com valores indeterminados Interrup es RST 5 5 RST 6 5 RST 7 5 mascaradas SOD em 0 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 23 2 2 Unidades Internas e Registradores do 8085 Unidade Controle de Interrup o Unidade respons vel pelo tratamento das 5 interrup es externas do 8085 Essas interrup es s o vetoradas o que significa que h um endere o fixo pr definido para cada uma RST n salta para a posi o de mem ria 8 vezes n RST 5 5 441 2Ch RST 6 5 34h RST 7 5 3Ch As interrup es RST 5 5 RST 6 5 e RST 7 5 podem ser mascaradas ou seja elas podem ser bloqueadas via software J a interrup o TRAP n o pode ser bloqueada e a interrup o de maior prioridade do 8085 Ela normalmente ativada quando h problemas de falta de energia para um desligamento seguro do microprocessador A interrup o INTR na verdade um canal para expans o da capacidade de interrup o Atrav s desse canal um CI especial Exemplo CI 8259 conectado ao 8085 de modo a permitir um n mero maior de interrup es O sinal INTAN faz parte da comunica o entre o 8085 e o CI usado para expans o da capacidade de in
80. 4 Pinagem do 8085 A Fig 2 3 mostra uma pastilha do microprocessador 8085 com a pinagem completa e a fun o de cada pino A tabela a seguir mostra atrav s dos pinos IO M S1 e SO o estado em que se a encontra a CPU durante a execu o de uma instru o Estado do ciclo de m quina Do o i esmimemmem ia Do oo eimademem ria SSS Do o busadeopede SSS DI o if sonam pora Gnsuu o OUT por DI 1 o O dinmadeporaGnsuu oINporay DS 00 6 Miranda sai com INT HOLD ou RESET Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys quadrada Nesse caso X pode ficar aberto Pinos de conex o do cristal X pode ser uma onda Indicas aos perif ricos que a CPU est sendo ressetada Pino de sa da de dado serial Pino de entrada de dado serial Pino da interrup o de maior prioridade N o mascar vel Pino da interrup o que desvia para o endere o 3C h Pino da interrup o que desvia para o endere o 34 h Pino da interrup o que desvia para o endere o 2C h Pino usado para expandir a capacidade de interrup o Reconhecimento de pedido de interrup o Byte menos significativo do endere o e barramento de dados Pino de terra GND Fig 2 3 Pinagem do microprocessador 8085 26 Pino de alimenta o Vec 5 V Requerimento de barramento Ativo alto Reconhecimento de HOLD Indica que p
81. 6000 63FF EE da 10 1024 6400 67FF Q 11 1024 6800 6BFF 12 1024 6C00 6FFF Ema 2x RAM 2114 13 1024 7000 73FF AS o 5000h 50FFh 14 1024 7400 77FF AHN 15 1024 7800 7BFF RANA 16 1024 7C00 7FFF 17 1024 8000 83FF 18 1024 8400 87FF A ERAM 19 1024 8800 8BFF ESA 5400h 57FFh 20 1024 8C00 8FFF ER EM RAM 6 ps 2x RAM 2114 SE 5800h 5SBFFh 45 1024 F000 F3FF GRE RAM 7 46 1024 F400 F7FF 47 1024 F800 FBFF 48 1024 FC00 FFFF 2x RAM 2114 Total 48 Kbytes 49 152 bytes O 5C00h 5FFFh RAM 8 Ais Au Ag Ap An Aw A A AD ADs AD AD AD AD AD AD Fig 7 5 Circuito l gico para conex o de 8 conjuntos de RAMs 2114 ao sistema m nimo As pastilhas 8156 e 8355 n o s o apenas mem rias RAM e ROM elas tamb m cont m portas de entrada e sa da paralela al m de temporizadores As tr s portas de Entrada e Sa da da 8156 s o Porta A 8 bits Porta B 8 bits e Porta C 6 bits que s o numeradas respectivamente como 21h 22h e 23h no sistema m nimo da Fig 7 2 Internamente tem se ainda acesso a tr s outras portas Porta 20h usada como registrador de status e de comando Porta 24h usada como byte inferior do contador de temporiza o e Porta 25h usada como modo e contador 6 bits superiores do temporizador Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 92 O endere amento das portas da 8156 s o da
82. A 05 02 07h ADI 10h C6 10 Adiciona 10h ao conte do de A A 07h 10h 17h ADC A 8F Adiciona o conte do de A ao pr prio conte do de A incluindo o valor de carry A 17h 17h 0 2Eh O carry aqui Zero ACI 03h CE 03 Adiciona 03h ao conte do do acumulador A 2Eh 03h 31h Mnem nico C digo Coment rio MVI A 05h 3E 05 Carrega acumulador com valor 05 h MVI C 02h OE 02 Carrega registrador C com valor 02 h LXI H 2050h 21 50 20 Carrega registrador duplo HL com valor 2050 h MVI M 08h 36 08 Move valor 08h para posi o 2050 h apontada por HL SUB C 91 Subtrai o conte do de C do conte do de A A 05 02 03h SUI 02h D6 02 Adiciona 10h ao conte do de A A 03h 02h Olh SBB C 99 Subtrai o conte do de C do conte do de A incluindo o valor de carry A 0lh 02h 0 FFh O carry antes Zero Depois passa para 1 SBI 03h DE 03 Subtrai 03h do conte do do acumulador incluindo carry A FFh 03h 1h FBh A Flag CY passa para Zero CY 0 SBB M 9E Subtrai com carry o conte do da posi o de mem ria 4100h do conte do do acumulador A FBh 08h 0 F3h Obs N o se esquecer de que a subtra o no 8085 n o feita diretamente A subtra o feita atrav s de uma adi o com o complementar de 2 Ex Subtra o direta A 03 02 0lh Subtra o com complementar de 2 A 03 FD 1 Olh Na opera o com complementar de 2 houve um transporte carry mas na subtra ao no 8085 a Flag CY o
83. AR dan pesa Es 88 Tatl MEMORIAS RAM E ROM eaei E EAEE e A O A 88 7 2 2 DECODIFICADOR TALSI 3 8n onines a e aa aa eane aaas Ri tatas 94 7 3 EXERC CIOS PROPOSTOS anneer ersa ete eoero Eoo sos oos a OEE ESES SEESE 95 7 4 REFER NCIAS BIBLIOGR FICAS e sesessesoeseseesosoesesossosseseeoesoesesoseosoesesossosseseeoesoseeeoseosossesossosoeseses 97 8 INTERFACE ANAL GICA storage SS AS GADO GOA A aa 98 8 1 CONVERSOR DIGITAL ANAL GICO eesesseseseesosoesesossossesesoesossesoseosoesesossossesesoesosseeoseosossesossossesesee 98 8 2 CONVERSOR ANAL GICO DIGITAL eesessesessssossescesosoesesossossesesoesossesoseosoesesossossescsoesossesoseoseesesoe 101 83 EXERC CIOS PROPOSTOS ccssiis concinsres doa iisassaoo neSias td conssc u ses o seso v Eseo S oers avo So sacadas siose 102 8 4 REFER NCIAS BIBLIOGR FICAS cccecseeeeneonescereneonesseeserenassecscesene snes seesne snes sersaessas sn cscessassnessessa 103 9 MICROCONTROLADORES 8086 8088 cccreerneereeererereeereeo mero eco eco eco secos aceso nose ne seno ee aeee aces aeca nes 104 9T INTRODU O ss cuesisssiedicesteaceo der esse enoei etea ae ee Eo eseo e dae DEU colina latas eoe Eo osae oree sse eeoa eee Seos Eoas oos 104 9 2 DIAGRAMA DE BLOCOS DO 8088 e soeseesoesocssesoesseeooeseesoeseesoesoesoesoosseesorseesoesoesoesoesseesosseesosseses 106 9 3 Os REGISTRADORES DO 8088 eoeesseceessoceessecceesscceessoceesscceesseceesscceesseceessceceesseceesseceesseceesseceese 108 9 3 1
84. DI e de Segmento CS DS SS ES apenas podem ser acessados como word 16 bits DEFINI O DE POSI O DE MEM RIA Ao escrever programas conveniente dar nomes a MEMBY DB MEMBY DB 3AH MEMWO DW 2 MEMWO posi es de mem ria para isto utiliza se pseudo instru es vari vel MEMBY do tipo byte com valor indefinido vari vel MEMBY com valor definido e igual a 3A H vari vel MEMWO do tipo word com valor indefinido DW 21AB H vari vel MEMWO com valor definido e iguala 21AB H Exemplos de mnem nicos com instru es de transfer ncia Mnem nico Descri o MOV AX 0100 H Carrega registrador de 16 bits AX com valor 0100 h MOV DL 23H Carrega registrador de 8 bits DL com valor 23 h MOV CL char Carrega registrador de 8 bits com c digo ASCII do caractere MOV BP A8 Carrega registrador de 16 bits BP com valor 00A8 h MOV DS AX Registrador de segmento DS carregado com conte do de AX MOX AX BX Carrega AX com conte do de BX MOV AL BL Carrega registrador de 8 bits AL com conte do de BL MOV AX CS Carrega registrador AX com conte do do segmento CS MOV AX BX Carrega AX com conte do do endere o de offset BX MOV BP CL Carrega posi o de offset BP com valor contido em CL MOV AH SI Carrega AH com valor da posi o cujo offset SI MOV AX 1000 H Faz AL 1000 H e AH 1001 H MOV CL MEMBY Carrega CL com posi o da vari vel de 1 byte MEMBY
85. EM UM MICROPROCESSADOR ccccesereseeseneseneseraseraessacesscesseessos 13 1 3 DEFINI ES E CLASSIFICA ES B SICAS sseseseesesoesesossossesesocsoesesoesosossesossosseseeossosseseseesossesoseose 14 1 4 ESTRUTURA B SICA DE UM COMPUTADOR sesoessesoossessossessossosssesoossesoossessossessossoesossoosoessossessossoe 15 1 4 1 UNIDADE CENTRAL DE PROCESSAMENTO CPU eae eeereaeaeateaneas 16 1 42 MEM RIA csiusiis bode saldotoo Botao boto gl e a aa bat E UGA LA a DASLU GA UMAS Do SETE LA ua a a a 16 1 4 3 UNIDADE DE ENTRADA E SA DA IO eeeeteereeeeeneneae center eee neareaateaa 16 TAA BARRAMENTO urciso ssa meara a Anata a a ag a a a ini tuas dd BOT haaita so Scar bica 16 1 5 NDICE DE DESEMPENHO DE PROCESSADORES ccececereeeeereeeeseeeerereeresemeeseeereresereeereereseaseseos 17 1 6 MICROPROCESSADOR x MICROCONTROLADOR ccceceeseceseeesseesseeseeesenesseeesenesenessnesseceseresseesses 17 1 7 OUTROS CONCEITOS B SICOS essesesessossesesocsoesescesosoesesossosoeseeoesosseseeeosossesoseoseesesossosseseseesossseossose 17 1 8 SISTEMAS DE NUMERA O sseieesontestoreicitiseooteosionicadininctacdttice atas isstand eva denisieindanide dd es sso erasers codes 19 L81 SISTEMA DECIMAL gas essi VISA Ea ne a SE LS EIA S VAU E ESEC SUS La AR TATA LOURDES Ss OA DS eain 19 89 SISTEMA BIN RIO cias cont det o No ade UR a a A q SA AR qa E TO a alo dita ndo 19 1 8 3 SISTEMA BCD BINARY CODED DECIMAL sssssessesesis
86. ETECLA MVI C 0Ah RLC L PR XIMO CALL leitura RLC MOV M A RLC PUSHH RLC PUSH B MOV B A CALL MOSTRAA CALL LETECLA POP B ORA B POPH POPH INX H RET DCR C JNZ L PR XIMO Ap s analisar o trecho de programa dado pede se a Explique o funcionamento da subrotina LEITURA b Fa a a continua o do programa acima de modo que o maior n mero da tabela montada seja mostrado no display de dados c Fa a a continua o do programa acima de modo que o menor n mero da tabela montada seja mostrado no display de dados 21 Codifique as instru es dadas a seguir usando o mnem nico do 8085 indique o endere o de cada instru o e indique o conte do dos registradores pedidos e das flags de carry e de zero ap s a execu o da instru o indicada _ en 2000 MviA70h J oo Too Gem _ mwiconh dot ie 20200h XW 2030h J T T oeron Mmmron J T Ee Ae awc J T O am em E wew ace Ge GAB C E E e E E E US Doo pmvca oo f To Doom o po feto porto too 22 O gr fico a seguir representa a fun o matem tica de um componente n o identificado Escreva em assembly do 8085 mnem nico do 8085 um programa para ler um dado de 1 byte pelo teclado e mostrar no display de dados o resultado da aplica o da fun o Use as sub rotinas necess rias do ABACUS para a entrada de dados e para mostrar o resultado no display de dados O programa deve sempre voltar para a
87. F MOV LH 6C XCHG EB MOV BE 43 MOV E B 58 MOV L L 6D Exemplos de uso de instru es de transfer ncia de dados Mnem nico C digo Coment rio MVI H 10h 26 10 Carrega acumulador H com valor 10h MVI L 00h 2E 00 Carrega registrador L com valor 00h MVI A 0Ah 3E 0A Carrega acumulador com valor OAh MOV M A 71 Move conte do de A para posi o 1000h de mem ria MOV C M 4E Move conte do da posi o 1000h para registrador C C 0Ah MVI M 2Bh 36 2B Coloca valor 2Bh na posi o 1000h de mem ria Mnem nico C digo Coment rio LXI B 1000h 01 00 10 Carrega registrador duplo BC com valor 1000h LXI D 2000h 11 00 20 Carrega registrador duplo DE com valor 2000h LXI H 3000h 21 00 30 Carrega registrador duplo HL com valor 3000h LXI SP 4000h 31 00 40 Carrega registrador duplo SP apontador de pilha com valor 4000h LDA 1000h 3A 00 10 Carrega acumulador com valor armazenado na posi o de mem ria 1000h STA 2000h 32 00 20 Move conte do do acumulador para a posi o de mem ria 2000h Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 37 Mnem nico C digo Coment rio LHLD 1000h 2A 00 10 Carrega conte do da posi o 1000h no registrador L Carrega conte do da posi o 1001h no registrador H SHLD 2000h 22 00 20 Move conte do do registrador L para a posi o 2000h
88. IN direto IN AL DX IN indireto para as 65536 portas 0 65535 ou 0000 FFFF OUT 26 AX Aplica se as mesmas regras da instru o IN OUT DX AX LEA BX MEMBY Load Efective Address carrega endere o efetivo No exemplo BX carregado com o endere o efetivo de MEMBY notar a diferen a desta com a instru o MOV BX MEMBY LEA BX 1000 BX lt 1000 LDS BX dword ptr SI Load Pointer using DS No exemplo BX lt SI 1 SI DS lt SI 3 SI 2 Esta instru o util quando preciso estabelecer novo endere o absoluto composi o endere o base endere o de offset LES BX dword ptr SI Load Pointer using ES No exemplo BX lt SI 1 SI ES lt SI 3 SI 2 XLAT Obs AL lt BX AL Carrega registrador AL com o conte do byte da tabela iniciada em BX e com offset AL a A instru o IN somente pode ser usada para as primeiras 256 portas 0 a 255 Portas c endere o gt 255 devem utilizar somente reg DX refer ncia de 1 0 Exemplo n o permitido IN AX 3400 b A instru o IN deve utilizar somente o registrador AX Exemplo n o permitido IN BL DX Exemplo 1 O programa a seguir demonstra o uso de instru es de transfer ncia de dados O caractere A escrito diretamente na mem ria de v deo Mnem nico Descri o AMAKE COM Diretiva para o compilador gerar um arquivo com ORG 100h Diretiva que indica o endere o
89. Move o conte do do registrador H para a posi o de mem ria 2001h LXI H 3000h 21 00 30 Carrega registrador duplo HL com valor 3000h LXI B 4000h 01 00 40 Carrega registrador duplo BC com valor 4000h LXI D 5000h 11 00 50 Carrega registrador duplo DE com valor 5000h LDAX B 0A Carrega acumulador com o conte do da posi o de mem ria indicada pelo registrador duplo BC ou seja posi o 4000h STAX D 12 Move conte do do acumulador para a posi o de mem ria indicada pelo registrador duplo DE ou seja posi o 5000h XCHG EB O conte do de H 30h trocado com o conte do de D 50h O conte do de L 00h trocado com o conte do de E 00h Depois da instru o temos HL 5000h e DE 3000h Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 5 Instru es Aritm ticas 39 Obs A menos que seja indicado todas as instru es desse grupo afetam todas as Flags Zero Sinal Paridade Transporte Carry e Auxiliar de Transporte Auxiliar de Carry Mnem nico Simbologia N de N de Modo de Flags Coment rio Gen rico Ciclos Estados Endere amento Afetadas ADD r A lt A r 1 4 registrador todas O conte do do registrador r adicionado ao conte do do acumulador ADD M A A H 1 2 7 registrador todas O conte do da posi o de mem ria indicado pelo par HL adicionado ao conte do do acumulador ADI dado8 A a
90. O pino 4 SOD Serial Output Data pode ser usado para a transfer ncia serial de dados para um perif rico Nesse caso a instru o SIM usada para transferir o conte do do bit 7 do acumulador para o pino 4 mas apenas se o bit 6 do acumulador SOE Serial Output Enable estiver setado Exemplo de entrada serial para o 8085 usando o pino SID Label Mnem nico Coment rio MVI B 00h Zerar o registrador B MVI C 08h Inicializar o contador com 8 La o RIM Obter o bit SID ANT 80h Isolar o bit 7 do acumulador bit SID ORA B Atualizar o conte do do acumulador RRC Rotacionar acumulador direita MOV B A Guardar acumulador em B DCR C Decrementar contador C JNZ La o Retornar para o la o se o contador n o for zero RLC Rotacionar acumulador para a esquerda HLT Encerrar O programa acima repete o La o 8 vezes recebendo portanto 8 bits para formar um byte Esses bits chegam atrav s do pino SID que transferido para o bit 7 do acumulador Cada novo bit que carregado isolado atrav s da instru o ANI 80 h A seguir esse novo bit juntado usando a instru o ORA B aos bits anteriores que j est o guardados em B O acumulador nesse momento cont m todos os bits lidos A rota o direita necess ria para receber um novo dado no bit 7 O conte do rotacionado do acumulador guardado em B Supondo por exemplo que os bitsl 1 0 0 O O 1 e O s o carregados no 8085 usando o
91. P crescente Ce fa Ds Perguntas 2 Quais os comandos a serem usados para bloquear a interrup o RST 7 5 e usar a interrup o RST6 5 para a contagem crescente e a RST 5 5 para a contagem decrescente 1 Ziller Roberto M Microprocessadores Conceitos Importantes Editora do autor Florian polis SC Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 75 6 INTERRUP ES E OPERA ES DE ENTRADA E SA DA 6 1 Instru es de Recome o O 8085 tem 8 instru es de recome o por software restart que s o RST 0 RST 1 RST 2 RST 3 RST 4 RST 5 RST 6 e RST 7 Estas instru es s o para chamadas de subrotinas que s o usadas com frequ ncia O efeito de uma instru o RST o mesmo de uma chamada de subrotina com uso da pilha para guardar o endere o de retorno A diferen a que cada instru o RST desvia o processamento para um endere o predeterminado como mostra a tabela abaixo Um outro detalhe que a chamada de uma RST feita com apenas 1 byte de c digo ao contr rio de uma chamada de subrotina normal que feita com 3 bytes de c digo Do mesmo modo que no caso de uma subrotina comum quando uma instru o RET encontrada o processamento volta para o programa principal INSTRU ES DE RECOME O Instru o Efeito C digo de Posi o do Vetor Opera o RSTO CALL 0000h C7 0000h RST 1 CALL 0008h CF 0008h RST 2 CALL 0
92. REGISTRADORES DE DADOS a a n a E oa a et 109 9 3 2 REGISTRADORES APONTADORES E NDICES ienes 109 9 3 3 REGISTRADORES DE SEGMENTO eeaceateeeteeeneaatae statene resteren ene stenre enrere 110 9 3 4 APONTADOR DE INSTRU ES iciiittteeeateeteracerteaeeee testeta testator teeeeac e neaaeaatea neta 111 94 A PINAGEM DO 8088 ssssssesseassscssessssenteasss scasossestess Ss aceno raea K Aisa RIAA aaa SS Cacaso PAR aa NE p RAE a a 112 9 5 CICLOS DE BARRAMENTO DO 8086 eesseoeessoceessoceessoceesscoceessocecsscceessoceessceceessoceesseceesseceesseseese 114 9 6 ENDERE AMENTO DE MEM RIA s sesessossesesossossescesosoesesossossesesoesossesoseosoesesocsossesosoosossesoseoseesesoe 116 9 7 LINGUAGEM DE PROGRAMA O ASSEMBLY DO 8086 eccccceeereerereeesrereseeneeseeesererersenes 118 9 8 MODOS DE ENDERE AMENTO E ENDERE OS DE MEM RIA EFETIVO cccereserescesenesnessesse 119 9 9 INTERRUP ES DO 8086 icones cons stracenita coma nschncanindac niiios Seas iiiiednisdcoofestsaadanbEicaecasaboa cosbidabensas c a 121 9 9 1 ESTRUTURA DE INTERRUP O DO 8086 ieeeeeee eee eeate tear eee ea eareaareneaataa 121 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 9 9 2 INTERRUP ES PR DEFINIDAS RESERVADA OU EXCE ES cieeeeeeeeeeeeeeerereeaes 122 9 9 3 INTERRUP ES POR HARDWARE cciiciicteeeeeeeeeeeeeeeereeereeeaereaaeeaneeene rena eena cena eeneasraranera
93. SR 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 6 6 Dispositivos de Entrada e Sa da Os dispositivos de Entrada e Sa da ou dispositivos de I O s o necess rios para possibilitar a comunica o entre a CPU e o resto do sistema Este cap tulo tem o objetivo de fornecer maiores informa es sobre o hardware que se associa CPU microprocessador em um microcomputador assim como conhecimentos de alguns recursos que podem ser utilizados em interfaces de microcomputadores FORMAS DE ENTRADA E SA DA H basicamente duas formas de comunica o entre o computador e um perif rico e Comunica o Serial quando enviado um bit de cada vez empregada por exemplo na comunica o via linha telef nica atrav s de um modem no mouse c mara fotogr fica digital impressora serial instrumentos eletr nicos agendas eletr nicas A taxa de transmiss o medida em bit por segundo bps ou bit s e Comunica o Paralela quando enviado um grupo de bits simultaneamente empregada por exemplo na comunica o entre um computador e uma impressora paralela A taxa de transmiss o em geral medida Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 82 em bytes por segundo OBS a transmiss o paralela utilizada em substitui o transmiss o serial quando a dist ncia entre tra
94. ST 5 5 da Sa da Serial Irrelevante Exemplo Desejando se habilitar apenas a interrup o RST 5 5 e mascarar as demais o conte do do acumulador antes da instru o SIM dado a seguir SOD SOE x R7 5 MSE M75 M6 5 M5 5 A 0 0 0 0 1 1 1 0 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 80 A execu o do comando RIM Read Interrupt Mask faz com que o estado das m scaras de interrup o sejam transferidos para o acumulador A seguir mostrado o significado de cada bit do acumulador ap s a execu o da instru o RIM tamb m dado um exemplo onde mostrado o conte do do acumulador e a interpreta o de cada bit ap s a execu o da instru o RIM Acumulador SID 17 5 16 5 155 JE M75 M6 5 M5 5 de Habilita M scara da interrup o RST 7 5 M scara da interrup o RST 6 5 M scara da interrup o RST 5 5 Interrup o RST 7 5 pendente Interrup o RST 6 5 na Interrup o RST 5 5 pendente Enable Serial Input Data Dado Entrada Serial Interrupt Interrup o Exemplo Ap s a instru o RIM o conte do do acumulador ficou SID 17 5 16 5 I5 5 IE M7 5 M6 5 M55 A 0 1 0 0 1 1 0 0 Significado H uma interrup o RST 7 5 pendente 17 5 1 As interrup es est o habilitadas IE 1 A m scara da interrup o RST 7 5 est setada significand
95. V1 V2 DB 0 Valor inicial da vari vel V2 Carrega registradores com valores em nota o bin ria hexadecimal e octal R tulo Mnem nico Descri o make_BIN Diretiva do compilador para gerar um arquivo bin MOV AL 00000101b Carrega AL com valor bin rio correspondente a 5 MOV BL 0Ah Carrega registrador com o hexadecimal de 10 MOV CL 100 Carrega CL com o valor octal que corresponde a 8 ADD AL BL Adicional o conte do de BL ao conte do de AL 5 10 15 SUB AL CL Subtrai o conte do de CL do conte do de AL 15 8 7 HLT 9 14 Problemas Propostos 1 10 11 12 Rodar o programa int21 do Emu8086 e verificar a entrada de textos pelo usu rio e a impress o do mesmo no v deo Rodar o programa Advanced_io do Emu8086 e verificar o uso do display de 7 segmentos Criar um programa para fazer uma contagem hexadecimal crescente de 00 a FFh e mostrar a contagem no v deo e no display de 7 segmentos Repetir o programa anterior para uma contagem hexadecimal de 0000h at FFFF h ininterrupta Criar um programa para fazer uma contagem decimal crescente de O a 50 ininterrupta Mostrar resultado no display de 7 segmentos Repetir o programa anterior para uma contagem decimal de O a 50000 Criar um programa para fazer uma contagem hexadecimal decrescente de FFh a 00 ininterrupta e mostrar a contagem no v deo e no display de 7 segmentos Criar um pr
96. a ROM est o conectados ao pino Aj do 8085 Responda as quest es abaixo a Quais os endere os inicial e final da ROM e da RAM Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 96 b Qual a finalidade dos pinos CE WR e IO M de uma mem ria RAM c Quantas linhas de endere o s o necess rias para a ROM e para a RAM d Conceitue ROM EPROM RAM est tica e RAM din mica Gerar um pulso cont nuo na sa da do temporizador da pastilha 8156 em uma fregii ncia de 1 kHz sabendo que a fregii ncia de clock de 1 MHz D uma sugest o de como o temporizador pode ser usado para a gera o de sinal PWM Modula o de Largura de Pulso Explicar para que serve e como utilizado o decodificador 74139 num sistema com o microprocessador 8085 Esse decodificador tem duas entradas A e B e quatro sa das Y Y Y 2 gt Y Os habilitadores do CI 74139 s o G G e G como no caso do CI 74138 Fa a um esquema mostrando uma aplica o Desenhar o circuito de conex o de 4 pastilhas de mem ria RAM cada uma de 2 kbytes a partir do endere o 1000 h usando o decodificador 74139 Esse decodificador tem duas entradas A e B e quatro sa das Y 3 Y Y e Y O habilitador da mem ria RAM o pino CE Os habilitadores do CI 74139 s o G G e G como no caso do CI 74138 Inclua as linhas de endere os dados Fa a um programa que leia um byte da porta serial e o mostre no display A c
97. a e Sa da 49 Obs As instru es desse grupo n o afetam as flags a menos que seja indicado Mnem nico Simbologia N de N de Modo de Flags Coment rio Gen rico Ciclos Estados Endere amento Afetadas PUSH rp SP 1 lt rh 3 12 indireto por nenhuma Push O conte do do registrador de mais alta ordem byte superior do SP 2 r registrador par de registradores guardado na posi o de mem ria indicada por SP 1 O conte do do registrador que cont m o byte inferior da instru o SP lt SP 2 guardado na posi o de mem ria indicada por SP 2 O registrador par rp pode ser B de BC D de DE ou H de HL O registrador SP decrementado de 2 PUSH PSW SP 1 lt A 3 12 indireto por nenhuma Push Processor Status Word O conte do dos registradores A SP 2 P registrador acumulador e F flags guardado na pilha O conte do do Acumulador guardado na posi o de mem ria indicada por SP 1 O SP lt SP 2 conte do do registrador F guardado na posi o de mem ria indicada por SP 2 POP rp CD lt SP 3 10 indireto por nenhuma O conte do da posi o de mem ria indicada por SP movido para o h lt SP 1 registrador registrador que representa o byte inferior C E ou L O conte do da posi o de mem ria indicada por SP 1 movido para o registrador que SP lt SP 2 representa o byte superior da instru
98. a se por exemplo que a cada novo ciclo de m quina no estado T1 um novo valor de endere o colocado no barramento pelo contador de programa PC Esse novo endere o pode ser o endere o da pr xima instru o ou os bytes restantes ou o byte restante da instru o em andamento O sinal ALE o sinal de habilita o do Latch do endere o ou seja o endere o transferido para a mem ria ROM de onde ser lida a instru o O sinal RD vai a zero ap s o estado T1 indicando que haver uma opera o de leitura Como o sinal IO M permanece zero durante todo o tempo figura mostrada significa que trata se de leitura de mem ria e n o de qualquer dispositivo de entrada e sa da Assim a mem ria ROM lida nesse intervalo O sinal WR permanece alto durante todo o intervalo mostrado indicando que n o h opera o de escrita seja na mem ria seja em dispositivo de entrada e sa da No estado T3 a instru o lida da ROM transferida para o Registrador de Instru o IR encerrando a o ciclo de busca A instru o decodificada e sinais de controle s o emitidos da Unidade de Temporiza o e Controle de forma que o ciclo de execu o j tenha in cio a partir do estado T4 Muitas das instru es do 8085 depois do ciclo de busca precisam apenas de mais um ciclo de clock para o ciclo de execu o O ciclo de execu o pode ocorrer no estado T4 ou no pr ximo estado T2 durante o cilco de busca da pr xima instru o No
99. ada interrup o RST 7 5 o programa dever ler outro byte da porta serial e mostr lo no display Fa a um programa que leia um dado do teclado e ent o envie este byte pela sa da serial por 5 vezes seguidas com um intervalo de 1s entre cada repeti o destas 5 vezes Em outras palavras enviar o byte 5 vezes pela porta serial parar por 1 segundo e tornar a enviar o byte por mais 5 vezes parar por mais 1s e assim por diante O bit menos significativo deve ser enviado primeiramente Fa a um programa que leia dois n meros pelo teclado some estes n meros e mostre o resultado no display repetindo esta opera o indefinidamente Caso ocorra uma interrup o RST 6 5 o programa passar a subtrair esses n meros 1 2 mostrando o resultado no display Ap s uma nova interrup o RST 6 5 o programa volta a somar os dois n meros e assim sucessivamente Caso ocorra uma interrup o RST 5 5 o ltimo resultado mostrado no display dever ser enviado pelo pino SOD uma nica vez ap s o que o processamento volta ao programa principal A RAM 2114 de 1 K mas possui apenas 4 bits cada uma Por isso s o usadas de duas em duas de modo a formar 1 byte para cada endere o Deseja se associar 4 grupos de RAMs 2114 ver figura a seguir de modo a formar uma mem ria RAM de 4 Kbytes Pede se a Quais s o as linhas de endere o para a opera o das RAMs 2114 b Qual a faixa de endere os endere os cont nuos de cada grupo
100. adecimal Por exemplo o c digo 3Eh corresponde instru o MVI A logo a seguir aparece 00 h que o dado a ser transferido para o acumulador Na instru o seguinte CALL APDIS verifica se que CD o c digo da instru o de chamada de subrotina CALL Al o byte menos significativo do endere o da subrotina chamada e 05 o byte mais significativo do endere o Obs Em toda instru o que cont m endere o ou dado de 16 bits o byte menos significativo digitado rimeiro A figura a seguir ilustra o teclado e o display do Kit did tico Cada uma das teclas do teclado da direita apresenta 2 ou 3 fun es Uma delas um d gito hexadecimal que vai de O a F A outra uma das fun es explicadas a seguir Display de endere os Display e dados de 16 bits de dados EXC RST DSP DNX DMN GO C INXT E F D PRG TR XRG FILL INS SUB PC SP M B 8 9 A VER COM SST MOV RA RF 4 5 6 7 K 7 K 7 RB RC RD RE ESC LER 0 1 2 3 RB RC RD RE RA e RF gt Estas teclas permitem visualizar no display de dados o conte do dos registradores B C D E A e F Elas devem ser precedidas da tecla XRG Ou seja quando se deseja visualizar por exemplo o conte do do acumulador registrador A usa se as teclas lt XRG gt lt RA gt PC 5 Permite visualizar o conte do do contador de programa ou seja a posi o atual do programa em execu
101. ados por Acesso Direto Mem ria DMA Nesse tipo de opera o as transfer ncias de dados s o mais r pidas porque o acumulador n o utilizado e n o h necessidade de leituras da mem ria ROM O dados v o diretamente da mem ria para o perif rico ou vice versa O controlador de DMA fisicamente conectado aos barramentos de dados endere os e controle dependendo apenas da libera o dos mesmos pela CPU Dessa forma quando o perif rico est pronto para a transfer ncia de dados um sinal de HOLD alto enviado CPU solicitando a libera o do barramentos A CPU responde com um sinal HLDA informando que o processamento foi interrompido e os barramentos liberados O controlador de DMA realiza ent o a transfer ncia de dados em alta velocidade e devolve o controle dos barramentos para a CPU enviando um sinal de HOLD baixo 6 7 Exerc cios Propostos 25 Explique como funciona uma interrup o no 8085 Explique habilita o e m scara de interrup o interrup o vetorada interrup o por n vel interrup o por transi o Exemplifique escrevendo as linhas de programa para mascarar as interrup es RST 5 5 e RST 7 5 26 Para que servem as instru es El e DI Descreva as instru es SIM e RIM 27 Qual a finalidade do bit MSE 28 Insira os bits adequados do acumulador para mascarar a interrup o RST 6 5 e deixar as demais livres SOD SOE x R7 5 MSE M75 M6 5 M5 5 A 29
102. ais s o bufferizados para fazerem parte do barramento do sistema b Ag A15 2 8 e 39 a outra parte dos bits de endere os N o s o multiplexados no 8086 s o permanecendo est veis durante grande parte do ciclo de acesso a barramento Ap s bufferiza o fazem parte do barramento do sistema c A16 S3 A19 S6 35 38 sinais de status e endere os multiplexados No in cio do ciclo de barramento est o presentes os bits dos endere os A16 a A19 Durante o restante do ciclo a partir de T2 informa o status interno do 8088 S6 O permanece em n vel baixo no modo m ximo S5 indica o status do flag de interrup o se 1 a interrup o est habilitada S3 e S4 s o decodificados para indicar qual registrador de segmento est sendo usado no momento ver tabela abaixo N o s o usados no PC XT da IBM S3 S4 Reg Segmento 0 0 Dados Extra ES 0 1 Pilha SS 1 0 C digo CS 1 1 Dados DS d Clock 19 sinal de entrada respons vel pela gera o da temporiza o no uP No projeto do PC este sinal gerado pelo CI 8284A tendo freq ncia de 4 77Mhz e ciclo de trabalho duty cycle de 33 e RQ GT Request Grant 31 sinal bidirecional usado por outros controladores de barramento local para requerer o uso do barramento faz o papel dos pinos HOLD e HLDA do 8085 No PC este sinal ligado ao co processador 8087 f RQ GT 30 idem ao anterior com grau de priorida
103. alizada na figura da p gina 17 Os sinais mais utilizados s o dados a seguir Alimenta o Servem para alimentar os CT s digitais e anal gicos S o eles GND B1 B10 B31 5 V B3 B29 Im x 700 mA 5V B5 Im x 30 mA 12 V B9 Im x 100 mA 12 V B7 Im x 50 mA Sinais de Controle de I O Servem para controlar o acesso aos CT s de I O Alguns principais sinais de controle s o IOW B13 habilita escrita nos perif ricos de I O quando em n vel l gico baixo IOR B14 habilita leitura dos perif ricos pelo microprocessador quando em n vel l gico baixo RESET DRV B2 sinal de reset utilizado para ressetar portas program veis da placa de interface AEN A11 utilizado na l gica de decodifica o de endere os para indicar quando est ocorrendo um DMA CLOCK B20 sinal de clock fornecido pela placa principal fregii ncia 4 77 MHz DADOS de DO D7 A9 A2 sinais provenientes do barramento de dados ENDERE OS de AO A9 A31 A22 sinais provenientes do barramento de endere os Todos os demais sinais n o s o usados fregiientemente pois apenas placas de interface mais sofisticadas necessitam destes outros recursos Endere o Quantidade de Endere os Fun o 0200 h 020Fh 16 Adaptador de Jogos 0210 h a js 021Fh 16 Unidades de Expans o Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 133
104. ansfer ncia Programada Interrup es do 8085 Instru o Efeito C digo Posi o Pino de Opera o do Vetor TRAP CALL 0024h n o tem 0024 h 6 RST 5 5 CALL 002Ch n o tem 002C h 9 RST 6 5 CALL 0034h n o tem 0034 h 8 RST 7 5 CALL 003Ch n o tem 003C h 7 As interrup es externas tem uma ordem de prioridade de forma que no caso de dois ou mais pedidos simult neos de interrup o a ordem de atendimento Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 76 Interrup o Prioridade Posi o do Vetor TRAP 1 0024 h RST 7 5 2 003C h RST 6 5 3 0034 h RST 5 5 4 002C h INTR 5 Nenhuma Quando um pedido de interrup o feito o microprocessador termina a execu o da instru o em curso para somente depois atender a interrup o pendente A interrup o INTR tamb m presente na tabela de prioridades um canal que permite expandir a capacidade de interrup o ent o usado um CI extra para essa expans o como ser visto numa se o posterior Como j foi mencionado as interrup es s o acionadas por sinais externos nos pinos correpondentes Para o caso do 8085 esses sinais de acionamento de interrup o podem ser n vel alto no pino acionamento por n vel ou transi o do n vel baixo para o n vel alto acionamento por borda ou por transi o A figura a seguir ilustra cada uma delas Ativada por N ve
105. as secs ceesne snes cerene snes ersaesnassessceenaso 32 3 1 SIMBOLOGIA DAS INSTRU ES cccccececceseeeeesereseoecesseneeseeeeereeessencessenessceresecees encesseesesseessnaceso 33 3 2 MODOS DE ENDERE AMENTO ecoiizeieciota o sooiistaededaguacoL Tas Gueto ta o pedi before ted ortea ltda dg s gde sna cnteot ante 33 3 3 GRUPOS DE INSTRU ES csc sstessio sorriico cescesusconiddosisredua Sonda do semen ini sdevaddo de cr sdui Sinta do co cn dui Sdeca ide asas 34 3 4 INSTRU ES DE TRANSFER NCIA DE DADOS ccccerecececsserseeesenesseneseneseneesereseces eres seesseesseesseeso 35 3 5 INSTRU ES ARITM TICAS ceceererecereoceesneseesceeenesnescersarenesseesaresas secs creo ne secs cers ne snes essas snes sass oasis 39 3 6 INSTRU ES L GICAS scsiuasicaericas cova ciavistrebadeo Cri bas dado cho ndo p esre ni oss E Ena ta bestas Esos E tooi osios s iS Ses 43 3 7 INSTRU ES DE DESVIO s ecesssstsanacostercossacochaco e doesenasia ndodo oca SEO as soe E SooSo sosobra SSS oso Stan bo tastebancactdos 46 3 8 INSTRU ES DE CONTROLE PILHA E ENTRADA E SA DA ccceeeeseeeenesnescerenesnescersmeenesenessrenass 49 3 9 FUNCIONAMENTO DA PILHA ccecceeeeeeeneorneerereseres eres eees eres sees snes snes seno seno se aeee aees aces aces aces secs seesaneso 51 3 10 EXEMPLOS DE PROGRAMAS EM ASSEMBLY DO 8085 eesseceessececssoccessoceessocecsseceesseceesseceessoe 52 3 11 EXERC CIOS PROPOSTOS aissaiscarsessedicasosas a
106. ca for ministrada Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 67 EXPERIMENTO 1 Objetivo Familiariza o com o simulador ABACUS e com o kit did tico Material computador com o simulador ABACUS e kit did tico 1 Inclua no ABACUS e execute o programa da se o anterior repetido a seguir Endere o Mnem nico 2000 LXI SP 2020 2003 MVI A 00h 2005 PUSH PSW 2006 CALL MOSTRAA 2009 POP PSW 200A INRA 200b JMP 2005 A A l 2 Inclua ap s a instru o CALL MOSTRAA uma subrotina de atraso de tempo com D 05 h execute o programa novamente e observe o aumento no tempo entre cada valor mostrado no display O trecho a ser inclu do mostrado a seguir Endere o Mnem nico 2009 MVI D 05 200B CALL DELAY 200E POP PSW 200F INRA 2010 JMP 2005 3 Inclua no Kit did tico e execute o programa da se o anterior repetido a seguir Endere o Mnem nico C digo 4000 MVI A 00h 3E 00 4002 CALL APDIS CD OB 07 4005 PUSH PSW F5 4006 CALL DBYTE CD Al 05 4009 POP PSW F1 400A INR A 3C 400B JMP 4002 C3 02 40 4 Inclua ap s a instru o CALL DBYTE a subrotina de atraso de tempo DEL 1 50 ms execute o programa novamente e observe o aumento no tempo entre cada valor mostrado no display O trecho a ser inclu do mostrado a seguir Endere o Mnem nico C
107. caso mostrado d se in cio ao ciclo de Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 30 busca da instru o MOV B A Portanto h sobreposi o busca execu o SBE Busca da instru o MOV B A e execu o da instru o ADD B 10 No estado T2 do ciclo de m quina M2 a instru o iniciada MOV B A n o usa o barramento de dados endere os Nessa fase a instru o ADD B encerrada Na descida do sinal de clock em T2 os conte dos de A 10 h e do registrador tempor rio TMP B 5 h s o simultaneamente transferidos para a Unidade L gica e Aritm tica ULA de onde o resultado da adi o sai direto para o barramento Na subida do sinal de clock em T2 o resultado da opera o carregado no acumulador A 15 h Encerra a execu o da instru o ADD B 11 No estado T3 do ciclo de m quina M2 a instru o MOV B A lida da ROM transferida para o Registrador de Instru es e decodificada encerrando o ciclo de busca dessa instru o 12 No estado T4 do ciclo M2 o conte do de A transferido para um registrador tempor rio para posteriormente ser transferido para o registrador B 2 6 Formato das Instru es As instru es de adi o e de transfer ncia de dados mostradas na se o anterior s o instru es de apenas 1 um byte que chamado de OPCODE Operation Code Nesse caso toda a informa o necess ria para a execu o das duas instru es est contida no b
108. complementar do carry ou seja CY 0 como deveria ser o resultado de uma subtra o direta Outros exemplos para verifica o da Flag de Transporte CY Exemplo 1 Opera o de adi o 11110001 J11111 11 100001000 00000001 11111000 100000000 Carry 0 gt CY 0 Carry 1 gt CY 1 Exemplo 2 Opera o de subtra o Obs As opera es de subtra o s o executadas pelo 8085 usando o complementar de 2 subtra o normal subtra o usando complementar de 2 00001111 00001111 00000001 1 1 1 1 1 1 1 1 00001110 100001110 Carry 0 gt CY 0 Carry 1 gt CY 0 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 42 Exemplo 3 Opera o de subtra o subtra o normal subtra o usando complementar de 2 00001100 00001100 00010010 1 1101110 1 1 1 1 11010 1 1 1 11010 Carry 1 gt CY 1 Carry 0 gt CY 1 Exemplo Suponhamos que o acumulador cont m o valor 1Bh e a instru o DAA usada O resultado depois da instru o DAA 21 h Exemplo Mnem nico C digo Coment rio MVI A 09h 3E 09 Carrega acumulador com valor 09h MVI B 03h 06 03 Carrega registrador B com valor 03h MVI C 10h OE 10 Carrega registrador C com valor 10h LXI D 1234h 11 34 12 Carrega registrador duplo DE com valor 1234h LXI H 0123h 21 23 01 Carrega registrador duplo HL com valor 0123h INR A 3C Incrementa 1 ao acumulador A 09h Olh 0Ah DCR C
109. da 122 9 9 4 INTERRUP ES POR SOFTWARE cciiteeeteeeeeeeeeeereeeeeereeerereneeeaaeeanerene eae cena cone aene ae raranteada 122 9 10 CONJUNTO DE INSTRU ES DO 8088 86 cccccececeererreerererseecereenceseeeeereressencesseesescesereresseneos 123 9 10 1 INSTRU ES DE TRANSFER NCIA DE DADOS ciiiieeeeeeeeeeeeeae eee eee eee eeeeeererenteada 123 0 10 2 INSTRU ES DE STRINGS sc sssrestrneagemcisarisien poder o a SEET assi Le vaiado ni asus S DEENEN 126 9 10 3 INSTRU ES LOGICAS forca se sean rasto a UR aa UE dada a Dna a OS ndo Edo anta dan nda t condena 128 9 T04 INSTRU ES ARITME TICAS renion beta E TOE RETA A E data dad Q aaa Leste 129 9 10 5 INSTRU ES DE DESVIO estas unies eaae ea ola Mesa E Las anad e ea a aain 129 9 10 6 INSTRU ES DE CONTROLE noseci a a T E area aeea na a cena rene aeee as 130 9 11 CARACTER STICAS DE I O DO PC XT ceccerceseeresereeremsesorsrsoesesceseseesesseseosesosseseesescesesoeneso 130 9 11 1 DIVIS O DOS ENDERE OS DOS DISPOSITIVOS DE I O DO PC XT siiiee 130 9 11 2 ENDERE OS DOS DISPOSITIVOS DA PLACA PRINCIPAL PLACA M E cisittiets 131 9 11 3 ENDERE OS DOS DISPOSITIVOS DOS SLOTS cciiiteeeeeereeereeaeeeae eee eee eeeeeerereneeada 132 011 4 OSLOTDO PESAS BITS mares reis erros snagia danada data a nd Sena da RE Danada a legados 132 9 12 DECODIFICA O DE ENDERE OS eccccereeeeereresececeseeeeereeeesreresseneessees
110. da a partir do endere o mais alto em dire o ao mais baixo D 0 gt os registradores SI e DI ser o incrementados ou seja a string ser acessada a partir do endere o mais baixo em dire o ao mais alto EXEMPLO Descreva o estado dos flags ap s a execu o da instru o ADD AL 1 Adiciona 1 ao conte do do registrador de 8 bits AL sabendo que inicialmente AL 7Fh Resultado AL ter o valor 80h 7F h 01 h e seus flags ser o C5 0 P gt 0 AS 1 Z gt 0 S 1 05 1 9 4 A Pinagem do 8088 O microprocessador 8088 um CI com 40 pinos Na figura a seguir alguns pinos apresentados tem duas defini es O 8088 tem dois modos de opera o que s o selecionados pelo pino 33 MN MX Quando este pino ligado um n vel alto o uP fica no modo m nimo e compat vel com o 8085 podendo substituir diretamente este uP Vee A15 A16 AI AI8 A19 Vee MN RD RQ RQ lock s2 S1 so QSO QS1 Test RDY RSTJ s3 S4 s5 S6 MX GTO GT1 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Gnd Al4 A13 A12 All A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 ADI ADO NMI INTR CLK GND No PC o 8088 usado no modo m ximo MN MX 0 As defini es a seguir s o relativas a este modo a AD0 AD7 9 16 transmitem os 8 bits menos significativos dos endere os multiplexados com o byte de dados Os bits de endere o Ag A7 s o apresentados no in cio do ciclo T1 e os dados a partir de T2 Ambos sin
111. da para executar o programa Uso lt GO gt lt endere o de in cio do programa gt lt EXC gt SST gt Permite executar o programa passo a passo Uso lt SST gt lt endere o de in cio do programa gt lt NXT gt Cada pr ximo passo executado ap s a tecla NXT RST gt E usada para ressetar o programa ou seja zerar o conte do do contador de programa e de outros registradores INS gt usada para a inser o de c digos e dados no Kit Did tico Uso lt INS gt lt endere o de in cio do programa gt lt c digo 1 gt lt c digo dado 2 gt lt c digo dado 3 gt lt ltimo c digo dado gt lt EXC gt Como exemplo mostra se como o programa usado na se o anterior digitado no kit did tico lt INS gt lt 4000 gt lt 3E gt lt 00 gt lt CD gt lt 0B gt lt 07 gt lt F5 gt lt CD gt lt Al gt lt 05 gt lt F1 gt lt 3C gt lt C3 gt lt 02 gt lt 40 gt lt EXC gt Conv m neste ponto usar a tecla lt RST gt para zerar o contador de programa Obs Somente o endere o inicial digitado A cada novo dado digitado o endere o automaticamente incrementado Para executar o programa faz se lt GO gt lt 4000 gt lt EXC gt Obs Provavelmente a contagem ser t o r pida que n o ser vista no display porque nenhuma subrotina de atraso de tempo foi usada Sugere se como exerc cio adicionar uma subrotina de atraso de tempo ap s a instru o CALL DBYTE U
112. de B em A N o afeta nenhuma flag JMP volta Desvio incondicional para volta fim HLT Esta instru o p ra o processamento do programa 3 Exemplo usando compara o entre registradores A e B A opera o de compara o e volta repetida at o valor de B alcan ar o valor 08h quando ent o a flag de carry setada fazendo o processamento encerrar Label Instru es Coment rio MVI A 07h Carrega registrador A com valor 07 h MVI B 00h Carrega registrador B com valor 00 h volta INC B Incrementa em 1 o conte do do registrador B CMP B Compara conte do de B com o conte do de A sem alterar valor de A JNC volta Desvia para volta se a flag CY 0 CY 0 se A gt B ou A B HLT P ra processamento quando CY 1 ou seja quando B 8 A lt B 4 Exemplo similar ao anterior mas usando a instru o JC endere o ao inv s de JNC endere o Label Instru es Coment rio MVI A 07h MVI B 00h A opera o de compara o e volta repetida at volta INC B o valor em B alcan ar o valor 08h quando ent o a flag CMP B de Carry CY setada fazendo o processamento encerrar JC fim pulando para o comando HLT JMP volta fim HLT 5 Programa que faz a multiplica o de 4 por 3 usada a instru o ADI Dados Label Mnem nico Coment rio MVI A 00h Zera acumulador A 00 h MVI C 03h Carrega registrador C com 03 h
113. de menor No PC n o usado g Lock 29 ativado pela instru o LOCK e permanece ativo at o fim da pr xima instru o usado para indicar a outros controladores de barramento que estes n o devem tentar obter o controle do barramento durante a execu o da instru o seguinte LOCK O PC n o projetado para multi controladores e portanto este pino n o usado h NMI 17 sinal de entrada usado para gerar uma interrup o n o mascar vel no uP No PC este sinal mascarado externamente por uma l gica program vel um FlipFlop E equivalente ao pino TRAP do 8085 i INTR 18 entrada para solicita o de interrup o mascar vel No PC este pino ligado ao CI 8259A que expande esta entrada de 1 para 8 adicionando dentre outras fun es n veis de prioridade j Ready 22 sinal de entrada usado para inserir estados de espera no ciclo de barramento estendendo os No PC este sinal vem do chip do clock 8284A que o sincroniza com o clock do sistema 1 Reset 21 usado para reiniciar o uP No PC este sinal vem do chip de clock 8284A que recebe uma entrada da fonte do sistema A fonte envia um sinal chamado Power Good indicando que os n veis de tens o est o apropriados e o sinal Reset pode ser ent o removido para iniciar o uP A situa o dos registradores do 8088 ap s o RESET a seguinte Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 114 e Reg IP 0000
114. do conte do de A sem que o resultado seja guardado em A Se o resultado da subtra o for zero ou seja A HJ L a flag de zero Z Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 44 1 Caso contr rio Z 0 Se A lt H L a flag de carry CY 1 Caso contr rio CY 0 CPI dado8 A amp A byte 2 imediato todas Compara o conte do do byte 2 da instru o com o conte do do acumulador Na opera o o conte do do byte 2 subtra do do conte do de A sem que o resultado seja guardado em A Se o resultado da subtra o for zero ou seja A byte 2 a flag de zero Z 1 Caso contr rio Z 0 Se A lt byte 2 a flag de carry CY 1 Caso contr rio CY 0 RLC An amp An CY Rotate Left Rotacionar Esquerda O conte do do acumulador Ao amp A7 rotacionado uma posi o esquerda O conte do do ltimo bit bit 7 CW e AM transferido tanto para a posi o do bit 0 quanto para o Carry O conte do do bit i transferido para o bit i 1 Somente a flag de carry afetada RRC An amp An CY Rotate Right Rotacionar Direita O conte do do acumulador AD Ao rotacionado uma posi o direita O conte do do bit menos significativo CY Ao bit 0 transferido tanto para a posi o do bit 7 quanto para o Carry O conte do do bit i transferido
115. dos na tabela a seguir AD AD AD Sele o 0 0 0 Registradores de comando e de status 0 0 1 Porta A 0 1 0 Porta B 0 1 1 Porta C 1 0 0 8 bits menos significativos do temporizador 1 0 1 2 bits de modo do temporizador e 6 bits superiores do temporizador As duas portas de Entrada e Sa da do 8355 s o Porta A 8 bits e Porta B 8 bits que s o numeradas respectivamente como 00h e 01h no sistema m nimo da Fig 7 2 O endere amento dado na tabela a seguir AD AD Sele o N mero da Porta 0 0 Porta A 00h 0 1 Porta B Olh 1 0 Registrador de Dire o de Dados da Porta A DDR A 02h 1 1 Registrador de Dire o de Dados da Porta A DDR A 03h O temporizador da 8156 possui decrementador pr set vel controlado pelas portas 20h 24h e 25h O contador pode operar em 4 modos mostrados nas figuras a seguir Timer IN Timer OUT CLK Fig 7 6 Temporizador do CI 8156 Comando D7 D6 D5 D4 D3 D2 D1 DO E E rop 2 2 H 5 5 E E 2 2 U m lt la o D Em E E Re ES Ie D kiar es S E o E E S q T T Porta 20h Registro de comando para as portas A B e C do 8156 e para o temporizador D D D Da D D D Do Temp Temp Int B Int A C C B A Porta 24h Byte menos significativo do Temporizador Porta 25h Byte mais significativo do Temporizador e m
116. e o de 16 bits O byte 2 armazena o byte menos significativo do endere o low order addr ou o byte menos significativo do dado de 16 bits low order data O byte 3 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 31 armazena o byte mais significativo do endere o high order addr ou o byte mais significativo do dado high order data Exemplo STA 1234h guarda o conte do do acumulador na posi o de mem ria indicada pelo endere o addr byte 3 byte 2 A Opcode byte 1 0 0 1 1 0 0 1 0 32h Operando 1 byte 2 0 0 1 1 0 1 0 0 34h Operando 2 byte 3 0 0 0 1 0 0 1 0 12h No ciclo de busca primeiro ciclo de m quina o microprocessador 8085 transfere o primeiro byte da instru o opcode c digo de opera o para o Registrador de Instru o IR Nos ciclos de m quina que se seguem os outros bytes s o buscados na mem ria Primeiro o byte 2 transferido para um registrador tempor rio Z depois o byte 3 que transferido para um registrador tempor rio W Cada uma das instru es pode ser visualizada com um diagrama de temporiza o que mostra cada passo da instru o O primeiro ciclo de m quina do 8085 flex vel podendo ter de 4 a 6 ciclos de clock os demias ciclos de m quina cont m 3 ciclos de clock O ciclo de instru o pode ter de 1 a 5 ciclos de m quina como mostrado a seguir onde M o ciclo de m quina e T
117. e 3 byte 2 ou seja se a flag de Paridade for zero P 0 JPE addr Se CCC ent o 2 3 710 imediato nenhuma Jump if Parity Even Desvia para o endere o indicado se a paridade for Par PC byte 3 byte 2 ou seja se a flag de Paridade estiver setada P 1 JP addr Se CCC ent o 2 3 710 imediato nenhuma Jump if Plus Desvia para o endere o indicado se o valor no acumulador for PC lt byte 3 byte 2 um n mero positivo ou seja tiver o s timo bit zerado ou ainda se a flag de Sinal estiver zerada S 0 JM addr Se CCC ent o 2 3 7 10 imediato nenhuma Jump if Minus Desvia para o endere o indicado se o valor no acumulador for PC lt byte 3 byte 2 um n mero negativo ou seja tiver o s timo bit setado ou ainda se a flag de Sinal estiver setada S 1 CALL addr SP 1 lt PCH 5 18 imediato e nenhuma Call address Chamada de subrotina O processamento desviado para o SP 2 lt PCL indireto por endere o indicado em addr que dado pelos bytes 2 e3 da instru o Antes do SP amp SP 2 registrador desvio para a subrotina o endere o da pr xima instru o guardado na pilha O byte superior do endere o da pr xima instru o guardado na posi o SP 1 da PC lt byte 3 byte 2 pilha e o byte inferior guardado na posi o SP 2 da pilha Ao final da subrotina a instru o RET faz o processamento voltar para o programa principal no endere o que foi guardado na p
118. e 74 6 INTERRUP ES E OPERA ES DE ENTRADA E SA DA ccececseereeseseeseereesesensesensesena 75 6 1 INSTRU ES DE RECOME O eeeseeesecescoesooeecoecsoeesoeesoeesseesoeesoeesoeesoeesoeesoeesseesseeeseeeseeeseesseoesseeseeese 75 6 2 INTERRUP ES ccscosecocsorsiorssioirsessretsacessesosoesse GU on dido esee esee Eeo Eoee as eote Eo Eseo reseo os sosser sves e ts Soasson 75 6 3 CIRCUITOS DE INTERRUP O sisser ssissescsssrsosserstesssasisse nda dado siseosas sesties ioeo Endeicaaidniciobdas iosi oe asese 76 6 4 SETAGEM E LEITURA DA M SCARA DE INTERRUP O ssesseseseesosoesesocsosseseeossossesossosoesesossossesesee 79 6 5 AMPLIANDO A CAPACIDADE DE INTERRUP O ccececcesereeereresececeseeeeeseeeeenecessencesseeseseeessnereso 80 6 6 DISPOSITIVOS DE ENTRADA E SA DA sesseseseesossesesoesosseseeoesossesossosoesesossosseseeoesosseeoseosossesossosseseses 81 6 7 EXERC CIOS PROPOSTOS isassecincissiestoaracsissio Fanesesiades cevassnaisdo a cantdro da anca sha ad sanesgavda osese i bs eos rsss 83 6 8 REFER NCIAS BIBLIOGR FICAS cceeeceeenesneseerenesnescersarenesseesaeesas secs ceesne snes sessne snes cersaeenassecssesnaso 84 7 ENTRADA E SA DA SERIAL E PASTILHAS INTEGRADAS DE SUPORTE 85 7A INTERFACE SERIAL NO PC x cocrvsreso cr cuvaso uiaualsorenua lo A AEEA EA ENNA EN ANAE ENR EEE seda al ENEE 85 7 2 INTEGRADOS DE SUPORTE sszssscasossarreassosacasbscae peso raiona Sepp asso paca sb Soa pesso sacana PARS ERS A
119. e a execu o verifica se que ele vai ficando mais lento na medida em que os m ltiplos maiores v o sendo mostrados Por que isso acontece d Voc pode sugerir uma maneira de resolver o problema citado no item anterior e Qual a finalidade da instru o CPI 50 h no segundo e no terceiro programas Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Roteiro EXPERIMENTO 6 Objetivo Programa o com o assembly do 8085 Material Computador com o simulador ABACUS e kit did tico 1 O programa a seguir gera e mostra no display uma seqii ncia crescente de 00 h a FF h seguida de uma seqii ncia decrescente de FF h a 00 h de forma ininterrupta Insira os mnem nicos no ABACUS e execute o programa Observe o resultado Label Mnem nico Label Mnem nico LXI SP 2090 h decresce PUSH PSW MVI A 00 h CALL MOSTRAA cresce PUSH PSW POP PSW CALL MOSTRAA DCR A POP PSW CPI00h INR A JNZ decresce CPI FFh JMP cresce JNZ cresce HLT Label Mnem nico Label Mnem nico LXI SP 2090 h decresce PUSH PSW MVI A 00 h CALL MOSTRAA cresce PUSH PSW POP PSW CALL MOSTRAA ADI 99 h POP PSW DAA ADI Ol h CPI00h DAA JNZ decresce CPI 99 h JMP cresce JNZ cresce HLT Mostra A AA Mostra A AC A I 2 O programa a seguir uma nova vers o do programa anterior mas com contagem em decimal que vai de 00 a 99 e volta para 00
120. e de Harvard em 1937 o professor Howard Aiken financiado pela IBM come ou a construir o Mark I conclu do em 1944 Baseado em um sistema decimal manipulava n meros de at 23 d gitos e tinha medidas grotescas 15 m de comprimento e 2 5 m de altura 760 000 pe as envoltas em vidro e a o inoxid vel brilhante 800 km de fios e 420 interruptores para controle trabalhava sob o controle de um programa perfurado em uma fita de papel Adi o e subtra o em 0 3 s multiplica o em 3 s e divis o em 12 s 1946 ENIAC Electronic Numerical Integrator and Computer 1 Computador de prop sito geral a v lvula 18 000 v lvulas 30 toneladas 15 000 p s quadrados 140 kW representa o e aritm tica com n meros decimais 5 000 adi es seg Projetado pela Ballistics Research Labs Foi aproveitado no desenvolvimento da Bomba H 1946 VON NEWMANN MACHINE A M quina de Von Newman ou M quina de Touring introduziu o conceito de programa armazenado Stored Programa Concept no qual a mem ria conteria al m de dados programas Os computadores modernos s o baseados na m quina de Von Newman 1950 UNIVAC Universal Automatic Computer Lan ado pela SPERRY foi o 1 Computador de aplica o cient fica e comercial Seguiram UNIVAC II e UNIVAC 1100 series Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 12 1953 IBM 701 Computador desenvolvido para aplica es cient f
121. e o sinal na sa da do comparador pode ser usado para indicar o fim da convers o Durante a convers o esse sinal permanece em n vel alto A desvantagem principal de um conversor do tipo mostrado na Fig 8 6 que o tempo de convers o pode durar at 255 per odos de clock para um conversor de 8 bits e at 65535 per odos de clock para um conversor de 16 bits Uma solu o para reduzir o tempo de convers o o conversor mostrado na Fig 8 7 do tipo aproxima o sucessiva Comparador Vem In cio de convers o CLK Fim de convers o Conversor D A V de 8 bits sa da Registrador Buffer D3 De Ds D4 D3 D D Do Fig 8 7 Conversor AD por aproxima o sucessiva Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 102 O processo de convers o desse tipo de conversor diferente do anterior Nesse conversor o n mero m ximo de per odos de clock utilizados na cconvers o corresponde ao n mero de bits do conversor ou seja o conversor de 8 bits leva at 8 ciclos de clock para completar uma convers o e o de 16 bits leva at 16 ciclos de clock Um pulso alto de in cio de convers o enviado ao Registrador de Aproxima o Sucessiva RAS d in cio ao processo O registrador RAS come a setando o bit mais significativo D MSB que alimenta o conversor DA Se a sa da do DA for maior que o sinal a ser convertido Venn O bit MSB zerado Caso o bit D n o
122. e reg CS FFFF resultando no end de in cio de programa FFFFOh e Registradores DS SS ES e IP zerados e Registrador Flags zerado m QSO QS1 24 25 Queue Status sinais de sa da que fornecem o status da fila de instru o queue do 8088 No PC s o ligados ao co processador de modo que este possa acompanhar o status da fila 8088 n TEST 23 pino de entrada utilizado em conjunto com a instru o WAIT n o confundir com estado de espera wait state Se ap s a instru o WAIT o pino TEST estiver em n vel alto o 8088 espera em estado inativo at este pino obter sinal baixo No PC ligado a um pino de sa da do 8087 o SO S1 S2 26 28 status apresentam informa es de status sobre o tipo de ciclo de barramento que est sendo desenvolvido Este status v lido no in cio de cada ciclo de barramento durante o per odo T1 No PC estess pinos s o ligados ao 8288 chip controlador de barramento onde s o decodificados Os sinais de sa da decodificados no 8288 formam as linhas de controle do sistema Os sinais de controle gerados pelo 8288 a partir das informa es de status s o IOR IOW MemR MemW e ALE Os bits de status podem ser vistos na tabela abaixo reconhecimenodeimemp o CINTA EXESZER Leitura 1 0 JOR EEERES Escrita I O JOW o f 1f 1 Bat ls ss 1 o 0 Busadeinsu o _ _ EJEJEJ Leitura mem ria MemR ETETES Escrita mem ria MemW 9 5 Ciclos
123. edido foi aceito Sa da de clock para os demais chips do sistema Reset do sistema PC 0000 h Interrup es com m scara 1 gt mem ria ou perif prontos para acesso O gt wait Indica se a opera o de entrada sa da ou com mem ria Com Soe IO M indicam estados do ciclo de m quina Sinal que habilita perif rico ou mem ria para leitura Sinal que habilita perif rico ou mem ria para escrita Sinal para carga da parte baixa do endere o no latch 74373 Com S e IO M indicam estados do ciclo de m quina Byte mais significativo do endere o Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 2 5 Sistema B sico de Temporiza o e Princ pio de Opera o 27 M1 M2 CLK T1 T2 T3 T4 TI T2 T3 PCFORA PC 1 gt PC INST gt IR SBE PCFORA PC 1 gt PC INST gt IR AD7 ADO ALE Fig 2 4 Diagrama b sico de temporiza o do 8085 M1 M2 CLK Ti T2 Twait T3 T4 T1 T2 T3 PCFORA PC 1 gt PC INST gt IR SBE PC FORA INST gt IR PC 1 gt PC AD7 ADO X PEI Fig 2 5 Diagrama b sico de temporiza o com per odo de espera Twait Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 28 O diagrama de temporiza o mostra os sinais essenciais no processo de busca e execu o de cada instru o Observ
124. efer ncia de mem ria com omiss o de qualquer uma destas partes tamb m chamada de Endere o Efetivo por exemplo a parte offset do exemplo anterior poderia ser BP 4 ou BP SI Uma das vantagens de se escrever instru es com endere os efetivos que um endere o de mem ria pode ser modificado baseado em condi es do programa Isto particularmente til quando se trabalha com tabelas ou matrizes Por exemplo BP pode ser setado para apontar para a base o in cio da tabela e SI que armazena o resultado de um c lculo localiza um elemento na tabela A tabela abaixo sumariza os modos de endere amento do 8088 e os registradores que est o dispon veis em cada modo Modo Endere amento Exemplo Registrador de Opera o Mnem nico Segmento acessado MOV AX 1000H AX lt 1000H MOV DX CX DX ECX MOV AH 1000H Data gt DS AH lt 1000H Indireto por Registro MOV AX SI Data gt DS AL lt SI AH lt SI 1 xsesido CVM ERES SI ou DI BP ou BX o AH lt BX SH1 Baseado e Indexado com MOV AX BX SIH 5 Stack gt SS AL lt BX SI 5 Bane AH C BSI Strings MOVSB Extra Dado gt ES DI DS SI ES DS se DF 0 ent o SI lt SHleDI lt DI 1 se DF 1 ent o SI SI 1 e DI DI 1 ENDERE AMENTO POR REGISTRADOR Operando est em um registrador de 16 bits AX a DI ou de 8 bits AH a DL Ex MOV AX BX gt copia conte do de BX para AX CMP AL DL gt compara conte dos de AL e DL
125. ente na porta 21h Converte o valor lido hexadecimal em valor decimal guardando o resultado em DE Retornar ao programa principal Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 103 Observa o N o o caso de usar DAA e sim fazer a convers o da base hexadecimal para a base decimal Essa convers o feita da seguinte forma Passo 1 Divide se o n mero hexadecimal pelo decimal 10 hexadecimal 0A O resto dessa primeira divis o o d gito menos significativo do n mero decimal resultante d0 Se o quociente for zero o processo encerrado Passo 2 Se o quociente da divis o anterior for diferente de zero divide se esse quociente novamente pelo decimal 10 at obter o segundo resto que o segundo d gito menos significativo d1 Se o quociente dessa segunda divis o for zero o processo encerrado Passo 3 Se o quociente da divis o anterior for diferente de zero divide se esse quociente novamente pelo decimal 10 at obter o terceiro resto que o d gito mais significativo d2 Como o valor m ximo poss vel FF h n o h possibilidade de um Passo 4 O decimal resultante d2d1d0 d2 deve ser mostrado em D e didO deve ser mostrado em E Subrotina 2 atendimento da RST 5 5 a cada fim de convers o do AD da velocidade a L o valor da velocidade presente na Porta 23h b Verifica o valor da velocidade atrav s de seu equivalente digital e carrega em A o valo
126. ento como default Uso dos registradores de segmento Mem ria Base default Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 111 CS SS ES O registrador de segmento default selecionado pelo hardware do 8088 Em alguns casos poss vel n o levar em conta o registrador default e especificar um registrador de segmento diferente ver exemplo abaixo EXEMPLO A instru o MOV BX CX move o conte do de CX para a posi o de mem ria calculada utilizando o registrador de segmento DS segmento default para dados e o registrador de dados BX Mas se escrevermos MOV CS BX CX for amos o uso do registrador de segmento CS para o c lculo da posi o de mem ria destino que ser CS BX Da mesma forma a instru o MOV AX BP acessa posi o de mem ria diferente da instru o MOV AX ES BP Notar que n o h registrador de segmento e registrador de offset alternativos para a busca de instru es que deve sempre ser o par CS IP e para opera es de pilha que deve sempre ser o par SS SP 9 3 4 Apontador de Instru es Este registrador cont m o endere o offset da pr xima instru o a ser executada pelo microprocessador Tem a mesma fun o do PC utilizado no 8085 Registrador Apontador de Instru es 15 0 IP instruction pointer 3 5 O Registrador de Flags um registrador de 16 bits mas apenas 9 bits s o usados Seis deles s o bits de status que ref
127. ento de 32 bits do Pentium Pro e maior efici ncia no processamento de 16 bits Instru es MMX 1998 Pentium II 450 MHz Cache L2 de 512 kB 7 5 milh es de transistores tecnologia 0 25 micron barramento de 64 bits 64 GB de mem ria endere vel 1999 Pentium III 450 e 500 MHz at 1 2 GHz Barramento de sistema de 100 MHz ou 133 MHz cache L2 de 512 kB processador de 32 bits 9 5 milh es de transistores tecnologia 0 25 micron 64 GB de mem ria endere vel 70 novas instru es voltadas para multim dia e processamento 3D 2000 Pentium IV at 2 GHz barramento de sistema de 400 MHz Cach L1 de 32 kB e L2 de 256 kB 42 milh es de transistores Alguns Exemplos de Aplica o de Microprocessadores e Microcontroladores Microcomputadores Calculadoras Rel gios Digitais Controle de Fornos Micro ondas Lavadora de Roupas Video Games e outros brinquedos Controle de Motores Controle de Tr fego Alarmes e Sistemas de Seguran a Telefone Celular 1 2 N mero de Transistores em um Microprocessador O n mero de transistores num nico microprocessador um dos indicadores da evolu o acentuada nessa rea nos ltimos anos Dr Gordon E Moore co fundador da Intel afirmou em 1965 que o n mero de transistores em um microprocessador dobraria a cada dois anos O gr fico e a tabela a seguir confirmam a previs o de Moore nos ltimos 30 anos transistors Pentium 4 Processor 100 000
128. entrada digital sucessiva ou seja cada aumento no sinal de entrada produz um aumento no sinal de sa da Se os resistores ponderados n o estiverem corretos pode se ter um conversor n o monot nico O erro m ximo da sa da do conversor deve ser de 1 2 LSB para garantir que o conversor seja monot nico 5 Tempo de Resolu o ou de Posicionamento Tempo que a sa da do conversor Iva para se estabilizar dentro de 1 2 LSB de seu valor final Esse tempo depende dentre outros fatores das capacit ncias esp rias e do tempo de retardo de satura o dos transistores Fig 8 4 Conversor Digital Anal gico em escada Sistema m nimo 8156 Porta 22H 0S sa da S2 mA a 182 O Vsa da 1IR V Fig 8 5 Conex o do conversor DAC 0808 com um sistema m nimo Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 101 Para que o conversor seja monot nico a toler ncia dos resistores ponderados deve ser inferior resolu o percentual Assim a toler ncia dos resistores deve ser no m ximo de 6 67 para o conversor de 4 bits e de 0 4 para o conversor de 8 bits Portanto quanto maior o n mero de bits do conversor maior a dificuldade de contru o usando o modelo de resistores ponderados al m da difuldade com os diferentes valores A solu o encontrada foi o modelo da Escada R 2R mostrado na Fig 8 4 Nesse circuito a corrente permanece constante em cada ramo O que muda a posi o
129. erial ser utilizada para transferir dados a uma taxa de 10 a 20 caracteres seg em outros esta pode cair para 1 ou 2 caracteres seg e ainda em grande parte do tempo o teclado n o utilizado chegando a uma taxa de zero caracteres seg Por causa deste tipo de caracter stica de transmiss o de dados um protocolo de comunica o ass ncrono deve ser estabelecido entre estes dispositivos A t cnica aceita para comunica o serial ass ncrona a de segurar a linha de sa da da transmiss o serial no n vel l gico 1 marca at que chegue dados para transmiss o Cada caracter ser iniciado com um n vel l gico O start bit Este 1 bit o start bit utilizado para sincronizar a transmiss o e a recep o O dado transmitido colocando se o bit menos significativo em primeiro lugar ap s o start bit No final do dado s o transmitidos stop bits 1 11 2 ou 2 com n vel l gico 1 Opcionalmente pode se transmitir um bit de paridade ap s o MSB do caracter e antes do stop bit ver figura abaixo esta figura considera apenas 1 stop bit 1 espera start 1 1 0 1 1 1 1 0 Par stop Os bits de start e de stop n o carregam informa es e s o necess rios pela natureza da comunica o serial ass ncrona Para se configurar uma porta serial v rios par metros devem ser especificados Os par metros mais comuns s o e tamanho do caracter ou bits por caracter usualmente de 5 a 8 bits e stop bits 1
130. errup es mascar veis gt 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 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 desabilita as RECONHECIMENTO DE interrup es pendentes menos a TRAP evitando que a interrup o em INTERRUP AO 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 Embora os endere os de desvio sejam os indicados na Fig 6 2 e 6 3 os endere os de desvio no ABACUS e no kit did tico s o diferentes Na verdade como o usu rio final n o pode inserir instru es dados na ROM do ABACUS nem do kit did tico o criador dessas ferramentas incluiu no programa monitor uma instru o de desvio para a RAM de forma que a cada interrup o o programa seja automaticamente desviado
131. es DS SI e ES DI e atualiza Flags DS SH 1 SI ES DH 1 DI Uso do Prefixo REP Repeat Precedendo as instru es de transfer ncia de strings com REP faz com que estas instru es sejam repetidas o n mero de vezes igual ao conte do do registrador CX EXEMPLO 1 Uso de MOVSB e REP Mnem nico Descri o timake COM Diretiva para o compilador ORG 100h Diretiva para o compilador gt programa come a na posi o 100h LEA SI al Offset SI assume o endere o do primeiro valor da vari vel al LEA DI a2 Offset DI assume o endere o da vari vel a2 MOV CX 5 Registrador CX recebe valor 5 REP MOVSB Instru o MOVSB repetida at o registrador CX alcan ar O RET Encerra programa al DB 1 2 3 4 5 Vari veis a2 DB 5 DUP 0 A vari vel a2 ter 5 valores zero conforme declarado em 5 DUP 0 EXEMPLO 2 Um bloco de mem ria de 10 bytes com caractere A3 armazenado na mem ria a partir do endere o f sico E0000 H Mnem nico Descri o tfmake COM Diretiva para o compilador ORG 100h Diretiva para o compilador gt programa come a na posi o 100h MOV AX 0E000 H AX E000 h MOV ES AX Segmento especial ES AX E000 h MOV DI 0000 DI 0000h gt ES DI E0000 00000 E0000 h MOV AL 0A3 H Byte a ser armazenado colocado em AL CLD clear direction flag resseta flag dire o modo auto incremento MOV CX 1
132. es espec ficos Para outras instru es os registradores t m uso impl cito A tabela a seguir lista as opera es que implicam no uso espec fico impl cito de um determinado registrador opera o de strings loops o CX opera o de strings loops opera o de string destino 9 3 3 Registradores de Segmento Registradores de Segmento 15 0 Code Segment Data Segment Stack Segment Extra Segment Estes 4 registradores de 16 bits s o utilizados para alocar segmentos de 64 kB de mem ria CS Segmento de C digo Para a busca fetch de cada instru o o offset definido por IP adicionado ao endere o base definido por CS para o endere o da instru o DS Segmento de Dados Todo acesso a dados usa este registrador como refer ncia mas existem 3 exce es a endere os para acessos pilha s o calculados usando o registrador de segmento de pilha SS b endere os para acessos a dados que usam o BP s o calculados usando o SS e c opera es com strings que usam o DI no c lculo do endere o s o feitas usando ES SS Segmento de Pilha Todos os acessos a dados que usam os registradores SP ou BP tomam como refer ncia o registrador de segmento de pilha SS ES Segmento Extra Opera es com strings que usam DI para calcular o endere o s o feitas usando o registrador ES para definir o segmento A tabela a seguir sintetiza o uso dos registradores de segm
133. esabilita todas as interrup es com exce o da TRAP b atrav s de um sinal alto no pino 36 RESETEN ou c atrav s de um sinal alto de reconhecimento de qualquer interrup o 1 17 5 Pino 7 4 L E RST 7 5 R7 5 CLR RECONHECIMENTO DE RST 7 5 Pino8 E RST 6 5 Pino 9 RST5 5 RESETIN QUALQUER RECONHECIMENTO DE INTERRUP O Fig 6 3 Circuitos das interrup es RST 7 5 RST 6 5 e RST 5 5 A setagem de m scara tamb m mostrada na Fig 6 3 Verifica se que um sinal alto MSE Mask Set Enable necess rio para habilitar qualquer das m scaras de interrup o A partir da desejando se mascarar n o permitir a execu o a interrup o RST 7 5 o sinal M7 5 deve ser levado ao n vel alto Desejando se Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 78 mascarar a interrup o RST 6 5 o sinal M6 5 deve estar em n vel alto E finalmente se a interrup o que se deseja mascarar a RST 5 5 o sinal M5 5 deve ficar em n vel alto S MBOLO SIGNIFICADO COMENT RIO 17 5 16 5 15 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 gt interrup o bloqueada RST 7 5 RST 6 5e RST 5 5 int
134. escecsseecessencesseeseseressenes 133 9 13 EXEMPLO S GERAIS sisscsnsessterrccete racer sirosaiicossosrebeistetenes sora ophsat co tsstetiniisolesasvoatapascascae posses 133 9 14 PROBLEMAS PROPOSTOS cus sorencaestestavasicecumesodevima so bocuioabpdacrasaneserassacasa E ISSE I EE PEES o oii 134 9 15 REFER NCIAS BIBLIOGR FICAS sseeesescseseseseseseosososcscecocococcececececseseseseseosososcecseoeocosceceeeesesesee 135 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 1 INTRODU O AOS COMPUTADORES E MICROPROCESSADORES 1 1 Hist rico sobre Computadores 4000 A C BACO Inven o do baco pelos babil nios Instrumento usado para realizar opera es aritm ticas onde cada coluna representa uma casa decimal Era o principal instrumento de c lculo do s culo XVII e usado at hoje Octograma chin s Yin Yang Data da mesma poca do baco o octograma chin s Yin Yang o qual tido como a primeira representa o bin ria dos n meros de O a 8 Foi criado pelo imperador chin s Fou Hi para representar a intera o entre as duas energias que juntas s o o fundamento da totalidade 1614 LOGARITMO O cientista escoc s JOHN NAPIER criou os logaritmos Atrav s das tabelas criadas as opera es de multiplica o e divis o tornaram se mais simples pois eram substitu das por opera es de adi o e subtra o reduzindo o tempo de processamento Tabe
135. fei oada para realizar opera es aritm ticas elementares Em 1896 Hollerith fundou a TMC Tabulation Machine Company Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 11 Para ampliar seus neg cios a TMC se uniu com duas pequenas empresas para formar a CTRC Computing Tabulation Recording Company em 1914 Em 1924 a CTRC se tornou uma empresa internacional e mudou seu nome para IBM Internacional Business Machine M quina de Herman Hollerith 1936 COMPUTADORES Z1 Z3 e Z4 O cientista alem o KONRAD ZUSE criou o computador Z1 baseado em rel eletro mec nico Criou tamb m o computador Z3 que foi o primeiro computador de prop sito geral controlado por programa Criou ainda o Z4 computador projetado para o desenvolvimento de m sseis Ele foi destru do por bomba na 2 guerra mundial 1943 COLOSSO Na Inglaterra em 1943 Alan Turing do Servi o de Intelig ncia Brit nico construiu o Colosso de dimens es gigantescas A m quina abrigada em Bletchley Park tinha 2000 v lvulas e lia s mbolos perfurados numa argola de fita de papel inserida na m quina de leitura fotoel trica comparando a mensagem codificada com sequ ncias conhecidas at encontrar uma coincid ncia Processava cerca de 5 mil caracteres por segundo e foi usada para descodificar as mensagens dos alem es tendo sido decisiva no resultado final da guerra Colosso 1944 MARK I Na Universidad
136. forma crescente ou seja a cada interrup o muda se o modo de contagem alternando entre crescente e decrescente 33 Como feita a comunica o entre o microprocessadore 8085 e o controlador de interrup o 82599 34 Como feita a transfer ncia por interrup o E por DMA 35 Fa a um programa no ABACUS usando a linguagem assembly do 8085 que mostre um valor zero no display enquanto aguarda um pedido de interrup o RST 6 5 Ocorrida a interrup o o programa deve fazer uma contagem decimal crescente no display de zero a 60 sem interrup es Ao alcan ar o valor 60 o programa deve ficar esperando um pedido de interrup o RST 7 5 Ocorrida a interrup o o programa deve fazer uma contagem decimal decrescente no display at zero A contagem deve se repetir caso ocorra novamente a interrup o RST 6 5 e depois a RST 7 5 36 Fa a o coment rio de cada linha do programa a seguir e explique qual a finalidade do programa completo Complete os endere os R tulo End Mnem nico Coment rios 4000 LXI SP 4100h LXI H 4031h MVI C 0Ah LDA 4030h volta CMP M JC pula MOV A M pula INX H DCR C JNZ volta CALL APDIS CALL DBYTE HLT 37 mostrado a seguir o que representa cada bit do acumulador quando se deseja mascarar interrup es Escreva as instru es para mascarar as interrup es RST7 5 e RST6 5 em seguida habilitar a RST5 5 bi
137. grande capacidade de armazenamento opera o com matrizes e ponto flutuante melhorada Mainframes computadores de grande porte suporta grandes bases de dados organiza es governamentais grandes empresas alta performance processamento distribu do Supercomputador Computador idealizado para resolver problemas matem ticos de processos reais tais como aerodin mica meteorologia f sica etc alt ssima performance GFLOPs para repetidas opera es aritm ticas itera o opera es com matrizes e n meros em ponto flutuante mercado limitado gt COMPUTADOR classifica o quanto grandeza manipulada Computadores Anal gicos operam diretamente com grandeza f sica vari veis cont nuas Computadores Digitais operam com vari veis discretas n meros gt COMPUTADOR fun es b sicas processamento de dados ex execu o de uma adi o ou de uma fun o l gica armazenamento de dados ex armazenamento tempor rio na mem ria RAM Disco DAT etc movimenta o de dados comunica o com mundo exterior teclado monitor impressora controle controle das fun es anteriores 1 4 Estrutura B sica de um Computador CPU Dados ADDR Ctrl REGISTERS CONTROL UNIT Mem ria Fig 1 3 Estrutura b sica de um computador Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 16 1 4 1 Unidade Central de Proce
138. h A que grupo de instru es pertence a instru o MVI M 08h Explique em poucas palavras como funciona a pilha no 8085 Mostre atrav s de um mapa de mem ria a evolu o da pilha quando se realiza as seguintes instru es na segii ncia mostrada PUSH B PUSH D ADD B PUSH PSW ADD D POP PSW OUT 90 POP D POP B Valores iniciais SP 20C0 h A 33h B 1Ch C 4Bh D 10h E FEh e F 3Dh Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 10 11 55 Mostre atrav s de um mapa de mem ria a evolu o da pilha quando se executam as seguintes instru es na seq ncia mostrada PUSH PSW PUSH B CALL ADI O RET MOV B A POP B POP PSW Valores iniciais SP 2090h A 53h B 0Fh C 05h D 12h E 0lhe F 55h Endere o da chamada de subrotina CALL ADI O 2020 h Mostre a evolu o da pilha na execu o das instru es a seguir a PUSH B PUSH D PUSH H LDA 00FF h POP H POP D e POP B sabendo que o valor inicial de SP 38FC h e que os registradores B C D E H e L cont m os valores 08 h 1C h 2A h 06 h FE h e 3Dh b CALL 033CH ADD B e RET ADD B e RET est o dentro da sub rotina que se inicia na posi o 033CH nas mesmas condi es do exerc cio anterior supondo que o endere o da instru o CALL 033C h 0038 h Considere o programa abaixo em mnem nico e responda as quest es a seguir sabendo que a subrotina no endere o 0200 h pro
139. icas 1947 TRANSISTOR Inven o do transistor pelos cientistas John Bardeen William Shockley e Walter Brattain Passou a ser usado em escala comercial somente em 1952 pela Bell Laboratories 1958 CIRCUITO INTEGRADO O engenheiro Jack Kilby da Texas Instruments criou o Circuito Integrado 1960 IBM 7090 7094 Computador transistorizado Utiliza o de linguagens de programa o de alto n vel tais como FORTRAN COBOL e PASCAL 1964 IBM 360 Primeira fam lia planejada de computadores DEC PDP 8 Introduziu o conceito de Minicomputador Criou a estrutura de barramento ou seja unidadade de Entrada e Sa da Mem ria e CPU interligados por um conjunto de condutores 1971 4004 INTEL 1 microprocessador a ser lan ado de 4 bits com aplica o voltada para calculadoras manipula o de n meros em BCD 45 instru es 640 Bytes de mem ria clock de 108 KHz 60 000 instru es seg OBS desempenho superior ao ENIAC 2 300 transistores 1972 8008 INTEL 1 microprocessador de 8 bits com aplica o voltada para terminais que trabalham com caracteres codifica o ASCII 48 instru es 16KB de mem ria clock de 200 KHz 300 000 instru es seg 3500 transistores 1974 8080 INTEL Processador de 8 bits de prop sito geral 72 instru es opera com 12V clock de 2 MHz 640 000 instru es s 64KB de mem ria 6 000 transistores 1975 280 ZILOG
140. icrocomputadores Prof Jos Wilson Lima Nerys 118 Como o segmento multiplicado por 16 na forma o do endere o O espa o m nimo entre dois segmentos consecutivos 16 bytes No intervalo de 64 kBytes h 6353616 4096 possibilidades diferentes de endere ar a mesma posi o f sica de mem ria 9 7 Linguagem de Programa o ASSEMBLY do 8086 Conceito de tipo Cada s mbolo nome de vari vel endere o constante tem um determinado tipo Tipos da linguagem assembly ASM 86 BYTE PTR 5 referencia uma vari vel de 1 byte WORD PTR 5 referencia uma vari vel de 1 word DWORD PTR 5 referencia uma vari vel de 2 words NEAR PTR 5 referencia o endere o de destino de uma instru o de desvio do tipo near FAR PTR gt referencia o endere o de destino de uma instru o de desvio do tipo far NUMBER gt constante de 16 bits Obs near altera somente IP intra segmento far gt altera IP e CS inter segmento Exemplos MOV AX BX gt copia o word endere ado por BX para AX o tipo do s mbolo usado j est impl cito uma vez que AX de 16 bits n o havendo necessidade de informar ao assembly INC BX gt necess rio informar se deve ser incrementado o BYTE de offset BX ou o WORD de offset BX INC BYTE PTR BX 5 incrementa o byte cujo offset o valor contido em BX INC WORD PTR BX gt incremeta word que se encontra nos endere os BX e BX 1 FORMATO DAS INSTRU ES DO 8086 Instru es com
141. icroprocessadores Intel de 16 bits temos o processador 80286 registradores de 16 bits 24 linhas de endere o O 80286 incorporou um gerenciador de mem ria e agregou recursos para multitarefa h novas instru es com este objetivo A partir do 80286 os PCs passaram a se chamar PC AT PC Advanced Technolod y A diferen a no barramento externo de dados entre o 8088 e o 8086 poderia nos levar a supor este ltimo duas vezes mais r pido que o primeiro tal fato em geral n o verdadeiro Quando a Unidade de Execu o do microprocessador chamada EU Execution Unit executa uma instru o outra unidade independente chamada BIU Bus Interface Unit busca uma nova instru o na mem ria e a guarda em uma mem ria interna do microprocessador queue Com isso h uma sobreposi o de ciclos de execu o e ciclos de busca de instru o No caso do 8088 se a instru o de 16 bits a BIU deve fazer duas leituras e a EU dever esperar a instru o estar completa No 8086 com apenas uma leitura na mem ria a instru o j estaria dispon vel para execu o Portanto e para aplica es orientadas a 8 bits byte o 8088 desenvolve a tarefa t o bem quanto o 8086 e para aplica es orientadas a 16 bits word o 8088 ser menos eficiente que o 8086 mas n o com metade da velocidade Principais Caracter sticas do 8088 a Barramento de endere os com 20 linhas proporciona endere amento para at IMB 1 048 576 bytes de
142. ilha Coondition addr SP 1 PCH 215 9 18 imediato e direto nenhuma Call address if CCC is true Chamada de subrotina condicional O SP 2 PCL por registrador processamento desviado para o endere o indicado em addr se a condi o SP lt SP 2 indicada em CCC for verdadeira O endere o dado pelos bytes 2 e 3 da instru o Antes do desvio para a subrotina o endere o da pr xima instru o PC lt byte 3 byte 2 guardado na pilha O byte superior do endere o da pr xima instru o guardado na posi o SP 1 da pilha e o byte inferior guardado na posi o SP 2 da pilha Ao final da subrotina a instru o RET faz o processamento voltar para o programa principal no endere o que foi guardado na pilha Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 48 Casos poss veis CNZ CZ CNC CC CPO CPE CP CM RET PCL SP 3 10 indireto por nenhuma Return Retorno de Subrotina O processamento volta para o local de onde PCH lt SP 1 registrador partiu instru o seguinte O endere o de retorno buscado na pilha O SP SP 2 conte do da posi o SP o byte menos significativo do endere o de retorno O conte do da posi o SP 1 o byte mais significativo do endere o de retorno Ap s essas duas opera es de transfer ncia o valor de SP ainda incrementado novamente de forma que SP ter
143. inicial do programa 0100 H MOV AX 0B800h Carrega registrador AX com valor B800 H MOV DS AX Copia valor de AX para DS definindo segmento de dados MOV CL A Carrega CL com o c digo ASCH do caractere A isto 41 H MOV CH 01011111b Carrega CH com o valor bin rio 01011111 b 5F H MOV BX 15Eh Carrega registrador BX com valor 015E H MOV BX CX Copia conte do de CX na posi o DS BX ou seja B800 015E HLT P ra programa Exemplo 2 Programa que demonstra o uso de vari veis Mnem nico Descri o AMAKE COM Diretiva para o compilador gerar um arquivo com ORG 100h Diretiva que indica o endere o inicial do programa 0100 H Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 126 MOV AL varl Carrega registrador de 8 bits AL com valor 7 vari vel varl MOV BX var Carrega registrador BX de 16 bits com valor 1234 H var2 RET P ra o programa varl DB 7 Define vari vel varl como byte de valor 7 decimal var2 DW 1234h Define vari vel var2 como Word de valor 1234 hexadecimal 9 10 2 Instru es de Strings e instru es para movimenta o de blocos de dados ou seja v rios bytes e reg de seg DS utilizado como base e o reg ndice SI Source Index como offset para o c lculo do endere o fonte Simbologia DS SI OBS aceita registrador de segmento alternativo por exemplo CS SS e ES e reg de seg ES util
144. insira os no kit did tico Execute cada instru o PASSO A PASSO observando o que ocorre no registrador ou nos registradores e posi es de mem ria envolvidas cem Den Ger Acaso Dea o o o deash o o o ES ID Ds aowa fo DD agem o o o egcm o o Eder E E SS oecon o o o eocesi o o cam IE Deo o o TT Ei tb 3 Quest es do Experimento 3 a Qual o conte do do registrador A ap s a opera o A lt A 21 h no ABACUS b Qual o valor da flag de carry ao final da tabela do ABACUS e do kit did tico c Qual o conte do dos registradores A B C e D ao final da tabela d Escreva um programa usando bytes imediatos para os dados que soma os decimais 500 e 650 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 70 EXPERIMENTO 4 Objetivo Familiariza o com as instru es l gicas do 8085 Material Computador com o simulador ABACUS e kit did tico Roteiro 1 Codifique as opera es dadas na tabela a seguir e insira no ABACUS os mnem nicos resultantes Depois execute cada instru o PASSO A PASSO observando o que ocorre no registrador ou nos registradores e posi es de mem ria envolvidas Opera o End Mnem nico Coment rio en 2000 o LL gemh o o y O Oesh D 1 MEAN T S T O H1 2040h o Derfh E SS ES E eo ADI 1 FS Doo y O Memavahn oo T O AMeavBh
145. instru es para realizar opera es l gicas e aritm ticas Podem tamb m ser usados como registradores de 8 bits para instru es envolvendo 1 byte Registradores de Dados Accumulator Base Counter Data AX Acumulador prim rio Todas as opera es de I O s o realizadas atrav s deste registrador Opera es que utilizam dados imediatos necessitam de menos mem ria quando feitos atrav s de AX Algumas opera es com strings e instru es aritm ticas pedem o uso deste registrador Geralmente usado pelos compiladores como hospedeiro para valores retornados de subrotinas BX Registrador Base Parece com registrador HL do 8085 o nico registrador de finalidade geral que pode ser utilizado no c lculo de endere o de mem ria Todas as refer ncias mem ria que usam esse registrador no c lculo do endere o usam o registrador DS como segmento default CX Contador Parece com o registrador BC do 8085 decrementado durante opera es com loops e strings Tipicamente usado para controlar o n mero de repeti es do loop Tamb m usado para rota es e deslocamentos de v rios bits DX Endere ador de I O e Registrador de Dados Parece com o registrador DE do 8085 Recebe o nome de registrador de dados principalmente por for a dos mnem nicos Em algumas opera es de I O fornece o endere o coisa que nenhum outro registrdor pode fazer Tamb m usado em
146. io a As instru es desse grupo alteram o fluxo normal do programa b Nenhuma flag afetada por qualquer das instru es do grupo de instru es de desvio 46 c As instru es de desvio s o divididas em instru es de desvio condicional e instru es de desvio incondicional d As instru es de desvio incondicional simplesmente alteram o fluxo do programa alterando o valor do contador de programa PC e As instru es de desvio condicional examinam o estado status de uma das quatro flags Z S Pe CY para verificar se o desvio indicado deve ser executado As condi es que podem ser especificadas s o dadas a seguir S mbolo Condi o indicada bits de identifica o C C C NZ Not Zero Z 0 0 0 0 Z Zero Z 1 0 0 1 NC No Carry CY 0 0 1 0 C Carry CY 1 0 1 1 PO Parity odd Paridade mpar P 0 1 0 0 PE Parity Even Paridade Par P 1 1 0 1 P Plus Positivo S 0 1 1 0 M Minus Negativo S 1 1 1 1 Instru es poss veis JNZ JZ JNC JC JPO JPE JP e JM Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Instru es de Desvio 47 Mnem nico Simbologia N de N de Modo de Flags Coment rio Gen rico Ciclos Estados Endere amento Afetadas JMP addr PC byte 3 byte 2 3 10 imediato nenhuma Jump to address O controle
147. ir ser o apresentados os mapas de endere os de I O do PC XT Deve se observar que novas placas por exemplo placas de som ou de rede poder o decodificar endere os que atualmente est o livres 9 11 2 Endere os dos Dispositivos da Placa Principal Placa M e Dispositivos de I O residentes na placa principal fazem o servi o de interrup o transfer ncia de dados DMA contagem etc Na figura abaixo pode ser visto o mapa de endere amento de I O para a placa principal Endere o Quantidade de Endere os Fun o Roo 32 Chip de DMA 8239 001F h 1p ce 0020 h x 003F h 32 Chip de interrup o 8259 0040 h 005F h 32 Chip temporizador 8253 0060 h 007F h 32 Chip PPI 8255 0080 h P 009F h 32 Registrador de p ginas DMA 00A0 h x 00BE h 32 Bit de interrup o NMI N 320 N o codificado ou usado Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 132 O01FF h 9 11 3 Endere os dos Dispositivos dos Slots O conhecimento destes endere os torna se a base de qualquer projeto de interface j que representam o ponto de entrada e sa da de dados ver figura na p gina 16 Nem todos os 512 endere os dispon veis no slots podem ser utilizados para interfaceamento pois v rios endere os s o previamente reservados para dispositivos comuns ao sistema Os dispositivos de I O que normalmente s o conectados nos slots s o joysticks portas
148. ito Armazena o equivalente a 2 1 No ex 1 x 2 2 d gito Armazena o equivalente a 2 2 No ex 1 x 2 3 d gito Armazena o equivalente a 2 4 No ex 0 x 2 8 d gito Armazena o equivalente a 27 No ex 1 x 2 A soma destas parcelas resulta no seguinte equivalente decimal 1 2 0 8 0 0 64 128 2031 A pondera o dada pelo n mero 2 elevado pot ncia representada pela coluna sendo que a 1 coluna 0 a segunda coluna 1 e assim sucessivamente 1 kbyte 2 1 024 bytes 1 Mbyte 2 x 2 1 048 576 bytes 1 024 kbytes 1 Gbyte 2 x 2 x 21 1 073 741 824 bytes 1 024 Mbytes 1 8 3 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 O e 1 que s o dispostos em grupos de 4 d gitos utilizados para representar um d gito decimal n mero 0 at 9 A representa o de um n mero maior que 9 deve ser feita por outro grupo de 4 bits com a pondera o dada pelo sistema decimal Exemplo 973 1001 0111 0011 Note a diferen a entre este valor e o valor do n mero bin rio 100101110011 2419 1 8 4 Sistema Octal O Sistema Octal baseado nos mesmos princ pios do decimal e do bin rio apenas utilizando base 8 Utiliza 8 d gitos O a 7 Exemplo 3207g 1 d gito Armazena o equivalente a 8 1 No ex 7 x 8 2 d gito Armazena o equivale
149. izado como base e o reg ndice DI Destination Index como offset para o c lculo do endere o destino Simbologia ES DI OBS n o aceita registrador de segmento alternativo Dever ser sempre ES e o flag DF Direction Flag consultado nestas opera es Instru es para movimenta o de strings Mnem nico Descri o MOVS BYTE PTR ES DIJ SI Copia bloco de dados de uma regi o para outra da mem ria Origem regi o DS SI a origem sempre do segmento DS Destino regi o ES DI o destino ES mas poderia ser CS DS ou SS MOVS WORD PTR ES DIJ SI Id ntico ao anterior mas a movimenta o um Word por vez STOS BYTE PTR ES DI AL Armazena o byte em AL no endere o ES DI Poderia ser CS DS ou SS ES DI AL Se D 0 incrementa DI se D 1 decrementa DI STOS WORD PTR ES DI AX Armazena o word em AX no endere o ES DI Poderia ser CS DS ou SS ES DI AL Se D 0 incrementa DI se D 1 decrementa DI LODS BYTE PTR AL ES DIJ Carrega AL com byte da posi o ES DI AL lt DS SI Se D 0 incrementa SI Se D 1 decrementa SI LODS WORD PTR AX ES DI Carrega AX com word da posi o ES DI AL lt DS SI Se D 0 incrementa SI Se D 1 decrementa SI CMPS BYTE PTR ES DIJ SI Compara bloco de bytes de duas regi es de mem ria CMPS WORD PTR ES DIJ SI _ Compara bloco de word de duas regi es de mem ria Instru
150. ja chamada pela interrup o RST 6 5 Desabilite a interrup o RST 5 5 74 2000 5 4 Refer ncias Bibliogr ficas 1 Por que h necessidade de desabilitar a interrup o RST 5 5 3 Qual a finalidade da instru o RZ usada nas subrotinas 2 Intel MCS 80 85 M Family User s Manual Outubro de 1979 3 Digibyte Manual do Usu rio do Kit Did tico KMD85 Abril de 1984 ABACUS KIT DID TICO Label Mnem nico C digo Label Mnem nico C digo 2000 LXI SP 2050h 31 50 20 4000 LXI SP 4200h 31 00 42 MVI A 09h 3E 09 MVI A 09h 3E 09 SIM 30 SIM 30 MVI A 00h 3E 00 MVI A 00h 3E 00 loop EI FB loop EI FB JMP loop Oe a i JMP loop E ud crescente DI F3 crescente DI F3 PUSH PSW F5 PUSH PSW F5 CALL MOSTRAA CD 6E 03 CALL APDIS CD 0B 07 MVID 0lh 16 01 CALL DBYTE CD Al 05 CALL DELAY CD FI 05 CALL DEL1 CD 70 07 POP PSW FI POP PSW F1 CPI FF FE FF CPI FF FE FF RZ C8 RZ C8 INR A 3C INRA 3C JMP crescente CGB o __ 3 JMP crescente C3 r decresc DI F3 decresc DI F3 DCR A 3D DCR A 3D PUSH PSW F5 PUSH PSW F5 CALL MOSTRAA CD 6E 03 CALL APDIS CD 0B 07 MVID 0lh 16 01 CALL DBYTE CD Al 05 CALL DELAY CD FI 05 CALL DEL1 CD 70 07 POP PSW F1 POP PSW F1 CPI 00 FE 00 CPI 00 FE 00 RZ C8 RZ C8 JMP decresce C3 JMP decresc C3 20CB h JMP decresc O 2 5 4BDA h JMP decresc C3 20CE h JMP crescente Sassy e 4BD7 h JM
151. l e Borda Ativada apenas por Borda Ativada apenas por N vel Ativada apenas por N vel Ativada apenas por N vel Fig 6 1 Formas de se ativar cada interrup o TRAP acionada simultaneamente por n vel e por transi o usada para eventos catastr ficos tais como falhas na alimenta o el trica e erros de paridade RST 7 5 acionada por transi o somente RST 6 5 acionada apenas por n vel RST 5 5 acionada apenas por n vel INTR acionada apenas por n vel Essa interrup o em particular permite a expans o da capacidade de interrup es do 8085 Atrav s desse pino um dispositivo de suporte pode ser usado para aumentar os pinos de interrup o 6 3 Circuitos de Interrup o As interrup es s o melhor entendidas atrav s dos circuitos l gicos mostrados a seguir CALL 0024 h D Q Flip flop CLR RESET IN Pino 36 RECONHECIMENTO DE TRAP Fig 6 2 Circuito da interrup o TRAP Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 71 No circuito da Fig 6 2 o sinal alto de clock habilita a porta AND na sa da do Flip Flop enquanto que a transi o do clock do n vel baixo para o n vel alto faz com que a sa da do Flip Flop assuma o valor 1 e consequentemente a sa da geral do circuito da interrup o TRAP assume o valor 1 fazendo com que o processamento seja desviado para o endere o 0024 h Um sinal baixo no pino RESEFIN ou um si
152. l na opera o do microprocessador Durante a comunica o entre dois blocos os outros blocos encontram se no estado de alta imped ncia n o havendo portanto transfer ncia de dados desses blocos para o barramento ou do barramento para estes blocos O diagrama de temporiza o para as duas instru es mostrado na Fig 2 6 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 29 M1 M2 T1 T2 T3 T4 T1 T2 T3 ADDB PCFORA PC 1 gt PC INST gt IR B TMP SBE A TMP gt A Horta PCFORA PC 5PC INST SIR AS TMP AD7 ADO PCI INST mim mm bm PCI INSTD 4 ALE TO M Fig 2 7 Diagrama de temporiza o das instru es de adi o e transfer ncia Supondo se que o acumulador contenha o valor 10h e que o registrador B que faz parte do bloco denominado outros registradores contenha o valor 5h a adi o do conte do de B ao conte do de A obtido com a instru o ADD B O resultado guardado no pr prio acumulador Posteriormente com a instru o MOV B A o conte do de A copiado em B Os passos para execu o das duas instru es em segii ncia s o dados a seguir CICLO DE BUSCA 1 Na descida do sinal de clock em T1 o Contador de Programa PC ativado colocando o endere o atual no barramento de 16 bits O sinal ALE o trigger para a transfer ncia dos endere os de PC para o barramento
153. l usando Microcontrolador da fam lia 8051 8 Atividades de Laborat rio LABORAT RIO Laborat rio Conte do 1 Uso do Kit do 8085 Programa de Simula o ABACUS 2 Instru es de transfer ncia de dados uso do Kit e do simulador ABACUS 3 Instru es aritm ticas uso do Kit e do simulador ABACUS 4 Instru es l gicas uso do kit e do simulador ABACUS 5 Programa o 8085 uso do kit e do simulador ABACUS 6 Programa o 8085 com Interrup o 7 Programa o 8085 com Interrup o 8 Microprocessador 8086 caracter sticas b sicas 9 Microcontrolador 8051 Sequ ncia de LEDs e Motor de passo uso de Kit e de simulador 10 Microcontrolador 8051 Motor de corrente cont nua uso de Kit e de simulador 11 Microcontrolador 8051 Conversores AD e DA uso de Kit e de simulador 12 Projeto usando 8051 13 Projeto usando 8051 14 Projeto usando 8051 15 Projeto usando 8051 16 Projeto usando 8051 AVALIA O Nota Tipo de Valor Avalia o M ximo Prova 1 8 0 Nota Laborat rio 2 0 Prova 2 8 0 Nota 2 Laborat rio 2 0 Nota 3 Prova 3 8 0 Laborat rio 2 0 Prova 4 5 0 Nota Projeto Experimental 5 0 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 1 1 HIST RICO SOBRE COMPUTADORES cceceeesceeenesnescersneonesserearenasseesseesne snes cessnesnessersnesnessesssrenaso 9 1 2 N MERO DE TRANSISTORES
154. la de logaritmos Pascaline 1623 REL GIO DE CALCULAR WILHELM SHICKARD professor de matem tica da Universidade de T bingen Alemanha inventou um rel gio de calcular que considerado a primeira m quina mec nica de calcular da hist ria Fazia multiplica o e divis o mas requeria v rias interven es do operador Usava o princ pio desenvolvido por Napier Napier s bones Essa calculadora foi desenvolvida para auxiliar o matem tico e astr nomo Johannes Kepler 1642 PASCALINE O cientista franc s BLAISE PASCAL criou uma calculadora capaz de realizar opera es de adi o e subtra o A m quina implementada utilizava rodas e engrenagens com as quais era poss vel representar n meros decimais de O a 9 Pascal desenvolveu essa m quina para ajudar seu pai na coleta de impostos A m quina teve mais de 50 vers es diferentes em uma d cada 1671 O matem tico alem o franc s GOTTFRIED LEIBNIZ criou uma calculadora de 4 fun es capaz de realizar opera es de adi o subtra o multiplica o e divis o a antecessora das calculadoras atuais O problema comum s calculadoras at esta poca era a necessidade de entrar com todos os resultados intermedi rios Calculadora de 4 fun es de Leibniz Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 1738 ANDROIDES PROGRAM VEIS O cientista franc s JACQUES VAUCANSON criou rob s 1801 CART O PERFURADO O Tecel
155. lags de carry de sinal de zero auxiliar de carry e paridade ap s a ltima instru o da tabela 12 O diagrama de temporiza o a seguir refere se s instru es ADD B e MOV B A do microprocessador 8085 CLK T1 T2 T3 T4 T1 T2 T3 T4 ADD B PCFORA PC 1 gt PC INST gt IR B gt TMP SBE A TMP gt A MOV B A PCFORA PC 1 gt PC INST gt IR ASB Po o ua AD7 ADO P I NST 4 PEL Ds ALE Use o diagrama dado para responder s quest es que seguem c Marque no diagrama os estados T que correspondem ao per odo de execu o da instru o MOV B A d Marque no diagrama com simbologia diferente da usada no item a os estados T que correspondem ao per odo de busca da instru o ADD B e Explique o significado dos sinais RD WR e IO M no diagrama dado 2 8 Refer ncias Bibliogr ficas 1 Ziller Roberto M Microprocessadores Conceitos B sicos 2a Ed Editora do Autor Florian polis SC 2000 2 Kleitz William Digital and Microprocessor Fundamentals Theory and Applications Prentice Hall Englewood Cliffs New Jersey 1990 3 Malvino Albert P Microcomputadores e Microprocessadores Tradu o Anat lio Laschuk revis o t cnica Rodrigo Araes Caldas Farias McGraw Hill S o Paulo 1985 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 33 3 CONJUNTO DE INSTRU ES DO MICROPROCESSADOR 8085
156. letem os resultados de opera es aritm ticas e l gicas Os outros tr s s o bits de controle O conjunto de instru es do 8088 possui instru es espec ficas setar e ressetar seus flags que ser visto mais adiante Registrador de Flags Registrador de Estado do Programa PSW 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 xixi xix O D 1T1ITISIZI xIA xI P x C Flags de Status C Flag de carry reflete o vai um do bit mais significativo nas opera es aritm ticas de 8 ou 16 bits Ele tamb m modificado por algumas instru es de rota o e deslocamento Obs As opera es de subtra o usam aritm tica em complemento dois e por isso o carry invertido e passa a funcionar como borrow Se ap s uma opera o de subtra o obt m se C 1 isso indica que n o houve borrow mas C 0 indica que houve borrow P Flag de Paridade indica a paridade par dos 8 bits menos significativos do resultado da opera o realizada P 1 gt n mero par de 1 nos 8 bits menos significativos P 0 gt n mero mpar de 1 nos 8 bits menos significativos A Flag Auxiliar de Carry reflete o vai um do bit 3 em uma opera o de 8 bits Z Flag de Zero indica se uma opera o teve zero como resultado Z 1 gt se o resultado da opera o for igual a zero Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys
157. lida posi o na TABTEC do c digo da tecla lida DELAY 077A temporizador tempo 0 6 ms nenhuma nenhuma A e flags DEL 1 0770 temporizador tempo 50 ms nenhuma nenhuma A B e flags DEL 2 0766 temporizador tempo 850 ms nenhuma nenhuma A BC e flags Exemplo de programa usando sub rotinas da tabela anterior O programa a seguir mostra uma contagem hexadecimal crescente de 00 h at FF h no display do Kit did tico O programa deve ser digitado a partir da posi o de mem ria 4000 h Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 64 Label Endere o Mnem nico C digo Coment rio 4000 MVI A 00h 3E 00 Carrega registrador A com valor 00 h volta 4002 CALL APDIS CD OB 07 Apaga display importante para que os n meros da contagem sejam mostrados na mesma posi o 4005 PUSH PSW F5 Guarda valor de A e flags na pilha 4006 CALL DBYTE CD A1 05 Mostra conte do de A no display Afeta A 4009 POP PSW F1 Recupera valor A guardado na pilha 400A INR A 3C Incrementa conte do de A 400B JMP volta C3 02 40 Volta para a posi o volta ou seja 4002 h 5 2 Principais comandos e orienta es para uso do Kit Did tico O programa a ser executado pelo Kit deve ser digitado atrav s do teclado e deve ser usado o c digo hexadecimal de cada instru o No exemplo anterior aparece uma coluna com os c digos das instru es e com os dados em hex
158. ller Esse simulador apresentado a seguir de forma simplificada A p gina principal do simulador mostrada a seguir Icone para mostrar os mnem nicos ploja sg tee Endere o paaga hren TA 62 C IE 55 65 75 aaa E 5 5 65 7 5 pro do fo do LEDs para Chaves para entrada de dados Mem ria RAM Endere o c digo w n em hexadecimal e mnem nico Conte do da mem ria RAM Programa em repouso Registradores A Flags Z S P CY AC B C D E H L PC e SP Estado das m scaras de interrup o IE 5 5 6 5 7 5 Indicadores se h pedido pendente de interrup o 5 5 6 5 7 5 O simulador conta com todas as poss veis instru es do 8085 cujos mnem nicos s o mostrados quando o cone Assembler pressionado Pode tamb m ser mostrado atrav s do menu chamado de ferramentas Os mnem nicos do jeito que aparecem no ABACUS s o mostrados a seguir Abacus Assembler ACI ADC ADD ADI ANA ANI CALL CC CM CMA CMC il CNC CNZ CP CPE CPI CPO CZ DAA DAD DCR DCX DI EL HLT IN INR INX JC JM JMP JNC JNZ JP JPE JPO JZ LDA LDAX LHLD OXI MOVA MOV B MOY C MOV D MOVE MOY H MOYL MOVM Mv NOP ORA ORI OUT PCHL POP PUSH RAL RAR RC RET RIM RLC RM RNC RNZ RP RPE RPO RRC RST RZ SBB SBI SHLD SIM
159. lores de clock interno acima de 150 MHz Barramento AGP O barramento AGP Accelerated Graphics Port foi devolvido pela Intel com o intuito de aumentar a taxa de transfer ncia entre a CPU e a placa de v deo melhorando o desempenho de opera o com gr ficos Esse barramento foi incorporado CPU de processadores Pentium II mais modernos A principal vantagem do AGP o uso de maior quantidade de mem ria para armazenamento de texturas para objetos tridimensionais al m de alta velocidade no acesso a essas texturas para aplica o na tela 1 5 ndice de Desempenho de Processadores O aumento de desempenho velocidade de processamento de processadores gira em torno de pontos chaves Aumento de clock Aumento do n mero interno de bits Aumento do n mero externo de bits Redu o do n mero de ciclos para executar cada instru o Aumento da capacidade e velocidade da mem ria cache Execu o de instru es em paralelo 1 6 Microprocessador x Microcontrolador Microprocessador E 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 Microcontrolador um computador completo constru do num nico Circuito Integrado Os microcontroladores s o normalmente utilizados para aplica es espec ficas Eles cont m n
160. mp A byte 2 2 7 imediato todas O valor dado em data adicionado ao conte do do acumulador ADC r A lt A 1r CY 1 4 registrador todas O conte do do registrador r adicionado com carry ao conte do do acumulador ADC M A A H XL 2 T imediato por todas O conte do da posi o indicada pelo par HL adicionado com carry ao CY registrador conte do do acumulador ACI dadog A A byte 2 CY 2 7 imediato todas O valor dado em data adicionado com carry ao conte do do acumulador SUB r A A r 1 4 registrador todas O conte do do registrador r subtra do do conte do do acumulador SUB M A lt A CH 2 7 indireto por todas O conte do da posi o de mem ria indicado pelo par HL subtra do registrador do conte do do acumulador SUI dado8 A amp A byte 2 2 7 imediato todas O valor dado em data subtra do do conte do do acumulador SBB r A A r CY 1 4 registrador todas O conte do do registrador r subtra do com carry do conte do do acumulador SBB M A A HXL 2 7 indireto por todas O conte do da posi o indicada pelo par HL subtra do com carry do CY registrador conte do do acumulador SBI dado8 A lt A byte 2 CY 2 7 imediato todas O valor dado em data subtra do com carry do conte do do acumulador INRr e r 1 1 4 registrador Z S Pe AC O conte do do registrador r adicionado de 1 Todas as Flags s o afetadas exceto CY
161. n Lima Nerys 108 Endere o F sico Conte do do Registrador de Segmento x 16 Conte do do Registrador de Offset Endere o F sico ou absoluto Registrador de Offset 15 0 15 0 Extra Segment ES Stack Pointer SP Code Segment CS Base Pointer BP Source Index SI Stack Segment SS Destination Index DI Data Segment DS Mem ria Byte Endere ado In cio do Segmento Representa o do endere o SEGMENTO OFFSET Exemplo SEGMENTO 2000H OFFSET 2000H Representa o 2000h 2000h Endere o F sico 20000 02000h 22000h Se o segmento for 4000h tem se Representa o 4000h 2000h e Endere o F sico 40000h 02000h 42000h 9 3 Os Registradores do 8088 O 8088 tem 14 registradores de 16 bits que podem ser classificados em grupos grupo de registradores de dados 4 Data register gt grupo de registradores apontadores Pointer 2 e ndices Index 2 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 109 gt grupo de registradores de segmento 4 Segment register gt um registrador apontador de instru es Instruction Pointer register gt um registrador de flags Flags register 9 3 1 Registradores de Dados Os Registradores de Dados s o tamb m chamados Registradores de Prop sito Geral S o 4 registradores de 16 bits de uso geral normalmente utilizados pelo conjunto de
162. nal com taxa de transmiss o m xima de 9 600bit s e Caracter sticas do CI 16550 UART gt Taxa de transmiss o de at 115 200bit s Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 86 gt FIFO de 16 bytes Esta FIFO armazena dados que foram recebidos pela interface serial mas que n o foram lidos pelo microprocessador evita erro de overrun perda de informa o por sobreescrita Fun o Loopback diagn stico gt Fun es para controle de modem A placa m e de um microcomputador Pentium possui 2 interfaces seriais cada uma delas pode ser configurada de duas formas Interface 1 COMI IRQ4 ou COM IRQ4 Interface 2 COM IRQ3 ou COMA IRQ4 Transmiss o Serial Ass ncrona Processo de comunica o no qual os caracteres s o enviados independentemente uns dos outros Uma das aplica es mais comuns deste tipo de comunica o na interface entre teclado e computador Neste circuito cada tecla gera um c digo ASCII de 7 bits que transmitido bit a bit para o computador por interm dio de dois ou tr s condutores Para verificar a efici ncia deste tipo de transmiss o serial deve se observar o desempenho de um bom digitador sabe se que ele n o supera uma taxa de 60 palavras por minuto cerca de 8 caracteres seg Logo a transmiss o serial relativamente lenta aceita neste caso Observe uma caracter stica importante nesta interface em alguns momentos a porta s
163. nal alto de RECONHECIMENTO DE TRAP limpa o pedido de interrup o A Fig 6 3 mostra os circuitos para as interrup es RST 7 5 RST 6 5 e RST 5 5 Observe que as portas AND de sa da dos circuitos das interrup es tem tr s entradas O sinal IE estando alto todas as interrup es est o habilitadas Esse sinal fica alto quando a instru o EI entrada do flip flop executada Se nenhuma das interrup es estiver com m scara ent o os sinais M7 5 M6 5 e M5 5 permanecem em n vel baixo e consequentemente as respectivas entradas das portas AND estar o altas Dessa forma todas as interrup es estar o aptas a serem acionadas Um pulso ascendente transi o do n vel baixo para o n vel alto no pino 7 faz com que a sa da 17 5 do flip flop correspondente interrup o RST 7 5 fique alta acionando essa interrup o Um n vel alto no pino 8 faz com que a interrup o RST 6 5 seja executada e um n vel alto no pino 9 faz com que a interrup o RST 5 5 seja executada Os sinais 17 5 16 5 e 15 5 quando est o em n vel alto indicam que h interrup o pendente Um sinal R7 5 alto limpa uma interrup o RST 7 5 pendente Um sinal de Reconhecimento de interrup o RST 7 5 tamb m faz com que a sa da do flip flop seja zerada limpando qualquer interrup o RST 7 5 pendente O bloqueio total das interrup o mostradas na Fig 6 3 pode ser feito de tr s maneiras distintas a atrav s da instru o DI Desable Interrupt que d
164. ncia de sa da Raia I I h I Io ou seja VREF 1 D3 0 5 D 0 25 D 0 125 Do R onde os valores de D podem ser 0 para chave desligada e 1 para chave ligada Assim forma se a tabela abaixo supondo Vrgp R 1 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 99 Tabela de valores para o conversor de 4 bits D D D Do Corrente de Fra o do sa da mA M ximo 0 0 0 0 0 0 0 0 0 1 0 125 1 15 0 0 1 0 0 250 2 15 0 0 1 1 0 375 3 15 0 1 0 0 0 500 4 15 0 1 0 1 0 625 5 15 0 1 1 0 0 750 6 15 0 1 1 1 0 875 7 15 1 0 0 0 1 000 8 15 1 0 0 1 1 125 9 15 1 0 1 0 1 250 10 15 1 0 1 1 1 375 11 15 1 1 0 0 1 500 12 15 1 1 0 1 1 625 13 15 1 1 1 0 1 750 14 15 1 1 1 1 1 875 15 15 Um vez que o conversor tem apenas 4 bits existem 16 2 poss veis valores de sa da sendo o menor valor O zero e o valor m ximo correspondente ao decimal 15 ou bin rio 1111 e hexadecimal F A tens o de sa da dada por Vsa da Rsa da I Os resistores ponderados s o necess rios para que a sa da corresponda fra o indicada na ltima coluna da tabela m x t incremento E 1 LSB e O Fig 8 3 Forma da corrente de sa da para uma varia o de corrente de O a 15 Caracter sticas de um Conversor DA a Cada degrau corresponde a 1 LSB
165. nsmissor receptor pequena e deseja se maior velocidade de transfer ncia METODOS DE CONTROLE DE ENTRADA E SAIDA Referem se a t cnicas de hardware e software utilizadas para controlar o fluxo de dados entre o computador e seus perif ricos Os tr s m todos mais frequentemente encontrados s o e Varredura ou E S por consulta ou Pooling gt T cnica de comunica o na qual o processador interroga periodicamente o perif rico para determinar seu estado gt Pode ser s ncrona ou ass ncrona gt Desvantagem perda de tempo o processador abandona o programa principal para fazer a varredura mesmo se nenhum perif rico deseja servi o e Interrup o gt 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 e DMA Direct Memory Access gt T cnica de comunica o na qual n o se interrompe o processamento do microprocessador se a instru o em curso n o faz acesso ao barramento gt O DMAC controlador de DMA envia o sinal HOLD requerendo o barramento e a CPU responde com HLDA O DMAC passa a controlar as linhas de dados linhas de endere o e sinais de controle RD WR etc gt A transfer ncia de dados feita por hardware particularmente interessante quando necessita se transfer ncia de dados em alta velocidade Exemplo de Entrada Programada
166. nte do do endere o de mem ria apontado pelo registrador par HL As flags CY e AC s o zeradas XRI dado8 A amp A Y byte 2 2 7 imediato todas o conte do do acumulador passa por uma opera o l gica XOR com o dado fornecido no byte 2 da instru o As flags CY e AC s o zeradas ORAr A A v 1 1 4 registrador todas O conte do do acumulador passa por uma opera o l gica OR com o conte do do registrador indicado em r As flags CY e AC s o zeradas ORA M A A v BMA 2 7 indireto por todas O conte do do acumulador passa por uma opera o l gica OR com o registrador conte do da posi o de mem ria apontada pelo registrador par HL As flags CY e AC s o zeradas ORI dados A lt A v byte 2 2 7 imediato todas O conte do do acumulador passa por uma opera o l gica OR com o dado presente no byte 2 da instru o As flags CY e AC s o zeradas CMPr A 1 1 4 registrador todas Compara o conte do do registrador r com o conte do do acumulador Na opera o o conte do de r subtra do do conte do de A sem que o resultado seja guardado em A Se o resultado da subtra o for zero ou seja A r a flag de zero Z 1 Caso contr rio Z 0 Se A lt r a flag de carry CY 1 Caso contr rio CY 0 CMP M A A H L 2 7 indireto por todas Compara o conte do da posi o apontada pelo par HL com o conte do registrador do acumulador Na opera o o conte do da posi o apontada por HL subtra do
167. nte a 8 8 No ex 0x8 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 1 8 5 20 3 d gito Armazena o equivalente a 8 64 No ex 2 x 8 4 d gito Armazena o equivalente a 8 512 No ex 3 x 8 O equivalente decimal 7 O 128 1536 1671 Sistema Hexadecimal O Sistema Hexadecimal baseado nos mesmos princ pios do decimal apenas utiliza base 16 Utiliza 16 d gitos 0a 9 A B C D E e F Exemplo Ex 20DH ou 20Dh ou 20Ds 1 d gito Armazena o equivalente a 16 1 No ex 13x 16 2 d gito Armazena o equivalente a 16 16 No ex 0 x 16 3 d gito Armazena o equivalente a 16 256 No ex 2 x 16 O equivalente decimal 13 0 512 525 O sistema hexadecimal mais f cil de trabalhar que o sistema bin rio e geralmente utilizado para escrever endere os Cada d gito hexadecimal convertido em 4 d gitos bin rios equivalentes Cada n mero bin rio convertido em hexadecimal convertendo se grupos de 4 bits em seus d gitos hexadecimais equivalentes Ex 7 D 3 F s 0111 1101 00111111 Ex 1010000110111000 1010 0001 1011 10002 A 1 B 85 1 9 Exerc cios Propostos 1 Quais as fun es b sicas de um computador 2 Em que consiste a CPU de um computador 3 Como feita a conex o da CPU com as demais unidades de um computador 4 Diferencie mem ria DRAM de mem ria SRAM 5 Qual a finalidade da mem ria CACHE
168. o digitado primeiro 3 2 Modos de Endere amento As instru es do 8085 fazem refer ncia aos dados de forma expl cita ou impl cita H 4 maneiras distintas de se fazer esta refer ncia IMEDIATO A instru o cont m o dado no byte ou bytes seguintes ao Opcode Exemplos MVI r dado8 move o dado especificado para o registrador r 1 byte 2 ADI dado8 adiciona o dado especificado ao acumulador A lt A byte 2 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 34 DIRETO O 2 e o 3 bytes da instru o cont m o endere o da posi o de mem ria onde se encontra o dado Exemplo LDA addr carrega o acumulador com o dado do endere o indicado A lt byte 3 byte 2 REGISTRO A instru o especifica o registrador ou o par de registradores onde o dado est armazenado Exemplo MOV r1 r2 move conte do do registrador r2 para o registrador r1 r1 12 ADD r adiciona o conte do do registrador r ao acumulador A A r INDIRETO POR REGISTRO A instru o especifica o registrador par rp que cont m o endere o da posi o de mem ria onde o dado est armazenado Exemplo MOV r M move para o registrador r o conte do da mem ria localizado na posi o indicada pelo para HL r HO 3 3 Grupos de Instru es As instru es do 8085 s o distribu das em 5 grupos cujas caracter sticas s o dadas a seguir 1 Grupo de Transfer ncia de Dados Mo
169. o 1996 ISBN 85 7193 001 5 5 NERYS Jos Wilson L Apostila de Microprocessadores Microcontrolador 8051 6 SILVA JR Vidal Pereira da Aplica es Pr ticas do Microcontrolador 8051 rica S o Paulo 1994 7 GIMENEZ Salvador P Microcontroladores 8051 Teoria do hardware e do software Aplica es em controle digital Laborat rio e simula o Pearson Education do Brasil Ltda S o Paulo 2002 ISBN 85 87918 28 1 8 NERYS Jos Wilson L Apostila de Microprocessadores EMENTA Conceitos b sicos de microprocessadores e microcontroladores Arquitetura de microprocessadores e microcontroladores Princ pio de funcionamento de microprocessadores e microcontroladores Modos de endere amento Programa o de microcontroladores Entrada sa da Dispositivos perif ricos Interrup es TTemporizadores Acesso direto mem ria Barramentos padr es Expans o e mapeamento de mem ria Ferramentas para an lise desenvolvimento e depura o Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys PROGRAMA 1 Introdu o aos Computadores e Microprocessadores Hist rico Computador defini es Estrutura B sica do Computador Unidade Central de Processamento CPU Mem ria Unidade de Entrada e Sa da Microprocessadores e Microcontroladores Outros Conceitos B sicos Ciclo de Clock Ciclo de M quina e Ciclo de Instru o Mem ria ROM e Mem
170. o 8088 Uma das caracter sticas desse microprocessador a sua capacidade de endere ar mais que 64 kbytes de mem ria O 8088 possui 20 bits de endere os permitindo ter uma mem ria f sica de 1 048 576 bytes ou 1MB A gera o de 20 bits j explicada feita manipulando o conte do de registradores especiais chamados Registradores de Segmento O valor carregado no registrador de segmento usado para localizar no espa o de IMB a regi o de 64kB onde as instru es do 8088 ir o operar Um outro registrador que pode ser um reg apontador um reg ndice ou o BX pode especificar 64kB dentro de um segmento O endere o de mem ria f sico ser formado pelo deslocamento do conte do do registrador de segmento de 4 bits para a esquerda acrescentado se 4 bits O direita somado a outro valor de 16 bits acrescentado se 4 bits O esquerda resultando num endere o f sico com 20 bits interessante observar que diferentes combina es de endere os l gicos offsets e registradores de segmento podem oferecer o mesmo endere o f sico como exemplificado a seguir EXEMPLO supondo que SS 8F00h SP 21F1h CS 9020h IP 0FF1h os endere os f sicos para um acesso pilha e para a busca da pr xima instru o s o dados por SS 8F00h gt 8F000 SP 21Flh gt 021F1 endere o f sico gt 911Fih CS 9020h gt 90200 IP 0FFih gt 00FF1 endere o f sico 911F1h Na realidade os quatro registradores de segmento no 8088
171. o T O 4 3h o qo Ao lt A7 CVE S E A B D E eai H E E a 2 Complete a tabela dada a seguir fazendo uma adapta o do que foi feito na tabela anterior Acrescente os c digos das opera es e insira os no kit did tico Execute cada instru o PASSO A PASSO observando o que ocorre no registrador ou nos registradores e posi es de mem ria envolvidas Opera o End Mnem nico C digo m 4 ESC E es LL Gees oo pop Mean po T T Wes po G O m errn po jo po HLe00n J o po G O EO LL ESSES wewa wewn i Ah P o Ao lt As ES RE O O RR Ds Doo ER doo B lt B v 3 Quest es do Experimento 4 a Qual o conte do final dos registradores A B C H e L no ABACUS b Qual o valor final das flags de carry CY e de zero no ABACUS ap s a instru o de compara o A 33 h E o conte do de A c Qual o conte do das flags de carry CY e de zero Z no kit did tico ap s a instru o de compara o A B E o conte do de A Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 71 EXPERIMENTO 5 Objetivo Programa o com o assembly do 8085 Material Computador com o simulador ABACUS Roteiro 1 O programa a seguir gera os m ltiplos de 4 a partir de 4 at 20 h Esses valores s o armazenados na mem ria a partir do valor dado para HL Insira os mnem nicos no ABACUS e execute o programa Observe o
172. o armazena o byte superior do endere o STA addr byte 3 byte 2 lt A 4 13 direto nenhuma Move o conte do do acumulador para a posi o de mem ria indicada pelo endere o addr O byte 2 armazena o byte inferior do endere o O byte 3 da instru o armazena o byte superior do endere o LHLD addr L lt byte 3 byte 2 5 16 direto nenhuma Carrega o conte do da posi o de mem ria dada por addr byte H lt byte 3 byte 2 1 3 byte 2 no registrador L Carrega o conte do da posi o subsequente byte 3 byte 2 1 no registrador H SHLD addr byte 3 byte 2 lt L 5 16 direto nenhuma Move o conte do do registrador L para a posi o de mem ria dada byte 3 byte 2 De H por addr byte 3 byte 2 Move o conte do do registrador H para a posi o subsequente de mem ria byte 3 byte 2 1 LDAX rp A lt rp 2 7 Indireto por nenhuma Carrega acumulador com o conte do da posi o de mem ria indicada registrador pelo registrador par rp rp pode ser B do registrador para BC ou D do registrador par DE STAX rp rp A 2 7 Indireto por nenhuma Move o conte do do acumulador para a posi o de mem ria indicada registrador pelo registrador par rp rp pode ser B do registrador para BC ou D do registrador par DE XCHG H e D 1 4 registrador nenhuma O conte do do registrador H trocado com o conte do do registrador O e E D O conte do de L trocado com o conte do de E
173. o o CI est desabilitado LS138 ENABLE INPUTS DATA OUTPUTS SELECT INPUTS Fig 7 8 Diagrama de blocos do decodificador 74LS138 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 95 Voltando s 8 pastilhas de mem ria RAM do exerc cio anterior pode se fazer o endere amento usando um decodificador 7418138 O pino A usado para habilita o geral G1 e os pinos Ai A11 e Ar s o usados para sele o da pastilha correspondente a cada faixa de endere o e 12 10 2x RAM 2114 4000h 43FFh RAM 1 2x RAM 2114 4400h 47FFh RAM 2 2x RAM 2114 4800h 4BFFh RAM 3 2x RAM 2114 4C00h 4FFFh RAM 4 di ES DES 10 2x RAM 2114 pirani 5000h 50FFh o FER Da RAM S5 amina ni UE Y7 2x RAM 2114 3 e 1 gt 5400h 57FFh RAM 6 C B A Sa da x Au Au Selecionada RETRE 0 i x 5800h 5BFFh o i i RAM 7 0 1 1 y 1 0 0 Ya i 2x RAM 2114 i 9 Y6 CN l l 1 Y 5C00h 5FFFh RAM 8 Fig 7 9 Uso do decodificador 74LS138 para conex o de 8 RAMs ao sistema m nimo Cada 74LS138 pode endere ar 8 zonas de endere o S o necess rios 6 decodificadores 74LS138 para cobrir toda a mem ria poss vel a partir da posi o 4000 h at FFFF h 7 3 Exerc cios Propostos 1 Considere um sistema m nimo composto por um microprocessador 8085 uma mem ria ROM de 2 K e uma mem ria RAM de 4 K O pino CE da RAM e CE d
174. o que ela n o ser atendida 6 5 Ampliando a Capacidade de Interrup o Controlador Microprocessador de Interrup o 8 pedidos de 8085 E interrup o 8259 Fig 6 4 Controlador de interrup o O Controlador de interrup o 8259 mostrado acima permite expandir a capacidade de interrup o do microcontrolador 8085 Cada partilha 8259 permite acrescentar em 8 as linhas de interrup es permitindo portanto a conex o de um n mero maior de perif ricos ao microprocessador Nesse circuito o 8259 cont m os endere os iniciais de oito subrotinas de atendimento de interrup o um para cada dispositivo perif rico Para atender a interrup o ele envia uma CALL endere o para o 8085 o que faz com que o 8085 interrompa o processamento normal para o atendimento da interrup o solicitada A cada solicita o de interrup o o controlador de interrup o envia um pulso alto para o 8085 atrav s do pino INTR O 8085 envia de volta um sinal baixo INFA Interrupt Acknowledge de reconhecimento de interrup o A seguir o 8259 envia o c digo de opera o da subrotina ao qual o 8085 responde com outro sinal INTA baixo solicitando o byte inferior do endere o da subrotina Ap s o envio do byte inferior de endere o um outro sinal INFA baixo enviado pelo 8085 solicitando o byte superior do endere o da subrotina A seguir o conte do do contador de programa PC enviado para a pilha e o processamento desviado para o ende
175. obten o do offset do endere o Os registradores de ndice podem ser BX BP DI ou SI Ex MOV AX 0100H BX copia para AX o conte do localizado no offset dado por BX 0100H Se BX 1000h ent o BX 0100H 1100H e AX 1234h Endere o Dado Exemplo de aplica o Tabelas onde a posi o inicial da tabela pode ser dada atrav s da base o ndice pode ent o ser variado para varredura da tabela Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 121 ENDERE AMENTO BASEADO o contr rio do endere amento indexado ou seja o conte do de um registrador copiado para uma posi o vari vel indicada por um registrador e uma constante Registradores usados BX BP DI ou SI Ex MOV BX 0100H AX copia conte do de AX para o endere o BX 0100H Se BX 1000H ent o BX 0100H 1100H Se AX 1234H ent o o valor 34H ser armazenado em 1100H e o valor 12H ser armazenado em 1101H Endere Dado 102H Exemplo de aplica o Tabelas onde a posi o inicial da tabela pode ser dada atrav s da base o ndice pode ent o ser variado para varredura da tabela ENDERE AMENTO RELATIVO As instru es de desvio e chamadas de subrotina do tipo near ou short somam ou subtraem um valor de deslocamento para o desvio ao inv s de usar o endere o longo Offset de destino offset da instru o seguinte deslocamento 9 9 Inter
176. odo do temporizador M M Tia Tp Tu Tio To Ts Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Come ar Contagem Contagem Contagem Contagem contagem final final final final t t t t 4 N T T T T M2 Mi Onda de sa da no pino Timer OUT 0 0 Onda quadrada simples um ciclo 0 1 Onda quadrada cont nua 1 0 Pulso simples nico 1 1 Pulso cont nuo D De Estado do Temporizador 0 0 N o opera 0 1 Parar imediatamente 1 0 Parar depois de atingir contagem final 1 1 Come ar contagem Exemplo Gerar uma onda quadrada de 1 kHz sendo a frequ ncia de clock de 3 MHz Contagem final H 3000 0BB8h kHz Porta 24h LSB B8h 1 0 1 1 1 0 0 0 Porta 25h MSB e Temporizador 01 B8h o O 0o o I 0o J y Onda quadrada cont nua Porta 20h Registro de comando para as portas A B e C do 8156 e para o temporizador E E E PS O O E O a a aO Int A e B des C sa da B sa da A Ent Come ar contagem do temporizador 93 Modo 00 Modo 01 Modo 10 Modo 11 Instru es Coment rio MVI A B8h OUT 24h MVI A 4Bh OUT 25h MVI A Ceh OUT 20h Onda quadrada cont nua de 1kHz C
177. ograma para fazer um contagem decimal decrescente ininterrupta de 50000 a 0 Mostrar no display de 7 segmentos Fazer um programa que simula um cron metro decrescente que conta de 20 00 min at 00 00 Mostrar o resultado no v deo no formato apresentado Fazer um programa que simula um rel gio no formato hh mm ss Mostrar resultado no v deo Criar um programa para mostrar tr s diferentes frases no v deo em linhas diferentes Fazer um programa para somar os elementos de dois vetores de 5 valores cada O resultado deve ser mostrado no v deo Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 13 14 15 16 17 135 Fazer um programa para ler dois valores pelo teclado adiciona los e mostrar o resultado no display de 7 segmentos Adapte o programa stepper motor do Emu8086 para que o motor fique girando 10 vezes para um lado e 10 vezes para o outro lado ininterruptamente Adapte o programa traffic ligths do Emu8086 de forma a simular um cruzamento simples ou seja permiss o para seguir em frente ou virar direita para as duas avenidas sinal de dois tempos Adapte o programa traffic ligths do Emu8086 de forma a simular um cruzamento onde os dois sentidos da avenida horizontal tenha permiss o para seguir em frente virar esquerda ou virar direita e os ve culos da avenida vertical tenham permiss o apenas para seguir em frente ou virar direita sinal de
178. om D 02 h entre os valores mostrados no display Fa a no ABACUS um programa que faz a ordena o em ordem crescente de uma tabela contendo 16 n meros de 8 bits Os n meros j est o na mem ria a partir do endere o 2050h e devem ser mantidos nessa faixa de endere os por m ordenados Adapte o programa do problema 7 para ordenar os n meros em ordem decrescente Fa a no ABACUS um programa que seleciona e mostra no display os n meros maiores ou iguais a 20h e menores que 50h de uma tabela com 16 n meros come ando do endere o 2050 h Sugest o de tabela 05h 15h 65h 95h 35h 20h 50h 42h 72h 10h 60h 45h 33h 25h 48h 49h Repita o problema 9 mostrando os n meros fora do intervalo Fa a no ABACUS um programa que mostra um n mero 1 byte lido pelo teclado e multiplique este n mero por outro n mero tamb m obtido pelo teclado mostrando o resultado no display O resultado dever conter 2 bytes Fa a no ABACUS um programa que leia do teclado uma temperatura em C um byte e converta a em F graus Farenheit mostrando o resultado no display o programa s deve aceitar temperaturas de entrada de at 255 graus farenheit ou seja um byte na sa da Trabalhar em hexadecimal TC F 9 5 T CC 32 n meros da equa o em decimal Fa a no ABACUS um programa que adicione dois n meros bin rios de qualquer tamanho N bytes cada um O tamanho dos n meros bin rios N est na posi o 2040 h Os n
179. ome a contagem e dasabilita interrup es de A e B Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 94 7 2 2 Decodificador 74LS138 O CI 74LS138 um decodificador usado tanto para expans o de mem ria quanto para o endere amento de muitas portas de entrada e sa da E um decodificador 1 de 8 ou seja cada CI permite a sele o de 8 sa das diferentes Tr s pinos C Be A s o usados para selecionar uma das 8 linhas de sa da Yo a Y5 DATA OUTPUTS vcc Yo vi v2 Y3 Y4 Y5 Y6 C BIA Sa da Selecionada 16 15 14 13 12 11 10 9 0 0 0 Y Q Q Q Q Q Q 0 1 0 Y2 74LS138 o 0 1 1 Y 1 00 Y4 Y Y Y 1 0 1 Y5 1 1 0 Yo 1 2 3 4 5 6 L 8 1 1 1 Y A B c G2A G2B G1 Y7 GND e OUTPUT SELECT ENABLE Fig 7 7 Decodificador 74LS138 e tabela verdade Inputs Outputs Enable Select G1 G2 Note 8 C B A YO Y1 Y2 Y3 Y4 Y5 Y6 Y7 X H XIXIXHHIHIHIHIHIHIHIH L X XIXxIXtHIHIHIHIHIHIHIH H L LILILILIHIHIHIHIHIHI H H L LILIHIHILIHIHIHIHIHI H H L LIHILIHIHILIHIHIHIHI H H L LIHIHIHIHIH LIHIHIHIH H L HILILIHIHIHIHILIHIHIH H L HILIHIHIHIHIHIHILIHIH H L HIHILIHIHIHIHIHIHILIH H L HIHIHIHIHIHIHIHIHIHIL H High Level L Low Level X Don t Care Note 8 G2 G2A G2B A sa da est ativa quando est em n vel zero A pastilha 74LS138 habilitada fazendo G 1 G24 0 Gap 0 Quando qualquer desses pinos est desativad
180. ompara o entre word apontado por BX e CX MUL BL multiplica o de byte AX AL BL MUL CX multiplica o de word DX AX lt AX CX IMUL BL multiplica o de n mero com sinal DIV BL divis o de byte AX AL BL AL quociente AH resto DIV CX divis o de word DX AX AX CX AX quoc DX resto IDIV BL divis o de n mero com sinal Instru es de Desvio Mnem nico Descri o Desvio Incondicional JMP BX IP lt BX 1 BX JMP BX IP BX JMP DWORD PTR BX IP BX 1 BX CS lt BX 3 BX 2 Desvio condicional 129 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys JNC LABEL desvia para LABEL se flag carry O se n o h carry JS LABEL desvia para LABEL se MSB 1 flag de sinal 1 LOOP LABEL decrementa CX e desvia para LABEL se CX 0 LOOPE LABEL decrementa CX e desvia para LABEL se CX 0e ZF 1 PUSH e POP gt S pode ser aplicado a registrador de 16 bits PUSH CX salva registrador CX na pilha PUSH DI 2 salva posi o de mem ria apontada por DI 2 e DI 3 POP DS Recupera DS da pilha PUSHF Salva registrador de Flags na pilha POPF Recupera registrador de Flags da pilha CALL e RETURN CALL DELAY chamada de sub rotina DELAY CALL BX chamada de sub rotina iniciada pelo conte do de mem ria apontado por BX IP lt BX 1 BX CALL BX chamada de sub rotina iniciada
181. ormalmente facilidades tais como portas seriais portas de entrada e sa da paralelas timers contadores controles de interrup o conversor anal gico para digital mem rias RAM e ROM 1 7 Outros conceitos b sicos MIPS Millions of Instructions Per Seconds Milh es de Instru es Por Segundo uma unidade de desempenho do microprocessador Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 18 FLOPS FLOating point instructions Per Seconds Instru es com Ponto Flutuante Por Segundo tamb m uma unidade de desempenho do microprocessador Indica a capacidade de trabalhar com n meros decimais Representa o em Ponto Fixo Sistema num rico no qual o ponto est implicitamente fixo direita do digito mais a direita Representa o em Ponto Flutuante Sistema num rico no qual um n mero real representado por um par distinto de numerais uma mantissa ou significante e um expoente Possibilita representa o de n meros fracion rios 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 cord o 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 BYTE nibble superior nibble inferior Bit 7 Bit 6 Bit 5 Bit5 Bit 3 Bit 2 Bit 1 Bit O
182. os End Mnem nico Coment rios 4000 LXI SP 4100h LXI H 4031h MVI C 0Ah LDA 4030h volta CMP M JC pula MOV A M pula INX H DCR C JNZ volta CALL APDIS CALL DBYTE HLT 3 12 Refer ncias Bibliogr ficas 1 Ziller Roberto M Microprocessadores Conceitos Importantes Editora do autor Florian polis SC 2000 Intel MCS 80 85 Family User s Manual Outubro de 1979 Digibyte Manual do Usu rio do Kit Did tico KMD85 Abril de 1984 mm PP O N ES ES ES Malvino Albert P Microcomputadores e Microprocessadores Tradu o Anat lio Laschuk revis o t cnica Rodrigo Araes Caldas Farias McGraw Hill S o Paulo 1985 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 57 4 SIMULADOR DIGITAL ABACUS 4 1 Simulador ABACUS para o Microprocessador 8085 Os experimentos em Engenharia El trica tornam se mais significativos quando precedidos de uma simula o digital Na simula o pode se fazer todas as considera es poss veis de uma forma mais r pida e mais eficiente sem o risco de danificar quaisquer componentes ou equipamentos Assim o experimento seria apenas uma verifica o e convalida o do modelo usado na simula o digital O simulador adotado o ABACUS que foi desenvolvido por pesquisadores da Universidade Federal de Santa Catarina UFSC sob a coordena o do Prof Roberto M Zi
183. ou se a Flag AC estiver setada o n mero 6 adicionado ao conte do do acumulador 2 Se o n mero representado pelo nibble superior for maior do que 9 ou se a Flag CY estiver setada o n mero 6 adicionado ao nibble superior Na tabela a seguir as instru es aritm ticas de dados s o desmembradas em seus diferentes opcodes MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE ACI Dado8 CE ADD B 80 DAD H 29 DCX D IB INX B 03 SBB M 9E ADC A 8F ADD C 81 DAD SP 39 DCX H 2B INX D 13 SBI Dado8 DE ADC B 88 ADD D 82 DCR A 3D DCX SP 3B INX H 23 SUB A 97 ADC C 89 ADD E 83 DCR B 05 INR A 3C INX SP 33 SUB B 90 ADC D 8A ADD H 84 DCR C OD INR B 04 SBB A 9F SUB C 91 ADC E 8B ADDL 85 DCR D 15 INR C OC SBB B 98 SUB D 92 ADC H 8C ADD M 86 DCR E 1D INR D 14 SBB C 99 SUB E 93 ADC L 8D ADI Dado8 C6 DCR H 25 INR E 1C SBB D 9A SUB H 94 ADC M 8E DAA 27 DCR L 2D INR H 24 SBB E 9B SUB L 95 ADD A 87 DAD B 09 DCR M 35 INR L 2C SBB H 9C SUB M 96 DAD D 19 DCX B OB INR M 34 SBB L 9D SUI Dado8 D6 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 41 Exemplos de uso de intru es aritm ticas Mnem nico C digo Coment rio MVI A 05h 3E 05 Carrega acumulador com valor 05h MVI C 02h OE 02 Carrega registrador C com valor 02h ADD C 81 Adiciona conte do de C ao conte do de A
184. pactas otimiza o do uso da mem ria e da velocidade de leitura das instru es codifica o mais complexa do que a do 8085 instru es com comprimento de 1 a 6 bytes instru es n o precisam ocupar exatamente 1 byte bits restantes podem ser usados Formato das instru es de transfer ncia de dados 7 2 1 0 7 0 7 07 0 opcode s w postbyte data data if sw 01 Ou 7 6 5 4 3 2 1 0 opcode s w Byte 1 postbyte Byte 2 data Byte 3 dataif sw 01 Byte 4 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 119 opcode c digo da opera o w gt se w 0 gt instru o manipula byte se w 1 gt instru o manipula word postbyte 7 6 5 4 3 2 1 0 mod reg r m Se mod 1 1 o operando da instru o um registrador que identificado em r m Se a instru o envolver dois registradores o campo reg identifica o segundo registrador 9 8 Modos de Endere amento e Endere os de Mem ria Efetivo Como observado anteriormente um endere o f sico 20 bits constitu do de duas partes e um segmento ou valor base e um offset ou endere o efetivo Um Endere o Efetivo EA Effective Address a parte offset do endere o f sico Ele formado pela soma de um deslocamento um n mero com um registrador base BX ou BP e com um registrador ndice SI ou DI exemplo MOV AX BP SI 4 A r
185. para um endere o acess vel pelo usu rio final Esses endere os s o dados na tabela a seguir Interrup o Endere o na ROM Endere o no ABACUS Endere o no Kit TRAP 0024 H 20D1 H 4BE0 H RST 5 5 002C H 20C8 H 4BDD H RST 6 5 0034 H 20CB H 4BDA H RST 7 5 003C H 20CE H 4BD7 H Observa es a comum usar a instru o EI como pen ltima instru o de uma subrotina tendo em vista que o microprocessador automaticamente desabilita todas as interrup es com o bit QUALQUER RECONHECIMENTO DE INTERRUP O Subrotina EI RET b Quando se deseja evitar que uma parte do programa principal seja interrompida por qualquer interrup o exceto a TRAP usa se o comando DI no come o do trecho a ser protegido Programa principal Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 19 Exemplo O programa a seguir a ser implementado no ABACUS a cada interrup o RST 5 5 mostra uma contagem hexadecimal crescente de 00 h at FF h e d mais um passo e p ra em 00 h R tulo endere o 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 espe
186. pelo BX IP lt BX RET retorno de sub rotina IRET retorno de rotina de interrup o restaura CS e IP Interrup es por Software INT nn Guarda na pilha o endere o de retorno CS IP antes de chamar a Interrup o nn 9 10 6 Instru es de Controle Mnem nico Descri o STI seta flag Interrup o CLI resseta flag Interrup o STC seta carry flag CLC resseta carry flag CMC complementa carry flag STD seta flag dire o CLD resseta flag dire o HLT para a CPU WAIT para a CPU at o pino test ficar ativo NOP sem opera o utilizado para gerar delay LOCK instruction coloca Pino LOCK em 0 durante a execu o da pr xima instru o instruction 9 11 Caracter sticas de I O do PC XT 9 11 1 Divis o dos Endere os dos Dispositivos de I O do PC XT 130 Apesar de possuir 20 bits de endere o a arquitetura do 8088 suporta apenas 64KB 65 536 endere os de dispositivos de I O pois os bits de endere amento A16 a A19 n o s o utilizados A configura o usada no PC tamb m n o usa toda esta capacidade Somente os 10 bits menos significativos do barramento de endere os s o utilizados Como 2 1024 este o n mero de endere os de I O dispon veis no PC 0000h a 03FFh A figura abaixo mostra a divis o de endere os no PC Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 131 Campo de Endere os 19 co mu 16 15 10 9
187. plete os c digos 13 ABACUS KIT DID TICO Label Mnem nico C digo Label Mnem nico C digo 2000 LXI SP 2040h 31 40 20 4000 LXI SP 4200h 31 00 42 MVI A 00h 3E 00 MVI A 00h 3E 00 repete CALL crescente CD gt repete CALL crescente CD 5 CALL decresc CD as CALL descresc CD 2 JMP repete c3 Ta JMP repete C3 z2 crescente PUSH PSW F5 crescente PUSH PSW F5 CALL MOSTRAA CD 6E 03 CALL APDIS CD 0B 07 MVID 0lh 16 01 CALL DBYTE CD Al 05 CALL DELAY CD FI 05 CALL DEL1 CD 70 07 POP PSW F1 POP PSW F1 CPI FF FE FF CPI FF FE FF RZ C8 RZ C8 INR A 3C INRA 3C JMP crescente C3 JMP crescente Cr decresc DCR A 3D decresc DCR A 3D PUSH PSW F5 PUSH PSW F5 CALL MOSTRAA CD 6E 03 CALL APDIS CD 0B 07 MVID 0lh 16 01 CALL DBYTE CD Al 05 CALL DELAY CD FI 05 CALL DEL1 CD 70 07 POP PSW F1 POP PSW F1 CPI 00 FE 00 CPI 00 FE 00 RZ C8 RZ C8 JMP decresce C3 rae JMP decresc Ce E ENDERE O DAS INTERRUP ES Interrup o Pino do 8085 Endere o na ROM Endere o no ABACUS Endere o no KIT TRAP 6 0024 h 20D1h 4BE0 h RST 7 5 7 003C h 20CE h 4BD7h RST 6 5 8 0034 h 20CB h 4BDA h RST 5 5 9 002C h 20C8 h 4BDD h Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Programa 2 Adapte o programa 1 para que a contagem crescente seja chamada atrav s da interrup o RST 7 5 e a contagem decrescente se
188. r 1 1 1 1 1 1 1 1 1 Res 45 sed pe pro E O 0 0 0 TA 0 0 9 2 63 91E Lili 0 O 1 1 1 1 1 3 7 8 5 61 2 1 O 1O 1 1 O 0 0 1 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 6 Instru es L gicas Obs Com exce o dos casos indicados todas as intru es l gicas afetam as Flags 43 Mnem nico Simbologia N de N de Modo de Flags Coment rio Gen rico Ciclos Estados Endere amento Afetadas ANA r A A A 1 1 4 registrador todas O conte do do acumulador passa por uma opera o l gica AND com o conte do do registrador indicado em r A flag CY zerada e a flag AC setada ANA M A lt A A HXL 2 7 indireto por todas O conte do do acumulador passa por uma opera o l gica AND com o registrador conte do da posi o de mem ria apontada pelo registrador par HL A flag CY zerada e a flag AC setada ANI dado8 A amp A A byte 2 2 7 imediato todas o conte do do acumulador passa por uma opera o l gica AND com o dado fornecido no byte 2 da instru o A flag CY zerada e a flag AC setada XRAr A A Y 1 1 4 registrador todas O conte do do acumulador passa por uma opera o l gica XOR com o conte do do registrador r indicado As flags CY e AC s o zeradas XRA M A e A Y HL 2 7 indireto por todas O conte do do acumulador passa por uma opera o l gica XOR com o registrador co
189. r hexadecimal que liga os LEDs desejados de acordo com o que foi explicado no item d da parte inicial desta avalia o c Retorna ao programa principal com o valor de A definido no item anterior 8 4 Refer ncias Bibliogr ficas 1 Ziller Roberto M Microprocessadores Conceitos Importantes Editora do autor Florian polis SC 2000 3 Malvino Albert P Microcomputadores e Microprocessadores Tradu o Anat lio Laschuk revis o t cnica Rodrigo Araes Caldas Farias McGraw Hill S o Paulo 1985 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 104 9 MICROCONTROLADORES 8086 8088 9 1 Introdu o O 8088 o microprocessador do PC XT Personal Computer eXtended Technology produzido inicialmente pela Intel sendo equivalente ao microprocessador 8086 que tem como principal diferen a a extens o do barramento externo de dados O 8086 tem os barramentos de dados externo e interno de 16 bits enquanto o 8088 apresenta o barramento interno de 16 bits e o externo de 8 bits Os processadores 80186 e 80188 s o upgrades do 8086 e do 8088 respectivamente onde foram incorporados de 10 a 15 componentes gerador de clock controlador de DMA unidade de chip select controlador de interrup o temporizadores etc mais comuns em sistemas baseados no 8088 86 Todas as instru es do 8086 s o inclu das no 80186 al m de 10 novas instru es Ainda dentro da fam lia dos m
190. ra JMP espera La o de espera de pedido de interrup o cresce INRA Incrementa acumulador PUSH PSW Guarda conte do de A e F na pilha CALL MOSTRAA Mostra conte do de A no display MVI D 01H Faz D 01 h para usar na subrotina de tempo CALL DELAY Chama subrotina de atraso de tempo POP PSW Recupera conte do de A e F da pilha CPI 00 H Compara A com 00 h JNZ cresce Se A 00 h volta para INR A Se A 00 h sai da subrotina EI Habilita novamente as interrup es RET Retorna da subrotina de interrup o 20C8 JMP cresce Vai para o in cio da subrotina cresce 6 4 Setagem e Leitura da M scara de Interrup o A m scara de interrup o usada para que as interrup es sejam usadas de forma seletiva onde as interrup es n o desejadas sejam bloqueadas A m scara de uma interrup o mascar vel s reconhecida ap s a execu o do comando SIM Set Interrupt Mask Setar a M scara de Interrup o E antes da execu o deste comando alguns valores do circuito de interrup o Fig 6 3 devem ser carregados no acumulador de forma que a instru o SIM faz a transfer ncia desses valores para os pontos necess rios Os valores no acumulador devem ser como mostrado a seguir Acumulador g O 7 E dE pt o S PRE sa ot An A ne fas E Q A S O U o g o O N Zera flip flop da RST 7 5 Seta m scara da RST 7 5 Seta m scara da RST 6 5 Seta m scara da R
191. re o indicado A Fig 6 5 mostra o diagrama de blocos do controlador 8259 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 81 INTA int EE Data Bus D7 0 Buffer IR7 IR6 due IRS Write In Service Priority Interrupt IRA Register Resolver Request pa pa s Register IR2 AQ IRi Reset m CAS Interrupt Mask Register Fig 6 5 Diagrama de blocos do controlador de interrup o 8259 O procedimento para uso de interrup es atrav s do 8259 1 O n vel l gico de um ou mais dos pinos IR IRO a IR7 levado a 1 setando o correspondente registrador de pedido de interrup o IRR O 8259 envia um pulso alto para o 8085 atrav s do pino INTR pino 10 3 O 8085 envia de volta um sinal baixo INFA Interrupt Acknowledge de reconhecimento de pedido de interrup o 4 Ap s receber o sinal de OK o 8259 o bit ISR In Service Register do pedido de maior prioridade limpa o registro de interrup o IRR correspondente e envia para o 8085 o c digo de chamada de subrotina O 8085 responde com outro sinal INFA baixo solicitando o byte inferior do endere o da subrotina O 8259 envia o byte inferior de endere o correspondente ao pedido de interrup o Um outro sinal ENFA baixo enviado pelo 8085 solicitando o byte superior do endere o da subrotina a RCA O 8259 envia o byte superior do endere o da subrotina para o 8085 e em seguida limpa o bit I
192. res 8085 8086 e 8088 105 Busca gt Executa Caracter stica Microprocessador Microprocessador 8088 Microprocessador 8085 8086 Barramento de endere o 16 bits 20 bits 20 bits Capacidade de 65 536 1 048 576 1 048 576 endere amento de mem ria 64 kB 1 MB 1 MB Barramento de dados 8 bits Interno 16 bits Interno 16 bits Externo 8 bits Externo 16 bits Manipula o de STRINGS N O SIM SIM Registradores Internos 8 bits e 16 bits 16 bits 16 bits Uso de segmenta o para N O SIM SIM endere amento Aritm tica Decimal completa N O SIM SIM z enade Unidades Independentes Unidades Piapaste Busca Pregucap G ia Unidade de Interfaceamento Independentes com Barramento BIU Unidade de respons vel pela Busca e Unidade de Execu o EU Registradores dos microprocessadores 8085 8086 e 8088 Registradores do 8085 Acumulador Apontador de dados Apontador de pilha Interfaceamento com Barramento BIU respons vel pela Busca e Unidade de Execu o EU Registradores do 8088 8086 AX Acumulador Prim rio BX Acumulador e Registrador Base CX Acumulador e Contador DX Acumulador e Endere ador de I O Apontador de pilha Apontador base usado na pilha ndice da Fonte usado para indexa o ndice de Destino usado para indexa o Contador de Programa Registrador de Flags
193. resiesestertsresesrerisrestsrenreresreisresesrerisresrsnt 19 1 8 4 SISTEMA OCTAL ceu irao erga cento ti Ps OM Sa Do Aga ia USE SU e E UP Gia E 19 1 8 5 SISTEMA HEXADECIMAL iiieetee aeee eae eae stette stente aaa aaa aaa aeee aaa cena nara aeee neseser eresse ene 20 1 9 EXERC CIOS PROPOSTOS iscsasitcesetastesessestitaseasoissiabatiato do sosistas eae seS Ess iaoe b Eeoa oies S iDo ESSEE Son 20 1 10 REFER NCIAS BIBLIOGR FICAS essessesesocsossesossosoesesossosoesesossosseseeoosossesoseossesesossoreeseseesossseossoe 21 2 1 DIAGRAMA DE BLOCOS DO MICROPROCESSADOR 8085 esoessesooeseesoeseesossossoesocssesoosseesoesessoee 22 2 2 UNIDADES INTERNAS E REGISTRADORES DO 8085 eeeeeesesecececececececececccececececececececececececececesee 23 2 3 FREQU NCIA DE CLOCK teses ssrectta dutitaeitdos cotuisociganis Lado Siad ebeco sf o cido diesel dinda so E Ea o sea 25 2 4 PINAGEM DO SOSS onrein na E ENEE ANAR eo subo cu inda ado Codise da AENA S AAEE SE 25 2 5 SISTEMA B SICO DE TEMPORIZA O E PRINC PIO DE OPERA O sessssesessesoesesossosoesesossossesesoe 27 2 6 FORMATO DAS INSIRU ES ccrcrsensincatenconiescoodersstesto eiceo tiro Geni intnsctadteo co oi dosiieand se coa das so ooeso3 ssn reos 30 2 7 EXERC CIOS PROPOSTOS sisasesisanastestera s shipasceiesiso as il cod iisas oeeie aeo Ees osser Shoo oree es Esse pastora gas ca b d 31 2 8 REFER NCIAS BIBLIOGR FICAS ccececeeenesneseerenesnescersneonesseesares
194. resultado Label Mnem nico Label Mnem nico LXI SP 2090 h POP B LXI H 2050 h INX H MVI C 01 h INR C MVI B 04 h JMP volta volta MVI A 00 h fim HLT PUSH B CALL produto produto ADD B MOV M A DCR C CPI 20h JNZ subrotina JNC fim RET 2 2 O programa a seguir uma nova vers o do programa anterior incluindo a subrotina para mostrar os m ltiplos de 4 no display de dados e retirando as instru es para armazenamento na mem ria Label Mnem nico Label Mnem nico LXI SP 2090 h JNC fim MVI C 01 h POP B MVI B 04 h INR C volta MVI A 00 h JMP volta PUSH B fim HLT CALL produto PUSH PSW produto ADD B CALL MOSTRAA DCR C POP PSW JNZ subrotina CPI 50h RET 3 O programa a seguir uma nova vers o dos programas anteriores onde o n mero para o qual se deseja os m ltiplos inserido atrav s do teclado Label Mnem nico Label Mnem nico LXI SP 2090 h JNC fim MVI C 01 h POP B CALL LETECLA INR C MOV B A JMP volta volta MVI A 00 h fim HLT PUSH B CALL produto PUSH PSW produto ADD B CALL MOSTRAA DCR C POP PSW JNZ subrotina CPI 50h RET 4 Quest es do Experimento 5 a Por que foram usadas as instru es PUSH B e POP B no primeiro programa b Por que foram usadas as instru es PUSH PSW e POP PSW no segundo e no terceiro programas c Observando o programa durant
195. ria RAM Mem ria RAM Est tica e Mem ria RAM Din mica Registradores Diagrama de Blocos de uma CPU Gen rica Sistemas de Numera o 2 Arquitetura do 8085 Princ pio B sico de Opera o de um Microprocessador Diagrama de Blocos do Microprocessador 8085 Pinagem Principais Caracter sticas O Sistema M nimo Modos de Endere amento Busca e Execu o de Instru es 3 Conjunto de Instru es do 8085 Transfer ncia de Dados Aritm ticas e L gicas Rota o e Deslocamento Desvio Entrada e Sa da Controle 4 Princ pios B sicos de Interfaceamento de Micros Interface Paralela Interface Serial Unidade de Temporiza o Controlador de Interrup o Controlador de DMA DMAC Integrados de Suporte Arquitetura atual de um PC 5 Arquitetura do 8086 8088 Fam lia 80x86 Diagrama em Blocos Registradores Segmenta o de Mem ria Pinagem Modos de Endere amento Evolu o dos processadores da fam lia 80X86 6 Introdu o ao Microcontrolador 8051 Arquitetura da Fam lia do Microcontrolador 8051 Caracter sticas Principais Programa o em Linguagem Assembly Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys Interrup es Temporizadores Comunica o Serial Simula o Digital Construindo um Sistema Baseado no Microcontrolador 8051 7 Projeto Experimenta
196. rograma monitor Elas s o dadas a seguir juntamente com uma breve descri o e com os endere os onde elas est o armazenadas Subrotina Endere o Fun o Entrada Sa da Registradores h Afetados APDIS 070B apagar display e inicializar WRITE nenhuma nenhuma nenhum DISPLAY RAM na posi o 0 LEFT entry CI 05C1 leitura da tecla apertada nenhuma A c digo da A e flags tecla lida co 05CB mostra no display o caracter contido no C c digo do A c digo do A e flags registrador C caracter a ser caracter mostrado no mostrado no display display DADD 05B8 mostra 2 bytes no display LEFT entry D 1 byte a ser nenhuma A BC DE e mostrado no flags display E 2 byte a ser mostrado no display DBYTE 0541 mostra 1 byte no display LEFT entry A bytea ser nenhuma A BCe flags mostrado no display PRINT 05D6 imprime mensagem no display M endere o da nenhuma A C HLe mensagem localizada no endere o dado mem ria a partir flags por M e que termina com um byte FF de onde come a a mensagem RADD 0580 l 2 bytes do teclado e mostra no display nenhuma M 2 bytes A BC HLe p ex endere os lidos flags RBYTE 0558 l 1 byte do teclado e mostra no display nenhuma A B byte A BC e flags lido e mostrado no display RDATA 0593 mostra 2 bytes no display nenhuma M 2 bytes DE mostrados no display TECLA 06BA guarda em A a posi o na TABTEC da nenhuma A C A C e flags tecla
197. rup es do 8086 9 9 1 Estrutura de interrup o do 8086 Enquanto o 8085 possui apenas 5 canais de interrup o o 8086 capaz de tratar de 256 interrup es diferentes numeradas de 00h a FFh ou O a 255 decimal Ao contr rio do 8085 a localiza o de cada interrup o n o vem pr definida no microprocessador existe uma tabela mostrada a seguir com os vetores de interrup o onde o endere o f sico de cada interrup o colocado N mero da Endere o do vetor Endere o do tratador Endere o efetivo do Endere o do tratador Interrup de interrup o da interrup o vetor de interrup o da interrup o 1 0000h 0004h IP low h 0000h 0004h CS IP 0000h 0005h IP highh 0000h 0006h CS low h 000h 0007h CS high h 2 Pd i 0000h 4i IP low h 0000h 4i CS IP 0000h 4i 1 IP highh 0000h 4i 2 CS low h 0000h 4i 3 CS high h 255 0000h 03FCh IP low h 0000h 03FCh CS IP Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 122 0000h 03FDh JP high h 0000h 03FEh CS low h 0000h 03FFh CS high h Obs O endere o efetivo da interrup o INT n 0000h 4n 9 9 2 Interrup es Pr definidas reservada ou exce es O 8086 possui tr s tipos de interrup o Interrup es Pr definidas reservadas ou exce es Interrup es por Hardware e Interrup es por Software As interrup es
198. s como 256 palavras de 8 bits cada 8355 ROM 2 Kbytes 2 Possui 16384 bits organizados como 2048 palavras de 8 bits cada A Fig 6 2 mostra um sistema m nimo baseado no 8085 e contendo uma pastilha de mem ria RAM 8156 e uma de mem ria ROM 8355 ALE CLK OUT IO M READY RESET INN RESET OUT RDI Fig 7 2 Sistema m nimo baseado no microprocessador 8085 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 89 Pino A43 Pino usado para habilitar desabilitar a RAM e a ROM Ass CE CEN Pastilha Habilitada 0 CI 8156 1 1 1 CI 8355 No sistema m nimo mostrado na Fig 7 2 o pino de endere o A3 do 8085 usado para habilitar desabilitar a RAM e a ROM Ele conectado ao pino CE Chip Enable da RAM e ao pino CE da ROM Isso significa que quando o pino As3 est em n vel baixo a ROM fica habilitada e a RAM desabilitada Quando em n vel alto a ROM fica desabilitada e RAM fica habilitada Dessa forma o endere o inicial da ROM 0000 h e o da RAM 2000 h como demonstrado abaixo As Au As Ap Ay Ao o AD AD AD AD AD AD AD AD Endere o Inicial da ROM 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Endere o Final da ROM 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 7 F F Endere o Inicial da RAM 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0
199. sa mem ria possa ir de 0000 h at Embora essa mem ria possa ir de 4000 h at 3FFF h somente uma pastilha de mem ria 5FFF h os tr s conjuntos de mem ria permitem usada e o endere o vai de 0000 h at 07FF h acessar dados de 4000 h at 4BFF h Espa o reservado 2716 2114 2114 0800 h OFFF h 0000 h 07FF h 4000 h 43FF h 4000 h 43FF h Espa o reservado Espa o reservado 2114 2114 1800 h 1FFF h 1000 h 17FF h 4400 h 47FF h 4400 h 47FF h Espa o reservado Espa o reservado 2114 2114 2800 h 2FFF h 2000 h 27FF h 4800 h 4BFF h 4800 h 4BFF h Espa o reservado Espa o reservado Espa o reservado Espa o reservado 3800 h 3FFF h 3000 h 37FF h 4C00 h 4FFF h 4C00 h 4FFF h Espa o vazio 5000 h 53FF h Espa o reservado 5000 h 53FF h Espa o reservado 5400 h 57FF h Espa o reservado 5400 h 57FF h Espa o reservado 5800 h 5BFF h Espa o reservado 5800 h 5BFF h Espa o reservado 5C00 h 5FFF h Espa o reservado 5C00 h 5FFF h Observar que o ltimo endere o de mem ria ROM 07FF h e que o ltimo endere o de mem ria RAM 4BFF h 5 3 Roteiros de Experimentos A presente se o tem como objetivo propor experimentos de laborat rio que possam ser implementados com o simulador ABACUS e com o kit did tico Esses experimentos ser o executados na medida em que a parte te ri
200. sar por exemplo DEL 1 cujo endere o 0770 h Assim acrescenta se essa subrotina CALL DEL 1 da seguinte forma lt INS gt lt 4009 gt lt CD gt lt 70 gt lt 07 gt lt F1 gt lt 3C gt lt C3 gt lt 02 gt lt 40 gt lt EXC gt Obs No kit did tico n o h como deslocar os comandos que j tinham sido digitados depois da instru o CALL DBYTE Assim todos eles foram digitados novamente ap s a instru o CALL DEL 1 Observar sempre que o byte menos significativo de um endere o digitado primeiro O endere o 4009 h foi usado porque ele o primeiro endere o depois da instru o CALL DBYTE Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 66 importante ainda frisar como feita a distribui o de mem ria no Kit Did tico A mem ria ROM consiste em uma pastilha de mem ria 2716 de 2 kbytes o que significa 2048 posi es de 8 bits cada uma Sendo 2048 800 h os endere os v o de 000 h at 7FF h A mem ria RAM consiste em 6 pastilhas de mem ria 2114 de 1 kbyte Por m cada posi o de mem ria da pastilha 2114 cont m apenas 4 bits o que torna necess rio o uso de duas a duas para formar 1 byte 8 bits Em cada conjunto de 2 pastilhas em paralelo o de acesso vai de 000 h at 3FF h A figura a seguir ilustra a distribui o de mem ria no Kit Did tico Procura se mostrar a mem ria do modo como ela est colocada no kit Mem ria ROM Mem ria RAM Embora es
201. si o da pilha no ABACUS atrav s do comando LXI SP xx xx Caso contr rio pode ocorrer erros com o simulador tentando acessar endere o fora da faixa permitida Label Endere o Mnem nico C digo Coment rio 2000 LXI SP 2020 31 20 20 Define pilha na posi o 2020 h da RAM 2003 MVI A 00h 3E 00 Carrega registrador A com valor 00 h volta 2005 PUSH PSW F5 Guarda valor de A e flags na pilha 2006 CALL MOSTRAA CD 6E 03 Mostra conte do de A no display Afeta A 2009 POP PSW F1 Recupera valor de A guardado na pilha 200A INR A 3C Incrementa conte do de A 200b JMP volta C3 05 20 Volta para a posi o volta ou seja 2005 h A visualiza o desse programa na mem ria RAM do ABACUS mostrada na figura a seguir pojej R eap Endere o C dgohesa Mnemirico T LXI SP 2020H MYI A 00H CALL 036EH POP PSW INR A JMP 2005H NOP NOP NOP NNP Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 59 4 2 Exemplos de Programas em Assembly para o ABACUS A presente se o mostra dois exemplos de programa o voltada para simula o no ABACUS Exemplo 1 Fa a no ABACUS um programa que executa uma contagem crescente em hexadecimal de 00 h at 60 h Label Mnem nico LXI SP 2090H MVI A 00H volta PUSH PSW CALL MOSTRAA POP PSW CPI 60H JZ fim INR A JMP volta fim HLT SP 2090 h A lt 00h
202. ssamento CPU A Unidade Central de Processamento a respons vel por buscar e executar instru es que ficam armazenadas na mem ria A CPU possui internamente os seguintes blocos dentre outros Control Unit Unidade de Controle UC tem por fun o b sica o controle das demais unidades da CPU de uma forma l gica e sincronizada 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 CPU interconnection o barramento interno da CPU ele permite a comunica o entre a Unidade de Controle a Unidade L gica e Aritm tica e os Registradores 1 4 2 Mem ria o local de armazenamento de dados e programas Possui palavras de tamanho fixo sendo cada palavra vinculada a um endere o nico Possui ainda linhas de controle sendo as principais READ leitura WRITE escrita Existem dois tipos b sicos de mem ria Mem ria somente para leitura ROM onde ficam armazenados permanentemente informa es fundamentais para o funcionamento do computador e cujos dados n o s o perdidos na falta de energia e a mem ria RAM que permite gravar e apagar dados de acordo com os interesses do usu rio e cujo conte do perdido quando o computador desligado
203. ssita snes iva d consta d n seis osso alan cdanivas Eaheseabiainaa canas sb vestem sessao 54 3 12 REFER NCIAS BIBLIOGR FICAS c ceceeenesreseerenesnessersneenesseesaresas secs cessne snes cessar snes cersnesnessessseenaso 56 4 SIMULADOR DIGITAL ABACUS cccceereeereeerecererererereeeo seco eco eco sato ente ente eae e o eee eco eco eco ecoa ada 57 4 1 SIMULADOR ABACUS PARA O MICROPROCESSADOR 8085 ccecceeeeererecerenerecerecerecereeeeco 57 4 2 EXEMPLOS DE PROGRAMAS EM ASSEMBLY PARA O ABACUS eccceeceeceeeereeerererecerereeeco 59 43 EXERC CIOS PROPOSTOS osason eee EE Udo ostsi pe eE ESAE ESN ab Clima Easa SoS 60 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 4 4 REFER NCIAS BIBLIOGR FICAS ceccereeerecermeesscesscesseessees sore sess snes nas sans sn ae ss aces aces st east es sces sara aadds 62 5 KIT DID TICO E ROTEIROS DE LABORAT RIO ceccereeeeseeeseeeseseseeseseaseseseases case se sense 63 5 1 SUB ROTINAS DO PROGRAMA MONITOR DO KIT DID TICO cccceseeereeesecescesseesseessersserssasss 63 5 2 PRINCIPAIS COMANDOS E ORIENTA ES PARA USO DO KIT DID TICO ceccceeeerereeeeesereeese 64 5 3 ROTEIROS DE EXPERIMENTOS cccecereresessrceneecereresseseseoeeceres esse seacas ecos osso e seaceseces ss seca seocesesessssos 66 5 4 REFER NCIAS BIBLIOGR FICAS sossessoesessoesocssesoossessossessoesocssesoessesoossessossossossocsossoessesoossessos
204. ssuem barramento de endere o com 32 bits Os processadores Pentium II Pentium II e Celeron possuem barramento de endere o de 36 bits podendo ent o acessar at 64 GB de mem ria O barramento de controle de um computador comporta uma s rie de sinais com finalidades diversas Alguns exemplos s o sinal RW que indica se a opera o uma leitura ou uma escrita sinal MIO que indica se a opera o envolve a mem ria ou a unidade de entrada e sa da sinal de RESET entradas das interrup es sinal de CLOCK etc Barramento ISA O barramento ISA Industry Standard Architecture formado por slots de 8 e 16 bits existentes nas placas de CPU e foi originado no IBM PC na vers o de 8 bits e aperfei oado no IBM PC AT quando foi criada a vers o de 16 bits Permite transfer ncia de dados em grupos de 8 ou 16 bits a um clock de 8 MHz Embora possua velocidade de transfer ncia pequena para os padr es atuais o barramento ISA ainda muito utilizado para placas tais como fax modem placas de som e placas de rede cujos desempenhos n o ficam comprometidos com a baixa velocidade de transfer ncia do barramento Barramento PCI O barramento PCI Peripheral Component Interconnect foi desenvolvimento pela Intel quando do desenvolvimento do processador Pentium Ele opera com 32 ou 64 bits apresenta taxa de transfer ncia de at 132 MB s com 32 bits e possui suporte para o padr o PnP Plug and Play Seu clock geralmente de 33 MHz para va
205. stradores e posi es de mem ria envolvidas apesar o A aswe oem Doca Deco Debe opel 0 even TT eemo TT C oeaan TT ee TT oe TT EO E Emo E fo 3 Quest es do Experimento 2 a Qual o conte do final dos registradores A D E e H no ABACUS b Qual o conte do final do endere o 2050 h no ABACUS c Em que endere o foi inserido o opcode da instru o SP lt 4B00 h d Qual o endere o apontado pelo par HL ap s a instru o H L lt gt D E no kit did tico e Em que endere o o valor 22 h foi armazenado ap s a instru o H L 22h no kit did tico Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 69 EXPERIMENTO 3 Objetivo Familiariza o com as instru es aritm ticas do 8085 Material Computador com o simulador ABACUS e kit did tico Roteiro 1 Codifique as opera es dadas na tabela a seguir e insira no ABACUS os mnem nicos resultantes Depois execute cada instru o PASSO A PASSO observando o que ocorre no registrador ou nos registradores e posi es de mem ria envolvidas Mnem nico 2Coment rio Opera o End HL lt 2050h 2000 LXIH 2050 Do qem 00 TT Do Aeon o TT Do Gem o TT DO MEM B OO Mesh 2 Complete a tabela dada a seguir fazendo uma adapta o do que foi feito na tabela anterior Acrescente os c digos das opera es e
206. stru o de cada Instru o Estado us executada us MVIC 1 7 1 7 DCR C 70 4 1 280 JNZ verdadeiro 69 10 1 690 JNZ falso 1 7 1 7 NOP 1 4 1 4 RET 1 10 1 10 Tempo Total 998 us 1 ms 10 Subrotina de atraso de 10 ms suposto um tempo de 1us para cada estado Label Mnem nico Coment rio atraso MVI B 0Ah Inicia contador B com valor OAh 10d repete 1 MVI C 47h Inicia contador C com valor 47h 71h repete2 DCR C Decrementa C C C 1 JNZ repete2 Repete la o at registrador C 0 gt Z 1 DCR B Decrementa registrador B JNZ repetel Reinicia la o interno at zerar registrador B gt Z 1 RET Tempo gasto em cada instru o e tempo total Instru o N de Vezes a N de Estados de Tempo de Tempo Parcial us instru o cada Instru o cada Estado executada us MVI B 1 7 1 a MVIC 10 7 1 70 DCR C 710 4 1 2840 JNZ repete2 700 10 1 7000 verdadeiro JNZ repete2 falso 10 7 1 70 DCR B 10 4 1 40 JNZ repete1 9 10 1 90 verdadeiro JNZ repete1 1 7 1 7 falso RET 1 10 1 10 Tempo Total 10134 us 10 ms Tempo gasto em cada instru o e tempo total 54 3 11 Exerc cios Propostos 1 2 Cite todas as instru es poss veis a partir da instru o gen rica MOV A r Se os registradores H e L cont m respectivamente os valores 40 h e 50 h qual o significado da instru o MVIM 08
207. t 7 bit 6 bit 5 bit 4 bit 3 bit2 bit 1 bit 0 Acumulador SOD SOE x R7 5 MSE M7 5 M6 5 M5 5 38 Fa a um programa seguindo os passos a seguir a Programa principal Escreva as instru es para habilitar as chaves do ABACUS como entrada de dados e os LEDs como sa da de dados mascarar as interrup es RST6 5 e RST5 5 habilitar a interrup o RST7 5 e ficar aguardando num loop um pedido de interrup o b Subrotina Escreva uma subrotina para rotacionar de dois em dois 0 1 1 2 2 3 6 7 os LEDs para a esquerda quando h um pedido da interrup o RST7 5 O processamento volta para o loop quando forem alcan ados os LEDs 6 e 7 6 8 Refer ncias Bibliogr ficas Ziller Roberto M Microprocessadores Conceitos Importantes Editora do autor Florian polis SC 2000 Intel MCS 80 851M Family User s Manual Outubro de 1979 Malvino Albert P Microcomputadores e Microprocessadores Tradu o Anat lio Laschuk revis o t cnica Rodrigo Araes Caldas Farias McGraw Hill S o Paulo 1985 Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 85 7 ENTRADA E SA DA SERIAL E PASTILHAS INTEGRADAS DE SUPORTE A entrada de dados seriais para o 8085 pode ser feita atrav s do pino 5 do microprocessador que o pino SID Serial Input Data Os dados seriais que chegam a esse pino s o transferidos para o bit 7 do acumulador a cada execu o da instru o RIM
208. terrup o Unidade Controle de Entrada Sa da Serial atrav s dessa unidade que o microprocessador recebe e envia dados de forma serial ou seja bit a bit ao inv s de um byte por vez O pino SID Serial Imput Data usado para a entrada de dados de forma serial e o pino SOD Serial Output Data usado para a sa da de dados de forma serial Unidade Temporiza o e Controle Esta unidade respons vel por gerar todos os sinais de controle do 8085 tais como os sinais de leitura RDY e escrita WRY de mem ria os sinais de libera o de barramento para um perif rico HLDA e o sinal de habilita o de endere o para um perif rico ALE Todas as unidades internas do 8085 s o controladas por esta unidade que cont m dentre outros um contador em anel para sincroniza o da opera o de todas as unidades do 8085 Os sinais de controle para outras unidades s o enviados ap s a decodifica o das instru es vindas do Registrador de Instru es IR Recebe ainda sinais do registrador de Flags e da unidade de interrup es Unidade Unidade L gico Aritm tica ULA ou ALU respons vel por todo o processamento realizado na CPU execu o de instru es aritm ticas e l gicas controlada por sinais internos emitidos pela Unidade de Controle Tem como entrada os registradores A Acumulador e TEMP Tempor rio respons vel pela sinaliza o de status das opera es FLAGS um registrador de 8 bits
209. tr s tempos Adapte o programa traffic ligths do Emu8086 de forma a simular um cruzamento onde os ve culos de todas as pistas possam seguir em frente virar direita ou virar esquerda sinal de quatro tempos 9 15 Refer ncias Bibliogr ficas 1 ZILLER Roberto M Microprocessadores Conceitos Importantes Edi o do autor Florian polis SC Brasil 2000 2 ZELENOVSKY Ricardo MENDON A Alexandre PC Um Guia Pr tico de Hardware e Interfaceamento Interci ncia Rio de Janeiro RJ 1996 3 Tutorial do Emulador emus086 http www emu8086 com Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys
210. tru es 1 2 milh es de transistores 25 MHz 20 MIPS 33 MHz 27 MIPS 50 MHz 41 MIPS 1991 WEB Tim Berners Lee desenvolve a Rede Mundial de Computadores World Wide Web O primeiro servidor Web lan ado O conceito de conex o de v rios usu rios a um nico computador por via remota nasceu no MIT no final da d cada de 50 e in cio da d cada de 60 As id ias b sicas da Internet foram desenvolvidas em 1973 por Bob Kahn e Vint Cerf Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 13 1993 Pentium 60 MHz e 66 MHz Processador de 32 bits bus ext de 64 bits 5V 3 milh es de transistores Primeiro processador de 5 gera o 1994 Pentium 90 MHz e 100 MHz Alimenta o de 3 3V maior confiabilidade 3 2 milh es de transistores 1996 Pentium Pro 200 Incorpora cache L2 de 256kB utilizando tecnologia MCM Multi Chip Module 5 milh es de transistores idealizado para programas de 32 bits Usa mem ria de 64 bits 1997 Pentium 200MMX Pentium MultiMidia eXtensions cont m 57 novas instru es dedicadas para programas de Multim dia 4 5 milh es de transistores 200 MHz e 166 MHz Barramento de 64 bits Cada instru o MMX equivale a v rias instru es comuns 1997 Pentium II 233 266 300MHz utiliza o slot I 7 5 milh es de transistores tecnologia 0 35 micron cache L2 com 512kB 242 pinos 64GB de mem ria endere vel Poder de processam
211. u es de Transfer ncia de Dados 35 Mnem nico Simbologia N de N de Modo de Flags Coment rio Gen rico Ciclos Estados Endere amento Afetadas MVI r dado8 1 byte 2 2 7 Imediato nenhuma move o dado para o registrador r indicado MOV r1 r2 1 lt r2 1 4 Registrador nenhuma move o conte do do registrador r2 para o registrador r1 MOV r M 1 lt HXL 2 7 Indireto por nenhuma move para o registrador r o dado presente no endere o de mem ria registrador especificado pelo registrador par H L MOV M r HD lt 1 2 7 Indireto por nenhuma move o conte do do registrador r para a posi o de mem ria registrador especificada pelo registrador par H L MVIM H XL lt byte 2 3 10 Indireto por nenhuma Carrega o dado na posi o de mem ria especificada pelo registrador dadog registrador e imediato par H L LXI rp rh byte 3 3 10 Imediato nenhuma Carrega o dado de 16 bits no registrador par indicado em rp O byte 2 dado16 11 lt byte 2 da instru o colocado no registrador de menor ordem ou byte menos significativo rl O byte 3 da instru o colocado no registrador de maior ordem ou byte mais significativo rh LDA addr A byte 3 byte 2 4 13 direto nenhuma Carrega acumulador com o dado armazenado na posi o de mem ria indicada pelo endere o addr O byte 2 armazena o byte inferior do endere o O byte 3 da instru
212. up es A interrup o do sistema habilitada ap s a execu o da instru o seguinte Nenhuma interrup o reconhecida durante a execu o da intru o EI DI 1 nenhuma Disable Interrupt Desabilita Interrup es A interrup o do sistema desabilitada imediatamente ap s a execu o da instru o DI Nenhuma interrup o reconhecida durante a execu o da intru o DI HLT 1 nenhuma A instru o HLT faz o processador parar o processamento Os registradores e flags permanecem inalterados NOP 1 nenhuma No Operation Nenhuma opera o realizada Os registradores e flags ficam inalterados RIM 1 nenhuma Read Interrupt Mask L M scara de Interrup o Esta instru o carrega no acumulador os dados relativos s interrup es e entrada serial Ser melhor detalhada posteriormente SIM 1 nenhuma Set Interrupt Mask Define M scara de Interrup o Esta instru o usa o conte do do acumulador para definir as m scaras de interrup o Ser melhor detalhado posteriormente C digos de Opera o das Instru es de Desvio e de Controle MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE MNEM NICO OPCODE CALL adr CD CMP M BE JM adr FA POP B CIl RNC DO RST 6 F7 CC adr DC CNC adr D4 JMP adr C3 POPD Di RNZ co RST7 FF CM adr FC CNZ adr C4 JNC adr D2 POP H El RP FO RZ C8 CMA 2F CP adr F4 JNZ adr C2 POP PSW F1 RPE E8 SIM 30 CMC 3F CPE adr
213. usa se a instru o PUSH rp d Para recuperar o conte do que foi guardado na pilha usa se a instru o POP rp e Quando uma informa o enviada para a pilha o byte mais significativo guardado primeiro isso significa que o byte menos significativo vai ser retirado primeiro porque o ltimo dado armazenado o primeiro a ser retirado A pilha do 8085 evolui do maior endere o para o menor ou seja a cada vez que uma informa o 2 bytes enviada para a pilha o endere o do topo da pilha reduzido de 2 Ele acrescido de 2 quando a informa o retirada da pilha g O apontador de pilha SP aponta sempre para o topo da pilha mas ele incrementado de 1 antes de cada byte ser armazenado Exemplo de armazenamento na pilha Supondo que inicialmente SP 2090 h A 01 h F 23 h B 45 h e C 67 h as figuras a seguir mostram a evolu o da pilha ap s cada instru o dada A regi o em destaque corresponde posi o apontada por SP ap s a instru o PUSH PSW PUSH B POP B POP PSW Endere o Conte do Endere o Conte do Endere o Conte do Endere o Conte do da RAM HEX da RAM HEX da RAM HEX da RAM HEX 2089 2089 2089 2089 208A 208A 208A 208A 208B 208B 208B 208B 208C 208C 67 208C 67 208C 67 208D 208D 45 208D 45 208D 45 208E 23 208E 23 208E 23 208E 23 208F 01 208F 01 208F 01 208F 01 2090 2090 2090
214. ve dados entre registradores ou posi es de mem ria e registradores Inclui movimentos cargas armazenamentos a troca de dados Exemplo MVI M dado8 move o dado especificado para a posi o de mem ria indicada pelo registrador par HL H L lt byte 2 2 Grupo Aritm tico Adi es subtra es incrementos ou decrementos de dados em registradores ou mem ria Exemplo SUB r o conte do do registrador r subtra do do acumulador O resultado guardado de volta no acumulador A A r 3 Grupo L gico ANDs ORs XORs compara es rota es ou complementos de dados em registradores ou entre mem ria e um registrador Exemplo ANA r os conte dos do acumulador e do registrador r s o submetidos ao operador l gico AND O resultado guardado de volta no acumulador A AJA 1 4 Grupo de Desvio Inicia desvios condicionais ou incodicionais chamadas de subrotina retornos e rein cios Exemplo JMP addr desvia incodicionalmente para o endere o indicado PC lt byte 3 byte 2 5 Grupo de Controle Pilha Entrada e Sa da Inclui instru es para manuten o da pilha leitura de portas escritas para portas setar e ler m scaras de interrup o e setar e limpar flags Exemplo IN porta O dado de 8 bits presente na porta de entrada indicada carregado no acumulador A lt data Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 3 4 Instr
215. voca um retardo de Ims e afeta o registrador B Endere o Instru o Endere o Dados 4000 LXI SP 4050h 4030 10h LXI H 402Fh 4031 02h MVI C 07h 4032 05h volta INX H 4033 F2h MOV A M 4034 O0Ah ANI Olh 4035 19h JNZ pula 4036 03h MOV A M OUT Olh pula CALL 0200h DCR C JNZ volta RST 4 a O que o programa acima faz b Desenhe uma tabela mostrando os endere os e o conte do da pilha ap s a execu o da instru o CALL 0200h c Quais os valores enviados pela porta de sa da 01 d Mostre o que deve ser feito se o reg B for usado no lugar do reg C Escreva um programa que produz um retardo de 1 s sabendo que o 8085 acionado por um cristal de 6 MHz Escreva a partir do endere o 4050 h uma sub rotina que produza um retardo de 0 5 ms aproximadamente Suponha que a freq ncia do cristal do 8085 seja 4 096 MHz Escreva um programa usando bytes imediatos para os dados que soma os decimais 500 e 650 Descreva as etapas do ciclo de execu o das instru es a seguir e explicar o que ocorre com os sinais de controle envolvidos e os sinais de endere os e dados a MOV B M b LXID 4050h o MOVE B Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 56 12 Fa a o coment rio de cada linha do programa abaixo e a seguir explique qual a finalidade do programa completo Complete os endere
216. xo Indica escrita de dados na mem ria ou em um dispositivo de entrada e sa da Ativado em T2 DT R gt Indica a dire o da transfer ncia de dados DEN gt Ativo baixo Data Enable Indica que vai haver tr fego de dados no barramento A19 S6 A16 S3 gt Barramento de dados durante ciclo T1 Barramento de sinais de estado de T2 a T4 A17 S4 A16 S3 Significado 0 0 Segmento Extra 0 1 Segmento de Pilha 1 0 Segmento de C digo ou nenhum 1 1 Segmento de Dados S5 IF Estado de habilita o da interrup o S6 0 CPU 8086 tem controle do barramento TW gt Wait State Tempo de espera No per odo de leitura a CPU l o dado do barramento no per odo T3 ap s o dispositivo lido entregar esses dados Se o dispositivo n o conseguir entregar os dados at o final do ciclo T3 o pino READY do 8086 colocado em n vel l gico baixo fazendo com que a CPU fique estado de espera repetindo do estado T3 quantas vezes forem necess rias enquanto aguarda o dispositivo entregar os dados No per odo de escrita pode acontecer o mesmo A CPU est pronta para entregar os dados mas o dispositivo n o est pronto para recebe los O pino READY colocado em n vel baixo gerando per odos de espera Microprocessadores e Microcomputadores Prof Jos Wilson Lima Nerys 116 9 6 Endere amento de Mem ria J foi explicado numa se o anterior como feita a composi o do endere o f sico d
217. yte nico Algumas instru es no entanto precisam de informa es adicionais para sua execu o Assim al m das instru es de 1 byte o 8085 tamb m tem instru es de 2 bytes e de 3 bytes Os bytes adicionais s o chamados de OPERANDOS No caso da instru o de 2 bytes tem se o Opcode e 1 operando e no caso da instru o de 3 bytes tem se o Opcode e 2 operandos mostrado a seguir o formato dos tr s tipos de instru o Antes por m importante mostrar o formato dos dados no 8085 D7 D6 D5 D4 D3 D2 D1 DO MSB LSB MSB Most Significant Bit Bit mais significativo LSB Least Significant Bit Bit menos significativo a Instru es de 1 byte Opcode byte1 D7 D6 DS D4 D3 D2 DI DO Exemplo ADD B Adiciona o conte do de B ao acumulador A amp A B Opcode byte 1 1 0 0 0 0 0 0 0 80h b Instru es de 2 bytes Opcode byte 1 D7 D6 D5 D4 D3 D2 DI DO Operando byte2 D7 D6 D5 D4 D3 D2 DI DO Exemplo MVI A 32h Move imediatamente o conte do 32h para A A lt byte 2 Opcode byte 1 0 0 1 1 1 1 1 0 3Eh Operando byte 2 0 0 1 1 0 0 1 0 32h c Instru es de 3 bytes Opcode byte 1 D7 D6 D5 D4 D3 D2 D1 DO Operando 1 byte 2 LSB D7 D6 D5 D4 D3 D2 D1 DO Operando 2 byte 3 MSB D7 D6 D5 D4 D3 D2 D1 DO Os bytes 2 e 3 cont m um dado ou um ender

Download Pdf Manuals

image

Related Search

Related Contents

Philips SWV3442W User's Manual  IB(NA)-0300176-C - Mitsubishi Electric  ` HRGBES (セル付)  Samsung YP-U5AR Инструкция по использованию  GIGABYTE GA-K8VT890-9 User's Manual  Relazione tecnica_I05 CCIAA-PI-RELTEC-IM-ESEC    Samsung Samsung  Untitled  CHOUKROUT  

Copyright © All rights reserved.
Failed to retrieve file