BigEdu.ru

Прерывание BIOS

INT 13H: Дисковый ввод-вывод

Этот сервис предоставляет прямой доступ к адаптерам дискеты и твердого диска.

Рекомендуется там, где это возможно, использовать INT 25H и INT 26H (INT 25H/26H – прямая дисковая операция чтения/записи:

INT 25H читает секторы

INT 26H записывает секторы), чтобы предоставить драйверам устройств DOS выполнять всю низкоуровневую обработку. Разумеется, для таких операций, как форматирование диска или установка защиты от копирования, прерывание INT 13H может оказаться единственной альтернативой.

Подфункции:

(Подфункции > 8 - только для твердых дисков)

00H сброс контроллера 0aH длинное чтение

01H дать статус 0bH длинная запись

02H читать секторы 0cH искать цилиндр

03H писать секторы 0dH альтернативный сброс

04H верификация

05H форматировать дорожку

08H дать параметры диска

09H инициализировать параметры диска

10H проверить готовность

11H рекалибрация

14H диагностика

15H дать тип диска

16H изменить статус

17H установить тип диска

AH Сервис

___ ____________________________________________________________________________

00H Сброс устройства. Вызывает рекалибрацию контроллера.

Если DL равен 80H или 81H, выполнен сброс контроллера твердого диска.

___ ____________________________________________________________________________

01H Дать статус ошибки последней операции.

Вход: DL = диск. DL < 80H = дискета; DL > 7FH = твердый диск

Выход: AL содержит код ошибки диска (то же, что значение по адресу 0:0441)

___ ____________________________________________________________________________

02H Читать секторы

Вход: DL = номер диска (0=диск A...;80H=твердый диск 0;81H=твердый диск 1)

DH = номер головки чтения/записи

CH = номер дорожки (цилиндра)(0-n) ◄╗

CL = номер сектора (1-n) ◄══════╩═ См. замечание ниже.

AL = число секторов (в сумме не больше чем один цилиндр)

ES:BX => адрес буфера вызывающей программы

0:0078 => Таблица параметров дискеты (для гибких дисков)

0:0104 => Таблица параметров твердого диска (для твердых дисков)

Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.

ES:BX буфер содержит данные, прочитанные с диска

Замечание: на сектор и цилиндр отводится соответственно 6 и 10 бит:

1 1 1 1 1 1

╓5┬4┬3┬2┬1┬0┬9┬8╥7┬6┬5┬4┬3┬2┬1┬0╗

CX: ║c c c c c c c c C c S s s s s s║

╚-┴-┴-┴-┴-┴-┴-┴-╨-┴-┴-┴-┴-┴-┴-┴-╝

╚═╩═══► исп. как старшие биты номера цилиндра

___ ____________________________________________________________________________

03H Писать секторы

Вход: (аналогично подфункции 02H)

ES:BX => данные, записываемые на диск.

Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.

___ ____________________________________________________________________________

04H Проверить секторы. Проверяет CRC для указанных секторов на ошибки.

Вход: (аналогично подфункция 02H. ES:BX лучше также предоставить)

Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.

___ ____________________________________________________________________________

05H Форматировать дорожку. Данные на дорожке, если есть, разрушаются.

Вход: DL,DH,CH = диск, головка, дорожка (см. подф. 02H)

ES:BX => дескрипторы секторов (требуется 512-байтовый буфер)

дискета: 1 4-байтовый 'CHNS' (Цилиндр, Головка, N сектора, Размер) для каждого сектора на дорожке (т.е. 36 байт для 9-секторных дорожек); номера секторов д.б. упорядочены.

'Z' - код размера сектора: 0=128; 1=256; 2=512; 3=1024

_AT_ Твердый диск: 1 2-байтовый 'FN' (Флаг, N сектора) для каждого сектора на дорожке. Последовательность полей 'N' определяет "коэффициент прослаивания" ("interleave factor").

_XT_ Твердый диск: ES:BX не используется. Вместо этого AL содержит значение "прослаивания" между 1 и 16 (10H).

Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.

(твердый диск: 'F'-поля установлены в 80H, чтобы пометить плохие секторы)

___ ____________________________________________________________________________

08H _AT_ _XT_ Дать параметры диска. Возвращает информацию об устройстве.

Вход: DL = диск

Выход: DL = число тв. дисков на первом контроллере

DH = максимальный номер головки

CH = максимальный номер цилиндра (младшие 8 бит)

CL = максим.

Внимание, отключите Adblock

Вы посетили наш сайт со включенным блокировщиком рекламы!
Ссылка для скачивания станет доступной сразу после отключения Adblock!

Скачать
Рефераты по информатике и программированию INT 13H: Дисковый ввод-вывод Этот сервис предоставляет прямой доступ к адаптерам дискеты и твердого диска. Рекомендуется там, где это
Оценок: 1004 (Средняя 5 из 5)

Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.

© 2016 - 2022 BigEdu.ru