


Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
intel 8088
Tipologia: Notas de estudo
1 / 4
Esta página não é visível na pré-visualização
Não perca as partes importantes!



O 8088 foi o primeiro microprocessador de 16 bits (seus registros internos) lançado em 1978 pela Intel Inc. Sua importância histórica reside no fato de que ele foi escolhido, no início dos anos 80 para compor a arquitetura dos computadores mais conhecidos (e mais utilizados) em todo mundo — os computadores pessoais da IBM (IBM-PC). O microprocessador 8088 é antigo, ele foi primeiramente produzido em 1978. Isto não quer dizer que é inútil estudar o Assembly 8088. Devido a política da Intel (o produtor do 8088), todos os processadores da família Intel suportam as instruções do 8088. Isto implica que os processadores 80286, 80386, até o Pentium suportam o Assembly 8088. Algumas das principais características processador 8088 são apresentados abaixo:
bits. Isto foi devido a problemas de compatibilidade com os outros chips do mercado da época, que possuiam um barramento de dados de 8 bits.
bits, o que lhe permite endereçar até 1.048.576 posições de memória, ou seja, 1 Mbyte.
utilizado no modo mínimo no contexto de sistemas dispondo de poucos dispositivos periféricos, como por exemplo, como controlador em aparelhos eletrodomésticos. Neste caso, a função dos sinais nos pinos do 8088 é diferente e o seu funcionamento externo é simplificado. O 8088 é utilizado em modo máximo quando existe a necessidade de explorar todos os seus recursos funcionais. Um caso típico disto é quando ele vai compor a arquitetura de um microcomputador.
Como já foi apresentado, o processador 8088 pode acessar 1 Mbytes de memória. Mas como é que eu posso endereçar estes 1 Mbytes se os registro internos são de 16 bits? Que se fossem utilizados só ele poderíamos endereçar somente 64 Kbytes)? Para endereçar 1 Mbytes nós precisamos de um mecanismo adicional para montar os endereços de 20 bits, que implicou num novo conceito, chamado de segmento de memória. Segmentos de memória são blocos de 64Kbytes. Assim, os 1Mbytes (ou seja de 00000 até FFFFF) são divididos em vários blocos de 64Kbytes. Estes segmentos podem ter uma área de memória para si só, ou ele pode compartilhar uma parte da memória com outro segmento, ou ainda dois segmentos podem ocupar a mesma área de memória física. pode ocupar a mesma área. Estas várias situações são apresentadas na figura 3. Ainda na figura 3, abrindo o segmento A, por exemplo, nós temos uma região de memória indo de 20000 (^) h até 2FFFFh. Para endereçar uma posição de memória particular neste segmento, no 8088 nós precisamos de dois registros de 16 bits: um registro conterá o endereço base do segmento e o outro conterá o deslocamento a partir do endereço base onde o dado está. Por exemplo, para endereçar o dado “x”, é necessário um registro contem o endereço base 2000h e o outro contem o deslocamento 0013h. Para calcular o endereço físico de “x”, nós temos que multiplicar por 10 (^) h o endereço base e somar com o offset. Assim, o endereço físico de “x” é 20013h, este endereço pode ser notado como 2000 (^) h:0013 (^) h.
Figura 1. Segmentação de Memória
O 8088 se apresenta num chip de 40 pinos, como apresentado na figura 1. A seguir são apresentadas as função dos principais pinos do 8088 considerando seu funcionamento em modo máximo:
Figura 2. Configuração externa do 8088
Figura 3. Estrutura interna do processador 8088
4. Registros do 8088 Esta seção apresenta uma visão geral dos registros do processador 8088: aspectos gerais como tamanho e função.
A necessidade da existência desses registros é óbvia: um processador sem registros gerais teria que colocar os resultados das operações na memória, e isto gastaria tempo. Mantendo os operandos e os resultados dentro da CPU, as transferências tornam-se mais rápidas. Embora o fabricante se esforce em identificar alguns registros como de uso geral, eles possuem funções bem definidas. Abaixo são apresentados os registros gerais do 8088: AX : E/S, multiplicações, divisões, tradução, etc... (chamado também de Acumulador) BX : Registro de base para endereçamento de zonas de memória CX : Contagem de dados DX : Endereçamento indireto de portas de E/S, multiplicação e divisões Os registros de dados são os únicos do 8088 que podem ser divididos em duas metades, e utilizados isoladamente como dois registros de 8 bits. Outros operam sempre como uma unidade de 16 bits. Cada um possui a metade menos significativa (AL, BL, CL, DL) e a metade mais significativa (AH, BH, CH, DH). Por enquanto, o que é importante reter é que estes registros serão utilizados para melhorar os programas, além do que, muitas instruções do 8088 são executadas supondo que um certo valor foi carregado nesses registros.
Como apresentado na seção 3.1, a memória utilizada pelo 8088 é dividida em segmentos. A função dos registros de segmento é identificar o endereço base do segmento utilizado. Existem quatro tipos de segmento: o segmento de código, de dados, Extra e de Pilha. Os registros de segmento mantêm os endereços de base de cada segmento utilizado. A tabela abaixo apresenta uma descrição dos vários tipos de segmento e o registro de segmento que contém o endereço de base de cada tipo de segmento. Segmento Endereço Base Descrição
segmento de código CS contem o código do programa segmento de dados DS contem as variáveis do programa segmento de stack SS pilha de endereços e de dados segmento extra ES contem mais dados Relembrando o cálculo do endereço físico da base de um segmento: tomando por exemplo o segmento extra, nós multiplicamos o endereço contido em ES por 10h para obter o endereço físico da base do segmento. Como o tamanho do segmento é de 64Kbytes, o endereço final do segmento extra é 4FFFF (^) h. Estes registros são totalmente manipulados por instruções, e poderiam até ser considerados como registros gerais, pois pode-se mover dados de um registro como AX para DS.
52h
53h