Мета робот: Ознайомлення з сервісними функціями драйвера BIOS для роботи з екраном і клавіатурою.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
В роботі №6 були розглянуті різні системні функції DOS виводу на екран символьної інформації. Однак можливості DOS вельми обмежені: ця операційна система не має функцій для зміни кольору символів, що виводяться і позиціонування курсора. Крім того, в DOS відсутні засоби формування графічних зображень.
Всі можливості відеосистеми комп'ютера можна реалізувати за допомогою відео функцій драйвера BIOS (базова система вводу-виводу). BIOS - це набір програм, розміщених в постійній пам'яті комп'ютера, які виконують його завантаження відразу після включення і забезпечують доступ до периферійних пристроїв за допомогою сервісних функцій переривань. Так, наприклад, програмування диска здійснюється за допомогою переривання int 13h, клавіатури - int 16h, екрана - int 10h. Переривання int 10h забезпечує: зміну відеорежима (текстовий або графічний), виводу символьної і текстової, зміну шрифтів, настройку палітри кольорів, роботу з графічним зображенням.
Програмування за допомогою засобів BIOS більш громіздке, однак великі можливості і висока швидкість виводу обумовлює широке використання цього методу в прикладних програмах.
В даній роботі розглядаються функції BIOS для відеорежиму, що використовується в DOS по змовчуванню - текстовий режим № 3 (16 - кольоровий режим 80 х 25 - 25 рядків з 80 символами в рядку), а також деякі функції для роботи з клавіатурою. Перерахуємо функції, що є предметом розгляду в роботі:
Int 10h,функція 00h - установки відеорежиму,
функція 02h - установка позиції курсора,
функція 03h - зчитування позиції і розміру курсора,
функція 05h - установка відеосторінки,
функція 06h(07h) - ініціалізація або прокрутка вікна вгору (вниз),
функція 08h - читання символа і атрибута в позиції курсора,
функція 09h - запис символа і атрибута в позицію курсора,
функція 1003h - перемикання призначення старшого біта байта атрибута: мерехтіння/яскравість,
функція 0Ah - запис символа в позицію курсора з поточним атрибутом,
функція 0Eh - запис символа в режимі телетайпу з поточним атрибутом,
функція 13h - запис стрічки із заданим атрибутом в режимі телетайпу,
Int 16h,функція 00h(10h) - читання символа з клавіатури з очікуванням,
функція 01h(11h) - перевірка буфера клавіатури на наявність в ньому символа.