ется при получении из НЖМД
состояния "Write fault", "Not seek complete", "Drive not ready" или
когда была загружена недействительная команда. Причина ошибки может
быть определена при помощи регистров состояния и ошибки.
Бит 3 - не используется (равен 0).
Бит 4 - ID Not Found - требуемый цилиндр, головка, сектор не
могут быть обнаружены или же произошла ошибка ECC в поле идентифи-
катора.
Бит 5 - не используется (равен 0).
Бит 6 - Uncorrect Data - о /* утилиты резервного копирования */ шибка ECC в поле данных. Устанавлива-
ется в случае некорректируемой ошибки.
Бит 7 - Bad Mark Block - в идентификаторе обнаружена метка де-
фектного сектора.
Регистр предкомпенсации (1F1) использовался для указания номера
цилиндра, с которого необходимо выполнить предкомпенсацию. В совре-
менных моделях НЖМД IDE AT предкомпенсацией управляет сам накопи-
тель, поэтому данный регистр может использоваться для других целей.
Регистр счетчика /* GPS-навигатор */ секторов (1F2) содержит количество секторов для
операции записи или считывания. Значение этого регистра уменьшается
на 1 при обработке каждого сектора. Передача одного сектора проис-
ходит при значении 1, при значении 0 - 256 секторов. Если при вы-
полнении /* asplinux */ мультисекторной передачи произошла ошибка записи или чте-
ния очередного сектора, то передача прекращается и в регистре счет-
чика секторов находиться количество секторов которое осталось после
обнаружен /* dr web */ ия ошибки. При успешном завершении команды содержимое это-
го регистра равно 0.
Регистр номера сектора (1F3) содержит стартовый номер сектора
при операциях чтения записи. После обработки каждого сектора содер-
жимое этого регистра инкрементируется. После выполнения команды в
данном регистре находиться номер последнего обработанного сектора
или номнр сектора, в котором произошла ошибка.
Регистр младшего (1F4) и старшего (1F5) байтов номера цилиндра
определяют /* программа резервного копирования */ номер цилиндра для которого будет выполнятся данная ко-
манда.
Регистр выбора НЖМД / номера головки (1F6) имеет следующий вид:
-------T-------T--------T-------T--------T-------T-------T--------¬
¦ 7 ¦ 6 ¦ 5 ¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦ 0 ¦
+------ /* антивирус панда */ +-------+--------+-------+--------+-------+-------+--------+
¦ 1 ¦ 0 ¦ 1 ¦ DRV ¦ HS3 ¦ HS2 ¦ HS1 ¦ HS0 ¦
L------+-------+--------+-------+--------+-------+-------+---------
Биты 0 - 3 - двоичный код выбранной головки.
Бит 4 - выбор НЖМД, DRV = 0 выбран НЖМД 0,
DRV = 1 выбран НЖМД 1.
Биты 5, 6 - размер сектора:
00 - резерв,
01 - резерв,
10 - 512 байтов/сектор,
11 - резерв.
Бит 7 - резерв.
Регистр состояния (1F7) отображает текущ /* Отказоустойчивые системы */ ее состояние НЖМД IDE
AT. Значение этого регистра обновляется после выполнения каждой ко-
манды. Если установлен бит BSY этого регистра, то любые обращения к
НЖМД запрещены и значения остальных битов регистра состояния не-
действительны. Чтение этого регистра сбрасывает аппаратное прерыва-
ние IRQ14.
Значения битов регистра состояния:
----------------------------------------------------- /* win zip */ -----------------
¦ 7 ¦ 6 ¦ 5 ¦ 4 ¦ 3 ¦ 2 ¦ 1 ¦ 0 ¦
----------------------------------------------------------------------
¦ BSY ¦ DRDY ¦ WFT ¦ DSC ¦ DRQ ¦ CORR ¦ INX ¦ ERR ¦
---------------------------------------------------------- /* avast 4.7 */ ------------
Бит 0 - Error - индицирует, что предыдущая команда закончилась
с ошибкой, и что один или несколько битов установлены в регистре
ошибок. Используется для быстрой проверки успешного завершения ко-
манды. Сбрасывается, когда в регистр команд засылается новая коман-
да.
Бит 1 - Index - этот бит устанавливается в 1 при каждом обороте
магнитного диска. /* офисные программы */
|