Vous êtes sur la page 1sur 1

ENSAMBLADORES

Ensambladores Cruzados Es aquel que se ejecuta sobre un computador con un procesador diferente de aquel para el que se ensambla el cdigo. Los ensambladores cruzados permiten a un programador desarrollar programas para diferentes sistemas sobre un computador. Sin embargo, excepto en el caso de minicomputadores y grandes computadores que pueden ofrecer un simulador de microprocesador destinatario real, no se puede normalmente probar y depurar el cdigo creado por un ensamblador cruzado sin ejecutarse sobre una maquina real que utilice este procesador. Ej. asMSX es un ensamblador cruzado para MSX [cross-assembler], es decir, un programa que genera archivos binarios para MSX (y para cualquier otra mquina que utilice el microprocesador Z80) desde cualquier plataforma IBM/PC con el sistema operativo Windows (cualquier versin). Ensambladores Residentes La ventaja de estos ensambladores es que permiten ejecutar inmediatamente el programa; la desventaja es que deben mantenerse en la memoria principal tanto el ensamblador como el programa fuente y el programa objeto. El polo opuesto del ensamblador cruzado es el ensamblador residente, que se ejecuta sobre una maquina que contiene el mismo procesador que el destinatario del cdigo ensamblado. Un ensamblador residente ofrece al programador la ventaja de utilizar una nica mquina para crear, probar, y depurar cdigo. Los ensambladores residentes sobre los primeros microprocesadores fueron algo lentos y restrictivos en caractersticas debido al alto costo de memoria y la lentitud del microprocesador, con la disponibilidad de memoria de bajo costo (y consecuentemente grandes memorias disponibles en la mayor parte de los sistemas). Macroensambladores Son ensambladores que permiten el uso de macroinstrucciones (macros). Debido a su potencia, normalmente son programas robustos que no permanecen en memoria una vez generado el programa objeto. Puede variarse complejidad, dependiendo de las posibilidades de definicin y manipulacin de las macroinstrucciones, pero normalmente son programas bastantes complejos, por lo que suelen ser ensambladores residentes. Ejemplos: Macro Ensamblador IBM.- Est integrado por un ensamblador y un macroensamblador. En gran medida su funcionamiento y forma de invocarlo es sumamente similar al de Microsoft. Su forma de uso consiste en generar un archivo fuente en cdigo ASCII, se procede a generar un programa objeto que es ligado y se genera un programa .EXE. Opcionalmente puede recurrirse a la utilera EXE2BIN de MS-DOS para transformarlo a .COM. Es capaz de generar un listado con informacin del proceso de ensamble y referencias cruzadas. Macro Ensamblador de Microsoft.- Dependiendo de la versin, este ensamblador es capaz de soportar el juego de instrucciones de distintos tipos de microprocesadores Intel de la serie 80xx/80x86. En su versin 4.0 este soporta desde el 8086 al 80286 y los coprocesadores 8087 y 80287. Requiere 128KB de memoria y sistema operativo MS-DOS v2.0 o superior. Trabaja con un archivo de cdigo fuente creado a partir de un editor y grabado en formato ASCII. Este archivo es usado para el proceso de ensamble y generacin de cdigo objeto. Posteriormente, y con un ligador, es creado el cdigo ejecutable en formato .EXE. Turbo Assembler.De Borland Intl., es muy superior al Turbo Editassm. Trabaja de la misma forma, pero proporciona una interfaz mucho ms fcil de usar y un mayor conjunto de utileras y servicios. Microensambladores Generalmente, los procesadores utilizados en las computadoras tienen un repertorio fijo de instrucciones, es decir, que el intrprete de las mismas interpretaba de igual forma un determinado cdigo de operacin. El programa que indica al intrprete de instrucciones de la UCP cmo debe actuar se denomina microprograma. El programa que ayuda a realizar este microprograma se llama microensamblador. Existen procesadores que permiten la modificacin de sus microprogramas, para lo cual se utilizan microensambladores. Ensambladores de una fase Estos ensambladores leen una lnea del programa fuente y la traducen directamente para producir una instruccin en lenguaje mquina o la ejecuta si se trata de una pseudoinstruccin. Tambin va construyendo la tabla de smbolos a medida que van apareciendo las definiciones de variables, etiquetas, etc. Debido a su forma de traduccin, estos ensambladores obligan a definir los smbolos antes de ser empleados para que, cuando aparezca una referencia a un determinado smbolo en una instruccin, se conozca la direccin de dicho smbolo y se pueda traducir de forma correcta. Ensambladores de dos fases Se denominan as debido a que realizan la traduccin en dos etapas. En la primera fase, leen el programa fuente y construyen una tabla de smbolos; de esta manera, en la segunda fase, vuelven a leer el programa fuente y pueden ir traduciendo totalmente, puesto que conocen la totalidad de los smbolos utilizados y las posiciones que se les ha asignado. Estos ensambladores son los ms utilizados en la actualidad. Ejemplo: Ensamblador del 8086.

Vous aimerez peut-être aussi