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