SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: juanito20 en Martes 30 de Agosto de 2005, 08:15

Título: Como Puedo Escribir En Sector 0 De A
Publicado por: juanito20 en Martes 30 de Agosto de 2005, 08:15
Como hago para escribir en el boot sector del floppy
Título: Re: Como Puedo Escribir En Sector 0 De A
Publicado por: Eternal Idol en Martes 30 de Agosto de 2005, 08:35
BIOS:
http://www.ctyme.com/intr/rb-0608.htm (http://www.ctyme.com/intr/rb-0608.htm)

MS-DOS:
http://www.ctyme.com/intr/rb-4117.htm (http://www.ctyme.com/intr/rb-4117.htm)

Windows:
http://msdn.microsoft.com/library/default..../createfile.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp)

Fijate bien donde dice Physical Disks and Volumes.

 :smartass:  :ph34r:  :devil:
Título: Re: Como Puedo Escribir En Sector 0 De A
Publicado por: juanito20 en Miércoles 31 de Agosto de 2005, 02:57
hola, gracias por la ayuda, ya se como escribir en el sector 0, averigue sobre una rutina de C llamada biosdisk y hare uso de ella, pero, ahora descubri que lo que debo escribir no es ni un exe ni un com (o almenos eso entiendo), sino un .bin el cual no se como generar con tasm, y ademas el codigo que he hecho no compila asi no mas creo que es porque no tiene la estructura normal de un programa corriente de ensamblador por lo que entiendo que debo traducir directamente a unos y ceros pero no se como, gracias
Título: Re: Como Puedo Escribir En Sector 0 De A
Publicado por: Eternal Idol en Miércoles 31 de Agosto de 2005, 07:34
Cita de: "juanito20"
hola, gracias por la ayuda, ya se como escribir en el sector 0, averigue sobre una rutina de C llamada biosdisk y hare uso de ella, pero, ahora descubri que lo que debo escribir no es ni un exe ni un com (o almenos eso entiendo), sino un .bin el cual no se como generar con tasm, y ademas el codigo que he hecho no compila asi no mas creo que es porque no tiene la estructura normal de un programa corriente de ensamblador por lo que entiendo que debo traducir directamente a unos y ceros pero no se como, gracias
Por partes:

biosdisk no es de C, es de un compilador de Borland, NO TE RECOMIENDO que uses eso sino alguna de las alternativas descriptas arriba, son las maneras correctas de hacerlo.

exe no podes usar porque tiene cabecera y el codigo del boot sector tiene que ser eso simplemente codigo. COM podes usar tranquilamente al ser un formato sin cabeceras, codigo puro. BIN es simplemente codigo en hexadecimal, no existe nada que sea binario en archivos, la minima unidad de datos es el byte, despues el micro (creo) lo interpretara en binario.
En resumen si haces un .COM con su org a 07C00h lo podes usar en el primer sector del diskette.