DL — номер диска;
ES'.BX — адрес буфера.
Функции $ОА и $ОВ отличаются от функций $02 и $03 только тем, что дополнительно считывается (записывается) 4—байтный код циклического контроля (CRC), используемый для контроля и коррекции данных.
Позиционировать головки на нужный цилиндр
Вход: АН = $ОС;
СХ — цилиндр/сектор;
DH — номер головки;
DL — номер диска.
С помощью функции $ОС программа может установить головки диска на нужную дорожку. Замечу, что функции чтения и записи данных не требуют предварительного позиционирования головок — они делают это самостоятельно.
Сбросить контроллер диска
Вход: АН = $OD
DL — номер диска
Если программе необходимо сбросить только контроллер ЖД, она может вызвать функцию $OD прерывания $13. В отличие от этого описанная ранее функция 0 сбрасывает все контроллеры, в том числе и контроллер ГД.
Читать/записать буфер сектора
Вход: АН = $ОЕ — читать буфер;
= $OF — записать буфер;
AL — количество читаемых/записываемых секторов;
СХ — цилиндр/сектор;
DH — номер головки;
DL — номер диска;
ES'.BX - адрес буфера.
Контроллеры ЖД в компьютерах PC и XT содержат внутренний буфер данных. Функция $ОЕ читает данные из этого буфера, а функция $ОР записывает данные в буфер контроллера, физического обращения к диску ни в том, ни в другом случае не происходит.
Получить состояние дисковода жесткого диска
Вход: АН = $10;
DL — номер диска.
О готовности диска можно судить по значению байта состояния, возвращаемого в регистре АН. Это значение совпадает с байтом состояния функции $01.