Los registros del procesador son sitios de almacenamiento rápido y
temporal, se emplean para controlar instrucciones en ejecución, manejar
direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son espacios físicos dentro del
microprocesador con capacidad de 4 bits hasta 64 bits dependiendo del
microprocesador que se emplee.
Los
registros del procesador se emplean para controlar instrucciones en ejecución,
manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los
registros son direccionables por medio de un nombre. Los bits por convención,
se numeran de derecha a izquierda, como en:
... 15 14 13 12 11 10 9
8 7 6 5 4 3 2 1 0
Los registros internos
del procesador se pueden clasificar en 6 tipos diferentes:
1.
Registros de segmento
Un registro de segmento
tiene 16 bits de longitud y facilita un área de memoria para direccionamiento
conocida como el segmento actual.
Registro CS: El DOS almacena la dirección inicial del
segmento de código de un programa en el registro CS. Esta dirección de segmento, más un valor de
desplazamiento en el registro apuntador de instrucción (IP), 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 especifico en el segmento de datos.
Registro SS: Permite la colocación en memoria de una
pila, para almacenamiento temporal de direcciones y datos.
Registros ES: Alguna operaciones con cadenas de
caracteres (datos de caracteres) utilizan el registro extra de segmento para
manejar el direccionamiento de memoria.
2.
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, el acumulador principal,
es utilizado para operaciones que implican entrada/salida y la mayor parte de
la aritmética.
Registro BX: El BX es conocido como el registro base
ya que es el único registro de propósito general que puede ser índice para
direccionamiento indexado.
Registros 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.
Registros DX: El registro DX es el registro de datos. En
algunas operaciones se indica mediante estos registros 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.
3.
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 acceder datos en el segmento de la pila.
Registro SP: El apuntador de la pila de 16 bits está
asociado con el registro SS y proporciona un valor de desplazamiento que se
refiere a la palabra actual que está siendo procesada en la pila.
Registro BP: El BP de 16 bits facilita la referencia
de parámetros, los cuales son datos y direcciones transmitidos vía pila.
4.
Registro de Banderas
Muchas instrucciones que
piden comparaciones y aritmética cambian el estado de las banderas, algunas
cuyas instrucciones pueden realizar pruebas para determinar la acción
subsecuente. En resumen, los bits de las banderas comunes son como sigue:
OF (Over flow, Desbordamiento): Indica desbordamiento de un bit de orden
alto (más a la izquierda) después de una operación aritmética.
DF (Direction flag, Dirección): Designa la dirección hacia la izquierda o
hacia la derecha para mover o comparar cadenas de caracteres.
IF (Interruption flag, Interrupción): 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).
ZF (Zero flag, Cero): Indica el resultado de una operación
aritmética o de comparación (0 = resultado diferente de cero y 1 = resultado
igual a cero).
AF (Auxiliary carry flag, Acarreo Auxiliar): Contiene un acarreo externo del bit 3 en
un dato de 8 bits para aritmética especializada.
PF (Parity flag, Paridad): Indica paridad par o impar de una
operación en datos de 8 bits de bajo orden (más a la derecha).
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.
5.
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 está asociado con el registro CS en
el sentido de que el IP indica la instrucción actual dentro del segmento de
código que se está ejecutando actualmente.
6.
Registros de PILA
La pila es un área de
memoria importante y por ello tiene, en vez de uno, dos registros que se usan
como desplazamiento (offset) para apuntar a su contenido. Se usan como
complemento al registro y son:
SP- Stack Pointer: Se traduce como puntero de pila y es el
que se reserva el procesador para uso propio en instrucciones de manipulado de
pila. Por lo general, el programador no debe alterar su contenido.
BP- Base pointer: Se usa como registro auxiliar. El
programador puede usarlo para su provecho.
Claro que estos nombres y
tipos de registros son estándar, ya que cada fabricante puede utilizar otros
registro que reemplacen a estos o los auxilien, aun así, los fabricantes que
usan otros registro tienen la misma función que los anteriormente mencionados.
No hay comentarios:
Publicar un comentario