Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольна робота№1.doc
Скачиваний:
1
Добавлен:
18.12.2018
Размер:
442 Кб
Скачать
☆

Лабараторна робота №3

Мета робот: Ознайомлення з сервісними функціями драйвера 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) - перевірка буфера клавіатури на наявність в ньому символа.

Характеристика атрибута символа у відеобуфері.

Все, що зображено на моніторі - графіка, текст - одночасно присутні в пам'яті, вбудованій у відеоадаптер. Для того щоб зображення з'явилося на моніторі, воно повинне бути записане в пам'ять відеоадаптера. Для цього відводиться область пам'яті, що починається з логічної адреси B800h:0000h (для текстових режимів) і що закінчується адресою B800:FFFFh. Дана область розбивається на 8 секторівпо числу відеосторінок (4 КБайта на сторінку). Все, що програма, що виконується заносить у відеобуфер, відповідний активній сторінці, негайно відображається на екрані. У текстових режимах для зображення кожного символа відводиться 2 байти: байт з ASCII- кодом символа і байт з його атрибутом. При цьому за адресою B800h:0000h знаходиться байт з кодом символа (лівий верхній кут екрана), а в B800h:0001h - атрибут цього символа; B800h:0002h - код другого символа, а в B800h:0003h - атрибут другого символа. Взагалі при формуванні зображення безпосередньо в відеобуфері, в обхід програмам DOS і BIOS, всі керуючі коди ASCII втрачають свої керуючі функції і відображаються у вигляді відповідних символів. Структура байта атрибутів приведена на рис. 1.

З рис. 1 випливає, що кожний символ може приймати будь-який з 16 можливих кольорів, щовизначаються поєднанням молодших 4-х бітів. Біти 4 - 6 байта атрибутів задають колір фону під даним символом. Останній біт 7, в залежності від режиму відеоадаптера, визначає або яскравість фону під даним символом (тоді фон також може приймати 16 різних кольорів), або мерехтіння символа.

При завантаженні машини встановлюється стандартна палітра, коди кольорів якої приведені в табл. 1.