La Web del Programador: Comunidad de Programadores
 
    Pregunta:  48574 - ESTADISTICAS DE DISKETE
Autor:  Javier Alejandro Yàñez Portero
Saludos:
quisiera preguntar como en lenguaje ensamblador puedo obtener los datos de un diskete como los que arroja el scandisk de windows;
clusteres sin llenar totalmente y ademas la cantidad de los que estan llenos, cuantos estan en mal estado, espacio total, utilizado en subdirectorios y directorios, directorio raiz.

gracias

  Respuesta:  marianne Licea Fonseca
para lo que quieres se utiliza el servicio 36h de la int 21h, el cual presenta los siguientes parámetros de Entrada y de salida:
Entrada ------- AH: 36h
DL: Codigo de Unidad --> 0 – Unidad Actual,
1 – Unidad A (Disco 3½),
2 – Unidad B,
3 – Unidad C, Etc.
Salida -------- AX: 65535: si el dispositivo no existe,
sino (dispositivo existe),
-------- AX: cantidad de sectores por clúster.
BX: Clústers disponibles.
CX: Bytes por sector.
DX: Total de clústers en el disco

Ejemplo de código (calcular el espacio libre del floppy en KB):

MOV AH,36h
MOV DL,1 ; Código de dispositivo o unidad en este caso A:
INT 21H
JC error ; preguntar si hubo error, de lo contrario
MUL CX ; Se calcula espacio libre en KB por variante(ax*bx*cx)/1024
MUL BX
MOV CX,1024
DIV CX ;En AX se obtiene el espacio libre en KB

  Respuesta:  marianne Licea Fonseca
Disculpa, no leí tu pregunta hasta el final. Creo que debes primeramente conocer la estructura lógica del diskete, yo te puedo enviar esa información pero no creo que pueda ser por esta vía, si quieres me mandas tu dirección de correo y te lo envío después. Puede ser que me demore un poquito pero será..
Saludos