Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Описание переменных
В программе описаны структуры такого вида: Физический дисковый адрес: struct DADDR { byte h; /* головка */ word s, /* сектор */ t, /* дорожка */ ts; /* сектор, дорожка упакованные */ }; Структура элемента раздела; struct PART { byte Boot, /* признак активного */ /* физический адрес начала раздела */ Begin_Hd; /* # головки */ word Begin_SecTrk; /* # сектора и дорожки */ byte SysCode, /* код системы */ /* физический адрес конца раздела */ End_Hd; /* # головки */ word End_SecTrk; /* # сектора и дорожки */ dword RelSec, /* # сектора початку */ Size; /* количество секторов */ }; Стpуктуpа Главной Загрузочной Записи: struct MBR { char LoadCode[0x1be]; /* программа загрузки */ struct PART rt[4]; /* 4 элемента разделов */ word EndFlag; /* подпись MBR */ }; Структура загрузочной записи логического диска: struct BootRec { byte jmp[3], ident[8]; word SectSize; byte ClustSize; word ResSect; byte FatCnt; word RootSize, TotSecs; byte Media; word FatSize, TrkSecs, HeadCnt; word HidnSecL, HidnSecH; dword LongTotSecs; byte Drive, reserved1, DOS4_flag; dword VolNum; char VolLabel[11], FatForm[8]; }; Структура элемента каталога: struct Dir_Item { char fname[11]; /* имя файла */ byte attr; /* атрибут */ byte reserved[10]; word time; /* время */ word date; /* дата */ word cl; /* номер 1-го кластера */ dword size; /* размер файла */ }; Переменные, глобальные для всей программы: u part — текущий элемент раздела; u buff1[512] — буфер MBR и boot; u *mbr — указатель на таблицу разделов; u *boot — указатель на корневую запись; u buff2[512] — буфер каталога и текста; u *dir — указатель на часть каталога; u *text — указатель на текстовый буфер; u *fat — указатель на FAT; u job[81] — строка-задание; u jobptr — текущий указатель в job; u cname[12] — текущее имя для поиска; u Fdisk — физический номер диска; u caddr — текущий дисковый адрес; u sect — текущий номер сектора; u clust — текущий номер кластера; u fat16 — признак формата FAT; u fsize — размер файла; u dirnum — номер элемента в каталоге; u FirstSect — абсолютный номер сектора начала; u rootdir=1 — признак корневого каталога или подкаталога (1/0); u lastsect — последний сектор при чтении; u fatalloc=0 — признак выделения памяти. Date: 2015-05-22; view: 539; Нарушение авторских прав |