12
8.Generacion de Codigo Objeto 8.1 Lenguaje máquina 8.1.1 Características 8.1.2 Direccionamiento 8.2 Lenguaje ensamblador 8.2.1 Características 8.2.2 Almacenamiento 8.3 Registros 8.3.1 Distribución 8.3.2 Asignación 8.4 Administración de memoria

codigo objeto

Embed Size (px)

Citation preview

Page 1: codigo objeto

8.Generacion de Codigo Objeto

8.1 Lenguaje máquina8.1.1 Características8.1.2 Direccionamiento

8.2 Lenguaje ensamblador8.2.1 Características8.2.2 Almacenamiento

8.3 Registros8.3.1 Distribución8.3.2 Asignación

8.4 Administración de memoria

Page 2: codigo objeto

Código objeto En programación, se llama código objeto al

código que resulta de la compilación del código fuente.

Consiste en lenguaje máquina o bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado. Para obtener un programa ejecutable se han de enlazar todos los archivos de código objeto con un programa llamado enlazador (linker).

Page 3: codigo objeto

8.1 Lenguaje máquina

Page 4: codigo objeto

8.1.1 Características El lenguaje máquina realiza un conjunto

de operaciones predeterminadas llamadas microoperaciones.

• Las microoperaciones sólo realizan operaciones del tipo aritmética (+,-,*, /), lógicas (AND, OR, NOT) y de control (secuencial, decisión, repetitiva).

Page 5: codigo objeto

8.1.2 Direccionamiento Es la forma en como se accede a la

memoria. Recordar que un programa no puede ejecutarse sino se encuentra en memoria principal. La forma de acceder a la memoria depende del microprocesador, pero en general existen dos tipos de direccionamiento: directo e indirecto.

Page 6: codigo objeto

8.2 Lenguaje ensamblador

Page 7: codigo objeto

8.2.1 Características Programar en lenguaje ensamblador es difícil de

aprender, entender, leer, escribir, depurar y mantener,por eso surgió la necesidad de los lenguajescompilados.

A pesar de perder rendimiento en un proceso decompilación, en la actualidad la mayoría de lascomputadoras son suficientemente rápidas.

El lenguaje ensamblador no es portable. Programar en lenguaje ensamblador lleva mucho tiempo. Los programas hechos en lenguaje ensamblador son

generalmente más rápidos. Al programarcuidadosamente en lenguaje ensamblador se pueden

Page 8: codigo objeto

8.2.2 Almacenamiento Una de las principales ventajas del

uso del ensamblador, es que se encarga de administrar de manera transparente para el usuario la creación de memoria, las bifurcaciones y el paso de parámetros.

• Además nos permite acceder directamente a los recursos de la máquina para un mejor desempeño.

Page 9: codigo objeto

8.3 Registros

Los registros son la memoria principal de lacomputadora. Existen diversos registros depropósito general y otros de uso exclusivo.Algunos registros de propósito general sonutilizados para cierto tipo de funciones.• Existen registros acumuladores, puntero deinstrucción, de pila, etc.

Page 10: codigo objeto

8.3.1 Distribución La distribución es el proceso en el que el

programa generado puede ejecutarse en otras máquinas.

En el caso de programas compilados se necesitan de las librerías, si son estáticas se

incluyen en el ejecutable por lo que el programa se hace gráfico, si son dinámicas no pero el programa es más pequeño.

Debido a la complejidad del software actual se necesitan de asistentes para poder instalar y ejecutar un programa

Page 11: codigo objeto

8.3.2 Asignación

La asignación de valores a variables se hace a través de un proceso de mover el contendido de memória a registro, o de registro a memoria, pero nunca de memoria a memoria.

Page 12: codigo objeto

8.4 Administración de memoria La administración de memoria se refiere a los

distintos métodos y operaciones que se encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.

Para poder lograrlo, la operación principal que realiza es la de trasladar la información que deberá ser ejecutada por el procesador, a la memoria principal. Actualmente esta administración se conoce como Memoria Virtual ya que no es la memoria física del procesador sino una memoria virtual que la representa.