Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




ЛАБОРАТОРНА РОБОТА №8, 9

ВИВІД ІНФОРМАЦІЇ НА ЕКРАН В ТЕКСТОВОМУ РЕЖИМІ

РОЗРОБКА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ ДЛЯ ВИВЕДЕННЯ ІНФОРМАЦІЇ НА ЕКРАН В ТЕКСТОВОМУ РЕЖИМІ

 

Мета роботи: вивчення можливостей безпосереднього програмування та виконання команд процесора і8086 при виводі інформації на екран в текстовому режимі.

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

Для виконання вводу і виводу використовується команда INT (переривання). Існують різноманітні способи вказати системі, яка дія (ввід чи вивід) і на якому пристрої необхідно виконати.

Усі необхідні екранні і клавіатурні операції можна виконати за допомогою команди INT 10Н, що передає керування безпосередньо в BIOS. Для виконання деяких більш складних операцій існує переривання більш високого рівня INT 21Н, що спочатку передає керування в DOS. Наприклад, при введенні з клавіатури може знадобитися підрахунок уведених символів, перевірка на максимальне число символів і перевірка на символ "Return". Переривання DOS INT 21Н здійснює багато що з цих додаткових обчислень і потім автоматично передає керування в BIOS.

Команда INT перериває обробку програми, передає керування в DOS чи BIOS для визначеної дії і потім повертає керування в перервану програму для продовження обробки. Найбільш часто переривання використовується для виконання операцій вводу чи виводу.

Екран можна представити у виді двовимірного простору з адресованими позиціями, у кожну з який може бути встановлений курсор. Звичайний відеомонітор, наприклад, має 25 рядків (нумерованих від 0 до 24) і 80 стовпців (нумерованих від 0 до 79).

Команда INT 10Н містить у собі встановлення курсору в будь-яку позицію й очищення екрана. Нижче приведений приклад встановлення курсору на 5-й рядок і 12-й стовпець:

MOV АН,02;3апит на встановлення курсору

MOV ВН,00;Екран 0

MOV DН,05;Рядок 05

MOV DL,12;Стовпець 12

INT 10h;Передача керування в BIOS

 

Значення 02 у регістрі АН указує команді INT 10H на виконання операції встановлення курсору. Значення рядка і стовпця повинні бути в регістрі DX, а номер екрана (чи сторінки) - у регістрі ВН (звичайно 0). Вміст інших регістрів несуттєво. Для встановлення рядка і стовпця можна також використовувати одну команду MOV з безпосереднім шістнадцятковим значенням:

MOV DX,050Ch; Рядок 5 стовпець 12

 

Запити і команди залишаються на екрані доти, поки не будуть зміщені в результаті прокручування ("скролінга") чи переписані на тім же місці іншими запитами чи командами. Коли програма починає своє виконання, екран може бути очищений. Область екрана, що очищається, може починатися в будь-якій позиції і закінчуватися в будь-якій іншій позиції з великим номером. Початкове значення рядка і стовпця заноситься в регістр СХ, кінцеве - у DX, значення 07 - у регістр ВН і 0600Н в АХ. У наступному прикладі виконується очищення всього екрана:

MOV AX,0600h;АН 06 (прокручування) AL 00 (весь екран)

MOV ВН,07;нормальний атрибут (чорно/білий)

MOV СХ,0000;Верхня ліва позиція

MOV DX,184Fh;Нижня права позиція

INT 10h;Передача керування в BIOS

 

Значення 06 у регістрі АН вказує команді INT 10H на виконання операції очищення екрана. Ця операція очищає екран пропусками. Якщо помилково встановили нижню праву позицію більше, ніж 184Fh, то очищення перейде знову до початку екрана і вдруге заповнять деякі позиції пропусками. Така операція не приведе до яких-небудь помилок при роботі з монохромними екранами, однак для деяких кольорових моніторів можуть виникнути серйозні помилки.

Переривання INT 10Н забезпечує керування всім екраном. У регістрі АН встановлюється код, що визначає функцію переривання. Команда зберігає вміст регістрів ВХ, СХ, DX, SI і ВР. Нижче описуються всі можливі функції.

АН = 00: Встановлення режиму. Дана функція дозволяє переключати кольоровий монітор у текстовий чи графічний режим. Встановлення режиму для виконуваної в даний момент програми здійснюється за допомогою INT 10H. При встановленні відбувається очищення екрана. Вміст регістра AL може бути наступним:

00 40 х 25 чорно-білий текстовий режим

01 40 х 25 стандартний 16-колірний текстовий режим

02 80 х 25 чорно-білий текстовий режим

03 80 х 25 стандартний 16-колірний текстовий режим

04 320 х 200 стандартний 4-колірний графічний

05 320 х 200 чорно-білий графічний режим

06 640 х 200 чорно-білий графічний режим

07 80 х 25 чорно-білий стандартний монохромний

08 - 0А формати для моделі PC

0D 320 х 200 16-колірний графічний режим (EGA)

0Е 640 х 200 16-колірний графічний режим (EGA)

0F 640 х 350 чорно-білий графічний режим (EGA)

10 640 х 350 64-колірний графічний режим (EGA)

EGA позначає удосконалений графічний адаптер. Наступний приклад показує встановлення стандартного 16-колірного текстового режиму:

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...