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.