Функция
FindFirstFile выполняет поиск первого файла, соответствующего указанному шаблону имени, и сохраняет его имя в предоставленный буфер.
Параметры:- DS:AX: Указатель на строку шаблона имени файла (например, "*.txt").
- ES:BX: Указатель на буфер, куда будет сохранено имя найденного файла.
- CX:___ Атрибуты файла, которые нужно учитывать при поиске (например, скрытые, системные и т.д.).
Возвращаемое значение:- Если CF = 0: Файл найден.
- Если CF = 1: Файл не найден. AX содержит код ошибки.
Состояние флагов:- Функция влияет на все флаги.
Особенности:- Функция не изменяет значения регистров, кроме AX и флагов.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____pattern db "*.txt", 0
- ____fmtout__db "Нашёл файл: %s\n\0"
- ____fError__db "Никаких файлов найдено "
- ____________db "не было!\n\0"
- ____buffer__db 13 dup(0)
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc
- ____main proc
- ________call____SetDataSegment
- ________xor_____cx, cx
- ________lea_____bx, es:[buffer]
- ________lea_____ax, ds:[pattern]
- ________call____FindFirstFile
- ________jnc_____FileWasFound
- ________lea_____ax, ds:[fError]
- ________call____WriteString
- ________jmp_____Done
- ____FileWasFound:
- ________lea_____ax, ds:[buffer]
- ________push____ax
- ________lea_____ax, ds:[fmtout]
- ________call____PrintFormatString_
- ________add_____sp, 2
- ____Done:
- ________xor_____al, al
- ________call____ExitProcess
- ____main endp
- code ends
- end main