
- •Системне програмування
- •Переривання (Системні виклики). Механізм і типи переривань
- •Обслуговування переривань
- •Io.Sys і msdos.Sys
- •Маскування переривань
- •Зміна таблиці векторів переривань
- •Корекція системних обробників переривань
- •Використання переривань
- •1. Використання групи функцій переривання dos int 21h, при цьому номер функції цього переривання вказується в регістрі ah:
- •2. Посимвольний ввід шляхом звертання до драйвера bios за допомогою переривання int 16h
- •Int 16h
- •3. Звертання до клавіатури, як до файлу.
- •1. Використання групи функцій переривання dos int 21h, при цьому номер функції цього переривання вказується в регістрі ah:
- •2. Звертання до пристрою виводу(монітору), як до файлу.
- •Найбільш важливі переривання bios
- •Найбільш важливі переривання dos
- •Таблиця векторів переривань
Найбільш важливі переривання bios
INT 05h Друк екрану. Виконує вивід вмісту екрану на друкувальний пристрій. Команда INT 05H виконує дану операцію з програми, а натискання клавішею Ctrl/PrtSc - із клавіатури. Операція забороняє переривання і зберігає позицію курсору.
INT 10h Керування дисплеєм. Забезпечує екранні і клавіатурні операції
INT 11h Запит списку приєднаного пристроїв. Визначає наявність різних пристроїв у системі, остаточне значення повертає в регістрі AX. При включенні комп'ютера система виконує цю операцію і зберігає вміст AX у пам'яті за адресою 0410h. Значення бітів у регістрі AX:
-
Біт
Пристрій
15,14
Кількість підключених принтерів
13
Послідовний принтер
12
Ігровий адаптер
11-9
Кількість послідовних адаптерів стику RS232
7,6
Кількість дисководів, при біті 0=1:
00=1, 01=2, 10=3 і 11=4
5,4
Початковий відео режим
00 = не використовується
01 = 40х25 плюс колір
10 = 80х25 плюс колір
11 = 80х25 чорно-білий режим
1
:Значення 1 говорить про наявність співпроцесора
0
Значення 1 говорить про наявність одного чи більше дискових пристроїв і завантаження операційної системи повинне здійснюватися з диска
INT 12h Запит розміру фізичної пам'яті. Повертає в регістрі AX розмір пам'яті в кілобайтах, наприклад, 200h відповідає пам'яті 512 К. Дана операція корисна для вирівнювання розміру програми відповідно до доступної пам'яті.
INT 13h Дискові операції вводу-виводу. Забезпечує операції вводу-виводу для дискет і вінчестера.
INT 14h Керування комунікаційним адаптером. Забезпечує послідовний уведення-висновок через комунікаційний порт RS232. Регістр DX повинний містити номер (0 чи 1) адаптера стику RS232. Чотири типи операції, обумовлені регістром AH, виконують прийом і передачу символів і повертають у регістрі AX байт стану комунікаційного порту.
INT 15h Касетні операції введення-висновку і спеціальні функції для комп'ютерів AT. Забезпечує операції вводу-виводу для касетного магнітофона, а також розширені операції для комп'ютерів AT.
INT 16h Ввід з клавіатури. Забезпечує три типи команд вводу з клавіатури.
INT 17h Вивід на принтер. Забезпечує вивід даних на друкуючий пристрій.
INT 18h Звертання до BASIC, вбудованому в ROM. Викликає BASIC-інтерпретатор, що знаходиться в постійній пам'яті ROM.
INT 19h Перезапуск системи. Дана операція при доступному диску зчитує сектор 1 з доріжки 0 в область початкового завантаження в пам'яті (сегмент 0, зсув 7C00) і передає керування по цій адресі. Якщо дисковод не доступний, то операція передає керування через INT 18H у ROM BASIC. Дана операція не очищає екран і не ініціалізує дані в ROM BASIC, тому її можна використовувати з програми.
INT 1Ah Запит і установка поточного часу і дати. Зчитує і записує покази годин у відповідності зі значенням у регістрі AH. Для визначення тривалості виконання програми можна перед початком виконання встановити годинник у 0, а далі рахувати поточний час. Відлік часу йде приблизно 18,2 рази в секунду. Значення в регістрі AH відповідає наступним операціям:
-
AH=00
Запит часу. У регістрі CX установлюється стара шая частина значення, а в регістрі DX - молодша. Якщо після останнього запиту пройшло 24 години, то в регістрі AL буде не нульове значення
AH=01
Установка часу. Час установлюється по регист рам CX (старша частина значення) і DX (молодша частина значення).
Коди 02 і 06 керують часом і датою для AT.
INT 1Fh Адреса таблиці графічних символів. У графічному режимі можливий доступ до символів з кодами 128-255 у 1К таблиці, що містить по восьми байт на кожен символ. Прямий доступ у графічному режимі забезпечується тільки до перших 128 ASCII-символів (від 0 до 127).