MegaCraZy6
@MegaCraZy6
Юзерь

Как сделать программу которая форматирует HDD ( Помощь с разбором ошибки )?

Пишу программу для форматирования HDD, только средства биос, решил делать так
- Проверить сколько головок и секторов на HDD ( Тут и зависает... ), 08h,13h
- Цикл:
- Добавлять по 1, к дорожке
- Если дорожки закончатся следующая головка тоже, 1 к головке, обнюляю дорожку
- Форматирую через 05h,int 13h
- Цикл снова

Ну и код
#make_boot#

org 7c00h 
use16

jmp start   

start_p:
mov ah,14
xor bl,bl
mov bx,run
call puts 
ret


quit:
mov ah,0
int 16h 
int 19h

puts:
mov al,[bx]
test al,al
jz quit
inc bx
int 10h
jmp puts

end1:
mov ah,14
xor bl,bl
mov bx,finish
call puts


formate:
mov dl,80h
mov ah,05h
int 13h
ret

new_head:
mov dh,[a]
inc dh
mov [a],dh 
mov ch,0
jmp p0     


start:  
call start_p   
mov dl,80h
mov ah,08h
int 13h Зависает где-то тут ошибка возможно то что не нашло HDD хотя он есть и, код с таким же 80h но чтение работает
mov al,'>'
mov ah,0x0E
mov bh,0
int 10h
push bx
push cx
mov [a],dh
mov [b],ch
mov dl,0
mov ch,0
p0:          
push dx
push cx
call formate
inc ch
mov ah,[b]
cmp ch,ah
jz new_head 
mov ah,[a]  
cmp bh,ah
jz end1
pop cx
pop dx
jmp p0


  

finish db 0Ah,0Dh,'HDD formated',0Ah,0Dh,0
run    db 0Ah,0Dh,'For start formate HDD press any key',0Ah,0Dh,0
a db 255
b db 255      
INT 19h
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы