Работа с дискамиРефераты >> Кибернетика >> Работа с дисками
Функцию инициализации контроллера НМД применяют после изменения таблиц параметров жесткого диска. Функции BIOS "узнают" о внесенных в таблицы изменениях и инициализируют соответствующим образом контроллер НМД.
5.10 Чтение секторов длинное (НМД).
На входе: |
AH |
0Ah |
AL |
Количество секторов, которые нужно прочитать | |
CH |
Номер дорожки | |
CL |
Номер сектора | |
DH |
Номер головки | |
DL |
Адрес НМД (80h, 81h, .) | |
ES:BX |
Адрес буфера для данных | |
На выходе: |
AH |
Состояние устройства после завершения последней операции |
CF |
1, если произошла ошибка, 0, если ошибки нет | |
Примечание: |
PC, XT, AT, PS/2 |
Функция "Чтение секторов длинное" отличается от обычной функции чтения (с кодом 02h) тем, что она дополнительно считывает в буфер данных 4 байта кода коррекции ошибки (ECC).
5.11 Поиск дорожки (НМД).
На входе: |
AH |
0Ch |
CH |
Номер дорожки | |
CL |
Номер сектора | |
DH |
Номер головки | |
DL |
Адрес НМД (80h, 81h, .) | |
На выходе: |
AH |
Состояние устройства после завершения последней операции |
CF |
1, если произошла ошибка, 0, если ошибки нет | |
Примечание: |
PC, XT, AT, PS/2 |
С помощью функции 0Ch программа может подвести головки к дорожке с заданным номером. Функции чтения и записи секторов не требуют предварительного поиска дорожки, они выполняют поиск самостоятельно.
5.12 Альтернативный сброс НМД.
На входе: |
AH |
0Dh |
DL |
Адрес НМД (80h, 81h, .) | |
На выходе: |
AH |
Состояние устройства после завершения последней операции |
CF |
1, если произошла ошибка, 0, если ошибки нет | |
Примечание: |
PC, XT, AT, PS/2 |
Вы можете использовать эту функцию для сброса контроллера вместо функции с кодом 00h. В отличие от функции сброса дисковой системы с кодом 00h, эта функция не влияет на контроллер НГМД, она сбрасывает только контроллер накопителя на жестком магнитном диске.
5.13 Чтение буфера сектора (НМД).
На входе: |
AH |
0Eh |
ES:BX |
Адрес буфера для данных | |
DL |
Адрес НМД (80h, 81h, .) | |
На выходе: |
AH |
Состояние устройства после завершения последней операции |
CF |
1, если произошла ошибка, 0, если ошибки нет | |
Примечание: |
PC, XT |
Контроллеры НМД, как правило, имеют внутренний буфер данных. С помощью функции 0Eh программа может прочитать содержимое этого буфера в оперативную память. Обращение к диску при этом не происходит. Функция чтения буфера используется в основном для диагностики контроллера.
5.14 Запись буфера сектора (НМД).
На входе: |
AH |
0Fh |
ES:BX |
Адрес буфера для данных | |
DL |
Адрес НМД (80h, 81h, .) | |
На выходе: |
AH |
Состояние устройства после завершения последней операции |
CF |
1, если произошла ошибка, 0, если ошибки нет | |
Примечание: |
PC, XT |