47621 (Мова програмування Assembler), страница 8
Описание файла
Документ из архива "Мова програмування Assembler", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "47621"
Текст 8 страницы из документа "47621"
Синтаксис: /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,...
Параметр /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
попередження генеруватися не будуть.
Параметр /X
Функція: Включає в лістинг блоки умовного асемблирования.
Синтаксис: /X
Примітки: Якщо при обчисленні блоків IF, IFNDEF, IFDEF і т.д. виходить значення FALSE, те параметр /X приводить до тому, що оператори, що містяться усередині умовного блоку, будуть включены в лістинг асемблирования. по даній директиві в лістинг будуть також включені самі директиви умовного асемблирования (звичайно вони в лістинг не включаються).
Ви повинні в командному чи рядку за допомогою параметра /L задати також необхідність генерації файлу лістинга, інакше параметр /X діяти не буде.
Приклад:
TASM /X TEST1
Параметр /Z
Функція: Виводить на екран поряд з повідомленнями про помилку з-ответствующие рядка вихідного тексту.
Синтаксис: /Z
Примітки: Параметр /Z вказує Асемблеру, що при генірації повідомлення про помилку на екран потрібно вивести відповідну рядок вихідного файлу (де ця помилка виник). Що викликала ошибку рядок виводиться перед повідомленням про помилку. При забороні даного параметра Турбо Асемблер просто виводить повідомлення, описывающее помилку.
Приклад:
TASM /Z TEST1
Параметр /ZD
Функція: Дозволяє включення в об'єктні файли інформації про номерах рядків.
Синтаксис: /ZD
Примітки: Параметр /ZD приводить до того, що Турбо Ассемблер буде поміщати в об'єктні файли інформацію про номери рядків. Це дозволяє автономному отладчику фірми Borland (Турбо отладчику) виводити на екран поточне місце у вихідному коді, але не позволяет йому здійснювати доступ до елементів даних. Якщо при спробі виконання налагодження програми за допомогою Турбо налагоджувача вам не вистачить пам'яті, ви можете використовувати париметр /ZD для одних модулів і параметр /ZI - для інших.
Приклад:
TASM /ZD TEST1
Параметр /ZI
Функція: Дозволяє включення в об'єктний файл інформації для налагодже- ння.
Синтаксис: /ZI
Примітки: Параметр /ZI вказує Турбо Асемблеру, що в об'єктний файл потрібно вивести повну інформацію для налагодження. Ця інформація містить у собі запису про номери рядків (для синхронизации висновку на екран вихідного тексту) і інформацію про типи данийных, що дозволяє модифікувати і перевірити дані програми. Параметр /ZI дозволяє вам використовувати всі засоби Турбо налагоджувача для проходження програми і перевірки і зміни ваших елементів даних. Ви можете використовувати параметр /ZI для всіх модулів чи програми тільки для тих з них, налагодження яких вас цікавить. Оскільки параметр /ZI додає інформацію в об'єктные і виконувані файли, може виявитися небажаним його ис-користування для всіх модулів програми при виконанні програми Турбо отладчиком (наприклад, може виникати ситуація недостачі памяти).
Приклад:
TASM /ZI TEST1
Непрямі командні файли