[C con Clase] absread

Programante programante en gmail.com
Mie Mar 17 19:07:32 CET 2010


El 17/03/10 14:34, Adolfo Cárdenas escribió:
> Hola lista. Que tal.
>   Utilizo el dev c++ para window
>   ¿Me podrían enviar la función absread (leer sectores del disco), si 
> alguien la tiene,
>   o la solución de mi función?
>  No se si está bien la sintaxis:
>
> char buffer[513]
> void miabsread()
> {
>  x = px;y=py;color=(byte)pcolor;
>  asm (".intel_syntax noprefix\n"
>       "mov ah,2 \n"//Función leer sectores
>       "mov al,1 \n" //numero de sectores
>       "mov ch,0 \n" //pista
>       "mov cl,1 \n" //sector inical 1-x
>       "mov dh,0 \n" //cara 0-1
>       "mov dl,0x80 \n"//unidad
>       "mov ax,ds \n"//o lds bx, buffer?
>       "mov es,ax\n"
>       "lea bx,buffer\n" //ESTA PARTE ERSTA DUDOSA
>       "int 0x13\n"
>   ".att_syntax");
> }
> //----------------------------------------
> Gracias.
¿En qué versión de Windows estás trabajando?
Las llamadas a la bios con int 13h no creo que funcionen bajo 32 bits.
Un acceso directo al disco en ensamblador funcionaría en Windows 95/98/ME
pero en la familia de Windows NT no se permite. Tienes que usar 
CreateFile del
volumen de disco (CreateFile("\\\\C:", ... ) por ejemplo).
Y desde Windows Vista ya ni eso, está bloqueado "para mayor seguridad".








Más información sobre la lista de distribución Cconclase