Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Турбо Ассемблер / Использование Турбо Ассемблера /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Использование директив и параметров - Программирование от RIN.RU
Использование директив и параметров



Параметр /M


Функция: Устанавливает максимальное число проходов Ассемблера.


Синтаксис: /M[число_проходов]


Примечания: Обычно Турбо Ассемблер работает как однопроходный Ассемблер. Параметр /m позволяет задать максимальное число проходов, которое Ассемблер выполнит в процессе ассемблирования. TASM автоматически определяет те случаи, когда фактически требуемое число проходов меньше заданного. Если максимальное число проходов не задано, то по умолчанию оно равно пяти.


Некоторые модули могут содержать конструкции, которые будут правильно ассемблироваться только при двух проходах, либо вы можете захотеть удалить инструкции NOP, добавленные Ассемблером из-за опережающих ссылок. Если множественные проходы не разрешены, то для такого модуля будет выдано хотя бы одно предупреждение "Pass-dependent construction encountered" ("Встречена конструкция, зависящая от числа проходов"). При заданном параметре /m Турбо Ассемблер сможет ассемблировать такой код, но не сможет его оптимизировать за счет удаления пустых команд NOP, независимо от числа заданных проходов. В этом случае будет выдано предупреждение "Module is pass dependent - compatibility pass was done" ("Модуль зависим от числа проходов - сделан проход для обеспечения совместимости").


Пример:


TASM /M2 TEST1


Эта строка заставит Турбо Ассемблер при ассемблировании программы TEST1 выполнить два прохода.


Параметр /ML


Функция: Интерпретирует различие в регистрах букв идентификаторов.


Синтаксис: /ML


Примечания: Параметр /ML указывает Турбо Ассемблеру, что во всех идентификаторах нужно различать буквы разного регистра (строчные и прописные). Обычно строчные и прописные буквы рассматриваются, как эквивалентные, поэтому имена ABCxyz, ABCXYZ и abcxyz обозначают один и тот же идентификатор. Если вы задаете параметр /ML, то эти три идентификатора будут считаться различными. Тем не менее, даже после задания параметра /ML ключевые слова Ассемблера можно вводить как в верхнем, так и в нижнем регистре. Ключевые слова представляют собой идентификаторы, встроенные в Ассемблер, которые имеют специальное значение (мнемоники инструкций, директивы и операторы).


Пример:


TASM /ML TEST1


где TEST1.ASM содержит следующие операторы:


ABC DW 1
abc DW 0 ; это не дублирующий идентификатор
Mov Ax,[Bp] ; в ключевых словах допускается использо-
; вать разный регистр




Для модулей Паскаля параметр-переключатель /ml при использовании его совместно с параметром /mx имеет специальное значение. Подробнее об этом рассказывается в описании параметра /mx.


Параметр /MU


Функция: Преобразует идентификаторы в верхний регистр.


Синтаксис: /MU


Примечания: Параметр /MU указывает Ассемблеру, что нужно игнорировать регистр во всех идентификаторах. По умолчанию в Турбо Ассемблере задано, что в идентификаторах все буквы нижнего регистра должны преобразовываться в верхний регистр (если это не отменено с помощью директивы /ML).


Пример:


TASM /MU TEST1


При этом все идентификаторы будут преобразованы в верхний регистр (что задано по умолчанию):


EXTRN myfunc:NEAR
call myfunc ; не важно, как была определена функция: MYFUNC, Myfunс,.


Параметр /MV#


Функция: Устанавливает максимальную длину имен идентификаторов.


Синтаксис: /MV#


Примечания: Параметр /mv# устанавливает максимальную длину распознаваемых TASM имен идентификаторов. Например, если задать /mv12, то TASM будет рассматривать имена ABCDEFGHIJKLL. и ABCDEFGHIJKL как одно и то же имя ABCDEFGHIJKLL. Заметим, что минимальное значение, которое вы здесь можете задавать, равно 12.


Параметр /MX


Функция: Задает различимость на на строчные и прописные буквы (верхний и нижний регистр) во внешних и общедоступных идентификаторах.


Синтаксис: /MX


Примечания: Параметр /MX сообщает Турбо Ассемблеру, что различать регистр букв нужно только во внешних (External) и общедоступных (Public) идентификаторах. Все другие идентификаторы в исходном файле будут интерпретироваться, как набранные в верхнем регистре.


Использовать данную директиву следует при вызове процедур из других модулей, которые ассемблировались или компилировались так, что сохранилось различие в строчных и прописных буквах (например, модулей, которые компилировались в Borland C++).


Пример:


TASM /MX TEST1


где TEST1 содержит следующие исходные строки:


EXTRN Cfunc:NEAR
myproc PROC NEAR
call Cfunc
.
.
.


Замечание: Использование вместе параметров /mx и /ml для идентификаторов, описанных в Паскале, имеет специальное значение. Если вы используете эти параметры вместе, идентификаторы будут доступны компоновщику, как символы в верхнем регистре.


<<<  НазадВперед  >>>
 1  2  3  4  5  6  7  8 


 8  Комментарии к статье  8 8  Обсудить в чате

8  В тему

Начало работы на Турбо Ассемблере

Общие принципы программирования

Объектно-ориентированное программирование

Использование выражений и значений идентификаторов

Директивы выбора процессора

Использование моделей памяти программы и сегментации

Определение типов данных

Задание и использование счетчика адреса

Описание процедур

Управление областью действия идентификаторов

Определение данных

Расширенные инструкции

Использование макрокоманд

Использование условных директив

Интерфейс с компоновщиком

Генерация листинга

Интерфейс Турбо Ассемблера и Borland C++

Интерфейс Турбо Ассемблера с Турбо Паскалем

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь