mov dx, seg FileFCB
mov ds, dx
mov dx, offset FileFCB ;ds:dx points to FCB
mov ah, 14h ;Sequential Read
int 21h
cmp al, 0 ;zero means success
jne error_handler
Sequential Read (Function 14h) reads a record from the file identified by the file control block (FCB). Data read from the file is written to the memory at the current disk transfer address (DTA).
This function has been superseded by Read File or Device (Function 3Fh).
FileFCB
Points to an FCB structure that identifies an open file. The structure must have been previously filled by using Open File with FCB (Function 0Fh) or Create File with FCB (Function 16h). Also, the fcbCurBlockNo and fcbCurRecNo fields in the FCB structure must specify the record to read. The FCB structure has the following form:
FCB STRUC
fcbDriveID db ? ;drive no. (0=default, 1=A, etc.)
fcbFileName db '????????' ;filename
fcbExtent db '???' ;file extension
fcbCurBlockNo dw ? ;current block number
fcbRecSize dw ? ;record size
fcbFileSize db 4 dup (?) ;size of file in bytes
fcbFileDate dw ? ;date file last modified
fcbFileTime dw ? ;time file last modified
fcbReserved db 8 dup (?) ;reserved
fcbCurRecNo db ? ;current record number
fcbRandomRecNo db 4 dup (?) ;random record number
FCB ENDS
For a full description of the FCB structure, see Chapter 3, “File System.”
If the function is successful, the AL register contains 00h, and the memory at the DTA contains the record read from the file. Otherwise, the AL register contains an error value, which may be one of the following values:
Value | Meaning |
01h | End of file encountered, no data in record |
02h | Segment boundary overlapped by DTA, read canceled |
03h | End of file encountered, partial record at DTA (rest of record filled with zeros) |
MS-DOS increments the fcbCurBlockNo and fcbCurRecNo fields in the FCB structure after a successful read operation.
This function can be used to read files on a network drive but only if the network has granted read (or similar) access to the given file or drive.
Function 0Fh Open File with FCB
Function 15h Sequential Write
Function 16h Create File with FCB
Function 3Fh Read File or Device