CodeNet / Языки программирования / Ассемблер / СПРАВОЧНИК по системе программирования ТУРБО АССЕМБЛЕР 2.0
СПРАВОЧНИК по системе программирования ТУРБО АССЕМБЛЕР 2.0
Параметр /J
-----------------------------------------------------------------
Функция: Определяет директиву инициализации Ассемблера.
Синтаксис: /Jдиректива
Примечания: Параметр /J позволяет вам определить директиву,
которая будет ассемблироваться перед первой строкой исходного
файла. "Директива" может представлять собой любую директиву Турбо
Ассемблера, не требующую аргументов, например, .286, IDEAL,
%MACS, NOJUMP и т.д. Полное описание директив Турбо Ассемблера
содержится в "Справочном руководстве" в Главе 3.
В командной строке вы можете указать более одного параметра
/J. При этом они будут обработаны слева направо.
Пример:
TASM /J.286 .JIDEAL TEST1
При этом ассемблируется файл TEST1.ASM с разрешенными инст-
рукциями процессора 80286 и разрешением синтаксического анализа
выражений в режиме IDEAL.
Параметр /KH
-----------------------------------------------------------------
Функция: Задает максимально допустимое число идентификато-
ров.
Синтаксис: /KHnидентификаторов
Примечания: Параметр /KH задает максимально допустимое число
идентификаторов, которое может содержать программа. Если вы не
используете данный параметр, ваша программа может содержать толь-
ко до 8192 идентификаторов. Использование этого параметра позво-
ляет увеличить число идентификаторов до значения "nидентификато-
ров" (это значение не должно превышать 32768).
Используйте данный параметр, если при ассемблировании прог-
раммы вы получаете сообщение "Out of hash space" (буферное прост-
ранство исчерпано).
Данный параметр можно также использовать для уменьшения об-
щего числа идентификаторов до значения, меньшего назначенного по
умолчанию (8192). Это позволит освободить некоторое количество
памяти, что может оказаться полезным, когда вы пытаетесь ассем-
блировать программу, а у вас не хватает памяти.
Пример:
TASM /KH10000 BIGFILE
Параметр /KS
-----------------------------------------------------------------
Функция: Данный параметр задает максимальный размер строко-
вого пространства Турбо Ассемблера.
Синтаксис: /KHkбайт
Примечания: Обычно размер строки определяется автоматически
и настраивать его не требуется. Однако если у вас имеется исход-
ный файл, который приводит к сообщению "Out of string space" (не
хватает строкового пространства), то с помощью данного параметра
вы можете увеличить строковое пространство. Попытайтесь начать со
значения 100 и увеличивать его, пока ваша программа не будет ас-
семблироваться без ошибки. Максимально допустимое значение (в ки-
лобайтах) - 255.
Пример:
TASM /KS150 SFILE
Параметр /L
-----------------------------------------------------------------
Функция: Генерирует файл листинга.
Синтаксис: /L
Примечания: Параметр /L указывает, что вы хотите создать
файл листинга, даже если вы его не задаете в командной строке
явно. Файл листинга имеет то же имя, что и исходный файл, и рас-
ширение .LST.
Пример:
TASM /L TEST1
Данная командная строка приводит к созданию файла листинга с
именем TEST1.LST.
Параметр /LA
-----------------------------------------------------------------
Функция: Показывает в исходной файле код интерфейса с языком
высокого уровня.
Синтаксис: /LA
Примечания: Параметр /LA указывает Турбо Ассемблеру, что в
файле листинга нужно отразить весь генерируемый код, включая код,
который генерируется в результате директивы языка высокого уровня
.MODEL.
Пример:
TASM /LA FILE1
Параметр /M
-----------------------------------------------------------------
Функция: Задает максимальное число проходов Ассемблера.
Синтаксис: /M[число_проходов]
Примечания: Обычно Турбо Ассемблер работает, как однопроход-
ный ассемблер. Необязательный параметр /m позволяет вам задать
максимальное число проходов, которые Ассемблер должен выполнять в
процессе ассемблирования. Турбо Ассемблер TASM автоматически оп-
ределяет, что он может выполнить меньше заданного числа проходов.
Если вы не указываете явно число проходов, то по умолчанию ис-
пользуется значение 5.
Некоторые модули содержат конструкции, которые правильно ас-
семблируются только при выполнении двух проходов. Если не
разрешено выполнять несколько проходов, то такой модуль приведет
к генерации по крайней мере одного предупреждающего сообщения:
"Pass-dependent construction encountered"
(обнаружена конструкция, зависящая от прохода)
Если указан параметр /m, то Турбо Ассемблер будет правильно
ассемблировать такой модуль, но не будет оптимизировать код прог-
рамму, удаляя операции NOP (независимо от указанного числа прохо-
дов). В этом случае выводится сообщение:
"Module is pass dependent - compatibility pass was done"
(модуль зависит от прохода - выполнен проход для совмести-
мости)
Пример:
TASM /M2 TEST1
Эта команда указывает TASM, что ассемблирование модуля TEST1
нужно выполнять в два прохода.
Параметр /ML
-----------------------------------------------------------------
Функция: Интерпретирует различие в регистрах букв идентифи-
каторов.
Синтаксис: /ML
Примечания: Параметр /ML указывает Турбо Ассемблеру, что во
всех идентификаторах нужно различать буквы разного регистра
(строчные и прописные). Обычно строчные и прописные буквы рас-
сматриваются, как эквивалентные, поэтому имена ABCxyz, ABCXYZ и
abcxyz обозначают один и тот же идентификатор. Если вы задаете
параметр /ML, то эти три идентификатора будут считаться различны-
ми. Тем не менее, даже после задания параметра /ML ключевые слова
Ассемблера можно вводить как в верхнем, так и в нижнем регистре.
Ключевые слова представляют собой идентификаторы, встроенные в
Ассемблер, которые имеют специальное значение (мнемоники инструк-
ций, директивы и операторы).
Пример:
TASM /ML TEST1
где TEST1.ASM содержит следующие операторы:
ABC DW 1
abc DW 0 ; это не дублирующий идентификатор
Mov Ax,[Bp] ; в ключевых словах допускается использо-
; вать разный регистр
Параметр /MU
-----------------------------------------------------------------
Функция: Преобразует идентификаторы в верхний регистр.
Синтаксис: /MU
Примечания: Параметр /MU указывает Ассемблеру, что нужно иг-
норировать регистр во всех идентификаторах. По умолчанию в Турбо
Ассемблере задано, что в идентификаторах все буквы нижнего ре-
гистра должны преобразовываться в верхний регистр (если это не
отменено с помощью директивы /ML).
Пример:
TASM /MU TEST1
При этом все идентификаторы будут преобразованы в верхний регистр
(что задано по умолчанию):
EXTRN myfunc:NEAR
call myfunc ; не важно, как была
; определена функция:
; MYFUNC, Myfunk,...
