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