2004-06-12 23:34:04 +02:00
|
|
|
|
.model tiny
|
|
|
|
|
.386c
|
|
|
|
|
.code
|
2004-11-19 18:23:06 +01:00
|
|
|
|
org 0h
|
2004-06-12 23:34:04 +02:00
|
|
|
|
|
|
|
|
|
|
2004-11-23 21:38:58 +01:00
|
|
|
|
include ..\include\mem.h
|
|
|
|
|
|
2004-06-12 23:34:04 +02:00
|
|
|
|
start:
|
2004-11-23 21:38:58 +01:00
|
|
|
|
header exe <,1,0,,,offset imports,,>
|
|
|
|
|
|
|
|
|
|
realstart:
|
|
|
|
|
mov ah,28h
|
|
|
|
|
int 47h
|
|
|
|
|
push offset msg
|
|
|
|
|
call [print]
|
|
|
|
|
mov bp,1000h
|
|
|
|
|
xor di,di
|
|
|
|
|
xor cx,cx
|
|
|
|
|
xor edx,edx
|
2004-06-12 23:34:04 +02:00
|
|
|
|
VerifAll:
|
2004-11-23 21:38:58 +01:00
|
|
|
|
mov ah,1
|
|
|
|
|
int 16h
|
|
|
|
|
jz nokey
|
|
|
|
|
cmp al,' '
|
|
|
|
|
je enend
|
2004-11-05 02:01:37 +01:00
|
|
|
|
nokey:
|
2004-11-23 21:38:58 +01:00
|
|
|
|
mov dx,di
|
|
|
|
|
push edx
|
|
|
|
|
mov dx,cx
|
|
|
|
|
inc dx
|
|
|
|
|
push edx
|
|
|
|
|
mov ax,cx
|
|
|
|
|
inc ax
|
|
|
|
|
mov si,100
|
|
|
|
|
mul si
|
|
|
|
|
mov si,2880
|
|
|
|
|
div si
|
|
|
|
|
mov dx,ax
|
|
|
|
|
push edx
|
|
|
|
|
push offset msg2
|
|
|
|
|
call [print]
|
|
|
|
|
call gauge
|
|
|
|
|
mov ah,2
|
|
|
|
|
int 48h
|
|
|
|
|
jc errors
|
|
|
|
|
je noprob
|
|
|
|
|
inc di
|
|
|
|
|
noprob:
|
|
|
|
|
inc cx
|
|
|
|
|
cmp cx,2880
|
|
|
|
|
jnz verifall
|
2004-06-12 23:34:04 +02:00
|
|
|
|
enend:
|
2004-11-23 21:38:58 +01:00
|
|
|
|
cmp di,0
|
|
|
|
|
je noatall
|
|
|
|
|
push offset error2
|
|
|
|
|
call [print]
|
|
|
|
|
jmp someof
|
|
|
|
|
noatall:
|
|
|
|
|
push offset noerror
|
|
|
|
|
call [print]
|
|
|
|
|
someof:
|
|
|
|
|
mov ah,0
|
|
|
|
|
int 16h
|
|
|
|
|
mov ah,29h
|
|
|
|
|
int 47H
|
|
|
|
|
retf
|
|
|
|
|
errors:
|
|
|
|
|
push offset error
|
|
|
|
|
call [print]
|
|
|
|
|
mov ah,0
|
|
|
|
|
int 16h
|
|
|
|
|
mov ah,29h
|
|
|
|
|
int 47H
|
|
|
|
|
retf
|
|
|
|
|
|
2004-06-12 23:34:04 +02:00
|
|
|
|
|
|
|
|
|
|
2004-11-23 21:38:58 +01:00
|
|
|
|
error db '\g10,10Erreur avec le lecteur de disquette !',0
|
|
|
|
|
error2 db '\g10,10Le disque est defectueux, appuyez sur une touche pour quitter',0
|
|
|
|
|
noerror db '\g10,10Pas de secteurs defectueux, appuyez sur une touche pour continuer',0
|
|
|
|
|
msg db '\m02\e\c07\g29,00- Test de surface du disque -\g02,49<Pressez espace pour quitter>',0
|
|
|
|
|
msg2 db '\g10,20%u %%\g10,16%u cluster testes. \h34%u cluster defectueux. ',0
|
2004-06-12 23:34:04 +02:00
|
|
|
|
|
|
|
|
|
gauge:
|
2004-11-23 21:38:58 +01:00
|
|
|
|
push ax dx
|
|
|
|
|
mov ax,cx
|
|
|
|
|
mul sizeof
|
|
|
|
|
div max
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov dx,sizeof
|
|
|
|
|
sub dx,ax
|
|
|
|
|
push dx
|
|
|
|
|
push '<27>'
|
|
|
|
|
mov dx,ax
|
|
|
|
|
push dx
|
|
|
|
|
push '<27>'
|
|
|
|
|
push offset gauges
|
|
|
|
|
call [print]
|
|
|
|
|
pop dx ax
|
|
|
|
|
retn
|
|
|
|
|
|
|
|
|
|
max dw 2879
|
|
|
|
|
sizeof dw 50
|
|
|
|
|
|
|
|
|
|
gauges db '\g10,18\c05%cM\c07%cM',0
|
|
|
|
|
|
|
|
|
|
imports:
|
|
|
|
|
db "VIDEO.LIB::print",0
|
|
|
|
|
print dd 0
|
|
|
|
|
dw 0
|
|
|
|
|
|
2004-06-12 23:34:04 +02:00
|
|
|
|
End Start
|