Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Національний технічний університет України
«Київський політехнічний інститут ім. І. Сікорського»
Кафедра автоматизації проектування енергетичних процесів і систем
Лабораторна робота № 2
з дисципліни «Операційні системи»
«Технологія роботи з системними засобами»
Робота студентки 1 курсу, ТР-15
Тхоржевської Анни Сергіївни
Перевірила д.т.н., проф. Левченко Л.О.
КИЇВ 2022
Мета роботи: ознайомитися з технологією роботи створення асемблерної
програми.
Теоретична частина
Якщо у програмі присутні команди безпосередньо переходу за мітками (послідовностями символів, зо позначають деяке місце у початковому коді), алгоритм роботи асемблера ускладнюється: потрібні як мінімум два перегляди (або проходи) тексту програми. При першому перегляді здійснюється розподіл пам'яті і надання значень символічним іменам; при другому — формується об'єктний модуль. В процесі трансляції асемблер проводить повний синтаксичний аналіз початкової програми, забезпечуючи при цьому достатньо точну діагностику помилок за місцем і характером.
Процес підготовки та відладки програми на мові Асемблер включає такі етапи:
Підготовка (або внесення змін) вихідного тексту програми;
Трансляція програми (отримання об'єктного коду);
Компоновка програми (отримання виконавчого файла програми);
Відладка програми.
Для виконання трансляції використовується пакет TASM.EXE (програма-
асемблер). В командному рядку ця програма запускається наступним чином:
TASM.EXE [ключі] ім’я_вхідного_файлу [, ім’я_об’єктного_файла]
[, ім’я_файла_лістингу] [, ім’я_файла_перехресних_посилань].
При запуску транслятора треба використовувати два ключа:
/la – виведення розширеного варіанту лістингу транслятора;
/zi – отримання повної інформації для відладчика.
Наприклад, tasm /la /zi lr2.asm.
Компоновка об'єктного файлу виконується за допомогою програми компонувальника (редактора зв'язків). Ця програма отримала таку назву тому, що її основне призначення - під'єднування до файлу з основною програмою файлів з підпрограмами і налаштування зв'язків між ними. Вона перетворює формат об’єктного файлу у виконуваний *.exe, який завантажується у оперативну пам’ять та виконується.
При запуску компоновщика треба використовувати два ключа:
/х – не створювати файл з розширенням *.map.
/v – передає у завантажувальний файл символьну інформацію, яка дозволяє відладчику TD виводити на екран повний текст вхідної програми, включаючи мітки, коментарі та ін.
В результаті отримуємо модуль lr2.exe.
Порядок роботи
Створити код асемблерної програми в середовищі текстового редактора Блокнот.
Виконати трансляцію створеної програми.
Проаналізувати лістинг програми, визначити поля лістингу, віднайти відповідні сегменти програми, виправити помилки. У разі виявлення помилок повторити трансляцію програми та отримати об’єктний модуль програми.
Викликати компонувальника та отримати виконуваний модуль програми.
Запустити виконуваний модуль на виконання.
Скопіювати лістинг трансляції та результат роботи програми у командному рядку у лабораторну роботу.
Результати надати викладачу.
Результати виконання роботи
Створений файл
Трансляція програми
Лістинг програми
Створення об’єктного файлу та його виконання
Висновок: Під час виконання лабораторної роботи вдалось здобути практичні навички по транслюванню створеного файлу, створенню об’єктного файлу. За допомогою компонувальника отримали виконуваний модуль та виконали його.