Specifications

MICROPROCESSADORES
O MICROPROCESSADOR 8086
1
Luís Miguel Charrua Figueiredo 1 - 6 E.N.I.D.H.
SP (Stack pointer)
É o ponteiro da stack (pilha), e aponta para a posão de topo da stack, é o registo usado por
defeito nas operações de PUSH e POP.
BP (Base pointer)
É o ponteiro da base, permite o acesso a dados dentro do segmento da stack. Normalmente, este
registo é usado para referências parâmetros que devem ser acedidos através da stack.
SI (Segment index)
É usado como registo de índice em alguns modos de endereçamento indirecto. É também usado
para guardar um deslocamento que vai endereçar a posição do operando fonte em operações com
strings.
DI (Data index)
É usado como índice em alguns modos de endereçamento indirecto. É também usado para
guardar a posição de destino do operando em operações com strings.
Registos de Segmento
As áreas de memória alocadas para código de programa, dados e stack (pilha) são endereçados
separadamente. Existem quatro blocos de memória endereçados disponíveis, chamados
segmentos, cada um com 64 Kbytes.
Os registos CS, DS, SS e ES são usados para apontar à base dos quatro segmentos endereçáveis
de memória; Segmento de código (Code Segment); Segmento de dados (Data Segment);
Segmento de stack (Stack Segment); e Segmento extra (Extra Segment).
Ponteiro de instrução
É usado para localizar dentro do segmento de código a posição da memória da próxima instrução
de código a ser colocada na queue. IP é incrementado automaticamente em função da instrução
de código executada anteriormente.