Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULDADE DE ENGENHARIA
ARQUITECTURA DO MICROPROCESSADOR
8086
Luanda/Angola
2022
TERMO DE APROVAÇÃO
Maria Alfredo E1000029832 ………………………………………….…………….. ( )
Aprovado em:____/____/2022
DOCENTE
__________________________________
BP – Base Pointer
BX – Base extended
CS – Code Segment
CX – Count extended
DI – Destination Index
DS – Stack Pointer
DX – Data extended
IP – Instruction Pointer
SI – Source Index
SP – Stack Pointer
SS – Stack Segment
LISTA DE FIGURAS
Figura 1 – Diagrama de blocos da arquitectura do microprocessador 8086 .............................. 2
CONCLUSÃO .......................................................................................................................... 11
Existem actualmente inúmeras famílias destes dispositivos, das mais antigas, ás mais
recentes, das mais sofisticadas, às mais simples. Neste trabalho vamos abordar sobre a família
x86.
1
CAPÍTULO 1 – ARQUICTETURA DO
MICROPROCESSADOR 8086
1.1. COMPONENTES DA ARQUICTETURA
O microprocessador 8086 está dividido em duas unidades: a BIU (Bus Interface Unit –
unidade de interface de barramento de dados) e a EU (Execution Unit – unidade de execução).
[1]
Bus Interface Unit: unidade responsável por efectivar todas as operações de transferências
de endereços e de dados por meio do barramento de dados e dos registradores de
deslocamento (CS, DS, SS, ES e IP) para efectivar operações na memória, além de
estabelecer comunicação com o barramento de controle lógico por meio dos barramentos de
endereço e de dados no sentido de acessar o barramento externo e se comunicar com os
periféricos agregados ao equipamento. [1]
Execution Unit: unidade que comunica-se por meio do barramento de dados da ALU
(Arithnetic Logic Unit – unidade lógica e aritmética) com a unidade BIU e informar o local
onde os dados ou instruções serão executados e em quais endereços. Esta unidade opera sobre
os registradores gerais e registradores de estados (flags). Todas as operações da unidade de
execução ALU e pela EU Control System (unidade de controlo de execução do sistema). [1]
2
O microprocessador 8086 utiliza registradores para efectivar o armazenamento
temporário de dados em memória, os quais serão manipulados por intermédio de um
programa. O registrador está intimamente relacionado com a estrutura do microprocessador
em uso. Para cada tipo de microprocessador existe uma forma específica de tratar o conceito.
[1]
Os registradores gerais (AX, BX, CX, DX) são utilizados com a finalidade de
armazenar dados a serem processados, possuem 16 bits de dados, e cada um desses pode ser
3
dividido em duas partes, cada uma com 8 bits, parte mais significativa (do bit 8 até o bit 16),
lado esquerdo e parte menos significativa (do bit 0 até o bit 7), lado direito. [1]
São utilizados para acessar uma determinada área de memória, ou seja, para auxiliar o
microprocessador a encontrar o caminho pela memória do computador. Diferente dos
registradores gerais estes não podem ser divididos em registradores de 8 bits. Os
registradores de segmento são:
Registrador de segmento CS: aponta para uma área de memória que contém o
segmento de código de programa que se encontra em execução.
Registrador de segmento SS: Identifica a área da memória que será usada como pilha
(stack). [1]
4
1.1.3. Registrador de Deslocamento
1.2. INTERRUPÇÕES
5
O processamento de interrupções é fundamental para o funcionamento adequado de
um computador. É por meio das interrupções que se torna possível controlar vários
dispositivos associados ao computador. [1]
Interrupção por hardware: são gerenciadas pelo próprio computador, assim sendo,
não é possível modificar seu estado de comportamento. Possibilita accionar periféricos
externos, como unidades de disco, teclado, impressora, porta de comunicação etc. este tipo de
interrupção conecta-se (comunica-se) ao microprocessador pelas linhas de comunicação de
IRQ (Interrupt ReQuest – pedido de interrupção) que são controladas pelas rotinas de sistema
operacional pela ROM-BIOS. [1]
6
Figura 4 – Endereçamento de memória
1.4. ORGANIZAÇÃO DO PC
Algumas funções básicas de um PC (Personal Computer) são:
7
CAPÍTULO 2 – PROGRAMAÇÃO ASSEMBLY PARA O
MICROPROCESSADOR 8086
2.1. REGISTO DE SINALIZAÇÃO
Os registradores de sinalização indicam o estado do microprocessador durante a execução de
cada instrução, subdividem-se em FLAGS de estado e FLAGS de controle.
As FLAGS DE ESTADO
CF (Flag de Carry): está em nível lógico alto “1” após instruções de soma que geram
“vai um” e instruções de subtracção que não geram “empréstimo”. Caso contrário fica em
nível lógico baixo “0”.
PF (Flag de Paridade): está em nível lógico alto “1” quando o byte inferior do
resultado de alguma operação aritmética ou lógica apresentar um número par de “1´s”. Caso
contrário (número impar).
ZF (Flag de Zero): está em nível lógico alto “1” caso o resultado da última operação
aritmética ou lógica seja igual a zero. Caso contrário permanece em nível lógico baixo “0”.
OF (Flag de Overflow): Está em nível lógico alto “1” quando uma operação produz
overflow, caso contrário permanece em nível lógico baixo “0”.
As FLAGS DE CONTROLE
8
DF (Flag de Direção): usado para indicar a direcção em que as operações com strings
são realizadas.
Usado para transferir dados entre: registrador e registrador, registrador e uma posição de
memória, mover um número directamente para um registrador ou posição de memória.
OBS: para a instrução MOV não é permitido operar de posição de memória para posição de
memória directamente.
Usada para trocar dados (nos dois sentidos) entre: registrador e registrador, registrador e uma
posição de memória, não é permitido trocas directas entre posições de memória.
Exemplo:
9
INC WORD1 → incrementa o conteúdo da posição de memória WORD1
NEG destino
Usada para substituir o conteúdo destino pelo seu complemento de 2, operando sobre um
registrador ou uma posição de memória.
Exemplo:
Segmento de dados: contem a definição e declaração das variáveis. Pode-se também fazer a
atribuição de símbolos para constantes.
Sintaxe: .DATA
Sintaxe: .STACK
Sintaxe: .CODE
10
CONCLUSÃO
É importante entender a arquitectura do microprocessador 8086 para entender a sua
programação em Assembly. Vimos que a sua arquitectura é dividida em duas principais partes
que são a BIU (unidade de interface de barramentos de dados) e a EU (unidade de execução).
Possui registradores, que são memórias de armazenamento temporário, registradores gerais,
registradores de segmento, registradores de deslocamento (apontamento) e registradores de
estado (também conhecidos como flags).
11
REFERÊNCIAS BIBLIOGRÁFICAS
[1] – José Augusto N. G. Manzano - Linguagem Assembly: Introdução ao Padrão Intel 8086,
- São Paulo – 2021.
12