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