Кодирвоание программы давалось затем:
/*Программа для того чтобы сделать изображение первого трудного диска (0x80) к второму трудному диску (0x81) */
#include<stdio.h>
#include<dos.h>
#include<conio.h>
/* Структура, котор будет использовать getdrivegeometry функция использующ ВНУТРЕННЕ 13H выдвижение, номер 0x48 функции.*/
struct geometry
{
unsigned int size ; /*размер (звонока) буфера */
unsigned int flags ; /* Флаги Информации*/
unsigned long cyl ; /* Количество физических цилиндров на приводе */
unsigned long heads ;/* Количество физических головок на приводе*/
unsigned long spt ; /*Количество физических участков в след*/
unsigned long sectors[2] ; /* Полное количество участков на приводе */
unsigned int bps ; /* Байты В Участок */
} ;
/* Структура формы пакета адреса диска, быть использованным функциями, readabsolutesectors и writeabsolutesectors*/
struct diskaddrpacket
{
char packetsize ; /* Размер пакета, вообще 10H */
char reserved ; /* Reserved (0) */
int blockcount ; /* Количество блоков, котор нужно перенести */
char far *bufferaddress ; /* адрес для того чтобы перенести буфер */
unsigned long blocknumber[2] ; /* Начинать Совершенно Номер Блока */
} ;
|