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

Запуск LINK може бути здійснений одним із наступних способів:

  • З використанням підказок.

  • За допомогою командного рядка.

  • З використанням файлу відповіді.

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

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

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

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

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

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

<ім'я об'єктного файлу>.EXE

NUL.MAP

Бібліотеки не використовуються.

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

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

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

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

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

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

  1. Опції LINK.

Всі опції LINK позначаються попереднім символом / і можуть бути скорочені довільним образом, але так, щоб код залишався унікальним серед опцій.

Нижче приведені описи всіх опцій LINK (у дужках зазначені мінімальні скорочення):

/HELP (HE) - Видати список діючих опцій. Цю опцію не можна використовувати разом з ім'ям файлу.

/PAUSE (P) - Пауза перед записом модуля в EXE-файл (і після запису MAP-файл, якщо це передбачено). Під час цієї паузи можна при необхідності переставити дискети.

/EXEPACK (E) - Установити компактний запис послідовностей однакових біт. Такий EXE-файл має менший обсяг і швидше завантажується в пам'ять, але його не можна налагоджувати за допомогою налагоджувачів. Опція дає ефект, якщо програма містить довгі потоки ідентичних бітів.

/MAP (M) - Формувати MAP-файл. Файл формується, навіть якщо він не специфікований при запуску LINK, і має в цьому випадку ім'я, по умовчанні.

/NOIGNORECASE (NOI) - Установити розходження між малими та великими буквами. Розходження може бути встановлене також опціями /ML і /MX MASM.

/STACK:<число> (ST) - Установити розмір стека (у байтах). Інформація про розмір стека, що міститься в об'єктному модулі, ігнорується. Розмір стека може бути заданий в межах від 1 до 65535.

/HIGH (H) - Установити адреса початку програми на найвищу можливу адресу вільної пам'яті. Без цієї опції установка здійснюється на мінімально можливу адресу.

/DSALLOCATE (D) - Обробити групу з ім'ям DGROUP. Звичайно LINK привласнює молодшому байту групи зміщення 0000h. При завданні цієї опції старшому байту групи з ім'ям DGROUP привласнюється зміщення FFFFh. У результаті дані будуть розміщатися в областях програми з максимально великими адресами. Опція /D звичайно застосовується разом з опцією /H для більш ефективного використання незайнятої пам'яті до старту програми.

/SEGMENTS:<число> (SE) - Установити максимальне число сегментів, яке може обробити LINK. Число може бути задане в межах від 1 до 1024. При відсутності опції покладається 128. Пам'ять виділяється з врахуванням цього максимального числа сегментів.

/DOSSEG (DO) - Упорядкувати сегменти в EXE-файлі. При специфікації цієї опції сегменти розташовуються в наступній послідовності:

- сегменти з класом CODE;

- інші сегменти, що не входять у групу DGROUP;

- сегменти, що входять

Довідник з налагоджувача AFD