Specifications
MICROPROCESSADORES
INTERRUPÇÕES
5
Luís Miguel Charrua Figueiredo 5 - 22 E.N.I.D.H.
1Ch WORD current relative cluster number within file
(0 = first cluster of file, 1 = second cluster, etc.)
1Eh BYTE dirty flag (00h = not dirty)
1Fh BYTE unused
Format of FCB reserved field for DOS 1.10-1.25:
Offset Size Description (Table 01348)
18h BYTE bit 7: set if logical device
bit 6: not dirty
bits 5-0: disk number or logical device ID
19h WORD starting cluster number on disk
1Bh WORD current absolute cluster number on disk
1Dh WORD current relative cluster number within file
1Fh BYTE unused
Format of FCB reserved field for DOS 2.x:
Offset Size Description (Table 01349)
18h BYTE bit 7: set if logical device
bit 6: set if open???
bits 5-0: ???
19h WORD starting cluster number on disk
1Bh WORD ???
1Dh BYTE ???
1Eh BYTE ???
1Fh BYTE ???
Format of FCB reserved field for DOS 3.x:
Offset Size Description (Table 01350)
18h BYTE number of system file table entry for file
19h BYTE attributes
bits 7,6: 00 = SHARE.EXE not loaded, disk file
01 = SHARE.EXE not loaded, character
device
10 = SHARE.EXE loaded, remote file
11 = SHARE.EXE loaded, local file or
device
bits 5-0: low six bits of device attribute word
---SHARE.EXE loaded, local file---
1Ah WORD starting cluster of file on disk
1Ch WORD (DOS 3.x) offset within SHARE of sharing record
(see #01637 at AH=52h)
1Eh BYTE file attribute
1Fh BYTE ???
---SHARE.EXE loaded, remote file---
1Ah WORD number of sector containing directory entry (see #01352)
1Ch WORD relative cluster within file of last cluster accessed
1Eh BYTE absolute cluster number of last cluster accessed
1Fh BYTE ???
---SHARE.EXE not loaded---
1Ah BYTE (low byte of device attribute word AND 0Ch) OR open
mode
1Bh WORD starting cluster of file
1Dh WORD number of sector containing directory entry (see #01352)
1Fh BYTE number of directory entry within sector
Note
: if FCB opened on character device, DWORD at 1Ah is set to the
address
of the device driver header, then the BYTE at 1Ah is overwritten.
SeeAlso
: #01646
Format of FCB reserved field for DOS 5.0:
Offset Size Description (Table 01351)
18h BYTE number of system file table entry for file
19h BYTE attributes
bits 7,6: 00 = SHARE.EXE not loaded, disk file
01 = SHARE.EXE not loaded, character
device
10 = SHARE.EXE loaded, remote file
11 = SHARE.EXE loaded, local file or
device
bits 5-0: low six bits of device attribute word
---SHARE.EXE loaded, local file---
1Ah WORD starting cluster of file on disk
1Ch WORD unique sequence number of sharing record
1Eh BYTE file attributes
1Fh BYTE unused???
---SHARE.EXE loaded, remote file---
1Ah WORD network handle
1Ch DWORD network ID
---SHARE not loaded, local device---
1Ah DWORD pointer to device driver header (see #01646)
1Eh 2 BYTEs unused???
---SHARE not loaded, local file---
1Ah BYTE extra info
bit 7: read-only attribute from SFT
bit 6: archive attribute from SFT
bits 5-0: high bits of sector number
1Bh WORD starting cluster of file
1Dh WORD low word of sector number containing directory entry
(see #01352)
1Fh BYTE number of directory entry within sector
INT 21 - DOS 1+ - CLOSE FILE USING FCB
AH = 10h
DS:DX -> File Control Block (see #01345)
Return
: AL = status
00h successful
FFh failed
Notes
: a successful close forces all disk buffers used by the file to be written
and the directory entry to be updated not supported by MS Windows 3.0
DOSX.EXE DOS extender
SeeAlso
: AH=0Fh,AH=16h,AH=3Eh
INT 21 - DOS 1+ - SEQUENTIAL READ FROM FCB FILE
AH = 14h
DS:DX -> opened FCB (see #01345)
Return
: AL = status
00h successful
01h end of file (no data)
02h segment wrap in DTA
03h end of file, partial record read
Disk Tranfer Area filled with record read from file
Notes
: reads a record of the size specified in the FCB beginning at the
current file position, then updates the current block and current record fields in the
FCB if a partial record was read, it is zero-padded to the full size not supported by
MS Windows 3.0 DOSX.EXE DOS extender
SeeAlso
: AH=0Fh,AH=15h,AH=1Ah,AH=3Fh"DOS",INT 2F/AX=1108h
INT 21 - DOS 1+ - SEQUENTIAL WRITE TO FCB FILE
AH = 15h
DS:DX -> opened FCB (see #01345)
Disk Tranfer Area contains record to be written
Return
: AL = status
00h successful
01h disk full
02h segment wrap in DTA
Notes
: writes a record of the size specified in the FCB beginning at the
current file position, then updates the current block and current record fields in the
FCB if less than a full sector is written, the data is placed in a DOS buffer to be
written out at a later time not supported by MS Windows 3.0 DOSX.EXE DOS
extender
SeeAlso
: AH=0Fh,AH=14h,AH=1Ah,AH=40h,INT 2F/AX=1109h
INT 21 - DOS 1+ - CREATE OR TRUNCATE FILE USING FCB
AH = 16h
DS:DX -> unopened FCB (see #01345), wildcards not allowed
Return
: AL = status
00h successful
FFh directory full or file exists and is read-only or locked
Notes
: if file already exists, it is truncated to zero length if an extended FCB
is used, the file is given the attribute in the FCB; this is how to create a volume










