You are on page 1of 3

Resumen del 2.1. Ensamblador (y ligador) a utilizar.

Ensamblador.
El lenguaje ensamblador es un lenguaje de bajo nivel que se comunica directamente
con el hardware de la mquina.
El termino ensamblador se refiere a un tipo de programa informtico que se encarga de
traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que
contiene cdigo mquina, ejecutable directamente por el microprocesador.
El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los
cdigos nemotcnicos que aparecen por su cdigo de operacin correspondiente en
sistema binario para la plataforma que se eligi como destino en las opciones
especificas del ensamblador.
Caractersticas

El cdigo escrito en lenguaje ensamblador posee una cierta dificultad de ser


entendido ya que su estructura se acerca al lenguaje mquina, es decir, es un
lenguaje de bajo nivel.
El lenguaje ensamblador es difcilmente portable, es decir, un cdigo escrito
para un microprocesador, puede necesitar ser modificado, para poder ser usado
en otra mquina distinta. Al cambiar a una mquina con arquitectura diferente,
generalmente es necesario reescribirlo completamente.
Con el lenguaje ensamblador se tiene un control muy preciso de las tareas
realizadas por un microprocesador por lo que se pueden crear segmentos de
cdigo difciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya
que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones
del CPU que generalmente no estn disponibles en los lenguajes de alto nivel.

Podemos distinguir entre dos tipos de ensambladores:


Ensambladores modulares 32 bits o de alto nivel, son ensambladores que
aparecieron como respuesta a una nueva arquitectura de procesadores de 32
bits, muchos de ellos teniendo compatibilidad hacia atrs pudiendo trabajar con
programas con estructuras d 16 bits.
Ensambladores bsicos. Son de muy bajo nivel, y su tarea consiste bsicamente
en ofrecer nombres simblicos a las distintas instrucciones, parmetros y cosas

tales como los modos. Un ligador, es un programa que enlaza todos los
programas o mdulos obteniendo lo que denominamos programa ejecutable.
Es un programa que enlaza distintos mdulos o programas que poseen
subprogramas. Adems incorporan las denominadas rutinas de libreras en caso
de solicitarlas el propio programa.

La generacin de un mdulo ejecutable a partir de una coleccin de procedimientos


traducidos independientemente requiere un ligador.
Los editores ligados pueden efectuar varias funciones ltimas adems de la simple
preparacin de un programa objeto para su ejecucin estos tambin se pueden utilizar
para construir paquetes de subrutinas u otras cosas secciones que suelen utilizar
juntas. Esto puede ser til a tratar con bibliotecas de subrutinas que manejan
lenguajes de programacin de alto nivel. Comparados con los cargadores de
ligadores los editores de ligado en general tienden a ofrecer mayor flexibilidad y
control con el correspondiente incremento de complejidad y sobrecarga.
Su tarea principal del enlazador es resolver referencias externas que lleva a cabo la
siguiente etapa del proceso de traduccin enlazando los mdulos ensambladores y los
acervos para formar un programa completo. En algunos sistemas el cargador
simplemente copia el programa ejecutable a las posiciones de memorias apropiadas y
enlazar cdigo intermedio compilado independientemente en un solo mdulo de carga
resolviendo las diferencias entre Tokens.
Al construir un programa algunos de sus mdulos pueden colocarse en el mismo
mdulo fuente y ensamblarse juntos, otros pueden estar en mdulos diferentes y ser
ensamblados separadamente. En cualquier caso, los mdulos objeto resultantes,
algunos de los cuales pueden estar agrupados en libreras, deben ser enlazados para
formar el mdulo de carga, antes de que se pueda ejecutar el programa. Adems de
dar como salida el mdulo de carga, el linker o enlazador imprime un mapa de memoria
que indica donde sern cargados los mdulos objeto en la memoria.
Despus de crearse el mdulo de carga, ste es cargado por el cargador en la
memoria del ordenador y comienza la ejecucin. Para linkar con TASM escribimos:
tlink /v nombre Tras esto se nos crear el fichero ejecutable (.exe o .com) que el
sistema operativo se encargar de cargar en memoria cuando lo ejecutemos. De
nuevo, la extensin no es necesaria ponerla y el parmetro /v slo es til para el Turbo
Debugger.

You might also like