Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Лабораторна робота №3. Функції припинення процесу



Функції припинення процесу

Мета роботи: вивчити функції припинення обчислювального процесу, навчитися їх практичному використанню.

3.1 Короткі теоретичні відомості

Завершити роботу програми можна різними способами.

1. Переривання 20h, використовується для завершення програм та передачі управління ОС DOS. При завершенні виконування програми переривання 20h не закриває автоматично всі відкриті програмою файли, тому перед його викликом завжди слід закривати файли, що змінилися. Якщо програмою змінений файл не було закрито, то в каталог не буде записана його нова довжина.

2. Функція 0h переривання 21h. Функціонально вона ідентична перериванню 20h.

3. Функція 4Ch переривання 21h, завершує роботу програми та передає тому, хто її визивав, код повернення. Якщо програма була викликана як підпрограма, то програма, що її визивала може отримати код повернення за допомогою функції 41h. Якщо програма викликалась програмою ОС, то код повернення може бути перевірений в командному файлі за допомогою команди ERRORLEVEL. Код повернення повертається в регістр AL. При виконанні цієї функції ОС DOS автоматично закриває всі файли, відкриті за допомогою функції 3Dh, або, можливо, функції 3Сh.

4. Команда асемблера RET.

5. Переривання 27h, яке забезпечує завершення роботи програми, але залишає задану її частину в пам’яті залишаючи її резидентною. Ця резидентна частина стає розширенням ОС DOS та інші програми не можуть накладатися на неї. Частіше програмі необхідно залишити тільки якусь свою частину, відкідаючи команди ініціалізації. Ця резидентна частини повинна розміщуватися на початку програми. Тоді при виклику переривання 27h програма може вказати в регістрі DX зміщення в сегменті команд, адрес першого байту, що слідує за її резидентною частиною. Резидентна програма звичайно (але не обов’язково) складається із наступних частин:

а) секції, що перепризначує адреса в таблиці векторів переривань;

б) процедури, що виконуються тільки один раз при завантаженні програми та призначеної для:

1) зміни адреси в таблиці векторів переривань на власний адрес;

2) встановлення розміру частини програми, що повинна стати резидентною;

3) використання переривань DOS для завершення програми та створення резидентної частини по вказаному розміру.

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

Процедура ініціалізації повинна створювати необхідні умови, для того, щоб забезпечити роботу резидентної програми, а потім дозволити собі бути стертою з пам’яті.





Дата публикования: 2015-04-06; Прочитано: 231 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...