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

Завантаження та виконання програм DOS. Організація програм *.ЕХЕ та *.СОМ

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

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

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

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

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

Міністерство освіти і науки України Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Теплоенергетичний факультет Кафедра АПЕПС ЗВІТ з лабораторної роботи № 2 з дисципліни «Операційні системи» Тема «Завантаження та виконання програм DOS. Організація програм *.ЕХЕ та *.СОМ» Варіант № 17 Мета роботи: Ознайомитися зі структурою виконуваних програм *.ЕХЕ та *.СОМ та їх образом в пам’яті. Завдання: Ознайомитися зі структурою програми *.ЕХЕ та образом такої програми у пам’яті. Ознайомитися зі структурою програми *.СОМ та образом такої програми у пам’яті. Засвоїти особливості створення виконуваних програм *.ЕХЕ та *.СОМ. Підготувати .ЕХЕ  та .СОМ програми для виведення на екран повідомлення HELLO WORD! з варіантом опису даних: msg db "Hello Word!", 0Dh, 0Ah, '$' 0Dh – символ повернення каретки (Carriage Return), 0Ah - символ переведення рядка Продемонструвати роботу .ЕХЕ – та .СОМ-програм, пояснити розподіл пам’яті для цих програм. У DEBUG за допомогою команди D CS:0000 ви маєте можливість переглянути машинний код програми для ехе-програми. У DEBUG за допомогою команди ви маєте можливість переглянути дані. Теоретичні відомості: Операційна система MS DOS передбачає два типи виконуваних програм, які мають розширення *.СОМ та *.ЕХЕ . Перед завантаженням в оперативну пам’ять СОМ- та ЕХЕ-програм DOS визначає спеціальну область оперативної пам’яті розміром 256 (100h) байт - сегментну адресу, яка називається префіксом програмного сегменту (PSP – Program Segment Prefics). PSP може використовуватися в програмі для визначення імен файлів та параметрів з командного рядка, які вводяться при запуску програми на виконання , обсягу допустимої пам'яті, змінних оточення системи та ін. При завантаженні програми в оперативну пам’ять DOS ініціалізує як мінімум три сегментних регістри: CS, DS, SS (додатковим може бути ES). Код та дані переміщуються з файлу на диску в оперативну пам’ять, а адреси цих сегментів заносяться у CS та DS відповідно. Сегмент стека або виділяється в області, що вказана в програмі, або співпадає (якщо він явно не описаний в програмі) з самим першим сегментом програми. Адреса сегменту стека розташовуються в регістрі SS. Для того, щоб адресувати одночасно два сегменти даних можна використовувати регістр додаткового сегмента ES. Кодовий сегмент та сегмент стеку завжди визначається вмістом своїх регістрів (CS та SS), в кожний момент виконання програми завжди використовується якийсь один кодовий сегмент та один сегмент стека. Усі сегменти можуть використовувати різні області пам’яті, а можуть частково або повністю перекриватися. Кодовий сегмент повинен обов’язково описуватися в програмі, усі інші сегменти можуть бути відсутніми. У цьому випадку при завантаженні програми в оперативну пам’ять DOS ініціює регістри DS та ES значенням адреси префікса програмного сегмента PSP. При цьому слід враховувати, що стек «зростає вниз» (при розміщенні у стек вміст регістра SP, що вказує на вершину стека, зменшується, а при зчитуванні зі стека - збільшується). Тому при розміщенні у стек будь-яких значень вони можуть затерти PSP, в зв’язку з цим слід завжди сегмент стеку описувати в програмі явно та задавати для нього розмір, достатній для нормальної роботи. У вказівник команд ІР завантажується зсув точки входу в програму (вибирається з операнда директиви END), у вказівник стека SP – зсув кінця сегмента стека. Програму можна завершити двома способами, наприклад, через функцію 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 також не використовується. Ці ключі є неприйнятними для програм типу *.сом. Хід роботи: Створив асемблер програму для .exe Код Lab4.exe .model small .stack 100h .data message db "Hello World! $'' .code start: mov ax, @data mov ds, ax mov ah, 09h mov dx, offset message int 21h mov ax, 4c00h int 21h end start Результат виконання Lab4.exe D CS:0000 Створив асемблер програму для .com Код LabCOM.com .model tiny .code org 100h start: mov ah, 09h mov dx, offset message int 21h ret message db "Hello World!",0Dh,0Ah,'$' end start Результат виконання LabCOM.com D DS:100 Висновок: На цій лабораторній роботі я ознайомився зі структурою виконуваних програм *.ЕХЕ та *.СОМ та їх образом в пам’яті. Створив виконувальні файли .exe та .com для програми. Продемонстрував їх роботу та їх образ в пам’яті. Отримав очікуваний результат. Труднощів не зустрів.
Антиботан аватар за замовчуванням

07.05.2023 05:02

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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