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