Está en la página 1de 3

INSTITUTO TECNOLOGICO DE ACAPULCO

INGENIERIA EN SISTEMAS COMPUTACIONALES

Arquitectura de Computadoras

Resumen B.2 - Estructura de Registros del


Procesador 8086 de Intel.

Profesor: Eloy Cadena Mendoza

Clase: 11:00-12:00

Alumno: Oscar Uriel Arizmendi Flores

15/05/2021

Registros de segmento
Son cuatro registros de 16 bits usados para indicar direcciones de memoria (los
conceptos de segmento y desplazamiento se explicarán en el apartado siguiente):
- CS (Code Segment): Este registro es usado por el procesador, junto con el
registro IP, para conocer dónde está la instrucción actual que está siendo
ejecutada. - DS (Data Segment): Se usa para indicar dónde están todos los datos
del programa en ejecución. - SS (Stack Segment): En este registro se indica al
procesador dónde está la zona de memoria que se usa como segmento de pila. -
ES (Extra Segment): Es el registro que referencia al segmento extra, y se usa
como apuntador de memoria auxiliar en operaciones complejas donde se
necesitan dos punteros de datos simultáneos.
Registros de la pila
La pila es un área de memoria importante. Tiene, en vez de uno, dos registros
que se usan como desplazamiento (offset) para apuntar su contenido. Se usan
como complemento al registro SS y son: - SP (Stack Pointer): Es el registro que se
reserva el procesador para uso propio en instrucciones de manipulación de la pila.
- BP (Base Pointer): Se usa como registro auxiliar.
Registros índices.
Se utilizan como desplazamientos complementarios para DS y ES a la hora de
indicar la posición donde se encuentran los datos a los que se desea acceder.
Son: - SI (Source index): Se usa como puntero origen en operaciones de
desplazamiento de datos entre dos zonas de memoria. - DI (Destination index). Se
usa como destino en operaciones de desplazamiento de datos.

Registros de instrucción:
Sólo hay uno, el registro IP (Instruction Pointer), es usado por la CPU para
conocer la posición relativa a la base CS donde se encuentra la instrucción que se
está ejecutando actualmente. Este registro no puede ser modificado directamente
por parte del programador. Este puntero cambia su contenido automáticamente
cada vez que se ejecuta una instrucción o cuando se salta a otro punto del
programa mediante una instrucción de salto.

Registro de Banderas:
Este registro es usado para tener el control de estado y control de las operaciones.
La mayoría de sus 16 bits se utiliza para representar un estado concreto:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 CF -- PF -- AF -- ZF SF TF IF DF OF -- -- -- --
Figura 1.4. Estructura del registro de banderas.
- Bit 0 - CF (Carry Flag): Es la bandera de acarreo. Se pone a 1 cuando se
produce un resultado con acarreo tras una operación aritmética. –
Bit 1: No usado. –
Bit 2 - PF (Parity Flag): Cuando está a 1, indica que hay un número par de bits
activos. –
Bit 3: No usado.
- Bit 4 - AF (Auxiliar Flag): Se usa como bandera auxiliar. Se pone a 1 cuando hay
necesidad de realizar ajustes tras una operación de tipo BCD.
- Bit 5: No usado.
- Bit 6 - ZF (Zero Flag): Indica si se ha producido un resultado cero o una
comparación con operadores iguales.
- Bit 7 - SF (Sign Flag): Indica si se ha producido un resultado negativo o
comparación menor.
- Bit 8 - TF (Trap Flag): Es la bandera de atrape, usada en procesos de
depuración de código.
- Bit 9 - IF (Interrupt Flag): Si está a 1, indica que está permitida la generación de
interrupciones hardware que generan algunos periféricos, como la que realiza el
teclado cada vez que una tecla es pulsada.

Bit 10 –
DF (Direction Flag): Indica a la CPU hacia donde se desplazan los punteros
relativos en operaciones repetitivas de cadenas de datos.
- Bit 11 - OF (Overflow Flag): Indica si se ha producido un desbordamiento
aritmético.
- Bit 12 al 15: No usados.

La ALU
La unidad aritmético-lógica es el segundo principal componente de la unidad
central de proceso. Se encarga de realizar las operaciones aritméticas y lógicas
con los datos que recibe, siguiendo órdenes de la unidad de control. Las
operaciones que realiza la ALU se pueden agrupar en las siguientes categorías: •
Operaciones artiméticas, tales como suma, resta, multiplicación y división. •
Operaciones de lógica binaria, tales como and, or, xor, not ... • Operaciones de
desplazamientos y rotaciones. • Operaciones de transformación de operandos,
tales como extensión de signo, transformación a otro formato de numeración, etc.

También podría gustarte