Assembler для начинающих



              

Области данных драйвера BIOS дискеты


    Области данных дискового драйвера BIOS начинаются у смещения 3EH в
    сегменте DATA.  Первые четыре байта поля данных хранят информацию
    состояния дисководов между операциями.  Семибайтовый буфер с именем
    NEC_STATUS хранит информацию о состоянии контроллера, возвращаемую
    контроллером дисководов фирмы NEC после операций чтения и записи.
    Как видно из управляющих программ, этот буфер позволяет BIOS
    расшифровывать любую ошибку и предоставлять все ошибки в виде
    простого набора кодов ошибок.  Эти коды ошибок программа BIOS
    помещает в байт с именем DISKETTE_STATUS, одновременно возвращая
    его в вызывающую программу в регистре AH после выполнения операций
    ввода-вывода.  Операторы ассемблера после имени DISKETTE_STATUS
    перечисляют все коды ошибок, которые может получить вызывающая
    программа.
 
      Контроллер дисковода фирмы NEC знает положение головки
    чтения-записи в каждом из четырех дисководов, которые он может
    обслуживать. Но для этого контроллер должен войти в синхронизацию с
    этими механизмами до того, как он начнет точно отслеживать текущее
    положение головок; синхронизация нужна потому, что после включения
    питания или после сброса контроллер фирмы NEC не знает, где
    находятся головки. Байт SEEK_STATUS использует младшие 4 бита, по
    одному биту на механизм, чтобы указать, известно ли контроллеру
    текущее положение головок или нет. Когда BIOS посылает сигнал
    сброса в контроллер, он заносит нуль в этот байт. Перед каждой
    операцией обмена данными с дисководами BIOS проверяет этот байт
    установки. Если содержимое бита, соответствующего механизму, с
    которым идет работа, равно 0, BIOS посылает команду рекалибровки
    перед командой установки. На этапе рекалибровки головка
    чтения-записи устанавливается на дорожку 0, и теперь контроллер и
    механизм согласованы в смысле положения головки. Все последующие
    операции установки делаются без предварительной рекалибровки.
 



Содержание  Назад  Вперед