Технологія роботи з налагоджувачем TurboDebugger (TD) фірми Borland

Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
О
Факультет:
ІСМ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2022
Тип роботи:
Лабораторна робота
Предмет:
Операційні системи

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут  ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота №3  з дисципліни «Операційні системи» «Технологія роботи з налагоджувачем TurboDebugger (TD) фірми Borland» Мета роботи: ознайомитися зі структурою виконуваних програм *.ЕХЕ та *.СОМ та їх образом в пам’яті. Порядок роботи: Ознайомитися зі структурою програми *.ЕХЕ та образом такої програми у пам’яті. Ознайомитися зі структурою програми *.СОМ та образом такої програми у пам’яті. Засвоїти особливості створення виконуваних програм *.ЕХЕ та *.СОМ. Продемонструвати основні операції з налагодження на прикладі програми з лабораторної роботи № 2. Підготувати .ЕХЕ та .СОМ програми для виведення на екран повідомлення HELLO WORD! з варіантом опису даних: msg db "Hello Word!", 0Dh, 0Ah, '$' 0Dh – символ повернення каретки (Carriage Return), 0Ah - символ переведення рядка Продемонструвати роботу .ЕХЕ – та .СОМ-програм, пояcнити розподіл пам’яті для цих програм. У DEBUG за допомогою команди D CS:0000 ви маєте можливість переглянути машинний код програми для ехе-програми. У DEBUG за допомогою команди D DS:100 ви маєте можливість переглянути дані. Теоретична частина:    Операційна система MS DOS передбачає два типи виконуваних програм, які мають розширення *.СОМ та *.ЕХЕ .           Перед завантаженням в оперативну пам’ять СОМ- та ЕХЕ-програм DOS визначає спеціальну область оперативної пам’яті розміром 256 (100h) байт - сегментну адресу, яка називається префіксом програмного сегменту (PSP –  Program Segment Prefics). PSP може використовуватися в програмі для визначення імен файлів та параметрів з командного рядка, які вводяться при запуску програми на виконання, обсягу допустимої пам'яті, змінних оточення системи та ін. При завантаженні програми в оперативну пам’ять DOS  ініціалізує як мінімум три сегментних регістри: CS, DS, SS (додатковим може бути ES). Код та дані переміщуються з файлу на диску в оперативну пам’ять, а адреси цих сегментів заносяться у  CS та DS відповідно. Сегмент стека або виділяється в області, що вказана в  програмі, або співпадає (якщо він явно не описаний в програмі) з самим першим сегментом програми. Адреса сегменту стека розташовується в регістрі SS. Програма може мати декілька кодових сегментів та сегментів даних і в процесі виконання за допомогою спеціальних команд здійснюється переключення між ними. Розмір програми типу *.ЕХЕ не має жорстких обмежень, тому що програми може мати будь-яку кількість сегментів команд та даних; • ЕХЕ-файл завантажується, починається з адреси PSP:0100h; • DS та ES вказують на початок PSP; • CS, IP, SS, SP ініціалізуються значеннями, зазначеними в заголовку ЕХЕ; • використовується модель пам’яті SMALL, яка передбачає розташування структурних частин програми у двох сегментах: сегменту кода програми (64 Кбайт) та сегменту даних і стека , що належать одній групі Dgroup (64 Кбайт). Завершення програми можна виконати декількома способами: через функцію 4СН (EXIT) переривання 21Н в будь-який момент, незалежно від значень регістрів; через функцію 00Н переривання 21Н або переривання INT 20H, у випадку коли CS вказує PSP. Програми типу *.ЕХЕ  та *.СОМ розрізняються форматом вхідного тексту, процедурою підготовки виконуваного файлу, а також форматами завантажувальних файлів. Для створення ЕХЕ-програми необхідно виконати наступні команди: TASM /LA /ZI ім’я файлу.asm TLINK /X /V ім’я файлу.obj ім’я файлу.exe При створенні програми *.СОМ необхідно виконання двох умов: вхідний текст програми повинен мати відповідний формат з використанням мінімальної моделі пам’яті; необхідно після компоновки отримати виконуваний файл з розширенням *.СОМ. При використанні пакета ТАSM при виклику компоновщика необхідно вказати ключ /Т:   TASM /Z /N ім’я файлу.asm TLINK /X /T ім’я файлу.obj ім’я файлу.com При використанні програм типу *.сом при виклику асемблера ключ /ZI не використовується, аналогічно при виклику компоновщика ключ /V також не використовується. Ці ключі є неприйнятними для програм типу *.сом. Хід роботи: Код програми для створення файлу lab4.exe: / .stack  100h - виділяє сегмент стеку розміром 256 байт; int 21h - це виклик системної функції DOS: вивести рядок на екран. Створення .exe файлу: Монтуємо локальний диск, створюємо та запускаємо файл lab4.exe у Turbo Debugger (TD). / Вигляд TD після запуску файлу lab4.exe, який виконаний клавішею F7 прокроково: / У DEBUG за допомогою команди D CS:0000 ми маємо можливість переглянути машинний код програми для ехе-програми. Комбінація ALT+F5 переключає до середовища DOS, де можна побачити результат виконання. / Код програми для створення файлу lab2co.com: / оrg 100h це ж саме що .stack  100h для створення ехе файлу - виділяє сегмент стеку розміром 256 байт; ret це завершення COM-програми. Створення lab4co.com файлу: / Відкриття lab4co.com у TD: / У DEBUG за допомогою команди DS:100 ми маємо можливість переглянути дані. / Висновки : у цій лабораторній роботі було ознайомлено зі структурою виконуваних програм *.EXE та *.COM та їх образом пам’яті.  Програми типу *.COM мають лише один сегмент пам’яті, в якому розміщується і код програми, і дані, і стек. На відміну від *.COM тип файлів*.EXE можемати будь-яку кількість сегментів. Розмір програми *.COM не може перевищувати 64 КБайт, в той час як *.ЕХЕ не має обмежень по розміру. І *.ЕХЕ і *.СОМ завантажуються, починається з адреси PSP:0100h;
Антиботан аватар за замовчуванням

14.07.2023 07:07-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!