Assembler - язык неограниченных возможностей


Последовательный порт - часть 2



INT 14h АН = 04 — Инициализация FOSSIL-драйвера

Ввод: АН = 04h
DX = номер порта (0 — для СОМ1, 1 — для COM2 и т.д.)
Вывод: АХ = 1954h
BL = максимальный поддерживаемый номер функции
ВН = версия спецификации FOSSIL


INT 14h АН = 05 — Деинициализация FOSSIL-драйвера

Ввод: АН = 05h
DX = номер порта (00h – 03h)


INT 14h АН = 00 — Инициализация последовательного порта

Ввод: АН = 00h

AL = параметры инициализации:

биты 7 – 5:

    000 — 19 200 бод (110 бод без FOSSIL)

    001 — 38 400 бод (150 бод без FOSSIL)

    010 — 300 бод

    011 — 600 бод

    100 — 1200 бод

    101 — 2400 бод

    110 — 4800 бод

    111 — 9600 бод

биты 4 – 3: четность (01 — четная, 11 — нечетная, 00 или 10 — нет)

бит 2: число стоп-бит (0 — один, 1 — два)

биты 1 – 0: длина слова (00 — 5, 01 — 6, 10 — 7, 11 — 8)

DX = номер порта (00h – 03h)

Вывод: АН = состояние порта

    бит 7: тайм-аут

    бит 6: буфер вывода пуст (без FOSSIL: регистр сдвига передатчика пуст)

    бит 5: в буфере вывода есть место (без FOSSIL: регистр хранения передатчика пуст)

    бит 4: обнаружено состояние BREAK

    бит 3: ошибка синхронизации

    бит 2: ошибка четности

    бит 1: ошибка переполнения — данные потеряны

    бит 0: в буфере ввода есть данные

AL = состояние модема

    бит 7: обнаружена несущая (состояние линии DCD)

    бит 6: обнаружен звонок (состояние линии RI)

    бит 5: запрос для передачи (состояние линии DSR)

    бит 4: сброс для передачи (состояние линии CTS)

    бит 3: линия DCD изменила состояние

    бит 2: линия RI изменила состояние

    бит 1: линия DSR изменила состояние

    бит 0: линия CTS изменила состояние

<


Начало  Назад  Вперед