Registros del Procesador: Arquitectura, Funciones y Uso en Ensamblador
Clasificado en Informática
Escrito el en español con un tamaño de 2,56 KB
Los registros son la memoria principal de la computadora.
La distribución es el proceso en el que el programa generado puede ejecutarse en otras máquinas.
La asignación de valores a variables se hace a través de un proceso de mover el contenido de memoria a registro.
Los registros del procesador se emplean para controlar instrucciones en ejecución y manejar el direccionamiento de memoria.
Tipos de Registros
- AX (Registro Acumulador): Dividido en AH y AL (8 bits cada uno). Interviene en las operaciones aritméticas y lógicas, arrojando un resultado después de la operación.
- BX (Registro Base): Dividido en BH y BL. Se utiliza en transferencias de datos entre la memoria y el procesador.
- CX (Registro Contador): Dividido en CH y CL. Se utiliza como contador en bucles (LOOP), en operaciones con cadenas (REP), y en desplazamientos (CL).
- DX (Registro de Datos): Dividido en DH y DL. Se utiliza en operaciones de multiplicación y división junto con AX y en operaciones de entrada y salida de puertos. Su mitad inferior DL contiene el número de puertos.
Un registro de segmento se utiliza para alinear en un límite de párrafo.
El registro apuntador de instrucciones (IP) de 16 bits contiene el desplazamiento de dirección de la siguiente instrucción que se ejecuta.
Los registros SI y DI (índice) están disponibles para direccionamientos indexados y para sumas y restas.
Los registros de banderas sirven para indicar el estado actual de la máquina y el resultado del procesamiento.
Lenguaje Ensamblador
Un lenguaje ensamblador puro es aquel en que cada sentencia produce exactamente una instrucción máquina.
Ejemplos de operaciones:
- Mover: Llenar un registro con un valor constante (Ej.:
mov al, 20
). - Computar: Sumar, restar, multiplicar o dividir los valores de dos registros, colocando el resultado en uno de ellos o en otro registro.
Generación de Código Objeto
El generador de código objeto se encarga de tomar como entrada el código intermedio generado por el front-end.
Asignación de Registros
Sub-problemas:
- Durante la asignación de registros, se selecciona el conjunto de variables y/o constantes que residirán en los registros en un momento del programa.
- Durante una fase posterior a la anterior, se escoge el registro específico en el que residirá una variable.