Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб1-2012.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
319 Кб
Скачать
☆

1.8. Контрольні запитання

    1. Яку структуру має програма мовою Асемблера?

    2. Яке призначення мають програми MASM, LINK і AFD?

    3. Назвіть основні опції програм MASM, LINK і AFD.

    4. Як визначити основну програму мовою Асемблера?

    5. Чим відрізняються директиви мови Асемблера від її машинних інструкцій?

Додаток а Довідник користувача макроасемблера masm та редактора зв'язків link

А.1 Запуск макроассемблера.

Запуск макроассемблера може виконуватися у двох режимах:- з використанням підказок або за допомогою командного рядка.

Для запуску макроассемблера з використанням підказок необхідно ввести командний рядок, що містить тільки ім'я MASM (або стандартним запуском програм в додатку FAR або в іншому командному процесі). MASM перейде в діалоговий режим і серією підказок запросить у користувача інформацію про наступні файли (відповідь полягає в наборі потрібних символів і натисканні клавіші ENTER):

  • Ім'я початкового файлу. Якщо при відповіді не зазначене розширення, передбачається розширення .ASM.

  • Ім'я об'єктного файлу. Якщо при відповіді не зазначене розширення, передбачається OBJ. Базове ім'я об'єктного файлу по умовчанню збігається з базовим ім'ям початкового файлу.

  • Ім'я файлу лістингу. Якщо при відповіді не зазначене розширення, передбачається LST. Базове ім'я файлу лістингу по замовчуванню NUL (тобто файл лістингу не створюється)

  • Ім'я файлу перехресних посилань. Якщо при відповіді не зазначене розширення, передбачається CRF. Базове ім'я файлу лістинга за замовчуванням NUL (тобто файл перехресних посилань не створюється).

Наприкінці будь-якої відповіді після символу / можуть бути задані опції макроасемблера, які описані нижче. Якщо в якій-небудь відповіді специфікований символ ; (крапка з комою) MASM вийде з діалогового режиму й установить імена, що залишилися, за замовчуванням з наступного списку:

<ім'я початкового файлу>.OBJ

NUL.LST

NUL.CRF

У будь-якій відповіді також можуть бути задані відповіді на декілька наступних підказок. У цьому випадку одна відповідь від іншого відокремлюється комою.

Для запуску MASM за допомогою командного рядка необхідно ввести командний рядок наступного вигляду:

MASM <ім'я початкового файлу>[,[<ім'я об'єктного файлу>] [,[<ім'я файлу лістингу>][,[<ім'я файлу посилань>]]]] [<опції>][;]

Символ ; може бути специфікований у будь-якому місці командного рядка до того, як були визначені усі файли. У цьому випадку імена невизначеними файлів, що залишилися, приймаються за замовчуванням із наведеного вище списку. З цього ж списку приймаються за замовчуванням імена файлів, специфікація яких у командному рядку опущена. Якщо в командному рядку виявлена помилка, про це повідомляється через консоль, і MASM переходить у діалоговий режим. Опції MASM можуть розташовуватися в будь-якому місці командного рядка.

Ім'я кожного файлу може супроводжуватися інформацією про шлях до каталогу, що містить цей файл, інакше пошук початкового файлу; створення результуючих файлів буде здійснюватися в поточному каталозі.

Робота MASM може бути в будь-який момент припинена натисканням клавіш CONTROL-C.

Приклади командних рядків запуску MASM:

Masm lab1.asm,lab1.obj,lab1.lst;

Masm lab1.asm,lab1.obj,lab1.lst

Masm lab1;

Masm lab1,,lab1;

  1. Опції MASM.

Опції MASM дозволяють керувати роботою макроасемблера незалежно від початкової програми. Кожна опція позначається попереднім символом / і може кодуватися як малими, так і великими буквами. Опції можуть розташовуватися в будь-якому місці командного рядка чи відповіді на підказку. Нижче подається список найбільш вживаних опцій MASM з описом функцій, які вони виконують.

/HELP Вивести на екран повний перелік опцій MASM. Транслятор MASM постійно удосконалюється, існує значна кількість його версій, в яких можливі зміни в переліку опцій. Тому опція /HELP дозволяє уточнювати перелік опцій для конкретної версії MASM.

/A Сегменти в об'єктному файлі розташовуються за абеткою. При відсутності опції розташування сегментів відповідає порядку у початковому файлі.

/D Діагностичні повідомлення після 1-го перегляду помістити в лістинг програми. Багато помилок 1-го перегляду виправляються на 2-ому перегляду, і, якщо не задано /D, у лістинг не потрапляють. Задання цієї опції дає більш глибоку діагностику початкового тексту. При специфікації /D помилки як 1-го, так і 2-го проходів видаються на консоль, навіть коли файл лістингу не створюється. Порівняння лістингу 1-го та 2-го переглядів дозволяє ефективніше локалізувати помилку Phase error.

/D<ім'я> = [value] Визначити ім'я. Зазначене ім'я приймає абсолютне значення value і вводиться в початкову програму аналогічно використанню директиви EQU. Ця опція дозволяє створювати різні версії програм із одного і того ж початкового файлу, наприклад, шляхом використання визначеного опцією імені у директивах умовного асемблювання.

/I<шлях> - Завдання шляху пошуку файлів, що підключаються у початковий директивою INCLUDE без явної вказівки шляху. Вказівка шляху в INCLUDE більш приоритетна, ніж в опції /I.

/ML - Установити розходження між великими та малими буквами в ідентифікаторах. При відсутності цієї опції малі літери автоматично перетворяться в великі. Опція може знадобитися для сумісності з програмами на регістрово-чуттєвих мовах.

/MX - Установити розходження між великими та малими буквами в загальних і зовнішніх іменах. Опція подібна /ML, але її дія поширюється лише на імена, які задані у директивах PUBLIC або EXTRN.

/N - Заборонити формування у файлі лістингу таблиць макроструктур, записів, сегментів і імен.

/R - Генерація коду для математичного співпроцесора. Застосовується при відсутності в початковому файлі директив задання допустимих команд для процесорів, починаючи з i80386.

/V - Включити в діагностику на екран інформацію про кількість оброблених рядків та ідентифікаторів користувача. При відсутності цієї опції на екран видається інформація лише про кількість помилок і об'єм пам'яті.

/X - Виводити в лістинг тіла блоків IF (IF, IFE, IF1, IF2, IFDEF, IFNDEF, IFB, IFNB, IFIDN і IFDIF), для яких умови асемблювання не виконуються і коди команд по цій причині не генеруються

/Z - Виводити на екран рядки початкового файлу, що містять помилки. При відсутності цієї опції на консоль видаються тільки повідомлення про помилку і номер рядка.