fix: correction d'un bogue dans la fonction verifysector et prise en compte du flag equal a la sortie du pilote
This commit is contained in:
parent
4a8effdfde
commit
2dbdb9c4c8
|
@ -36,15 +36,23 @@ noerrorint:
|
||||||
itsok:
|
itsok:
|
||||||
push bp
|
push bp
|
||||||
mov bp,sp ;On prend sp dans bp pour adresser la pile
|
mov bp,sp ;On prend sp dans bp pour adresser la pile
|
||||||
|
pushf
|
||||||
jnc noerror ;La fonction appelée a renvoyer une erreur : Flag CARRY ?
|
jnc noerror ;La fonction appelée a renvoyer une erreur : Flag CARRY ?
|
||||||
or byte ptr [bp+6],1b;Si oui on le retranscrit sur le registre FLAG qui sera dépilé lors du IRET
|
or byte ptr [bp+6],1b;Si oui on le retranscrit sur le registre FLAG qui sera dépilé lors du IRET
|
||||||
;xor eax,eax
|
;xor eax,eax
|
||||||
;mov ax,cs ;On récupère le segment et l'offset puis en renvoie l'adresse physique
|
;mov ax,cs ;On récupère le segment et l'offset puis en renvoie l'adresse physique
|
||||||
;shl eax,4 ;de l'erreur.
|
;shl eax,4 ;de l'erreur.
|
||||||
;add ax,cs:current
|
;add ax,cs:current
|
||||||
jmp endofint ;on termine l'int
|
jmp endofscan ;on termine l'int
|
||||||
noerror:
|
noerror:
|
||||||
and byte ptr [bp+6],0FEh;Si pas d'erreur on efface le Bit CARRY du FLAG qui sera dépilé lors du IRET
|
and byte ptr [bp+6],0FEh;Si pas d'erreur on efface le Bit CARRY du FLAG qui sera dépilé lors du IRET
|
||||||
|
endofscan:
|
||||||
|
popf
|
||||||
|
jne noequal
|
||||||
|
or byte ptr [bp+6],1000000b
|
||||||
|
jmp endofint
|
||||||
|
noequal:
|
||||||
|
and byte ptr [bp+6],0BFh
|
||||||
endofint:
|
endofint:
|
||||||
pop bp
|
pop bp
|
||||||
sti ;On réactive les interruptions logiciellement
|
sti ;On réactive les interruptions logiciellement
|
||||||
|
@ -53,7 +61,7 @@ endofint:
|
||||||
current dw 0 ;Mot temporaire qui contient l'adresse de la fonction appelée
|
current dw 0 ;Mot temporaire qui contient l'adresse de la fonction appelée
|
||||||
tables dw readsector
|
tables dw readsector
|
||||||
dw writesector
|
dw writesector
|
||||||
dw verifysector2
|
dw verifysector
|
||||||
dw initdrive
|
dw initdrive
|
||||||
dw loadfile
|
dw loadfile
|
||||||
dw compressrle
|
dw compressrle
|
||||||
|
@ -901,13 +909,6 @@ invert:
|
||||||
pop cx si
|
pop cx si
|
||||||
ret
|
ret
|
||||||
|
|
||||||
VerifySector2:
|
|
||||||
call verifysector
|
|
||||||
jne nook
|
|
||||||
or byte ptr [bp+6],10b
|
|
||||||
nook:
|
|
||||||
ret
|
|
||||||
|
|
||||||
;=============DecompressRle (Fonction 05H)==============
|
;=============DecompressRle (Fonction 05H)==============
|
||||||
;decompress ds:si en es:di taille bp d‚compress‚ cx compress‚
|
;decompress ds:si en es:di taille bp d‚compress‚ cx compress‚
|
||||||
;-> AH=5
|
;-> AH=5
|
||||||
|
|
Loading…
Reference in New Issue