[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