Системная поддержка СОМ-портов
СОМ-порты поддерживаются сервисом BIOS Int 14h, который обеспечивает следующие функции:
¦ инициализация (установка скорости обмена и формата посылок; запрет источ
ников прерываний) — на сигналы DTR и RTS влияния не оказывает (после аппаратного сброса они пассивны);
¦ вывод символа — активируются сигналы DTR и RTS, и после освобождения регистра THR в него помещается выводимый символ;
¦ ввод символа — активируется только сигнал DTR (RTS переходит в пассивное состояние), и ожидается готовность принятых данных;
¦ опрос состояния модема и линии (чтение регистров MSR и LSR).
Аппаратные прерывания не используются, ожидание готовности ввода и вывода ограничивается по тайм-ауту. Готовность можно быстро проверить опросом состояния.
В процессе начального тестирования POST BIOS проверяет наличие последовательных портов (регистров UART 8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area 0:0400, 0402, 0404, 0406. Эти ячейки хранят адреса портов с логическими именами СОМ1-COM4. Нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки ОЮ47С, 047D, 047Е, 047F заносятся константы, задающие тайм-ауты для портов.
Обнаруженные порты инициализируются на скорость обмена 2400 бит/с, 7 бит данных с контролем на четность (even), 1 стоп-бит. Управляющие сигналы интерфейса DTR и RTS переводятся в исходное состояние («выключено» — положительное напряжение).