Lenguaje Ensamblador
El lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, micro controladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual).
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
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.
Macro ensambladores
Son ensambladores que permiten el
uso de macro-instrucciones (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 macro-instrucciones, pero
normalmente son programas bastantes complejos, por lo que suelen ser
ensambladores residentes
Micro
ensambladores
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 micro ensamblador. Existen procesadores
que permiten la modificación de sus microprogramas, para lo cual se utilizan
micro ensambladores
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. 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
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