Tipos de ensambladores

Ensambladores cruzados: Se denominan así a los ensambladores que se utilizan en una computadora que posee el procesador diferente al que tendrán las computadoras donde se va a ejecutar el programa objeto producido. El empleo de este tipo permite aprovechar el soporte de medios fisicos y de programacion que ofrecen las maquinas potentes para desarrollar programas que luego los van a ejecutar  sistemas muy especializados en determinados tipos de tareas.


Ensambladores residentes: Son aquellas que permanecen en la memoria principal de la computadora y cargar para su ejecución al programa objeto producido. Este tipo de ensamblador tiene la ventaja de que se puede comprobar  inmediatamente el programa sin necesidad  de transportarlo de un lugar a otro, como se hacia en crossassembler, y sin necesidad de programas simuladores.  Sin embargo, puede presentar problemas de espacio de memoria, ya que el traductor ocupa espacio que no puede ser utilizado  por el programador.


Microensambladores: Al programa que indica al intérprete de instrucciones de la CPU como debe actuar se le denomina microprograma. El programa que ayuda a realizar este microprograma se llama micro ensamblador. Existen procesadores que permiten la modificacion  de sus microprogramas, para lo cual se utilizan microensambladores.


Macroensambladores: Son ensambladores que permiten el uso de macroinstrucciones. Debido a su potencia, normalmente son programas robustos  que no permanecen en memoria  una vez generado el programa  objeto.  Puede variar la complejidad de los mismos, dependiendo de las posibilidades de definicion y manipulacion de las macroinstrucciones, pero normalmente son programas bastante complejos.


Ensambladores de una fase: Leen una línea y la traducen directamente para producir una instrucción de lenguaje maquina o la ejecuta si se trata de una pseudosinstrucción. Se construye la tabla de símbolos a medida que aparecen las definiciones de variables, etiquetas, etc. Debido a su forma de traduccion estos ensambladores obligan a definir los simbolos  antes de ser empleados para que,  cuando aparezca una referencia a un determinado simbolo  en una instruccion,  se conozca la direccion de dicho simbolo  y se pueda traducir de forma correcta.


Ensambladores de dos fases: Realiza la traducción en dos etapas: 1° Fase leen el programa fuente y construyen la tabla de símbolos, 2° Fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente pues reconocen la totalidad de los símbolos. Estos ensambladores son mas utilizados en la actualidad.