Sunteți pe pagina 1din 30

Registradores do processador e processamento

lgico e aritmtico computacional


Registradores
O que um registrador?

um tipo de memria de alta velocidade e de pequena


capacidade, contida no CPU, utilizada no armazenamento
de valores ou informaes de comando temporrio durante
o processamento.
registradores

Os registradores, so utilizados para assegurar o armazenamento


temporrio de informaes importantes para o processamento de
uma dada instruo.
Conceitualmente, registro e memria so semelhantes:
A localizao, a capacidade de armazenamento e os tempos de
acesso s informaes que os diferenciam.
Um registrador memoriza um nmero limitado de bits, geralmente
uma palavra de memria.
Registradores

Os registradores mais importantes so:


Contador de programa (PC - Program Counter), que aponta para a
prxima instruo a executar.
Registrador de instruo (IR - Instruction Register) que armazena
a instruo em execuo.
Registradores

A linguagem Assembly utiliza registradores para armazenar em


memria os valores que sero manipulados por um programa.
Os registradores apresentados so divididos em:
Registradores Gerais;
Registradores de Segmento;
Registradores de Deslocamento ou Apontamento;
Registradores de Estado;
Registradores gerais

Os registradores gerais tm 16 bits de dados, e cada registrador


pode ser dividido em duas partes, cada uma com 8 bits.
Por exemplo, o registrador geral AX de 16 bits poder ser dividido
no registrador de 8 bits AH (Accumulator Hight) e o registrador de
8 bits AL (Accumulator Low).
AX = Accumulator extended (Acumulador);
BX = Base extended (Base);
CX = Counter extended (Contador);
DX = Data extended (Dados);
Registradores gerais

AX = Accumulator extended (Acumulador)


Utilizado em operaes aritmticas, acesso de portas de
entrada e sada, transferncia de dados, entre outros.
Registradores gerais

BX = Base extended (Base);


Utilizado como ponteiro para acessar a memria, ndice, e
auxiliar de operaes aritmticas efetuadas por AX.
Registradores gerais

CX = Counter extended (Contador);


Sua principal finalidade servir de contador em laos de
repetio.
Registradores gerais

DX = Data extended (Dados);


Usado em operaes aritmticas juntamente com AX (DX recebe o
resto da diviso e o produto da multiplicao), acesso de portas
de entrada e sada, entre outros.
Registradores de Segmento

Os registradores de segmento tm 16 bits e so utilizados para


acessar uma determinada rea de memria denominada offset
(segmento), ou seja, so utilizados para auxiliar o microprocessador
a encontrar o caminho pela memria do computador.
Eles no podem ser divididos em registradores de 8 bits.
So eles:
CS = Code Segment;
DS = Data Segment;
ES = Extra Data Segment;
SS = Stack Segment;
Registradores de Segmento

CS = Code Segment
O registrador Segmento de Cdigo utilizado para apontar
para uma rea de memria que contm o cdigo de
programa que est em execuo.
Registradores de Segmento

DS = Data Segment
O registrador Segmento de Dados utilizado para apontar
para um segmento de memria que estiver sendo utilizada
no armazenamento de dados do programa em execuo.
Registradores de Segmento

ES = Extra Data Segment


O registrador Segmento Extra utilizado para determinar
um segmento extra de dados, distante da rea em que se
est trabalhando. Normalmente usado para acessar a
memria de vdeo.
Registradores de Segmento

SS = Stack Segment
O registrador Segmento de Pilha utilizado para identificar o segmento que ser
utilizado como pilha (stack), com o objetivo de armazenar os dados temporrios do
programa em execuo.
Registradores de Deslocamento ou Apontamento
O registrador de deslocamento ou apontamento IP, conhecido como
apontador da prxima instruo, possui o valor de deslocamento do
cdigo da prxima instruo a ser executada.
Registradores de Deslocamento ou Apontamento so:
SI = Source Index;
DI = Destination Index;
SP = Stack Index;
BP = Base Pointer;
IP = Instruction Pointer;
Registradores de Deslocamento ou Apontamento

SI = Source Index
Esse registrador utilizado como fonte em manipulao de
string.
Registradores de Deslocamento ou Apontamento

DI = Destination Index
Esse registrador utilizado como destino em manipulao de string.
Registradores de Deslocamento ou Apontamento

SP = Stack Index
Esse aponta para o topo da pilha.
Registradores de Deslocamento ou Apontamento

BP = Base Pointer
Esse registrador aponta para a base da pilha.
Registradores de Deslocamento ou Apontamento

IP = Instruction Pointer
O Apontador de Instruo possui o valor de deslocamento
da prxima instruo. Ele de uso interno do processador,
por isso seu valor no pode ser alterado, apenas lido.
Registrador de Estado
O registrador de estado (Flag) tem 16 bits que agrupa um conjunto de flags de
1 bit, e cada flag define ou sinaliza um estado de comportamento particular do
computador.
Se o valor de cada bit estiver sinalizado como "1", indica que o flag em questo
est "setado"(acionado), caso esteja sinalizado com o valor "0", significa que o
flag no est "setado"(desabilitado).
Registrador de Estado:
CF = Carry Flag;
PF = Paity Flag;
AF = Auxiliar Flag;
ZF = Zero Flag;
SF = Signal Flag;
OF = Overflow Flag;
Registrador de Estado

CF = Carry Flag
Essa flag sinalizada quando o resultado da instruo excede o
limite do tamanho do dado, seja ele o limite mximo ou mnimo.
Por exemplo, em um byte cabe valores de 0 a 255, se num
determinado momento ele tiver 255 e tentarmos somar 1, o
valor 256 no cabe em um byte, assim a Flag de Carry setada
para indicar esse estouro.
O mesmo acontecer se o valor contido no byte for 0 e
tentarmos subtrair 1, a flag ser sinalizada porque excedemos o
limite inferior do byte.
Registrador de Estado

PF = Paity Flag
A Flag de Paridade indica se existe um nmero par ou mpar de bits
setados no dado. Se ela estiver setada (informado um valor) o nmero
par, se no estiver setada o nmero mpar.
Registrador de Estado

AF = Auxiliar Flag
Essa flag funciona como a CF, porm do bit 3 a 4, ou seja, como se
indicasse o estouro de nibble (uma sucesso de quatro cifras binrias) .
Registrador de Estado

ZF = Zero Flag
A Flag de Zero indica se uma operao aritmtica ou lgica
tem resultado zero.
Se ela estiver setada o resultado da operao foi zero,
seno, o resultado foi diferente de zero.
Registrador de Estado

SF = Signal Flag
A Flag de Sinal indica se o resultado de uma operao
positivo ou negativo, ou seja, quando o bit mais
significativo (o bit mais esquerda) estiver setado (1).
Registrador de Estado
OF = Overflow Flag
A Flag de Estouro indica se um resultado um nmero positivo muito grande
ou um nmero negativo muito pequeno (excluindo o bit de sinal) para caber
no operador destino.
Essa flag indica uma condio de estouro para operaes de nmeros com
sinal (diferentemente da CF).
Segmentao da Memria

Ponto de vista fsico a memria homognea.


J do ponto de vista lgico a memria dividida em reas denominadas segmentos.