fix: correction d'un bogue dans l'implémentation de la fonction "verifysector" (inverse)

This commit is contained in:
Nicolas Hordé 2007-03-25 00:13:54 +00:00
parent 1f1e1628b1
commit def6ea675d
1 changed files with 10 additions and 8 deletions

View File

@ -818,6 +818,7 @@ endp getserial
;<- Flag Carry si erreur, Flag Equal si secteurs égaux ;<- Flag Carry si erreur, Flag Equal si secteurs égaux
;======================================= ;=======================================
PROC verifysector FAR PROC verifysector FAR
ARG @sector:word
USES ecx,si,di,ds,es USES ecx,si,di,ds,es
push cs push cs
pop es pop es
@ -825,17 +826,17 @@ PROC verifysector FAR
pop ds pop ds
mov si,offset bufferread mov si,offset bufferread
call readsector,cx,si call readsector,cx,si
call @@inverse call inverse
call writesector,cx,si call writesector,cx,si
jc @@errorverify jc @@errorverify
mov si,offset bufferwrite mov si,offset bufferwrite
call readsector,cx,si call readsector,cx,si
call @@inverse call inverse
jc @@errorverify jc @@errorverify
mov si,offset bufferread mov si,offset bufferread
call @@inverse call inverse
call writesector,cx,si call writesector,cx,si
jc @@errorverify jc @@errorverify
@ -849,18 +850,19 @@ PROC verifysector FAR
@@errorverify: @@errorverify:
ret ret
@@inverse: endp verifysector
push si cx
inverse:
push si cx
xor cx,cx xor cx,cx
@@invert: invert:
not [dword ptr si] not [dword ptr si]
add si,4 add si,4
add cx,4 add cx,4
cmp cx,[cs:myboot.sectorsize] cmp cx,[cs:myboot.sectorsize]
jb @@invert jb invert
pop cx si pop cx si
ret ret
endp verifysector
;=============DecompressRle (Fonction 05H)============== ;=============DecompressRle (Fonction 05H)==============
;decompress ds:si en es:di taille bp dcompress cx compress ;decompress ds:si en es:di taille bp dcompress cx compress