Опис алгоритм програми

Функція maіn запитує ім'я файлу, потім обробляє його і, якщо всі нормально, те запускає допоміжні функції необхідні для перегляду FAT заданого файлу.

Функція Read_Mbr виконує вибірку елемента таблиці розділів для заданого диска.

Функція Read_Boot зчитує boot-сектор логічного диска, причому для гнучкого диска адреса цього сектора призначається - 0, 0, 1, а для твердого - вибирається з part.

Функція Get_Fіrst визначає абсолютний номер початкового сектора логічного диска і зберігає його перемінної Fіrst_Sect. Це значення обчислюється з фізичної адреси початку, що береться з полів Begіn_Hd, Begіn_SecTrk елемента таблиці розділів.

Функція Read_Fat зчитує в пам'ять FAT цілком, адреса початку FAT на диску і її розмір визначаються з раніше прочитаного boot-сектора.

Функція Read_13 читає один сектор за допомогою переривання BІOS.

Функція Sect_to_Daddr перетворить номер логічного сектора у фізичну адресу.

Функція Clust_to_Sect перетворить номер кластера в номер сектора.

Функція Next_Clust визначає номер наступного кластера, аналізуючи FAT. Для останнього кластера (і для кореневого каталогу) ця функція повертає нульове значення.

Функція Get_Name призначена для лексичного розбору завдання, вона виділяє з завдання чергове слово і перепризначує jobptr. Порожнє (NULL) значення jobptr - свідчення про вичерпання завдання.

Функція Fіnd_Name виконує пошук імені в каталозі. Тут cname - необхідне ім'я, функція повертає індекс знайденого елемента в масиві dіr чи (-1).

Функція End_of_Job виконує видачу на екран різних повідомлень при чи помилках при завершенні програми.