Powered By Blogger

miércoles, 20 de abril de 2011

DEFINICIÓN DE TRADUCTORES DE BAJO NIVEL

                  Lenguajes de bajo nivel (ensamblador)

            La programación en lenguaje máquina es difícil, por ello se necesitan lenguajes que permitan simplificar este proceso. Los lenguajes de bajo nivel han sido diseñados para este fin. Estos lenguajes son generalmente dependientes de la máquina, es decir, dependen de un conjunto de instrucciones específicas del ordenador. Un ejemplo de este tipo de lenguajes es el ensamblador. En él, las instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos (generalmente, abreviaturas de palabras inglesas).

            Las palabras mnemotécnicas son mucho más fáciles de recordar que las secuencias de ceros y unos. Una instrucción típica de ensamblador puede ser:

ADD x,y,z

            Esta instrucción significaría que se deben sumar los números almacenados en las direcciones de memoria x e y, y almacenar el resultado en la dirección z. Pero aún así, a medida que los programas crezcan en tamaño y complejidad, el ensamblador sigue sin ser una buena solución. La forma más simple de un ensamblador hace dos pasadas sobre la entrada en donde una pasada consiste en leer una vez un archivo de entrada. En la primera pasada, se encuentra todos los identificadores que denoten posiciones de memoria y se almacenan en una tabla de símbolos. En la segunda pasada el ensamblador examina el archivo de entrada de nuevo traduce cada código de operación a la secuencia de bits que representa esa operación en lenguaje de maquina y traduce cada identificador que representa una posición de memoria ala dirección dada ese identificador en la tabla de símbolos. Es resultado de la segunda pasada normalmente es código de maquina relocalizable lo cual significa que puede cargarse empezando en cualquier posición L de la memoria.

No hay comentarios:

Publicar un comentario