Function 52h "Used Internally by DOS" - IN-VARS* Returns a pointer to a set of DOS data variables MCB chain,
pointer to first of the device\drivers and a pointer to disk
parameter blocks (first one)
entry AH 52h
return ES:BX pointer to the DOS list of lists, for disk information. Does not
access the disk, so information in tables might be incorrect if
disk has been changed. Returns a pointer to the following array
of longword pointers:
Bytes Value
-2h,-1h segment of first memory control block
00h-03h pointer to first DOS disk block (see function 36h)
(continued next page)
Function 52h "Used Internally by DOS" - IN-VARS
return ES:BX Bytes Value
04h-07h Pointer to list of DOS file tables
dword pointer to next file table
word number of files in this table
35h bytes per file
00h-01h number of file handles referring to
this file
02h-06h unknown
07h-0Ah pointer to device\drivers header if
character device; pointer to DOS Device
Control Block if block device (see
fn 32h for format)
0Bh-1Fh unknown
20h-2Ah filename in Struct -FCB format (no
path, no period, blank-padded)
2Bh-2Ch PSP segment of file's owner
2Dh-30h unknown - 0 always
31h-32h unknown
33h-34h unknown
8h-0Bh pointer to device\driver\CLOCK$-, whether installable
or resident
0Ch-0Fh pointer to actual device\driver\CON-, whether
installable or resident
Function 52h "Used Internally by DOS" - IN-VARS
return ES:BX Bytes Value
(DOS 2.x)
10 number of logical drives in system
11-12 maximum bytes/block of any block device
13-16 unknown
17 beginning (not a pointer. The real beginning!) of
device\driver\NUL-. This is the first device on DOS's
linked list of device drivers.
(DOS 3.x)
10h-11h maximum bytes/block of any block device (0200h)
12h-15h pointer to first disk buffer
16h-19h partially undefined: Pointer to array of drive info:
51h bytes per drive, starting with A: ...
00h-3Fh current path as ASCIIZ, starting with 'x:\
40h-43h unknown zeros always
44h unknown flags? Usually 40h, except for
entry after last valid entry = 00h
45h-48h pointer to DOS disk block for this drive
49h-4Ah unknown. Current track or block?
-1 if never accessed
4Bh-4Eh unknown -1 always
4Fh-52h unknown 2 always
1Ah-1Dh pointer to Struct -FCB table (if CONFIG.SYS contains FCBS=)
Function 52h "Used Internally by DOS" - IN-VARS
return ES:BX Bytes Value
1Eh-1Fh size of Struct -FCB table
20h number of block devices
21h value of LASTDRIVE command in CONFIG.SYS (default 5)
22h beginning (not a pointer. The real beginning!) of
device\driver\NUL-. This is the first device on DOS's
linked list of device drivers.
note 1) This call is not supported in OS/2 1.0's DOS Compatibility Box
2) Used by DOS 4.0 MEM.EXE, DOS 3.3 ASSIGN.COM, PRINT.COM, SUBST.EXE
file: /Techref/INT/21f/52.htm, 3KB, , updated: 1999/4/26 11:31, local time: 2024/11/19 11:49,
52.15.57.186:LOG IN
|
©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://linistepper.com/techref/INT/21f/52.htm"> INT 21f 52</A> |
Did you find what you needed? |