Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > программирование IDE


Автор: h1t0n 15.9.2005, 23:08
Помогите, пожалуйста
Не понимаю в чем ошибка:

Код

; Çàïðåùàþ ïðåðûâàíèÿ îò óñòðîéñòâà 
mov DX,03F6h 
mov AL,00000010b 
out DX,AL 

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

; Æäó êîãäà óñòðîéñòâî îñâîáîäèòüñÿ 
mov DX,01F7h 
__test_BSY: 
in AL,DX 
and AL,10000000b 
jnz __test_BSY 

; Âûáèðàþ óñòðîéñòâî 
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 

; Çàïèñûâàþ êîä êîìàíäû â ðåãèñòð 
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 


Я перечитал кучу разных статей по этой теме, переписал килобайты кода, а всё равно ничего не получается. Объясните в чем ошибка

Автор: oleg1973 16.9.2005, 10:28
надеюсь вы запускаете это в реал моде процессора и чистом досе?

Автор: SergeCpp 16.9.2005, 12:29
А может у него драйвер 0-ring...

Автор: oleg1973 16.9.2005, 14:18
SergeCpp
сомневаюсь )

Автор: h1t0n 16.9.2005, 14:45
Я это запускал с загрузочной дискеты (на реальном компе и на WMware workstation)

Автор: SergeCpp 16.9.2005, 15:05
на WMware workstation...

sapienti sat...

Автор: Гость_h1t0n 16.9.2005, 21:29
А по конкретней?

Автор: MOP 16.9.2005, 23:16
глянь http://web.archive.org/web/20040119114702/subscribe.ru/archive/comp.soft.prog.osdev/200305/11111344.html...

не совсем то, что тебе нужно... но там есть загрузчик
в принцпе там описан немного другой (но функциональный) подход к тому, что тбе нужно

Автор: h1t0n 18.9.2005, 13:53
Они использую тринадцатый сервис биос, который имеет ограничение 8гб, а мне нужен доступ ко всему пространству диска(127гб)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)