Page 95 - 4875
P. 95
Для того, щоб отримати значення року поновлення файлу,
необхідно додати до величини, яка зберігається в старших семи бітах,
значення 1980.
Поле довжини в дескрипторі містить точну довжину файлу в
байтах. Для каталогів в поле довжини записують нульове значення.
Засоби MS-DOS не дозволяють працювати з каталогами як із
звичайними файлами. Єдиний спосіб прочитати каталог як файл –
використання таблиці FAT для визначення ланцюга кластерів, які
займає каталог і читання секторів, що відповідають даним кластерам, за
допомогою переривання int 25h.
Розглянемо детальніший опис основних функцій 21-го
переривання для роботи з файлами:
1 Створення файлу
На вході:АH = 3Сh
СХ = атрибути файлу
(можливе сумісне використання
атрибутів):
00h – звичайний файл
01h – файл тільки ля читання
02h – прихований файл
04h – системний файл
DS:DХ = адрес рядка що містить шлях і
назву файлу в форматі ASCIIZ
На виході: АХ = ідентифікатор відкритого файлу або
код помилки при умові встановлення СF
СF = 1 – вказує на помилку (“0” –
помилки немає)
Функція 3Ch дозволяє створити файл в поточній або іншій
папці. Якщо файл вже існує його вміст видаляється, тобто фактично
файл обрізається до нульової довжини. Крім того вона здійснює
відкриття файлу, а також може задавати атрибути файлу, що
створюється.
На виході з функції в регістрі АХ поміщається код помилки.
Найчастіше виникають помилки виду:
- відсутній елемент шляху файла (пристрій, папка);
94