You are on page 1of 4

Ensamblado de un programa

El proceso de ensamble consiste en la traduccin del cdigo fuente en cdigo objeto y la


generacin de un archivo intermedio .OBJ (objeto), o mdulo.
Una de las tareas del ensamblador es calcular el desplazamiento de cada elemento en el
segmento de datos y de cada instruccin en el segmento de cdigo.
El ensamblador tambin crea un encabezado al frente del mdulo .OBJ generado; parte del
encabezado tiene informacin acerca de direcciones incompletas. El mdulo .OBJ an no est
en forma ejecutable.
El paso de enlace implica convertir el mdulo .OBJ en un mdulo de cdigo mquina .EXE
(ejecutable). Una de las tareas del enlazador es combinar los programas ensamblados en
forma separada en un mdulo ejecutable.
El ltimo paso es cargar el programa para su ejecucin. Ya que el cargador conoce en dnde
est el programa a punto de ser cargado, puede completar las direcciones indicadas en el
encabezado que estaban incompletas. El cargador desecha el encabezado y crea un PSP
inmediatamente antes del programa cargado en memoria.
El programa ensamblador de Microsoft es MASM.EXE mientras que el de Borland es
TASM.EXE.
Puede teclear el comando para ejecutar TASM o MASM en una lnea de comando o por medio
de peticiones.

MASM/TASM [opciones] fuente [,objeto] [,listado] [,refcruzadas]


Opciones estipula caractersticas como configuracin del nivel de mensajes de advertencia.
Ya que los valores por omisin del ensamblador por lo regular son los adecuados, rara vez
necesitar utilizar opciones.
Fuente identifica el nombre del programa fuente. El ensamblador asume la extensin .ASM,
de modo que no necesita introducirla.
Objeto estipula un archivo .OBJ. La unidad, subdirectorio y nombre de archivo puede ser el
mismo o diferente del fuente.
Listado estipula un archivo .LST generado que contiene tanto el cdigo fuente como el cdigo
objeto. La unidad, subdirectorio y nombre de archivo puede ser el mismo o diferente del
fuente.
Refcruzadas genera un archivo de referencias cruzadas con los smbolos usados en el
programa, que puede usar para un listado de referencias cruzadas. Para MASM, la extensin
es .CRF y para TASM la extensin es .XRF. La unidad, subdirectorio y nombre de archivo puede
ser el mismo o diferente del fuente.

El nombre de archivo fuente siempre lo debe introducir, y por lo general solicita un archivo
.OBJ, que es necesario para enlazar un programa de forma ejecutable. En algunas ocasiones
no solicitar archivos .LST, en especial cuando quiera examinar el cdigo mquina generado.
Un archivo .CRF es til para programas grandes en donde quira ver que instrucciones hacen
referencia a que datos. Tambin la peticin de un .CRF hace que el ensamblador genere
nmeros de lneas para los enunciados en el archivo .LST a las cuales el archivo .CRF se refiera.
Secciones posteriores cubren en detalle los archivos .LST y .CRF.

Enlazado de un programa
Una vez que el programa queda sin mensajes de error, el siguiente paso es enlazar el mdulo
objeto que fue producido por el ensamblador y que contiene slo cdigo mquina. El
enlazador realiza las siguientes funciones.

Si se pide, combina ms de un mdulo ensamblado de forma separada en un programa


ejecutable, como dos o ms programas en ensamblador o un programa en
ensamblador con un programa en C.
Genera un mdulo .EXE y lo inicializa con instrucciones especiales para facilitar su
subsecuente carga para ejecucin.

Una vez que ha enlazado uno o ms mdulos .OBJ en un mdulo .EXE, puede ejecutar el
mdulo .EXE cualquier nmero de veces. Pero siempre que necesite realizar un cambio al
programa, debe corregir el programa fuente, ensamblarlo en otro mdulo .OBJ y enlazar el
mdulo .OBJ en un mdulo .EXE.
La versin del enlazador de Microsoft es LINK mientras que la de Borland es TLINK.
LINK/TLINK archobj, archeje, [,archmapa] [,archbibl]
Archobj identifica al archivo objeto generado por el ensamblador. El enlazador supone la
extensin .OBJ, de modo que no tiene que introducirla. Unidad, subdirectorio y nombre de
archivo pueden ser iguales o diferentes del archivo fuente.
Archeje estipula que se genere un archivo .EXE. Unidad, subdirectorio y nombre de archivo
pueden ser iguales o diferentes del archivo fuente.
Archmapa estipula que se genere un archivo con extensin .MAP que indica la ubicacin
relativa y el tamao de cada segmento y cualquier error que LINK haya encontrado. Un error
comn es el fallo al definir un segmento de pila. Introducir CON (por consola) le indica al
enlazador que muestre el mapa en la pantalla (en lugar de escribirlo en un disco) de forma
que pueda ver el mapa inmediatamente para los errores.
Archbibl estipula la opcin de bibliotecas.

Ejecucin de un programa
Una vez ensamblado y enlazado un programa, ahora puede ejecutarlo. Si el archivo .EXE est
en la unidad por omisin, podra usar el DOS para cargarlo para su ejecucin introduciendo:
nombredelprograma.EXE nombredelprograma
Si omite la extensin del archivo, el DOS supone que es .EXE o .COM.

Listado de referencias cruzadas


El ensamblador genera un archivo opcional .CRF o .XRF que puede usar para producir un
listado de referencias cruzadas de los identificadores o smbolos del programa. Sin embargo,
an tiene que convertir el archivo a un archivo de referencias cruzadas, ordenado de manera
adecuada. sta funcin la realiza un programa en el disco del ensamblador: CREF para
Microsoft TCREF para Borland.
CREF/TREF archivoxref, archivoref
Al momento de ensamblar el programa con el comando masm/tasm se generarn los archivos:
.OBJ
.LST
Al momento de enlazar se generarn los archivos:
.EXE
.MAP

You might also like