Реферат: Прерывание BIOS
![](/file/7d5aacc146456be8f3642.jpg)
⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻
Этот сервис предоставляет прямой доступ к адаптерам дискеты и твердого диска.
Рекомендуется там, где это возможно, использовать INT 25H
и INT 26H
( INT 25H/26H
– прямая дисковая операция чтения/записи:
INT 26H
записывает секторы), чтобы предоставить драйверам устройств DOS выполнять всю низкоуровневую обработку. Разумеется, для таких операций, как форматирование диска или установка защиты от копирования, прерывание INT 13H может оказаться единственной альтернативой.
(Подфункции > 8 - только для твердых дисков)
00H
сброс контроллера 0aH
длинное чтение
02H
читать секторы 0cH
искать цилиндр
03H
писать секторы 0dH
альтернативный сброс
09H
инициализировать параметры диска
___ ____________________________________________________________________________
00H
Сброс устройства. Вызывает рекалибрацию контроллера.
Если DL равен 80H или 81H, выполнен сброс контроллера твердого диска.
___ ____________________________________________________________________________
01H
Дать статус ошибки последней операции.
Вход: DL = диск. DL < 80H = дискета; DL > 7FH = твердый диск
Выход: AL содержит код ошибки диска
(то же, что значение по адресу 0:0441)
___ ____________________________________________________________________________
Вход: DL = номер диска (0=диск A...;80H=твердый диск 0;81H=твердый диск 1)
CH = номер дорожки (цилиндра)(0-n) ◄╗
CL = номер сектора (1-n) ◄══════╩═ См. замечание ниже.
AL = число секторов (в сумме не больше чем один цилиндр)
ES:BX => адрес буфера вызывающей программы
0:0078 => Таблица параметров дискеты (для гибких дисков)
0:0104 => Таблица параметров твердого диска (для твердых дисков)
Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.
ES:BX буфер содержит данные, прочитанные с диска
Замечание:
на сектор и цилиндр отводится соответственно 6 и 10 бит:
CX: ║c c c c c c c c C c S s s s s s║
╚═╩═══► исп. как старшие биты номера цилиндра
___ ____________________________________________________________________________
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 = число тв. дисков на первом контроллере
CH = максимальный номер цилиндра (младшие 8 бит)
CL = максим. номер сектора (и старшие биты макс. номера цилиндра)
___ ____________________________________________________________________________
09H
_AT_ Инициализировать параметры диска. Сообщает BIOS о любом динамическом изменении таблиц параметров устройства.
Вход: Векторы для INT 41H и INT 46H адресуют Табл. параметров тв. диска соответственно для устройств 0 и 1.
Замечание:
_XT_ должен указывать обе таблицы через вектор INT 40H.
___ ____________________________________________________________________________
0aH
_AT_ _XT_ Чтение длинное: 512 байт + 4-байтоый ECC (код коррекции ошибок).
Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.
ES:BX => в буфере (данные сектора + 4 байта) * число секторов (из AL)
___ ____________________________________________________________________________
0bH
_AT_ _XT_ Запись длинная. Пишет 512 байт + 4-байтовый ECC.
ES:BX => буфер содержит данные сектора + 4 байта на каждый сектор
Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.
___ ____________________________________________________________________________
0cH
_AT_ _XT_ Искать цилиндр. Перемещает головку к нужной дорожке.
Вход: DL,DH,CH = диск, головка, дорожка (см. подф. 02H)
Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.
___ ____________________________________________________________________________
0dH
_AT_ _XT_ Альтернативный сброс устройства
___ ____________________________________________________________________________
Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.
___ ____________________________________________________________________________
Выход: Carry-флаг=1 при ошибке и код ошибки диска в AH.
___ ____________________________________________________________________________
10H
_AT_ _XT_ проверить готовность устройства
Выход: код ошибки диска (статус) в AH.
___ ____________________________________________________________________________
11H
_AT_ _XT_ Рекалибровать устройство
Выход: код ошибки диска (статус) в AH.
___ ____________________________________________________________________________
12H
_AT_ Диагностика RAM контроллера
Выход: код ошибки диска (статус) в AH.
___ ____________________________________________________________________________
Выход: код ошибки диска (статус) в AH.
___ ____________________________________________________________________________
14H
_AT_ _XT_ Внутренняя диагностика контроллера
Выход: код ошибки диска (статус) в AH.
___ ____________________________________________________________________________
15H
_AT_ Читать тип диска (недоступна в XT BIOS)
1 = дискета; логика замены диска отсутствует
2 = дискета; логика замены диска доступна (большинство случаев)
___ ____________________________________________________________________________
16H
_AT_ Читать статус замены диска
6 = замена активна (открыта дисковая дверь);
___ ____________________________________________________________________________
17H
_AT_ установить тип дискеты (используется перед операцией форматирования)
Вход: DL = номер устройства диска (0 или 1)
INT 13H возвращает Carry-флаг (CF=1), если произошла ошибка. При этом в регистр
AH помещается один из приведенных ниже кодов ошибок. Эти же значения могут быть
возвращены при запросе состояния диска (подфункция 00H).
Замечание:
при ошибке рекомендуется сброс подфункцией 00H и повторить 3 раза.
____ __________________________________________________________________________
00H
последняя операция выполнена без ошибок
01H
плохая команда: неверный запрос к контроллеру
03H
защита записи: попытка записи на защищенную дискету
04H
ID сектора запорчен или не найден.
09H
перекрытие DMA: попытка записи через 64K-байтовую границу.
0bH
встретился флаг плохой дорожки -- _AT_
10H
сбой CRC: несовпадение контрольной суммы данных.
11H
данные исправлены; исправимая ошибка; исправлено алгоритмом ECC -- _AT_
40H
неудачный поиск. Запрошенная дорожка не найдена
80H
Таймаут. Устройство не ответило
0ffH
сбой операции опроса (sense) -- _AT_
_AT_
...... обозначает IBM AT или совместимый; базируется на 80286 CPU
_XT_
...... обозначает XT (обычно ссылается на отличия в BIOS твердого диска)
Название: Прерывание BIOS
Раздел: Рефераты по информатике, программированию
Тип: реферат
Добавлен 15:24:00 06 августа 2005 Похожие работы
Просмотров: 262
Комментариев: 19
Оценило: 6 человек
Средний балл: 4
Оценка: 4 Скачать
Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Если Вам нужна помощь с учебными работами, ну или будет нужна в будущем (курсовая, дипломная, отчет по практике, контрольная, РГР, решение задач, онлайн-помощь на экзамене или "любая другая" учебная работа...) - обращайтесь: https://clck.ru/P8YFs - (просто скопируйте этот адрес и вставьте в браузер) Сделаем все качественно и в самые короткие сроки + бесплатные доработки до самой сдачи/защиты! Предоставим все необходимые гарантии.
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.
Реферат: Прерывание BIOS
Реферат: MicroBrewery Business Plan Essay Research Paper MicroBrewery
Реферат: Астрахань в годы ВОВ. Скачать бесплатно и без регистрации
Курсовая работа по теме Анализ программы по физической культуре
Мини Сочинение Каким Я Представляю Грибоедова
Реферат: Fibre Optics Essay Research Paper The Properties
Сочинение По Тексту Строганова
Лекция На Тему Основы Рекламы
Курсовая работа по теме Учет основных средств предприятия
Контрольная работа по теме Кто пчеле рад, тот будет богат
Контрольная работа по теме Семь инструментов контроля качества
Дипломная работа по теме Характеристика физиологического и речевого дыхания у детей дошкольного возраста с дизартрией
Курсовая работа по теме Установка и конфигурирование web-сервера на OC ALT Linux Server 5
Операции Над Векторами Курсовая
Контрольная Работа Егэ По Математике
Реферат: Познание собственного тела, его чувственных и половых потребностей. Скачать бесплатно и без регистрации
Сочинение Про Друга Артема
Реферат: Театр и литература эпохи ренессанса
Решение Лабораторных Работ По Информатике
Курсовая работа по теме Анализ международной торговли Российской Федерации с Республикой Куба и Республикой Польша
Реферат: Геостратегическая политика Китая
Реферат: Чорновил Вячеслав Максимович (24.12.1937 – 25.03.1999)
Реферат: Доступ к экологической информации: права и возможности
Реферат: Понятие и основные методы исследовательской фотографии