Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.15.59.163] |
|
Сообщ.
#1
,
|
|
|
Есть ли у кого исходники работающий проги для форматирования дискеты. Желательно на С++ или асме. Вот моя например: cseg segment 'code' assume cs:cseg,ds:dseg include macro.mac main proc mov ax,dseg mov ds,ax ; reset controller mov ah,00h int 13h ; mov ah,17h mov al,01h mov dl,00h int 13h ; set media for formating mov ah,18h mov ch,tpd ; track per side mov cl,spt ; sector per track mov dl,0 ; disk num int 13h ; format disk side ;mov cx,40 ;trf: ; set buffer data for formating xor cx,cx mov cl,spt mov bx,0 ; offset of element in 4-th byte structure mov sci,1 ; struct element index mov dx,4 nextel: mov ah,trind mov finf[bx],ah ; track number mov ah,hind mov finf[bx+1],ah ; head number mov ah,sci mov finf[bx+2],ah ; sector index mov ah,bps mov finf[bx+3],ah ; code of sector length mov bx,dx add dx,4 inc sci ; inc sector index loop nextel wrblock finf 32 ; display array wrstr new_str ;format track xor cx,cx mov ch,trind ; track number mov dh,hind ; head number mov dl,0 ; disk number mov ax,ds mov es,ax mov bx,offset finf mov ah,05h int 13h ; exit program ou_p: mov ax,4c00h int 21h main endp cseg ends dseg segment ; vars for filling finf buffer bps db 2 ; byte per sector spt db 8 ; sector per track tpd db 40 ; track per side trind db 0 ; tr index hind db 0 ; head index sci db 0 ; sector index finf db 32 dup ('*') new_str db 10,13,24h dseg ends end main почему- то не работает ??? Не мог ли кто - нить помочь ??? Заранее большое спасибо |
Сообщ.
#2
,
|
|
|
Задай этот вопрос в разделе асма.
|