Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию