MS-DOS для программиста

         

Примеры использования функций BIOS


Только что мы привели функции BIOS, предназначенные для работы с диском на физическом уровне. Когда и как ими пользоваться?

Доступ к диску на физическом уровне может потребоваться для чтения отдельных секторов диска, расположенных в фиксированных (или известных) местах диска - таблицы разделов диска, каталогов и т. п. С помощью функций BIOS можно выполнить низкоуровневое форматирование диска, как стандартное, так и использующее нестандартный формат дорожки. Последняя операция часто применяется для создания установочных (инсталляционных) дискет, защищенных от несанкционированного копирования.

В любом случае при записи информации в секторы следует внимательно анализировать работу программы - ошибки могут привести к разрушению логической структуры диска. В результате этого могут появиться потерянные каталоги и файлы. Все опасные эксперименты лучше проводить на дискетах, и только когда вы уверены в безошибочной работе программы, можно "допустить" ее к жесткому диску.

Если в компьютере установлен НГМД с высокой плотностью записи, перед началом работы с дискетами двойной плотности записи (360 и 720 Кбайт) вам надо правильно установить скорость передачи данных через контроллер НГМД. Лучше всего это сделать функцией 17h прерывания INT 13h , указав правильный тип дискеты.

Не следует забывать о задержке, необходимой для разгона двигателя НГМД до рабочей скорости. Некоторые функции BIOS могут вернуть признак ошибки, если к моменту их вызова двигатель не набрал нужной скорости. Если вы получили признак ошибки, вначале следует три раза повторить вызов функции, сбрасывая каждый раз перед этим контроллер НГМД функцией 0 прерывания INT 13h . Если и после этого ошибка не исчезла, следует провести ее углубленный анализ.

Приведем примеры использования функций прерывания INT 13h для работы с НГМД.



Содержание раздела