DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Завантаження та виконання програм DOS. Організація програм *.EXE та *.COM

Оригінальна назва роботи

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

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

ВУЗ:
Київський політехнічний інститут ім. Ігоря Сікорського
Інститут:
ООП
Факультет:
ІСМ
Кафедра:
Кафедра автоматики

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

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

Про що ця робота

У роботі досліджується структура виконуваних програм форматів EXE та COM та їх образ у пам'яті операційної системи MS-DOS. Розглядаються особливості ініціалізації сегментних регістрів, префікса програмного сегмента та організації стека.

У роботі розглядаються

  • Операційна система MS-DOS
  • Виконувані файли EXE та COM
  • Префікс програмного сегмента PSP
  • Сегментація пам'яті в архітектурі x86
  • Сегментні регістри CS, DS, SS, ES
  • організація стека в пам'яті
  • Налагоджувач DEBUG

Зміст і розділи

  1. Мета роботи
  2. Порядок роботи
  3. Теоретична частина
  4. Результат роботи
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, які вивчають операційні системи та архітектуру комп'ютерів.
Викладачі:Левченко Л. О.

Ключові поняття

EXE програмаCOM програмаMS-DOSPSPСегмент пам'ятіРегістр CSРегістр DSРегістр SSСтекDEBUG

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

Міністерство освіти і науки України НТУУ «Київський політехнічний інститут ім. Ігоря Сікорського» Кафедра АПЕПС Лабораторна робота №4 з дисципліни «Операційні системи» «Завантаження та виконання програм DOS. Організація програм *.ЕХЕ та *.СОМ» Гр. ТР-15 Турлака Сергія Перевірила д.т.н., проф. Левченко Л.О. КИЇВ 2022 Мета роботи: Ознайомитися зі структурою виконуваних програм *.ЕХЕ та *.СОМ та їх образом в пам’яті. Порядок роботи: 1. Ознайомитися зі структурою програми *.ЕХЕ та образом такої програми у пам’яті. 2. Ознайомитися зі структурою програми *.СОМ та образом такої програми у пам’яті. 3. Засвоїти особливості створення виконуваних програм *.ЕХЕ та *.СОМ. 4. Підготувати .ЕХЕ та .СОМ програми для виведення на екран повідомлення HELLO WORD! з варіантом опису даних: msg db "Hello Word!", 0Dh, Ah, '$' 0Dh – символ повернення каретки (Carriage Return), 0Ah - символ переведення ядка. 5. Продемонструвати роботу .ЕХЕ – та .СОМ-програм, пояcнити розподіл ам’яті ля цих програм. 6. У DEBUG за допомогою команди D CS:0000 ви маєте можливість переглянути машинний код програми для ехе-програми. 7. У DEBUG за допомогою команди D DS:100 ви маєте можливість переглянути дані. Теоретична частина Операційна система 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. Регістр SS при цьому ініціалізується значенням сегменту, що знаходиться одразу за PSP, тобто першого сегменту програми. При цьому слід враховувати, що стек «зростає вниз. Тому при розміщенні у стек будь-яких значень вони можуть затерти PSP, в зв’язку з цим слід завжди сегмент стеку описувати в програмі явно та задавати для нього розмір, достатній для нормальної роботи. У вказівник команд ІР завантажується зсув точки входу в програму (вибирається з операнда директиви END), у вказівник стека SP – зсув кінця сегмента стека Результат роботи Файл EXE програми / Файл COM програми / У результаті виконання двох різних EXE та COM програм маємо /
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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