Bonjour...
Je programme sous VC++ 6 et j'ai trouvé sur Internet, la fonction suivante mais elle ne marche pas... Il compile parfaitement mais lors de l'exécution, le code ASM fait tout planter...
Voici la fonction qui doit permettre de un secteur d'une disquette (ce que je veux faire) ou d'un disque et de mettre et de mettre les 512 octets dans mon tableau Buffer : «
int ReadSector(int _Disque, int Tete, int Piste, int Secteur, int Nombre, unsigned char *Buffer)
{
int re = 0;
__asm {
MOV AH,2h
MOV AL, Nombre //Nombre de secteur à lire...
MOV DL, _Disque //Lecteur à lire...
MOV DH, Tete //Tete
MOV CH, Piste //Piste
MOV CL, Secteur //Secteur
MOV BX,DS
MOV ES,BX
MOV BX, word ptr [Buffer]
int 0x13
jc fin
xor AX,AX
fin:
MOV word ptr re,AX
}
return re;
}
»
Voici mon main :
int main()
{
int res; // résultat de la lecture de la disquette
res = ReadSector(0, 0, 0, 1, 1, Buffer);
printf("Resultat : %d\n", res);
return 0;
}
Le programme n'essaye même pas de lire la disquette et il plante en me mettant une erreur mémoire...
HELP ME !!!
Merci d'avance pour votre aide.
Foub