Este documento describe los diferentes tipos de registros en una CPU. Hay seis tipos principales: registros de segmento, registros de propósito general, registros de apuntadores, registros de banderas, registros de puntero de instrucción e índices. Cada tipo de registro tiene un propósito específico como almacenar direcciones de memoria, controlar instrucciones, manejar datos aritméticos y más. Los registros son fundamentales para el funcionamiento interno de una CPU.
2. Que son los registros del CPU?
Los registros del procesador se emplea para controlar
las instrucciones en ejecución, manejar
direccionamiento de memoria y propiciar capacidad
aritmética.
3. Clasificación de los registros
Los registros internos del procesador se puede
clasificar en 6 tipos diferentes
1) Registros de segmento
2) Registros de propósito general
3) Registros de apuntadores
4) Registros de banderas
5) Registros de Puntero de instrucción
4. Registros de segmento
Un registro de segmento tiene 16 bits de longitud y facilita
una área de memoria para direccionamiento conocida
como segmento actual.
Registro Cs: El dos almacena la dirección inicial del
segmento de código de un programa en el registro CS.
Indica la dirección de una instrucción que es buscada para
su ejecución.
Registro DS: genera una referencia a la localidad de un
byte específico en el segmento de datos.
Registros SS: permite la colocación en memoria de una
pila, para almacenamiento temporal de dirección y datos.
Registros ES: se utiliza para algunas operaciones con
cadenas de caracteres se utiliza para el manejo de
direccionamiento de memoria.
5. Registros de Propósito General
Los registros de propósito general AX, BX, CX y DX son los
caballos de batalla del sistema. Son únicos en el sentido de
que se puede direccionarlos como una palabra o como una
parte de un byte.
Registro AX: El registro AX es el registro acumulador, es
utilizado para operaciones que implican entrada/salida,
y multiplicación y división (estas dos últimas en
conjunto con el registro DX).
Registro BX: El registro BX es el registro base, y es el
único registro de propósito general que puede ser un
índice para direccionamiento indexado.
6. Registros de Propósito General
Registro CX: El registro CX es conocido como el
registro contador. Puede contener un valor para
controlar el número de veces que un ciclo se repite o
un valor para corrimiento de bits.
Registro DX: El registro DX es el registro de datos.
En algunas operaciones se indica mediante este
registro el número de puerto de entrada/salida, y en
las operaciones de multiplicación y división de 16 bits
se utiliza junto con el acumulador AX.
7. Registro de Apuntador de
Instrucciones.
El registro apuntador de instrucciones (IP) de 16 bits
contiene el desplazamiento de dirección de la
siguiente instrucción que se ejecuta. el IP indica la
instrucción actual dentro del segmento de código que
se esta ejecutando actualmente.
8. Registros Apuntadores
Los registros SP (apuntador de la pila) Y BP (apuntador
de base) están asociados con el registro SS y permiten al
sistema accesar datos en el segmento de la pila.
SP: El apuntador de pila de 16 bits está asociado con el
segmento SS y proporciona un valor de
desplazamiento que se refiere a la palabra actual que
está siendo procesada en la pila
BP: El apuntador base de 16 bits facilita la referencia
de parámetros dentro de la pila.
9. Registros Índice
Los registros SI y DI están disponibles para direccionamiento
indexado y para sumas y restas.
Registro SI: El registro índice fuente de 16 bits es requerido por
algunas operaciones con cadenas de caracteres. El SI está
asociado con el segmento DS.
Registro DI: El registro índice destino también es requerido
por algunas operaciones con cadenas de caracteres. El DI está
asociado con el segmento ES.
10. Registros de Banderas
OF (Over flow flag, desbordamiento): Indica
desbordamiento del bit de mayor orden después de una
operación aritmética de números con signo (1=existe overflow;
0=no existe overflow).
DF (Direction flag, Direccion): Controla la selección de
incremento o decremento de los registros SI y DI en las
operaciones con cadenas de caracteres (1=decremento
automático; 0=incremento).
IF (Interruption flag, Interrupcion): Controla el disparo de
las interrupciones (1=habilita las interrupciones; 0=deshabilita
las interrupciones) Indica que una interrupción externa, como
la entrada desde el teclado sea procesada o ignorada.
TF (Trap flag, Trampa): Permite la operación del procesador
en modo de depuración (paso a paso)
SF (Sign flag, Signo): Contiene el signo resultante de una
operación aritmética (0=positivo; 1=negativo).
11. Registros de Banderas
ZF (Zero flag, Zero): Indica el resultado de una operación
aritmética o de comparación (0=resultado diferente de cero;
1=resultado igual a cero).
AF (Auxiliary carry flag, Acarreo auxiliar): Contiene el
acarreo del bit 3. Esta bandera se prueba con las instrucciones
DAA y DAS para ajustar el valor de AL después de una suma o
resta BCD.
PF (Parity flag, Paridad): Indica si el número de bits 1, del byte
menos significativos de una operación, es par (0=número de bits
1 es impar; 1=número de bits 1 es par).
CF (Carry flag, Acarreo): Contiene el acarreo del bit de mayor
orden después de una operación aritmética; también almacena el
contenido del último bit en una operación de desplazamiento o
de rotación.