Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Int 21h Function 21h
 Summary                                   Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
     The record is read into memory at the current disk transfer area
     address, specified by the most recent call to Int 21h Function
     1Ah. It is the programmer's responsibility to ensure that this
     area is large enough for any record that will be transferred. If
     the size and location of the buffer are such that a segment
     overflow or wraparound would occur, the function fails with a
     return code of 02h.
 
     The file location of the data to be read is determined by the
     combination of the relative-record field (offset 21h) and the
     record size field (offset 0Eh) of the FCB. The default record size
     is 128 bytes.
 
     The current block field (offset 0Ch) and current record field
     (offset 20h) are updated to agree with the relative-record field
     as a side effect of the function.
 
     The relative-record field of the FCB is not incremented by this
     function; it is the responsibility of the application to update
     the FCB appropriately if it wishes to read successive records.
     Compare with Int 21h Function 27h, which can read multiple records
     with one function call and automatically increments the
     relative-record field.
 
     If a partial record is read at end-of-file, it is padded to the
     requested record length with zeros.
 
     [Version 3.0+]
     If the program is running on a network, the user must have Read
     access rights to the directory containing the file to be read.
                                    -♦-