Теоретическая справка
Информация по данным клавишам хранится в области данных BIOS в слове с адресом 417h.
байт с адресом 417h:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 - правый Shift
1 - левый Shift
2 - Ctrl (левый или правый)
3 - Alt (левый или правый)
4 - ScrollLock on/off (состояние: 1, если индикатор светится)
5 - NumLock on/off (состояние: 1, если индикатор светится)
6 - CapsLock on/off (состояние: 1, если индикатор светится)
7 - Insert (1 - режим вставки, 0 - режим замены)
байт с адресом 418h:
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
0 - левый Ctrl
1 - левый Alt
2 -
3 -
4 - ScrollLock (состояние: 1, если нажата; 0, если отпущена)
5 - NumLock (состояние: 1, если нажата; 0, если отпущена)
6 - CapsLock (состояние: 1, если нажата; 0,- если отпущена)
7 - Insert (состояние: 1, если нажата; 0, если отпущена)
Лабораторная работа №5
РАБОТА С ВИДЕОАДАПТЕРОМ
ЦЕЛЬ РАБОТЫ
Изучение режимов работы видеоадаптера VGA, работа с палитрой, изучение функций прерывания 10h (BIOS-прерывания для работы с видеоадаптером).
ЗАДАНИЕ НА РАБОТУ
Варианты заданий:
1. Видеорежимы адаптера VGA.
2. Работа с палитрой.
3. Работа с графикой.
Написать ассемблерную процедуру, которая устанавливает заданный видеорежим, указанный во входном параметре. Продемонстрировать работу процедуры в текстовом режиме 03H (80x25x16) и в графическом 13H (320x200x256). Используя прямой доступ к видеопамяти (0B8000H - начало видеопамяти в текстовом режиме и 0A0000H - начало видеопамяти в графическом режиме) и стандартный предопределенный в TURBO PASCAL'e массив MEM, вывести в текстовом режиме на экран строку, а в графическом - последовательность нескольких пикселей.
Используя функцию для работы с палитрой прерывания 10h, переопределить цвет выведенного на экран текста. Для переопределения цветов следует учесть, что новый сформированный цвет будет зависеть от интенсивности трех компонентов - красного, зеленого и синего (R, G, B). Значения интенсивности лежат в диапазоне от 0 до 63. Так, например, для установки красного цвета максимальной яркости надо Red-компонент установить равным 63, а Green- и Blue- компоненты - в нули.
R G B
0 0 0 - черный
63 0 0 - ярко-красный
0 63 0 - ярко-синий
0 0 63 - ярко-зеленый
63 63 0 - желтый
0 63 63 - голубой
63 0 63 - фиолетовый
63 63 63 - белый
Более сложное задание по работе с палитрой заключается в создании в графическом режиме эффекта "плазмы".
3. Создать с помощью процедур вывода точки и чтения цвета точки программу, работающую с динамической графикой:
а) имитирующую падающий снег.
б) имитирующую движение звезд.
Примечание: движение звезд аналогично падающему снегу, только точки не должны скапливаться внизу экрана.