КОМПЬЮТЕРНОЕ ЖЕЛЕЗО
HARDWARE FOR PC

Архитектурные компоненты IBM PC-совместимого компьютера

При русификации (или другой локализации) клавиатуры отслеживание переключения регистров (языков) ложится на обработчик аппаратного прерывания клавиатуры.

486
Глава 12. Архитектурные компоненты IBM PC-совместимого компьютера
12.8.2.
int 10h — видеосервис
Int 10h — видеосервис — предназначен для работы с графическим адаптером. Его первичной задачей является управление видеорежимом (BIOS Video Mode), оп¬ределяющим формат экрана. BIOS адаптера должна выполнять программирова¬ние всех стандартных и специфических управляющих регистров для установки (смены) требуемого видеорежима и выбранных параметров развертки — кроме нее о способах этих переключений остальное ПО может и не знать. В пределах возможностей установленного видеорежима видеосервис предостав¬ляет возможности отображения информации на различных уровнях. Простейший для программиста телетайпный режим позволяет посылать поток символов, кото¬рые будут построчно отображаться на экране с отработкой символов возврата карет¬ки, перевода строки, обеспечивая «прокрутку» изображения при заполнении экра¬на. Есть функции и для полноэкранной работы с текстом, при которой доступны и атрибуты символа. В графическом режиме имеется возможность чтения и записи пиксела с указанными координатами. Однако видеосервисом Int 10h программи¬сты пользуются далеко не всегда, поскольку работает он довольно медленно. Под¬робно рассматривать функции видеосервиса не будем (этому посвящены отдель-ные книги), отметим особо лишь функцию телетайпного вывода Int 10h(0Eh). При вызове AH=OEh, в AL — код выводимого символа, в BL — цвет (только для гра¬фического режима). Символ выводится в текущую позицию курсора, и курсор сдви¬гается на следующую, переходя на новую строку после конца предыдущей и про¬кручивая экран при его заполнении. Специальные символы вызывают возврат на начало строки (CR, код ODh), перевод строки (LF, OAh) и короткий гудок (BEL, 07h). Этой функцией часто пользуются для вывода сообщений программами, работа¬ющими на нижнем уровне (например, модули инициализации ПЗУ расширений BIOS, загрузчики и другие, не имеющие еще доступа к сервисам операционных систем).

Hosted by uCoz