DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

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

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

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут  ім. І. Сікорського» Кафедра автоматизації проектування енергетичних процесів і систем Лабораторна робота №4  з дисципліни «Операційні системи» «Технологія роботи з системними засобами при створенні програм. Завантаження та виконання програм DOS. Організація програм *.ЕХЕ та *.СОМ» Мета роботи: ознайомитися зі структурою виконуваних програм *.ЕХЕ та *.СОМ та їх образом в пам’яті. Порядок роботи: 1. Ознайомитися зі структурою програми *.ЕХЕ та образом такої програми у пам’яті. 2. Ознайомитися зі структурою програми *.СОМ та образом такої програми у пам’яті. 3. Засвоїти особливості створення виконуваних програм *.ЕХЕ та *.СОМ. 4. Підготувати .ЕХЕ та .СОМ програми для виведення на екран повідомлення HELLO WORD! з варіантом опису даних: msg db "Hello Word!", 0Dh, 0Ah, '$' 0Dh – символ повернення каретки (Carriage Return), 0Ah - символ переведення рядка 5. Продемонструвати роботу .ЕХЕ – та .СОМ-програм, пояcнити розподіл пам’яті для цих програм. 6. У DEBUG за допомогою команди D CS:0000 ви маєте можливість переглянути машинний код програми для ехе-програми. 7. У DEBUG за допомогою команди D DS:100 ви маєте можливість переглянути дані. Теоретична частина Основні відмінності цих програм полягають у наступному:  програми типу *.СОМ (двійковий образ коду та даних програми)  • складаються тільки з одного сегменту, в якому розміщується і код  програми, і дані, і стек;  • файл СОМ-формату не містить переміщуваних адрес;  • СОМ-файл завантажується, починається з адреси PSP:0100h; • CS, DS, ES, SS вказують на PSP;  • SP вказує на кінець сегмента PSP (зазвичай 0FFFEh);  • ІР містить 100h (перший байт модуля) в результаті команди JMP PSP:100h;  • розмір програми типу *.СОМ не може перевищувати 64 Кбайт; • використовується модель пам’яті TINY;  • образ СОМ-файла зчитується з диску та розташовується в пам’яті,  починаючи PSP:0100h;  • програма генерує стек автоматично, тому в самій асемблерній  програмі стек має бути відсутнім; усі дані повинні бути визначені у  сегменті коду;  в програмах типу *.ЕХЕ міститься спеціальний заголовок, за допомогою  якого завантажувач виконує налаштування посилань на сегменти у  завантаженому модулі  • використовуються окремі сегменти і для коду, і для даних, і для стеку; • розмір програми типу *.ЕХЕ не має жорстких обмежень, тому що  програми може мати будь-яку кількість сегментів команд та даних; • ЕХЕ-файл завантажується, починається з адреси PSP:0100h; • DS та ES вказують на початок PSP;  • CS, IP, SS, SP ініціалізуються значеннями, зазначеними в заголовку  ЕХЕ;  • використовується модель пам’яті SMALL, яка передбачає розташування структурних частин програми у двох сегментах:  сегменту кода програми (64 Кбайт) та сегменту даних і стека , що  належать одній групі Dgroup (64 Кбайт).  Ім’я – ідентифікатор конкретного сегменту, що використовується при  призначенні адреси та поєднанні з іншими сегментами.  Вирівнювання – вказує граничні значення на початок сегмента. В процесі  асемблювання, якщо поточна позиція на початку сегмента не задовольняє  встановленому атрибуту, лічильник адреси збільшується на відповідну  величину, зміщуючи початок сегменту в область старших адрес (word – початок  сегменту повинен мати парну адресу; para парна адреса, яка є кратною  параграфу, тобто 16 біт).  Поєднання – встановлює правила поєднання декількох сегментів з  однаковимим іменем. Параметр Public послідовно поєднує сегменти з  однаковим іменем в один великий сегмент, що має адресу першого з  поєднуючих сегментів.  Клас – виконує роль категорії сегмента. Усі сегменти однакового класу  під час роботи компоновщика розташовуються один за одним у пам’яті. Група – дозволяє здійснити доступ до даних з усіх сегментів, що  знаходяться в групі, за допомогою завантаження адреси групи у сегментний  регістр.  Використання директиви Model дозволяє використовувати службові  ідентифікатори, за допомогою яких можна отримати адреси сегментів, що використовуються:  @code – 16-розрядна адреса сегмента коду;  @data – 16-розрядна адреса сегмента даних типу near;  @stack – 16-розрядна адреса сегмента стека.  Наприклад, MOV AX, @DATA  MOV DS, AX ініціалізація сегмента даних.  Для створення ЕХЕ-програми необхідно виконати наступні команди: TASM /LA /ZI ім’я файлу.asm  TLINK /X /V ім’я файлу.obj  ім’я файлу.exe  При створенні програми *.СОМ необхідно виконання двох умов: • вхідний текст програми повинен мати відповідний формат з  використанням мінімальної моделі пам’яті;  • необхідно після компоновки отримати виконуваний файл з  розширенням *.СОМ.  При використанні пакета ТАSM при виклику компоновщика необхідно  вказати ключ /Т:   TASM /Z /N ім’я файлу.asm 4  Ключ /z дозволяє виведення на екран рядків вихідного тексту програми, в  яких асемблер виявив помилки (без цього ключа пошук помилок довелося б  проводити з лістингу трансляції).  /n пригнічує виведення в лістинг таблицю ідентифікаторів (переліку  символічних позначень в програмі), за рахунок чого трохи зменшується  інформативність лістингу, але скорочується його розмір.  TLINK /X /T ім’я файлу.obj  Ключ /х означає не створити файл карти map.файл.  Ключ /t означає створити виконуваний com.файл.  ім’я файлу.com  При використанні програм типу *.сом при виклику асемблера ключ /ZI не  використовується, аналогічно при виклику компоновщика ключ /V також не  використовується. Ці ключі є неприйнятними для програм типу *.сом.  Файли .asm: EXE: / COM: / Трансляція та створення файлів: EXE: / COM: / Лістинг: EXE: / / Висновок: За результатом роботи було вивчено основи структур програм *.ЕХЕ і *.СОМ та їх образом в пам’яті. Створено файли *.ЕХЕ і *.СОМ за допомогою файлу розширення *.ASM. Їх запущено в дію, програми виконані без помилок. У результаті кожна з програм вивела повідомлення ”Hello world”.
Антиботан аватар за замовчуванням

25.07.2023 18:12

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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