Comentarios sobre la codificación del programa:
En esta codificación del programa, estamos procediendo básicamente a realizar el siguiente estas tareas gradualmente:
- El dbuf estático del almacenador intermediario de los datos de carácter [512] se proporciona la información de 512 octetos en el sistema hexadecimal, que debe ser escrito en el primer sector de disco blando ilegible. el dbuf [512] dice la computadora durante la operación que qué información debe ser escrita en el primer sector de disco blando. (Véase el programa siguiente)
- el dinfo señala a la estructura del diskinfo_t que contiene la información de los parámetros requeridos por la operación realizada por la función del _bios_disk.
- Pues vamos a escribir la información en el primer sector del disco por lo tanto la localización del sector será como sigue:
Parámetro |
Qué significa |
dinfo.drive = 0x00 |
Indica la impulsión 0 que es la impulsión de diskette (a:) |
dinfo.head = 0 |
Señala al número principal 0 |
dinfo.track = 0 |
Señala a la pista 0 |
dinfo.sector = 1 |
Primer sector del disco blando que es el sector 1 |
dinfo.sector = 1 |
El número de los sectores a considerar para escribe la operación = 1 |
dinfo.buffer = dbuf |
Los datos protegen para la operación |
- Inicializar el sistema de disco usando la interrupción 13H (función 00h) donde regs.h.ah = 0x00 señala a la función 00 H y regs.h.dl = 0x00 se utiliza para a: flojo. E int86 (0x13, ®s, ®s) invoca el servicio 13 INTERNOS H. de la interrupción del MS-DOS.
- el _bios_disk (_DISK_WRITE, &dinfo) escribe la información del cargador del archivo especificado al primer sector (especificado) de la diskette.
El estado vuelto se almacena en el resultado que se utiliza para exhibir el mensaje para la operación acertada o para exhibir un mensaje de error en la pantalla si ocurre cualquier error.
Almacenar la imagen del cargador en caracteres HEXADECIMALES para utilizar en nuestro programa anterior
Será un trabajo muy difícil escribir a los 512 los caracteres del expediente del cargador del DOS del disco blando manualmente en sistema hexadecimal sin ningún error en el programa que discutimos recientemente. Si podemos escribirlo exactamente para igualar que será un difícil y un rato que toma tarea de hacer esto. Utilicemos una cierta mente difícil para almacenar los datos para el dbuf del almacenador intermediario de los datos [512] en un archivo.
Sabemos que en la programación de C los caracteres hexadecimales están representados con 0x tales que si el carácter hexadecimal es A9 H, escribiremos esto en nuestro programa de C como 0xA9. Nuestro programa siguiente está haciendo igual. Almacenará los datos que necesitamos escribir en nuestro programa anterior, pues los datos de datos protegen el dbuf [512].
|