Escolar Documentos
Profissional Documentos
Cultura Documentos
OBJETO
TEMA 4
La fase final de un compilador es la generacin de cdigo objeto, que por lo
general consiste en cdigo de mquina relocalizable o cdigo ensamblador.
Las posiciones de memoria se seleccionan para cada una de las variables
usadas por el programa.
Despus, cada una de las instrucciones intermedias se traduce a una secuencia
de instrucciones de mquina que ejecuta la misma tarea.
El generador de cdigo objeto puede considerarse como la penltima fase
de un compilador, la cual se encarga de tomar como entrada el cdigo
intermedio generado por el front-end, y producir cdigo objeto de la
arquitectura target para luego entrar en la fase de optimizacin de cdigo.
Los registros son espacios fsicos dentro del microprocesador con capacidad
de 4 bits hasta 64 bits dependiendo del microprocesador que se emplee.
El CPU tiene 14 registros internos, cada uno de ellos de 16 bits (una palabra).
Los bits estn enumerados de derecha a izquierda, de tal modo que el bit
menos significativo es el bit 0.
Registro de
propsito
general
Registros de
apuntadores
Tipos de
registros
Registros de
banderas
Registros de
pila
Registros ndice
REGISTROS DE SEGMENTO
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.
LENGUAJE ENSAMBLADOR
DEFINICIN
Reubicacin.
La tcnica de multiprogramacin requiere que varios programas ocupen la memoria
al mismo tiempo. Sin embargo no se sabe con anticipacin donde ser
cargado cada programa por lo que no es prctico usar direccionamiento absoluto
de memoria.
Organizacin fsica.
Debido al costo de una memoria principal rpida, ste se usa en
conjunto con una memoria secundaria mucho ms lenta (y por consiguiente,
barata) a fines de extender su capacidad.
Organizacin lgica.
Aunque la mayor parte de las memorias son organizadas
linealmente con un direccionamiento secuencial, esto difcilmente concuerde
con el camino seguido por el programa, debido al uso de procedimientos,
funciones, subrutinas, arreglos, etc