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