Академический Документы
Профессиональный Документы
Культура Документы
DE COATZACOALCOS
SEMESTRE: 7
GRUPO: B
29 de octubre de 2014
INTRODUCION
Una de las etapas muy importante es la generacin de cdigo intermedio pues sin esta no
sera posibles la realizacin del cdigo objeto.
El cdigo objeto recibe como entrada el cdigo intermedio y se podra decir que es la
penltima etapa. En otras palabras el cdigo objeto es el resultado de la compilacin del
cdigo fuente. Y es importante conocer los temas relacionados a la generacin de este
cdigo, los temas que se deben conocer son:
Los registros son los lugares en donde el procesador hace todas sus operaciones y solo
puede procesar datos que se encuentre hay, una de las ventajas de usar registros es la
velocidad con las que se ejecutan las operaciones que son muy superiores a la obtenida
en la memoria RAM.
Lenguaje maquina solo es comprendido por la computadora y utiliza solo dgitos unos y
ceros, con ella es capaz de representar cada una de sus operaciones y esto se realiza
solo por dispositivos electrnicos. Y a sus operaciones se les conoce como microoperaciones. La compilacin de los cdigos fuentes da como resultado cdigo que solo
est representado en cdigo mquina.
Lenguaje ensamblador como ya se ha visto en otros temas el lenguaje ensamblador es un
lenguaje de bajo nivel para computadoras microprocesadores y otros dispositivos
electrnicos.
Adems de esto se debe hacer un buen uso de la memoria disponible y as poder tener
espacio suficiente para poder realizar un gran nmero de operaciones sin que el sistema
colapse a esto se la llama administracin de memoria.
INDICE
4 GENERACIN DE CDIGO OBJETO.------------------------------------------ Pgina 1
4.1 REGISTROS. ----------------------------------------------------------- Pgina 1
4.2 LENGUAJE ENSAMBLADOR. ------------------------------------ Pgina 2
4.3 LENGUAJE MAQUINA. --------------------------------------------- Pgina 3
4.4 ADMINISTRACIN DE MEMORIA. ------------------------------ Pgina 4
CONCLUSION Y BIBLIOGRAFIA -------------------------------------------------- Pgina 6
4.1 REGISTROS
Los registros del procesador se emplean para controlar instrucciones en ejecucin,
manejar direccionamiento de memoria y proporcionar capacidad aritmtica. Los 5registros
son espacios fsicos dentro del microprocesador con capacidad de 4 bits hasta 64 bits
dependiendo del microprocesador que se emplee.
Los registros son direccionables por medio de una vieta, que es una direccin de
memoria. Los bits, por conveniencia, se numeran de derecha a izquierda (15, 14,13. 3, 2,
1,0), los registros estn divididos en seis grupos los cuales tienen un fin especfico. Los
registros se dividen en:
Registros de segmento
Registros apuntadores
Registro ndice
Registro de bandera.
2
instrucciones para abreviar move (mover).- El opcode es seguido por una lista de
argumentos o parmetros, completando una instruccin de ensamblador tpica. La
transformacin del lenguaje ensamblador en cdigo mquina la realiza un programa
ensamblador, y la traduccin inversa la puede efectuar un desensamblador. A diferencia
de los lenguajes de alto nivel, aqu hay usualmente una correspondencia 1 a 1 entre las
instruc
Nota! En informtica, un mnemnico es una palabra que sustituye a un cdigo de operacin (lenguaje de
mquina), con lo cual resulta ms fcil la programacin, es de aqu de donde se aplica el concepto
de lenguaje ensamblador.
3
ciones simples del ensamblador y el lenguaje mquina. Sin embargo, en algunos casos,
un ensamblador puede proveer pseudo instrucciones que se expanden en un cdigo de
mquina ms extenso a fin de proveer la funcionalidad necesaria. Por ejemplo, para un
cdigo mquina condicional como si X mayor o igual que , un ensamblador puede utilizar
una pseudo instruccin al grupo haga si menor que , y si = 0 sobre el resultado de la
condicin anterior. Los ensambladores ms completos tambin proveen un rico lenguaje
de macros que se utiliza para generar cdigo ms complejo y secuencias de datos.
Cada arquitectura de computadoras tiene su propio lenguaje de mquina, y en
consecuencia su propio lenguaje ensamblador. Los ordenadores difieren en el tipo y
nmero de operaciones que soportan; tambin pueden tener diferente cantidad de
registros, y distinta representacin de los tipos de datos en memoria. Aunque la mayora
de las computadoras son capaces de cumplir esencialmente las mismas funciones, la
forma en que lo hacen difiere, y los respectivos lenguajes ensamblador reflejan tal
diferencia.
Pueden existir mltiples conjuntos de mnemnicos o sintaxis de ensamblador para un
mismo conjunto de instrucciones, instanciados tpicamente en diferentes programas
ensamblador. En estos casos, la alternativa ms popular es la provista por los fabricantes,
y usada en los manuales del programa.
Adems, el lenguaje ensamblador est demasiado ligado al microprocesador para que
sea posible escribir programas independientes de la mquina en que van a ejecutarse.
Este cdigo simblico no puede ser ejecutado directamente por un ordenador, por lo que
es preciso traducirlo previamente. Pero la traduccin es un proceso mecnico y repetitivo,
que se presta a su realizacin por un programa de ordenador.
Los programas que traducen cdigo simblico al lenguaje de mquina se llaman
ensambladores (assembler, en ingls), porque son capaces de ensamblar el programa
traducido a partir de varias piezas, procedimientos o subrutinas a cdigo binario (1 y 0)
que entiende el procesador.
4.3 LENGUAJE MQUINA
Son los lenguajes de ms bajo nivel: secuencias binarias de ceros y unos. Se denomina
lenguaje mquina a la serie de datos que la parte fsica de la computadora o hardware, es
capaz de interpretar.
El lenguaje mquina fue el primero que empleo el hombre para la programacin delas
primeras computadoras. Una instruccin en lenguaje mquina puede representarse de la
siguiente forma: 011011001010010011110110. Esta secuencia es fcilmente ejecutada por
la computadora, pero es de difcil interpretacin, siendo an ms difcil la interpretacin de
un programa (conjunto de instrucciones) escrito de esta forma. Esta dificultad hace que
los errores sean frecuentes y la correccin de los mismos costosa, cuando no imposible,
al igual que la verificacin y modificacin de los programas.
Hay que tener en cuenta la arquitectura de la mquina para realizar una gestin
eficiente de la memoria y de los registros.
Nota! Fue el primer lenguaje utilizado en la programacin para las primeras computadoras, pero
dej de utilizarse por su dificultad y complicacin, siendo sustituido por otros lenguajes ms fciles
de aprender y utilizar, y que adems reducen la posibilidad de cometer errores.
Primero se generan las directivas para reservar memoria para las variables y
datos.
Nota! Fue el primer lenguaje utilizado en la programacin para las primeras computadoras, pero
dej de utilizarse por su dificultad y complicacin, siendo sustituido por otros lenguajes ms fciles
de aprender y utilizar, y que adems reducen la posibilidad de cometer errores.
Luego se genera el resto del cdigo. Por ejemplo, los rboles de sintaxis abstracta
se recorren.
Dato! La memoria virtual es una tcnica de gestin de la memoria que permite que el sistema
operativo disponga, tanto para el software de usuario como para s mismo, de mayor cantidad
de memoria que est disponible fsicamente.
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.
MECANISMOS DE ASIGNACION.
Un mecanismo de asignacin determina la cantidad de bloques (particiones) que sern
administrados en la memoria.
1. ASIGNACIN DE UNA PARTICIN. En la memoria se considera la existencia de una
sola particin, esto es, se tiene la capacidad de ejecutar un proceso. La particin es toda
la memoria, cuya administracin corre por cuenta del usuario, o sea, no hay un sistema
operativo.
2. ASIGNACIN DE DOS PARTICIONES. La memoria se divide en 2 bloques. En una
particin se carga el Sistema Operativo y en la otra el programa del usuario. Es el
concepto de Sistema Operativo Monousuario.
3. ASIGNACIN DE MULTIPLES PARTICIONES. La memoria es dividida en varias
particiones una para el Sistema Operativo y las dems para los procesos de usuarios u
otras funciones especiales del Sistema Operativo.
CONCLUSIN
Habiendo concluido el anlisis de los temas podemos decir que el cdigo objeto no sera
posible sin la existencia del lenguaje ensamblador y la correcta interpretacin del lenguaje
maquina as es cmo podemos hacer que la computadora lleve a cabo nuestras
instrucciones de manera que no se cambie la forma lgica de resolver problemas que
nosotros codificamos para que se lleven a cabo bajo las condiciones y limitaciones de una
maquina sacando el mximo provecho a estos limitados recursos como son la memoria, el
microprocesador y sus registros.
En todo caso el lenguaje ensamblador nos ayuda a que nuestro cdigo intermedio se
convierto en cdigo objeto en lenguaje mquina que solo el procesador y sus recursos
pueden ejecutar.
Una de las cosas que ms debemos tener en cuenta es obtener resultados lo ms rpido
posibles utilizando menos recursos y sin afectar toda nuestra lgica.
BIBLIOGRAFIA
https://es.scribd.com/doc/58266678/Unidad-8-Generacion-de-Codigo-Objeto
Compiladores e intrpretes: un enfoque pragmtico
AhoA., Sethi R. and Ullman J. Compiladores. Principios, tcnicas y herramientas.