Читайте также:
|
|
Обслуживание файловой системы может быть выполнено путем вызова ряда системных функций. При работе с файлами доступ к ним выполняется не по дескриптору, а по имени ASCIIZ причем файлы должны быть закрыты.
Имена каталогов, так же указываются в ASCIIZ формате.
Пример 3.1. Работа с атрибутами файла. Проверка наличие атрибута у файла «только – чтение».
use16
org 256
;===============================
mov AH,43h;получить атрибуты
mov AL,0
mov DX,myfile
int 21h
jc fin;ошибка?
;===============================
and CX,01;нет, R?
jz fin;нет,конец работы
mov AH,09;да,вывести сообщение
mov DX,mesR
int 21h
;==============================
fin:;конец работы
mov AH,08
int 21h
mov AX,4c00h
int 21h
mesR db 'R - OK!',10,13,'$'
myfile db 'test.txt',0;тестируемый файл.
Сеанс работы с программой показан на рисунке 3.1. Файл с кодом программы tstr.com. Файл должен быть предварительно создан в текущем каталоге программным способом либо средствами ОС. Например, с помощью команды copy con test.txt.
Рис.3.1. Сеанс работы с программой
Для просмотра и установки атрибутов используется консольная команда attrib. Если атрибут не найден, то программа завершает свою работу без вывода контрольного сообщения.
Пример 3.2. Создание каталога в текущем каталоге.
use16
org 256
;==========================
mov AH,39h;создать каталог
mov DX,myDIR
int 21h
jnc ok;каталог создан?
jmp fin;нет, конец работы
ok:
mov AH,09;контрольное сообщение
mov DX,mes
int 21h
;==========================
fin:;конец работы
mov AH,08
int 21h
mov AX,4c00h
int 21h
;===========================
mes db 'Created!',10,13,'$'
myDIR db 'TESTDR',0
Пример 3.3. Организация поиска файла.
use16
org 256
;============================
mov AH,4eh;поиск файла
mov CX,0
mov DX,testmask
int 21h
jc fin;нет файла!
;============================
mov BX,9eh;PSP->80h+1eh
go:;читать байты имени файла
mov dl,[bx]
cmp dl,0
je fin
mov ah,02;вывести байт на консоль
int 21h
inc bx;следующий байт
jmp go
;=============================
fin:
mov AH,08
int 21h
mov AX,4c00h
int 21h
testmask db "*.txt",0;маска поиска
Дата добавления: 2015-07-19; просмотров: 42 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Произвольный доступ к данным файла | | | Файловый ввод-вывод |