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
предупреждения генерироваться не будут.
