Аппаратные интерфейсы ПК. Энциклопедия
Шрифт:
• бит 0 — клавиша
• бит 1 — клавиша
• бит 2 — клавиша
• бит 3 — клавиша
• бит 4 — включен индикатор
• бит 5 — включен индикатор
• бит 6 — включен индикатор
• бит 7 — включен режим
• бит 8 — клавиша
• бит 9 — клавиша
• бит 10 — клавиша
• бит 11 — клавиша
• бит 12 — клавиша
• бит 13 — клавиша
• бит 14 — клавиша
• бит 15 — клавиша
Функции чтения буфера (00 и 10h) в регистре
При
Функция записи (05h), несколько неожиданная для клавиатуры, позволяет легко имитировать работу оператора для различных демонстрационных программ. Если прикладная программа не перехватывает обслуживание клавиатуры на уровне аппаратного прерывания (
ASCII-коды буфера, соответствующие нажатию клавиш, приведены в [1, 7]. При русификации (или другой локализации) клавиатуры отслеживание переключения регистров (языков) ложится на обработчик аппаратного прерывания клавиатуры.
12.8.2. Int 10h — видеосервис
Int 10h — видеосервис — предназначен для работы с графическим адаптером. Его первичной задачей является управление видеорежимом (BIOS Video Mode), определяющим формат экрана. BIOS адаптера должна выполнять программирование всех стандартных и специфических управляющих регистров для установки (смены) требуемого видеорежима и выбранных параметров развертки — кроме нее о способах этих переключений остальное ПО может и не знать.
В пределах возможностей установленного видеорежима видеосервис предоставляет возможности отображения информации на различных уровнях. Простейший для программиста телетайпный режим позволяет посылать поток символов, которые будут построчно отображаться на экране с отработкой символов возврата каретки, перевода строки, обеспечивая «прокрутку» изображения при заполнении экрана. Есть функции и для полноэкранной работы с текстом, при которой доступны и атрибуты символа. В графическом режиме имеется возможность чтения и записи пиксела с указанными координатами. Однако видеосервисом
12.8.3. Int 13h — поддержка дисков
Функции дискового сервиса вызываются программным прерыванием
Традиционно дисковый сервис подразделяет физические диски на дискеты (diskette) и фиксированные диски (fixed disk). Набор функций (табл. 7.8) для этих классов устройств несколько различается как по составу, так и по реализации. Классы различаются по диапазонам номеров физических устройств: для дискет отводятся номера 0-7Fh (реально только 0–3), а для фиксированных дисков — 80h-FFh.
Контроллеры дисковых интерфейсов, имеющие в своем составе дополнительные модули BIOS, перехватывают вектор
Кроме функций дискового сервиса (
Стандартные драйверы дисковых функций BIOS (включая и расширенный сервис) имеют однозадачное происхождение. Во время выполнения функции значительное процессорное время может затрачиваться на ожидание завершения операции устройством. Драйверы многозадачного режима построены иначе: у них есть вызывающая часть, инициализирующая начало операции, и обработчик аппаратного прерывания от контроллера, сообщающий операционной системе о выполнении операции и результате.
Традиционный дисковый сервис работает в 16-разрядном режиме процессора, все параметры вызова передаются через регистры процессора. Адрес сектора задается в системе CHS и размещен весьма специфично. Сервис вызывается программным прерыванием
♦ номер функции задается в регистре
♦ логический номер диска задается в регистре
♦ номер цилиндра (0-1023) задается в регистре
♦ номер головки (0-255) задается в регистре
♦ номер начального сектора (1-63) задается в регистре
♦ количество секторов, участвующих в операции, 8 бит — в регистре
♦ указатель на начало буфера оперативной памяти для считываемых и записываемых данных (address of buffer) — в регистрах