0813a560

Порт 08h.


Этот порт используется при записи в качестве управляющего регистра и при чтении как регистр состояния.

Формат управляющего регистра:

7 6 5 4 3 2 1 0 T-T-T-T-T-T-T-¬ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ LT+T+T+T+T+T+T+T- ¦ ¦ ¦ ¦ ¦ ¦ ¦ L= 1 - использование режима память-память; ¦ ¦ ¦ ¦ ¦ ¦ ¦ 0 - обычный режим работы; ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L=== если используется режим память-память, ¦ ¦ ¦ ¦ ¦ ¦ то 1 в этом разряде разрешает захват ¦ ¦ ¦ ¦ ¦ ¦ канала, 0 - запрещает; ¦ ¦ ¦ ¦ ¦ ¦ в обычном режиме работы состояние этого ¦ ¦ ¦ ¦ ¦ ¦ бита безразлично; ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L=====1 - запрет работы DMA; ¦ ¦ ¦ ¦ ¦ 0 - разрешение работы DMA; ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ L======= 1 - использование сжатия во времени, если ¦ ¦ ¦ ¦ установлен бит обычного режима работы; ¦ ¦ ¦ ¦ 0 - обычный режим работы; ¦ ¦ ¦ ¦ ¦ ¦ ¦ L========= 1 - вращение приоритетов; ¦ ¦ ¦ 0 - фиксированные приоритеты; ¦ ¦ ¦ ¦ ¦ L=========== 1 - удлиненный цикл записи; ¦ ¦ 0 - нормальный цикл записи; ¦ ¦ ¦ L============= 1 - используется низкий уровень для ¦ сигнала запроса на DMA DREQ; ¦ 0 - используется высокий уровень; ¦ L=============== 1 - используется высокий уровень для сигнала подтверждения DMA DACK; 0 - используется низкий уровень;

Обычно этот регистр инициализируется BIOS в процессе тестирования системы и впоследствии изменять режим работы контроллера DMA не требуется. Ошибки при инициализации этого порта могут привести к "зависанию" системы.

При чтении из порта 08h программа получает слово состояния контроллера DMA:

7 6 5 4 3 2 1 0 T-T-T-T-T-T-T-¬ ¦ ¦ ¦ LT+-+-+T+T+-+-+T- L==T==- L=====¦= биты 0-3 устанавливаются в 1 при ¦ достижении счетчиками каналов 0-3 ¦ конечных значений; ¦ L============ биты 4-7 установлены в 1, если имеется разрешение на DMA соответственно, каналов 0-3.



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