Страница 1 из 1

программирование IDE

Добавлено: 16 сен 2005, 00:08
(GiG)*fh
Помогите, пожалуйста :)
Не понимаю в чем ошибка:

Код: Выделить всё

; Запрещаю прерывания к устройству
mov DX,03F6h
mov AL,00000010b
out DX,AL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Жду когда устройство освободиться (когда флаг BSY станет 0)
mov DX,01F7h
__test_BSY:
in AL,DX
and AL,10000000b
jnz __test_BSY

; Выбираю устройство (Master) и режим адресации (LBA)
mov DX,01F6h
mov AL,11100000b
out DX,AL

; Жду когда устройство освободится и будет готово к приему команд
mov DX,01F7h
__test_BSY_DRDY:
in AL,DX
and AL,10000000b
jnz __test_BSY_DRDY
and AL,01000000b
jz __test_BSY_DRDY

; Передаю команду (0ECh - идентификация)
mov DX,01F7h
mov AL,0ECh
out DX,AL

; Жду когда будет закончена работа и устройство будет готово к обмену данными
mov DX,01F7h
__wait1:
in AL,DX
and AL,10000000b
jnz __wait1
and AL,00001000b
jz __wait1

; читаю данные в видео память
cld
mov AX,0B800h
mov DI,AX
mov DX,01F0h
rep outsw

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; Разрешаю прерывания
mov DX,03F6h
mov AL,00000000b
out DX,AL

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
jmp $
times 512-$ db 00h
Я перечитал кучу разных статей по этой теме, переписал килобайты кода, а всё равно ничего не получается. Объясните в чем ошибка

Добавлено: 22 сен 2005, 19:56
Defder
В какой кодировке коментарии?