Каждое действие, выполняемое контроллером дисковода,
0024 A8 80 TEST AL, MASK RQM ; контроллер готов
0026 74 FB JZ OUT_RQM
0028 42 INC DX ; Установка на порт данных
0029 8A C4 MOV AL, AH ; Посылаемые данные
002B EE OUT DX, AL ; Вывод в порт
002C 4A DEC DX ; Установка на порт состояния
002D C3 RET
002E OUTPUT ENDP
002E CODE ENDS
END SENSEA
Фиг. 8.20 Проверка состояния дисковода
Каждое действие, выполняемое контроллером дисковода, состоит из
трех фаз: команды, выполнения и результата. В фазе команды
микросхема FDC ожидает данные, и это отражает бит DIO. Когда
микросхема FDC устанавливает бит RQM, чтобы он указывал на
готовность принять данные, программа может посылать команду в
контроллер. В случае опроса состояния дисковода, она выводит в
микросхему FDC два байта команды. Первый байт, 04H, является кодом
операции этой команды. Второй байт сообщает, какой из механизмов
опросить. В течение командной фазы признак DIO всегда показывает,
что микросхема FDC ждет данные, и программа использует бит RQM для
определения момента, когда можно посылать очередной байт данных.
Теперь контроллер переходит в фазу выполнения. В течение этой
фазы контроллер выполняет команду. В данном случае он опрашивает
состояние дисковода. В течение этого времени бит RQM сообщает
программе, чтобы она не использовала порт данных. После завершения
операции признак DIO переключается на 1, сообщая программе, что она
может читать регистр данных. По разрешению RQM программа может
прочитать единственный байт состояния от этой операции. Как только
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий