Реферат: Диагностика портов ЭВМ

произошла ошибка

37Ah Чтение/ Регистр управления принтером:

Запись

7 6 5 4 3 2 1 0

+--------------------+

¦X¦X¦X¦ ¦ ¦ ¦ ¦ ¦ Биты:

+--------------------+ -----

¦ ¦ ¦ ¦ +---> 0: бит запуска печати (см. ниже)

¦ ¦ ¦ +------> 1: 1=после возврата каретки выводить

¦ ¦ ¦ перевод строки (в MS-DOS должен

¦ ¦ ¦ быть сброшен)

¦ ¦ +---------> 2: 1=инициализировать принтер

¦ +------------> 3: 1=разрешить вывод на печать (должен

¦ быть всегда установлен)

+---------------> 4: 1=разрешить прерывания от принтера

Примечания.

1. Для запуска печати символа нужно на короткое время установить бит 0 регистра управления, а затем сбросить его.

2. Прерывание происходит по окончании вывода символа на печать: для первого принтера на седьмом уровне контроллера прерываний (IRQ7, вектор прерывания 0Fh), для второго принтера - на пятом уровне (IRQ5, вектор 0Dh). Следует отметить также, что IRQ5 используется XT-контроллером жестких дисков для генерации своих прерываний. Обычно этот бит не используется (сбрасывается), а проверка готовности принтера производится на основании опроса регистра состояния.

Типичная последовательность действий для вывода на печать одного символа такова:

- вывести передаваемый байт в регистр данных;

- в цикле проверять состояние принтера до устaновки бита 7 регистра состояния (здесь возможно использование таймаута);

- проверить биты 3-5 регистра состояния на наличие ошибки;

- установить и сразу же сбросить нулевой бит регистра управления, для этого подходит следующая последовательность команд:

movdx,37Ah ;адрес регистра управления

moval,00001101b ;установить биты 0,2 и 3

outdx,al ;вывести команду

xoral,1 ;сбросить бит 0

outdx,al ;повторно вывести команду

- далее можно прочитать и запрограммировать регистр состояния и перейти к печати следуюего символа.

К-во Просмотров: 624
Бесплатно скачать Реферат: Диагностика портов ЭВМ