Системное программное обеспечение персональных ЭВМ

Порты принтера


8.1. Порты принтера

DOS может работать с тремя параллельными принтерами, именуемыми LPT1, LPT2, LPT3. Каждый принтер имеет по три порта: порт вывода (базовый порт), порт состояния и порт управления. Адреса портов строго не фиксированы. В области данных BIOS по адресам 0040:0008, 0040:000A, 0040:000C содержатся адреса базовых портов для LPT1, LPT2, LPT3 соответственно. Адрес порта состояния - на 1 больше базового, порта управления - еще на 1 больше.

Самая первая операция, которую мы рассмотрим для принтера, - определение его состояния. Разряды байта, считываемого из порта состояния принтера, интерпретируются следующим образом:

0- 2 - не используются, обычно установлены в 1;
3- ошибка принтера - нет/есть (0/1);
4- принтер подключен/не подключен (1/0);
5- бумага есть/нет (0/1);
6- принтер выводит очередной символ/готов (0/1);
7- принтер занят/свободен (0/1).

При возможных расхождениях в интерпретации этого байта для разных принтеров наиболее информативен, по-видимому, бит 3, его установка в 1 говорит о готовности принтера.

Программа примера 8.1 предлагает проверить байт состояния при некоторых, наиболее вероятных состояниях принтера. Для сравнения программа выдает байт стандарта Epson.



Содержание раздела