| Справочник программиста на персональном компьютере фирмы IBM | 76 |
AX, и пошлите сначала младший, а затем старший байт в регистр
ввода/вывода канала (40H - 42H).
Каналы микросхемы 8253 работают всегда. По этой причине прог-
раммы всегда должны восстанавливать начальные установки регистров
8253 перед завершением. В частности, если при завершении програм-
мы генерируется звук, то он будет продолжаться даже после того,
как MS DOS получит управление и загрузит другую программу. Имейте
это ввиду при написании процедуры выхода по Ctrl-Break [3.2.8].
Низкий уровень.
В данном примере канал 0 программируется на другое значение,
чем установлено BIOS при старте. Причина изменения установки
состоит в том, чтобы изменить интервал изменения счетчика времени
суток на большую величину, чем 18.2 раза в секунду. Частота об-
новления счетчика изменяется, скажем, на 1000 раз в секунду, с
целью проведения точных лабораторных измерений. Значение задвижки
должно быть 1193 (1193180 тактов в секунду / 10000). Как читать
текущее значение регистра счетчика см. в примере [2.1.8]. Перед
дисковыми операциями оригинальное значение задвижки должно быть
восстановлено, поскольку канал 0 используется для синхронизации
дисковых операций. Максимально возможное значение - 65535 тактов
часов между импульсами от канала - может быть достигнуто засылкой
0 в регистр задвижки (0 немедленно превращается в 65535 при
уменьшении на единицу.
;-установка регистров ввода/вывода
COMMAND_REG EQU 43H ;адрес командного регистра
CHANNEL_0 EQU 40H ;адрес канала 0
MOV AL,00110110B ;установка битов для канала 2
Предыдущая страница 76 Следующая страница
402283737
|