mis estadisticas

jueves, 21 de abril de 2011

1.1.- ENSAMBLADORES.

 ENSAMBLADORES.

Los ensambladores son programas que procesan los enunciados del programa origen en lenguaje ensamblador y los traducen en archivos en lenguaje máquina que son ejecutados por un microprocesador o un microcontrolador.
Los ensambladores permiten que los programas origen se escriban y se editen en una computadora para generar un código ejecutable en otra computadora. El archivo en lenguaje objeto ejecutable resultante se carga y se ejecuta en el sistema destino.

2. LENGUAJE ENSAMBLADOR

El lenguaje simbólico que se utiliza para codificar los programas origen que se procesan por el ensamblador es llamado lenguaje ensamblador.

Este lenguaje es una colección de símbolos mnemónicos que representan: operaciones (mnemónicos de instrucciones para la máquina o de directrices para el ensamblador), nombres simbólicos, operadores y símbolos especiales.
El lenguaje ensamblador proporciona códigos de operación de los mnemónicos para todas las instrucciones de la máquina contenidas en la lista de instrucciones.
Además, el lenguaje ensamblador contiene mnemónicos directrices, los cuales especifican acciones auxiliares que se llevan a cabo por el ensamblador.
Estas directrices no siempre son traducidas a lenguaje maquina.
Un programador escribe el programa origen en lenguaje ensamblador utilizando cualquier editor de textos o procesador de palabras que sea capaz de producir una salida de texto en ASCII.
Una vez que el código origen ha sido escrito, el archivo origen es ensamblado mediante su procesamiento a través de algún ensamblador.


3. PROCESAMIENTO DE ENSAMBLADO

Este ensamblador es de dos pasadas.
Durante la primer pasada, el programa origen se lee para desarrollar la tabla de símbolos.
Durante la segunda pasada el archivo objeto se crea (ensamblado) con referencia a la tabla desarrollada en la primer pasada.
Durante la segunda pasada se crea el listado del programa origen.
Cada enunciado origen se procesa completamente antes de que el enunciado siguiente se lea.
A medida que el enunciado se procesa el ensamblador examina los campos de etiqueta, de código de operación y de operandos.
La tabla de códigos de operación se revisa para encontrar un código operacional similar.
Durante el procesamiento de un mnemónico correspondiente a un código de operación normal, el código máquina normal se inserta en el archivo objetivo.
La acción buscada por una directriz del ensamblador ocurre durante el procesamiento de dicha directriz.
Cualquier error que detecta el ensamblador se muestra justamente antes de la línea que contiene dicho error.
Aún y cuando no se desee producir un listado origen, los errores se despliegan para indicar que el procesamiento de ensamblado no se llevó a cabo de manera normal.
 
Tipos De Ensambladores
 
Aunque todos los ensambladores realizan básicamente las mismas tareas, podemos clasificarlos de acuerdo a características.
Así podemos clasificarlos en:
Ensambladores Cruzados (Cross-Assembler).
Se denominan así los ensambladores que se utilizan en una computadora que posee un procesador diferente al que tendrán las computadoras donde va a ejecutarse el programa objeto producido.
El empleo de este tipo de traductores permite aprovechar el soporte de medios físicos (discos, impresoras, pantallas, etc.), y de programación que ofrecen las máquinas potentes para desarrollar programas que luego los van a ejecutar sistemas muy especializados en determinados tipos de tareas.
Ensambladores Residentes.
Son aquellos que permanecen en la memoria principal de la computadora y cargan, 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 hacía en cross-assembler, 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. Asimismo, también ocupará memoria el programa fuente y el programa objeto. Esto obliga a tener un espacio de memoria relativamente amplio. Es el indicado para desarrollos de pequeños sistemas de control y sencillos automatismo empleando microprocesadores(1).
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.
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 variar la complejidad de los mismos, dependiendo de las posibilidades de definición y manipulación de las macroinstrucciones, pero normalmente son programas bastantes complejos, por lo que suelen ser ensambladores residentes.
Microensambladores.
Generalmente, los procesadores utilizados en las computadoras tienen un repertorio fijo de instrucciones, es decir, que el intérprete de las mismas interpretaba de igual forma un determinado código de operación.
El programa que indica al intérprete de instrucciones de la UCP cómo debe actuar se denomina microprograma. El programa que ayuda a realizar este microprograma se llama microensamblador. Existen procesadores que permiten la modificación de sus microprogramas, para lo cual se utilizan microensambladores.
Ensambladores de una fase.
Estos ensambladores leen una línea del programa fuente y la traducen directamente para producir una instrucción en lenguaje máquina o la ejecuta si se trata de una pseudoinstrucción. También va construyendo la tabla de símbolos a medida que van apareciendo las definiciones de variables, etiquetas, etc.
Debido a su forma de traducción, estos ensambladores obligan a definir los símbolos antes de ser empleados para que, cuando aparezca una referencia a un determinado símbolo en una instrucción, se conozca la dirección de dicho símbolo y se pueda traducir de forma correcta. Estos ensambladores son sencillos, baratos y ocupan poco espacio, pero tiene el inconveniente indicado(1).
Ensambladores de dos fases.
Los ensambladores de dos fases se denominan así debido a que realizan la traducción en dos etapas. En la primera fase, leen el programa fuente y construyen una tabla de símbolos; 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 símbolos utilizados y las posiciones que se les ha asignado. Estos ensambladores son los más utilizados en la actualidad.

No hay comentarios:

Publicar un comentario