Up ] Docs Home ]

Format of List of Lists

Back ] Next ]

Offset Size Description

-24

WORD

(DOS 3.1+) contents of CX from INT 21/AX=5E01h

-22

WORD

(DOS ???+) LRU counter for FCB caching

-20

WORD

(DOS ???+) LRU counter for FCB opens

-18

DWORD

(DOS ???+) address of OEM function handler (see INT 21/AH=F8h) FFFFh:FFFFh if not installed or not available

-14

WORD

(DOS ???+) offset in DOS CS of code to return from INT 21 call

-12

WORD

(DOS 3.1+) sharing retry count (see AX=440Bh)

-10

WORD

(DOS 3.1+) sharing retry delay (see AX=440Bh)

-8

DWORD

(DOS 3.0+) pointer to current disk buffer

-4

WORD

(DOS 3.0+) pointer in DOS data segment of unread CON input
when CON is read via a handle, DOS reads an entire line, and returns the requested portion, buffering the rest for the next read. 0000h indicates no unread input

-2

WORD

segment of first memory control block (see #01628)

00h

DWORD

pointer to first Drive Parameter Block (see #01395 at AH=32h)

04h

DWORD

first System File Table (see #01639,#01640,#01641,#01642)

08h

DWORD

pointer to active CLOCK$ device's header (most recently loaded driver with CLOCK bit set)

0Ch

DWORD

pointer to active CON device's header (most recently loaded driver with STDIN bit set)

---DOS 2.x---

10h

BYTE

number of logical drives in system

11h

WORD

maximum bytes/block of any block device

13h

DWORD

pointer to first disk buffer (see #01649,#01650)

17h

18 BYTEs

actual NUL device driver header (not a pointer!)
NUL is always the first device on DOS's linked list of device drivers. (see #01646)

---DOS 3.0---

10h

BYTE

number of block devices

11h

WORD

maximum bytes/block of any block device

13h

DWORD

pointer to first disk buffer (see #01650,#01652)

17h

DWORD

pointer to array of current directory structures (see #01643)

1Bh

BYTE

value of LASTDRIVE command in CONFIG.SYS (default 5)

1Ch

DWORD

pointer to STRING= workspace area

20h

WORD

size of STRING area (the x in STRING=x from CONFIG.SYS)

22h

DWORD

pointer to FCB table

26h

WORD

the y in FCBS=x,y from CONFIG.SYS

28h

18 BYTEs

actual NUL device driver header (not a pointer!)
NUL is always the first device on DOS's linked list of device drivers. (see #01646)

---DOS 3.1-3.3---

10h

WORD

maximum bytes per sector of any block device

12h

DWORD

pointer to first disk buffer in buffer chain (see #01650)

16h

DWORD

pointer to array of current directory structures (see #01643)

1Ah

DWORD

pointer to system FCB tables (see #01640,#01641,#01642)

1Eh

WORD

number of protected FCBs (the y in the CONFIG.SYS FCBS=x,y)

20h

BYTE

number of block devices installed

21h

BYTE

number of available drive letters (largest of 5, installed block devices, and CONFIG.SYS LASTDRIVE=). Also size of current directory structure array.

22h

18 BYTEs

actual NUL device driver header (not a pointer!)
NUL is always the first device on DOS's linked list of device drivers. (see #01646)

34h

BYTE

number of JOIN'ed drives

---DOS 4.x---

10h

WORD

maximum bytes per sector of any block device

12h

DWORD

pointer to disk buffer info record (see #01652,#01653)
Note: although the initialization code in IO.SYS uses this pointer, MSDOS.SYS does not, instead using the hardcoded address of the info record

16h

DWORD

pointer to array of current directory structures (see #01643,#01644)

1Ah

DWORD

pointer to system FCB tables (see #01640,#01641,#01642)

1Eh

WORD

number of protected FCBs (the y in the CONFIG.SYS FCBS=x,y) (always 00h for DOS 5.0)

20h

BYTE

number of block devices installed

21h

BYTE

number of available drive letters; also size of current directory structure array.
For DOS 4.0-6.0: largest of 5, installed block devices, and CONFIG.SYS LASTDRIVE=
For DOS 7.x (Windows9X), set to 32 if no LASTDRIVE= or LASTDRIVEHIGH=, else set to larger of installed block devices and LASTDRIVE(HIGH)=

22h

18 BYTEs

actual NUL device driver header (not a pointer!)
NUL is always the first device on DOS's linked list of device drivers. (see #01646)

34h

BYTE

number of JOIN'ed drives

35h

WORD

pointer within IBMDOS code segment to list of special program names (see #01662) (always 0000h for DOS 5.0)

37h

DWORD

pointer to FAR routine for resident IFS utility functions (see #01658)
may be called by any IFS driver which does not wish to service functions 20h or 24h-28h itself

3Bh

DWORD

pointer to chain of IFS (installable file system) drivers

3Fh

WORD

the x in BUFFERS x,y (rounded up to multiple of 30 if in EMS)

41h

WORD

number of lookahead buffers (the y in BUFFERS x,y)

43h

BYTE

boot drive (1=A:)

44h

BYTE

flag:
01h = to use DWORD moves (80386+)
00h = otherwise

45h

WORD

extended memory size in KB

---DOS 5.0-6.0---

10h

39 BYTEs

maximum bytes per sector of any block device

37h

DWORD

pointer to SETVER program list or 0000h:0000h

3Bh

WORD

(DOS=HIGH) offset in DOS CS of function to fix A20 control when executing special .COM format

3Dh

WORD

PSP of most-recently EXECed program if DOS in HMA, 0000h if low
used for maintaining count of INT 21 calls which disable A20 on return

3Fh

8 BYTEs

the x in BUFFERS x,y (rounded up to multiple of 30 if in EMS)

---Windows NT DOS Box---

10h

6 BYTEs

???

16h

DWORD

pointer to array of current directory structures (see #01645)

1Ah

6 BYTEs

???

20h

BYTE

number of block devices installed

21h

BYTE

number of local drive letters (= installed block devices)
Also size of current directory structure array.

22h

18 BYTEs

actual NUL device driver header (not a pointer!)
NUL is always the first device on DOS's linked list of device drivers. (see #01646)

---DOS 7.x---

10h

55 BYTEs

maximum bytes per sector of any block device

47h

25 BYTEs

???

60h

BYTE

"DOS_FLAG" (see also INT 26)