La Web del Programador: Comunidad de Programadores
 
    Pregunta:  14789 - CONTROLAR DISKETERA EN ASM DEL 8086
Autor:  waka wakatack
Necesito saber cómo hago para manejar una librería de funciones en asm, que tienen el read y el write, y que escriben y leen un sector del disco floppy, la función format, que formatea las 80 pistas, pero no crea ni fat ni nada, y la función seek.
Tengo que hacer el format, y un sistema de archivos que copie archivos de a: a c:, y viceversa, usando sólo las funciones antes comentadas. Lo tengo que hacer en c, pero yo se de c, lo que no sé es manejar el ensamblador dentro de c. Por ejemplo, cóm se llama una función del ensamblador dentro de c?. Supongamos que tengo un segmento de datos, donde está el buffer donde se guarda el sector leído del disco. ¿Como accedo a esa información desde el c?¿Como se accede al segmeto de datos de la libreria ya creada en ensamblador?
Gracias por la atención

  Respuesta:  Martin Candurra
Decime que compilador estas usando.
podes encontrar una guia de Gcc Inline Assembly aca:

http://lawebdelprogramador.com/temas/enlace.php?idp=2036&id=13&texto=C/Visual+C

  Respuesta:  Wilfredo pérez
Hola colega:

Si lo que deseas es copiar ficheros entre dos discos, puedes utilizar la fnciones de la interrupción 21H del DOS, que están incorporadas en windows, pues con la interrupción 13H, tu mismo debes leer la fat de 12 bits y luego localizar los cluster en le disco, la 21H te ahorra todo esto y copia desde cualquier lugar OK...

Para imitar el format del DOS te recomiendo utilices el diskedit(viene con el NC del norton, no el antivirus) para que veas el formato del boot sector, la fat y el directorio raíz, aunque a partir de la versión 5.0 del DOS, el format no utiliza el servicio para formatear, sino que chequea el estado del CRC de sector y de haber problemas entonces formatea, de lo contrario solo escribe el famoso caracter F8 en cada byte de lso 512 de cada sector, claro esta medidad por sector puede variar...

Sobre C, no programo en él...

Un saludo