Комментарии на кодирвоании:
Функция Display_Information должна прочитать данные по архива и директории и от директории корня. В структуре мы читаем данные по 32 байт для каждого архива или директорию с root[32 ].
Unsigned интежер одевает name[8 ] и ext[3 ] для архива или названия директории для dos в (8 ставят точки 3) форме 8.3. Подобно один байт для атрибута и 2 байт для начиная размера группы длиной unsigned внутренне; хранить размер архива 4 байт.
_ функция bios_disk читает участок, определенный finfo структуры и состояние деятельности хранится в результате.
От каждой информации 512 байт прочитайте _ функцией bios_disk, до концов зоны директории корня, мы собираем информацию архивов и директорий, котор хранят в диске и показываем их на экране.
File_no интежера будет магазинами номер архива или директории в списке, starting from 0. Вообще размер директории корня 14 участков и директория корня вообще начинает от цилиндра = 0, головка = 0 и участок = 2 в случае Floppy Disk 1.44MB и 3Ѕ.
Если потребитель дает характеру ` м ' или ` м ' как входной сигнал, то информация следующего участка показана если выбором потребителем будет ` р ' или вызвано ` р ' функции спасения. Кодирвоание recover() функции давалось ниже:
/* Функция для того чтобы начать спасение для определенного архива */
void recover(unsigned int *root,unsigned int len)
{
void clear_the_line(unsigned int r); /*Функция для того чтобы освободить рядок на экране */
/* Функция для того чтобы интегрировать определенный архив */
void integrate(long unsigned int,unsigned int,
unsigned int,unsigned int);
unsigned int file_no,i;
char ch;
unsigned int *loc;
unsigned int cylinder,head,sector;
unsigned int start;
long unsigned int size;
clear_the_line(21); /* Освободите Рядок 21 */
clear_the_line(22); /* Освободите Рядок 22 */
clear_the_line(23); /* Освободите Рядок 23 */
clear_the_line(24); /*Освободите Рядок 24 */
gotoxy(10,21);
cprintf("Впишите FNO. архива вы хотите взять");
scanf("%u",&file_no); /* Получите, что No архива быть взятым */
loc=(root+(len*file_no/2));
|