Вы находитесь на странице: 1из 6

TASM/MASM.

Es el programa que convierte nuestro listado fuente en cdigo objeto, es decir, lenguaje mquina en el que slo faltan las referencias a rutinas externas. Permite la obtencin de listados de cdigo y de referencias cruzadas (smbolos, etiquetas, variables). En general, bastar con hacer TASM nombre_programa (se supone la extensin .ASM por defecto). El fichero final tiene extensin OBJ. En general, la sintaxis del TASM y MASM es ms o menos equivalente: en el primero se obtiene ayuda con /H y en el segundo con /HELP. Con TASM, cuando se va a obtener la versin definitiva del programa, o si ste es corto -o el ordenador rpido- merece la pena utilizar el parmetro /m3, con objeto de que de dos/tres pasadas y optimize ms el cdigo. Por su lado, MASM presenta estadsticas adicionales si se indica /v y se puede cambiar con /Btamao el n de Kb de memoria que destina al fichero fuente, entre 1 y 63. La sintaxis es (tanto para TASM como MASM): TASM fichero_fuente, fichero_listado, fichero_referencias_cruzadas Se puede omitir el fichero de listado y el de referencias cruzadas. Cuando se emplea MASM 6.X, para ensamblar los listados de este libro hay que indicar la opcin /Zm para mantener la compatibilidad con las versiones anteriores del ensamblador, siendo adems obligatorio indicar la extensin; como se genera directamente el fichero EXE hay que indicar /c si se desea evitar esto (si no se quiere que linke). La sintaxis quedara: ML /Zm fihero_fuente.asm A continuacin se listan los parmetros comunes a TASM 2.0 (y posterior) y MASM 4.0/5.0 (NO la 6.X): /a y /s Seleccionan un orden alfabtico o secuencial de los segmentos.

/c Genera un listado de referencias cruzadas en un fichero de extensin CRF listo para ser procesado por CREF (MASM) aadiendo adems nmeros de lnea al listado, o bien incluye el listado de referencias cruzadas directamente dentro del listado del programa (caso de TASM). Las referencias cruzadas son un listado de todos los smbolos del programa, indicando los nmeros de lnea del mismo en que son definidos y referenciados. /D De la manera /Dsmbolo[=valor] permite crear el smbolo indicado, cuya presencia puede comprobarse en el programa con una directiva IF (es til para definir externamente un smbolo que indique que el programa est en fase de depuracin, de cara a ensamblar cierto cdigo adicional). Aunque /d (en minsculas) es un obsoleto parmetro de MASM para obtener un listado de la primera pasada del ensamblador, MASM 4.0 es capaz de darse cuenta de que se pretende definir un smbolo con /d a menos que se indique solo /d. /e Emula las instrucciones de punto flotante del 80x87, apoyndose en una librera al efecto. /Iruta Permite indicar el directorio donde el ensamblador debe de buscar los ficheros indicados en el programa fuente con INCLUDE. /l[a] Con /l se genera un listado de ensamblaje y con /la un listado expandido. /m Con /m se indica el nivel de preservacin del sentido de maysculas y minsculas en los smbolos: /ml hace que se consideres diferentes maysculas de minsculas en todos los smbolos, /mx slo con los smbolos globales y /mu hace que se mayusculicen todos los smbolos globales. Al ensamblar mdulos para usar desde lenguaje C hay que indicar por lo menos /mx. En MASM 6.X se emplea /Cx en lugar de /mx, /Cp en lugar de /ml y /Cu en vez de /mu. /n Suprime las tablas de smbolos en el listado. /p Verifica que el cdigo generado para el modo protegido es correcto (al emplear la directiva para generar instrucciones de modo protegido). /t Suprime los mensajes si el ensamblaje es correcto.

/w Indica el nivel de advertencias: /w0 ninguna, /w1 slo las serias y /w2 slo consejos. /X Lista las condiciones falsas (ensamblaje condicional). /z Visualiza la lnea del error y no slo el nmero de la misma. /Zi Genera informacin simblica para los depuradores de cdigo. /Zd Incluye slo la informacin del nmero de lnea. TLINK/LINK. El montador o linkador permite combinar varios mdulos objeto, realizando las conexiones entre ellos y, finalmente, los convierte en mdulo ejecutable de tipo EXE (empleando el ML de MASM 6.X se obtiene directamente el fichero EXE ya que invoca automticamente al linkador). El linkador permite el uso de libreras de funciones y rutinas. TLINK, a diferencia de LINK, permite generar un fichero de tipo COM directamente de un OBJ si se indica el parmetro /t, lo que agiliza an ms el proceso. Puede obtenerse ayuda ejecutndolo sin parmetros. Los parmetros de TLINK son sensibles a maysculas y minsculas, por lo que /T no es lo mismo que /t. Con LINK se obtiene ayuda indicando /HELP. Aunque los parmetros de uno y otro son bastante distintos, la sintaxis genrica de ambos es: TLINK fich_obj(s), fich_exe, fich_map, fich_libreria, fich_def Los ficheros no necesarios se pueden omitir (o indicar NUL): para linkar el fichero prog1.obj y el prog2.obj con la librera math.lib generando PROG1.EXE basta con ejecutar TLINK prog1+prog2,,,math. Alternativamente se puede indicar TLINK @fichero para que tome los parmetros del fichero de texto FICHERO, en el caso de que estos sean demasiados y sea incmodo teclearlos cada vez que se linka. Los ficheros de texto de extensin MAP contienen informacin til para el programador sobre la distribucin de memoria de los segmentos.

EXE2BIN. Los ficheros EXE generados por TLINK o LINK no son copia exacta de lo que aparece en la memoria, sino que el DOS -tras cargarlos- debe realizar una ltima operacin de montaje. Un programa COM en memoria es una copia del fichero del disco, es algo ms corto y ms sencillo de desensamblar. Al contrario de lo que algunos opinaron en su da, el tiempo ha demostrado que nunca llegaran a ser directamente compatibles con los actuales entornos multitarea. EXE2BIN permite transformar un fichero EXE en COM siempre que el mdulo ocupe menos de 64K y que est ensamblado con ORG 100h. Si no se indic el parmetro /t en TLINK, ser necesario este programa (al igual que cuando se utiliza LINK). Cuando se crean programas SYS (que se diferencian de los COM bsicamente en que no tienen ORG 100h) no se puede ejecutar TLINK /t, por lo que es necesaria la ayuda de EXE2BIN para convertir el programa EXE en SYS. Sintaxis: EXE2BIN fich.exe (a veces hay que indicar EXE2BIN fich.exe fich.com) Si el programa no contiene ORG 100h, EXE2BIN genera un fichero binario puro de extensin BIN. Si adems existen referencias absolutas a segmentos, EXE2BIN preguntar el segmento en que va a correr (algunas versiones permiten indicarlo de la manera /Ssegmento): esto permite generar cdigo para ser ejecutado en un segmento determinado de la memoria (como pueda ser una memoria EPROM o ROM). TLIB/LIB. El gestor de libreras permite reunir mdulos objeto en un nico fichero para poder tomar de l las rutinas que se

necesiten en cada caso. En este libro no se desarrollan programas tan complejos que justifiquen su utilizacin. En cualquier caso, la sintaxis es la siguiente: TLIB fichero_libreria comandos, fichero_listado Si no se indican comandos se obtiene simplemente informacin del contenido de la librera en el fichero de listado (que puede ser CON para listado por pantalla). Los comandos son de la forma <simbolo>nombre_de_mdulo y pueden ser los siguientes: + aade el mdulo objeto indicado a la librera borra el mdulo indicado de la librera * saca el mdulo de la librera sin borrarlo (extrae fichero OBJ) -+ alternativamente +-, reemplaza el mdulo existente en la librera -* alternativamente *-, extrae el mdulo de la librera y lo borra de ella Por ejemplo, para aadir el mdulo QUICK.OBJ, borrar el SLOW.OBJ y reemplazar el SORT.OBJ por una nueva versin en LIBRERIA.LIB se ejecutara: TLIB libreria +quick-slow-+sort Si la lista es muy larga se puede incluir en un fichero y ejecutar TLIB @fichero para que la lea del mismo (si no cabe en una lnea del fichero, puede escribirse & al final antes de pasar a la siguiente).

TCREF/CREF. Esta utilidad genera listados en orden alfabtico de los smbolos, como ayuda a la depuracin. Con el MASM la opcin

/c crea un fichero de referencias cruzadas de extensin CRF (respondiendo afirmativamente cuando pregunta por el mismo o indicndolo explcitamente en la lnea de comandos); la opcin /c de TASM lo incluye en el listado, aunque si se indica el nombre del fichero de referencias cruzadas genera un fichero de extensin XRF. CREF y TCREF interpretan respectivamente los ficheros CRF y XRF generando un fichero de texto con extensin REF que contiene el listado de referencias cruzadas. Ej.: TASM fichero,,,fichero TCREF fichero Las referencias cruzadas son un listado de todos los smbolos del programa, indicando los nmeros de lnea del mismo en que son referenciados (la lnea en que son definidos se marca con #); estos nmeros de lnea son relativos al listado de ensamblaje del programa (y no al fichero fuente). Es til para depurar programas grandes y complejos.

MAKE. Esta utilidad se apoya en unos ficheros especiales, al estilo de los BAT del DOS, de cara a automatizar el proceso de ensamblaje. Slo es recomendable para programas grandes, divididos en mdulos, en los que MAKE chequea la fecha y hora para ensamblar slo las partes que hayan sido modificadas.

Вам также может понравиться