В процессе начального тестирования POST BIOS проверяет наличие последовательных портов (регистров UART 8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area
COM1-СОМ4. Нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки 0:047С, 047D, 047Е, 047F заносятся константы, задающие тайм-аут для портов.Обнаруженные порты
DTR и RTS переводятся в исходное состояние («выключено» — положительное напряжение).12.8.5. Int 17h — поддержка принтера
Сервисы
Int 17h: обеспечивают инициализацию, вывод байта данных и опрос состояния принтера, подключенного к LPT-порту. При вызове функция задается в регистре АН, номер LPT-порта — в регистре DX.♦ АН
AL по протоколу Busy), формируется строб.♦ АН
Init#, запрет аппаратных прерываний и переключение на вывод двунаправленного интерфейса).♦ АН
При возврате регистр АН
SR[7:3] и программно формируемого флага тайм-аута. Биты 6 и 3 относительно байта, считанного из регистра состояния, инвертированы. Назначение бит байта состояния:♦ бит 7 — не занято (сигнал Busy
♦ бит 6 — подтверждение (сигнал Ack#
♦ бит 5 — конец бумаги (сигнал PaperEnd
♦ бит 4 — принтер готов (сигнал Select
♦ бит 3 — ошибка принтера (сигнал Error#
♦ биты 2:1=00 (не используются);
♦ бит 0 — флаг тайм-аута, устанавливается при неудачной попытке вывода символа, если сигнал Busy
Перехват прерывания Int 17h
Int 17h можно организовать вывод через LPT-порт по протоколу ИРПР и даже через СОМ-порт), следует внимательно отнестись к битам возвращаемого байта состояния. При их неправильном формировании попытки вывода на печать могут приводить к ошибочным сообщениям.12.8.6. Int 1Ah и Int 15h — поддержка таймеров
Int 1Ah позволяют считывать и модифицировать значения АН.1. АН
СХ — старшую часть, в DX — младшую. AL=0, если за последние 24 часа не было переполнения таймера. В современных версиях сброс AL возвращает счетчик переполнений таймера, хранящийся в ячейке 40:0070h (в старых версиях это был флаг).2. АН
СХ — старшая часть, в DX — младшая) и сброс флага (счетчика) переполнения таймера в ячейке 40:0070h. В случае ошибки устанавливается флаг CF=1.3. АН
СН), минуту (CL), секунду (DH) и признак коррекции летнего/зимнего времени (DL=1 — коррекция используется, DL=0 — нет). Признаком успешной операции является флаг CF=0. Во избежание ошибок некоторых BIOS при вызове флаг CF должен быть сброшен.4. АН