Дипломная работа: Програма для роботи з файловою системою
and ax,0fffh / менш 12 біт
ret
shift: mov cx,4/ cx = лічильник зрушень
shr ax,c1 /cx =
ret
next12 endp
Ассемблерная програма для доступу до 12-бітового FAT
Корневий каталог
Входи каталогу, як у кореневому, так й у підкаталогах, мають довжину 32 байта. Кожен вхід включає ім'я файлу й розширення, розмір файлу, початковий вхід в FAT , час і дату створення або останньої модифікації файлу і його атрибути. Ця структура нагадує формат блоків управління файлом (file control blocks - FCBs) для СР/М, використовуваний у файловій системі MS DOS, версії 1.х.
Угода про найменування файлів в MS DOS відбувається також з СР/М: восьмисимвольне ім'я файлу й наступний за ним трьохсимвольний тип файлу, вирівняні ліворуч і при необхідності доповнені пробілами. В межах обмежень символьного ряду ім'я й тип є абсолютно довільними. Час і дата задаються у форматі, використовуваному іншими функціями MS DOS і відбивають час останнього запису файлу.
Показаний дамп сектора каталогу обсягом 512 байт, що тримає 16 входів (кожен вхід у цьому прикладі займає два рядки). Байт зі зсувом ОАВН, що містить значення 10Н позначає, що вхід починаючи з адреси 0А0Н, ставиться до підкаталогу. Байт зі зсувом
;-і-і-і Одержати номер наступного посилання з 16-бітової FAT
;Параметри:
; ax = поточний номер ліворуч
; ds:bx = адреса FAT (повинна бути безперервної)
;
; Повертає:
; ax = номер наступного посилання
;
; Використає ax, bx, cx
next 16 proc near
add ax,ax /ax = зсув ліворуч
add bx,ax /ds:bx - індекс номера наступного посилання
mov ax,|bx| /ax = номер наступного посилання
ret
next16 endp
Ассемблерная програма для доступу до 16-бітового FAT
160Н, що містить 0Е5Н, означає, що файл вилучений. Байт зі зсувом
8ВН і значенням 08Н указує, що вхід каталогу, починаючи зі зсуву
80Н, є міткою тому. В остаточному підсумку, байт зі зсувом 1Е0Н
означає кінець каталогу, з огляду на, що наступні входи каталогу ніколи не використалися й, отже, їхній пошук не потрібно
Корнєвій каталог може мати спеціальний тип входу, що називається міткою тому, ідентифікується типом атрибута 08Н и використається для позначення імені диска. Корнєвій каталог може містити тільки одну мітку тому. Корнєвій каталог може також включати входи, указиває на підкаталоги; такі входи ідентифікуються типом атрибута 10Н і нульовим розміром файлу. Програми обробки підкаталогів повинні здійснює трасування ланцюжків кластерів в FAT.