Данная глава посвящена ознакомлению вас с необязательными параметрами командной строки Турбо Ассемблера. Мы опишем каждый параметр командной строки, которые вы можете использовать для того, чтобы изменить поведение Ассемблера, и покажем, как и где используются командные файлы. Наконец, мы опишем также файл конфигурации.
Запуск Турбо Ассемблера из DOS
В Турбо Ассемблере имеется очень мощный и гибкий синтаксис командной строки. Если вы запустите Турбо Ассемблер, не задав никаких аргументов, например:
TASM
то на экран выведется справочная информация, (на английском языке) описывающая множество параметров командной строки и синтаксис для спецификации ассемблируемых файлов. На Рис. 3.1 показано, как она выглядит.
Turbo Assembler Version 2.0 Copyright © 1990
by Borland International, Inc Usage:
TASM [параметры] исх_файл [,объект_файл] [,листинг] [,пер_ссылки]
/a,/s Упорядочивание сегментов по алфавитному порядку
или порядку исходного кода
/c Генерация в листинге перекрестных ссылок
/dSYM[=VAL] Определяется SYM = 0 или SYM = VAL
/e,/r Эмулируемые или действительные инструкции с плаваю
щей точкой
/h,/? Выводится данная справочная информация
/lPATH Включаемые файлы ищутся по маршруту, определяемому
PATH
/jCMD Определяет начальную директиву Ассемблера (напри
мер, jIDEAL)
/kh#,/ks# Мощность хештаблицы #, мощность объема строки #
/l,/la Генерация листинга: l=обычный листинг, la=расширен
ный
/ml,/mx,/mu Различимость в регистре букв идентификаторов:
ml=все, mx=глобальные, mu=не различаются
/mv# Задает максимальную длину идентификаторов
/m# Разрешает выполнение нескольких проходов для удов
летворения опережающих ссылок
/n Подавление в листингах таблицы символов
(идентификаторов)
/p Проверка перекрытия сегмента кода в защищенном
режиме
/q Подавление записей .OBJ, не требующиеся при компо
новке
/t Подавление сообщений при успешном ассемблировании
/w0,/w1,/w2 Задание уровня предупреждение: w0=нет
предупреждений, w1=w2=есть предупреждения
/wxxx,/w+xxx Запрещение или разрешение предупреждения типа xxx
/x Включение в листинги блоков условного ассемблирова
ния
/zi,/zd Информация об идентификаторах для отладки: zi=пол
ная, zd=только о номерах строк
Рис. 3.1 Командная строка Турбо Ассемблера.
С помощью параметров командной строки вы можете задавать имя одного или нескольких ассемблируемых файлов, а также параметры, управляющие их ассемблированием.
Общий вид командной строки выглядит следующим образом:
TASM файлы [; файлы]…
Точка с запятой после левой квадратной скобки позволяет вам в одной командной строке ассемблировать несколько групп файлов. По желанию вы можете задать для каждой группы файлов различные параметры, например:
TASM /E FILE1; /A FILE2
В общем случае группа файлов в командной строке может иметь вид:
[параметр]…исх_файл [[+] исходный_файл]…
[,[объектный_файл] [, [файл_листинга], [, [файл_перекрестных_ссылок]]
Этот синтаксис показывает, что группа файлов может начинаться с любого параметра, который вы хотите применить к этим файлам, а затем могут следовать файлы, которые вы хотите ассемблировать. Именем файла может быть одно имя файла, либо вы можете использовать обычные трафаретные символы DOS * и ? для задания группы ассемблируемых файлов. Если расширение имени файла не указано, Турбо Ассемблер использует по умолчанию расширение .ASM.
TASM MYFILE,,,MYXREF
По этой команде файл MYFILE.ASM ассемблируется в файл MYFILE.OBJ, листинг выводится в файл с именем MYFILE.LST, а перекрестные ссылки в файл MYXREF.XRF.
Если при спецификации ассемблируемых исходных файлов вы используете трафаретные символы, их можно использовать также для задания имен файла листинга и объектного файла. Например, если в текущем каталоге содержатся файлы XX1.ASM и XX2.ASM, то командная строка:
TASM XX*,YY*
ассемблирует все файлы, начинающиеся с букв XX, генерирует объектные файлы, имена которых будут начинаться с YY, а остальную часть имени формирует в соответствии с именем исходного файла. Результирующие объектные файлы получат, таким образом, имена YY1, OBJ и YY2.OBJ.
Если вы не хотите создавать объектный файл, но хотите получить файл листинга, или если вы хотите получить файл перекрестных ссылок, но не хотите создавать файл листинга или объектный файл, можно в качестве имени файла задать нулевое (фиктивное) устройство. Например:
TASM FILE1,,NUL,
Эта команда ассемблирует файл FILE1.ASM в объектный файл FILE1.OBJ. При этом файл листинга не создается, а создается файл перекрестных ссылок FILE1.XRF.
Параметры командной строки
Необязательные параметры командной строки позволяют вам управлять поведением Ассемблера, а также тем, какую информацию он выводит на экран, в листинг и объектный файл. В Турбо Ассемблере предусмотрены некоторые параметры, которые не выполняют никаких действий, а используются только для совместимости текущей версии TASM с предыдущими версиями MASM (макроассемблер фирмы Microsoft):
/B Задает размер буфера
/V Выводит на экран дополнительную статистику
Вы можете задавать параметры, представляющие собой любую комбинацию букв в верхнем и нижнем регистре. Кроме того, параметры можно задавать в любом порядке (кроме параметров /I и /J), они будут при этом обрабатываться последовательно. При использовании параметра /D нужно быть внимательным: идентификаторы надо определить до того, как они будут использованы в последующих параметрах /D.
Примечание: С помощью директив, указанных в вашем исходном коде, вы можете отменить эквивалентные им параметры Ассемблера.
На Рис. 3.1 (см. выше) приведен список параметров Турбо Ассемблера. Далее эти параметры описаны подробно (их можно также задавать буквами в нижнем регистре).
Параметр /A
Функция: Задает упорядочивание сегментов по алфавитному порядку.
Синтаксис: /A
Примечания: Параметр /A указывает Турбо Ассемблеру, что сегменты в объектном файле должны быть размещены в алфавитном порядке. Это эквивалентно использованию в исходном коде директивы .ALPHA.
Этим параметром обычно приходится пользоваться тогда, когда вы хотите ассемблировать исходный файл, написанный для ранних версий ассемблеров фирм Microsoft или IBM.
Параметр /S изменяет действие данного параметра на обратное, сохраняя используемое по умолчанию последовательное упорядочивание сегментов.
Если в исходном файле вы задаете с помощью директивы .SEQ последовательное упорядочивание сегментов, то она отменит действие параметра /A, задаваемого в командной строке.
Пример:
TASM /A TEST1
Данная командная строка создает объектный файл TEST1.OBJ, сегменты которого упорядочиваются в алфавитном порядке.