Меня интересует такой аспект алгоритма чтения через порты нескольких секторов. Везде в примерах показано как читать один сектор ф-ции 20/24, а как читать несколько секторов этими функциями? Т.е. после каждого принятого сектора необходимо проверять регистр статуса на DRQ=1 и Err? Вот так?: next: ... mov cx,128 rep insd mov dx,1F7h in al,dx test al,Err jnz ATA_ERROR test al,DRQ Jnz next ...
Pavia Спасибо! Так и думал, после принятия очередного сектора проверяем флаги на готовность данных или ошибку!!!! Созрел еще вопрос, в принципе я читал, что базой для статусных регистров режима легаси АТА являются 3F4/374 + 2 также нужно работать и с другими базами? Т.е. у меня база BAR2 = B800, т.е. Статусный нужно читать B802? Я правильно понял?