Прерывание BIOS  : Информатика - на REFLIST.RU

Прерывание BIOS : Информатика - на REFLIST.RU

Система поиска www.RefList.ru позволяет искать по собственной базе из 9 тысяч рефератов, курсовых, дипломов, а также по другим рефератным и студенческим сайтам.
Общее число документов более 50 тысяч .

рефераты, курсовые, дипломы главная
рефераты, курсовые, дипломы поиск
запомнить сайт
добавить в избранное
книжная витрина
пишите нам
  Ссылки:
Тунис из Челябинска
Список категорий документа Информатика
Прерывание BIOS

Прерывание BIOS

дисковая функция ввод вывод, комп-ры, Прерывание BIOS, функция, дисковая, вывод, ввод, Программирование и комп-ры, Программирование, BIOS, Прерывание Ключевые слова
страницы: 1  2 
Текущая страница: 1


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
г5T4T3T2T1T0T9T8T7T6T5T4T3T2T1T0¬
CX: ¦c c c c c c c c C c S s s s s s¦
L-+-+-+-+-+-+-+-¦-+-+-+-+-+-+-+--
L=¦===> исп. как старшие биты номера цилиндра

___ ____________________________________________________________________________
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 = максим. номер сектора (и старшие биты макс. номера цилиндра)
___ ____________________________________________________________________________
09H _AT_ Инициализировать параметры диска. Сообщает BIOS о любом динамическом изменении таблиц параметров устройства.
Вход: Векторы для INT 41H и INT 46H адресуют Табл. параметров тв. диска соответственно для устройств 0 и 1.
Замечание: _XT_ должен указывать обе таблицы через вектор INT 40H.
___ ____________________________________________________________________________
0aH _AT_ _XT_ Чтение длинное: 512 байт + 4-байтоый ECC (код коррекции ошибок).



Текущая страница: 1

страницы: 1  2 
Список предметов Предмет: Информатика
Прерывание BIOS Тема: Прерывание BIOS
дисковая функция ввод вывод, комп-ры, Прерывание BIOS, функция, дисковая, вывод, ввод, Программирование и комп-ры, Программирование, BIOS, Прерывание Ключевые слова: дисковая функция ввод вывод, комп-ры, Прерывание BIOS, функция, дисковая, вывод, ввод, Программирование и комп-ры, Программирование, BIOS, Прерывание
   Книги:


Copyright c 2003 REFLIST.RU
All right reserved. liveinternet.ru

поиск рефератов запомнить сайт добавить в избранное пишите нам