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

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


Подробнее расширенный сервис рассмотрен в [4].
12.8.4. Int 14h — поддержка СОМ-портов
СОМ-порты поддерживаются сервисом BIOS Int 14h, который обеспечивает опи¬санные ниже функции.

ООН — инициализация (установка скорости обмена и формата посылок, задан¬ных регистром AL; запрет источников прерываний). На сигналы DTR и RTS влияния не оказывает (после аппаратного сброса они пассивны).

Olh — вывод символа из регистра AL (без аппаратных прерываний). Активиру¬ются сигналы DTR и RTS, и после освобождения регистра THR в него помещает¬ся выводимый символ. Если за заданное время регистр не освобождается, фик¬сируется ошибка тайм-аута и функция завершается.

492
Глава 12. Архитектурные компоненты IBM РС-совместимого, компьютера

02h — ввод символа (без аппаратных прерываний). Активируется только сиг¬нал DTR (RTS переходит в пассивное состояние), и ожидается готовность при¬нятых данных, принятый символ помещается в регистр AL. Если за заданное время данные не получены, функция завершается с ошибкой тайм-аута.

03h — опрос состояния модема и линии (чтение регистров МSRИLSR). Эту гаран¬тированно быструю функцию обычно вызывают перед функциями ввода-вы¬вода во избежание риска ожидания тайм-аута.
При вызове I n t 14h номер функции задается в регистре АН, номер порта (0-3) — в регистре DX (0 — СОМ1, 1 — COM2...). При возврате из функций 0,1 и 3 регистр АН содержит байт состояния линии (регистр LSR), AL — байт состояния модема (MSR). При возврате из функции 2 нулевое значение бита 7 регистра АН указывает на на¬личие принятого символа в регистре AL; ненулевое значение бита 7 — на ошибку приема, которую можно уточнить функцией 3. Байт состояния линии (регистр АН) имеет следующий формат:

бит 7 — ошибка тайм-аута (после вызова функции 2 — признак любой ошибки);

бит 6 — регистр сдвига передатчика пуст (пауза передачи);

бит 5 — промежуточный регистр передатчика пуст (готов принять символ для передачи);

бит 4 — обнаружен обрыв линии;

бит 3 — ошибка кадра (отсутствие стоп-бита);

бит 2 — ошибка паритета принятого символа;

бит 1 — переполнение (потеря символа);

бит 0 — регистр данных содержит принятый символ.

Hosted by uCoz