Function  11h   Search For First Matching Entry                           (FCB) 

Searches current disk & directory for first matching filename

entry AH 11h

DS:DX pointer to address of FCB

return AL 00h successful match

0FFh no matching filename found

note 1) The FCB may contain the wildcard character ? under Dos 2.x, and ? or *

under 3.x and 4.x.

2) The original FCB at DS:DX contains information to continue the search

with function 12h, and should not be modified.

3) If a matching filename is found, AL returns 00h and the locations at the

Disk Transfer Address are set as follows:

a) If the FCB provided for searching was an extended FCB, then the first

byte at the disk transfer address is set to 0FFh followed by 5 bytes

of zeroes, then the attribute byte from the search FCB, then the

drive number used (1=A, 2=B, etc) then the 32 bytes of the directory

entry. Thus, the disk transfer address contains a valid unopened FCB

with the same search attributes as the search FCB.

b) If the FCB provided for searching was a standard FCB, then the first

byte is set to the drive number used (1=A,2=b,etc), and the next 32

bytes contain the matching directory entry. Thus, the disk transfer

address contains a valid unopened normal FCB.

4) If an extended FCB is used, the following search pattern is used:

a) If the FCB attribute byte is zero, only normal file entries are

found. Entries for volume label, subdirectories, hidden or system

files, are not returned.

b) If the attribute byte is set for hidden or system files, or

subdirectory entries, it is to be considered as an inclusive search.

All normal file entries plus all entries matching the specified

attributes are returned. To look at all directory entries except the

volume label, the attribute byte may be set to hidden + system +

directory (all 3 bits on).

c) If the attribute field is set for the volume label, it is considered

an exclusive search, and ONLY the volume label entry is returned.

5) This call is also used by the APPEND command in DOS 3.2+