CodeNet / Языки программирования / Ассемблер / СПРАВОЧНИК по системе программирования ТУРБО АССЕМБЛЕР 2.0
СПРАВОЧНИК по системе программирования ТУРБО АССЕМБЛЕР 2.0
Параметр /MV# ----------------------------------------------------------------- Функция: Задает максимальную длину идентификаторов. Синтаксис: /MV# Примечания: Данный параметр задает максимальную длину иден- тификаторов, которые будет различать TASM. Например, при задании параметра /mv3 TASM будет интерпретировать идентификаторы ABCC и ABCD, как один и тот же идентификатор. Параметр /MX ----------------------------------------------------------------- Функция: Задает различимость на на строчные и прописные бук- вы (верхний и нижний регистр) во внешних и общедоступных иденти- фикаторах. Синтаксис: /MX Примечания: Параметр /MX сообщает Турбо Ассемблеру, что раз- личать регистр букв нужно только во внешних (External) и общедос- тупных (Public) идентификаторах. Все другие идентификаторы в ис- ходном файле будут интерпретироваться, как набранные в верхнем регистре. Использовать данную директиву следует при вызове процедур из других модулей, которые ассемблировались или компилировались так, что сохранилось различие в строчных и прописных буквах (например, модулей, которые компилировались в Турбо Си). Пример: TASM /MX TEST1 где TEST1 содержит следующие исходные строки: EXTRN Cfunc:NEAR myproc PROC NEAR call Cfunc . . . Параметр /N ----------------------------------------------------------------- Функция: Подавляет в файле листинга таблицу идентификаторов. Синтаксис: /N Примечания: Параметр /N показывает, что в конце файла лис- тинга вы не хотите использовать обычную таблицу идентификаторов. Обычно в конце файла листинга содержится полная таблица идентифи- каторов, где показаны все идентификаторы, их имена и значения. Вы должны задать файл листинга либо явным образом (в коман- дной строке), либо с помощью параметра /L. В противном случае па- раметр /N не приведет ни к каким действиям. Пример: TASM /L /N TEST1 Параметр /P ----------------------------------------------------------------- Функция: Проверяет наличие "некорректного" кода в защищенном режиме. Синтаксис: /P Примечания: Параметр /P определяет, что вы хотите получить предупреждение при любой инструкции, генерирующей в защищенном режиме "некорректный" (impure) код. Инструкции, перемещающие дан- ные в память путем переопределения регистра CS: в защищенном ре- жиме рассматриваются, как некорректные, поскольку они в защищен- ном режиме могут работать неверно, если не принять специальных мер. Этот параметр нужно использовать только в том случае, если вы пишете программу, выполняемую на процессоре 80286 или 80286 в защищенном режиме. Пример: TASM /P TEST1 где TEST1 содержит следующие операторы: .286P CODE SEGMENT temp DW ? mov CS:temp,0 ; в защищенном режиме может выпол- ; няться некорректно Параметр Q ----------------------------------------------------------------- Функция: Подавляет записи .OBJ, не требующиеся при компонов- ке. Синтаксис: /Q Примечание: Данный параметр удаляет из получаемого в резуль- тате файла (файлов) .OBJ записи об авторских правах и зависимости файлов. Этот параметр не следует указывать, если вы используете утилиту MAKE или аналогичные программы, которые при работе учиты- вают эти записи. Параметр /R ----------------------------------------------------------------- Функция: Генерирует реальные инструкции с плавающей точкой. Синтаксис: /R Примечания: Параметр /R указывает Турбо Ассемблеру, что нуж- но генерировать реальные инструкции с плавающей точкой (вместо генерации эмулируемых инструкций с плавающей точкой). Используйте этот параметр, если вы хотите выполнять свою программу на маши- нах, оснащенных арифметическим сопроцессором 80х87. Действие данного параметр изменяет на обратное параметр /E (при этом генерируются эмулируемые инструкции с плавающей точ- кой). Если в исходном файле вы используете директиву EMUL, то она отменит действие инструкции /R, указанной в командной строке. Параметр командной строки /R имеет тот же эффект, что и ис- пользование в начале исходного файле директивы NOEMUL и совпадает с действием параметра командной строки /JNOEMUL. Пример: TASM /R SEGANT TPC /$N+ /$E- TRIG.PAS Первая команда ассемблирует модуль с реальными инструкциями с плавающей точкой. Вторая командная строка компилирует исходный модуль Паскаля с реальными инструкциями с плавающей точкой, кото- рый компонуется с объектным файлом Ассемблера. Параметр /S ----------------------------------------------------------------- Функция: Задает последовательное упорядочивание сегментов. Синтаксис: /S Примечания: Параметр /S указывает Турбо Ассемблеру, что сег- менты в объектном файле нужно разместить в том порядке, в котором Турбо Ассемблер обнаруживает их в исходном коде. По умолчанию Турбо Ассемблер использует именно такое упорядочивание сегментов, если вы не изменили его с помощью параметра /A в командной строке или в файле конфигурации. Если с помощью директивы .ALPHA в исходном коде вы задали упорядочивание сегментов в алфавитном порядке, то эта директива отменит параметр /S, задаваемый в командной строке. Пример: TASM /S TEST1 По данной команде создается объектный файл (TEST1.OBJ), сег- менты которого упорядочены в том порядке, как они содержатся в исходном файле. Параметр /T ----------------------------------------------------------------- Функция: Подавляет вывод сообщений при условном ассемблиро- вании. Синтаксис: /T Примечания: Параметр /T подавляет всю выводимую Турбо Ассем- блеру на экран информацию, кроме предупреждений и сообщений об ошибках, возникающих в результате ассемблирования. Вы можете использовать данный параметр при ассемблировании нескольких модулей, когда на экран желательно выводить только со- общения об ошибках. Пример: TASM /T TEST1 Параметр /V ----------------------------------------------------------------- Синтаксис: /V Примечания: Параметр /V используется в целях совместимости. Он не приводит ни к каким действиям и не оказывает влияния на ас- семблирование. Параметр /W ----------------------------------------------------------------- Функция: Управляет генерацией предупреждающих сообщений. Синтаксис: /W W-[класс предупреждений] W+[класс предупреждений] Примечания: Параметр /W управляет выводом Турбо Ассемблером предупреждающих сообщений. Если вы просто укажете параметр /W, то будут выводиться "слабые" предупреждения. Такие предупреждения показывают, что вы можете несколько улучшить эффективность вашей программы. Если вы зададите параметр /W- без класса предупреждений, то все предупреждения запрещаются. Если за параметром указывается класс предупреждений, то запрещаются только эти предупреждения. Каждое предупреждающее сообщение имеет идентификатор из трех букв: ASS - подразумевается использование 16-разрядного сегмента; BRK - требуются квадратные скобки; ICG - неэффективная генерация кода; LCO - переполнение счетчика адреса; OPI - открытый блок условия IF; OPP - открытая процедура; OPS - открытый сегмент; OVF - арифметическое переполнение; PDC - конструкция, зависящая от прохода; PRO - запись в память в защищенном режиме требует переопределения регистра CS; RES - слово зарезервировано; TPI - недопустимо для Турбо Паскаля. Если вы указываете параметр /W+ без класса предупреждения, то все предупреждения будут разрешены. Если вы задаете параметр /W+ с классом предупреждений из предыдущего списка, то будут раз- решены только эти предупреждения. По умолчанию Турбо Ассемблер сначала начинает ассемблирова- ние исходного файла с разрешением всех предупреждений, кроме пре- дупреждений о неэффективности кода (ICG). Для управления выводом определенных сообщений на заданном участке программы в файле с исходным кодом вы можете использовать директивы WARN или NOWARN. Более подробно об этих директивах рас- сказывается в Главе 3 "Справочного руководства". Пример: TASM /W TEST1 Следующий оператор в программе TEST1.ASM выведет предупреж- дающее сообщение, которое не появится на экране, если не указан параметр /W: mov bx,ABC ; предупреждение о неэффективности кода ABC = 1 При задании командной строки: TASM /W-OVF TEST2 если файл TEST2.ASM содержит директиву: DW 1000h = 20h предупреждения генерироваться не будут.