Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-1


				 page 80,132
				;	SCCSID = @(#)path1.asm	1.1 85/05/14
				;	SCCSID = @(#)path1.asm	1.1 85/05/14
				.sall
				.list
				.cref
				
				break <Path.Asm>
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-2
Path.Asm                                                    

				;----------------------------------------------------------------------------
				;    PATH.ASM contains the routines to perform pathname incovation.  Path and
				;    Parse share a temporary buffer and argv[] definitions.  <Path_Search>,
				;    given a pathname, attempts to find a corresponding executable or batch
				;    file on disk.  Directories specified in the user's search path will be
				;    searched for a matching file, if a match is not found in the current
				;    directory and if the pathname is actually only an MSDOS filename.
				;    <Path_Search> assumes that the parsed command name can be found in
				;    argv[0] -- in other words, <Parseline> should be executed prior to
				;    <Path_Search>.  Alternatively, the command name and appropriate
				;    information could be placed in argv[0], or <Path_Search> could be
				;    (easily) modified to make no assumptions about where its input is found.
				;    Please find enclosed yet another important routine, <Save_Args>, which
				;    places the entire arg/argv[]/argbuf structure on a piece of newly
				;    allocated memory.	This is handy for for-loop processing, and anything
				;    else that wants to save the whole shebang and then process other command
				;    lines.
				;
				; Alan L, OS/MSDOS				    August 15, 1983
				;
				; ENTRY:
				;   <Path_Search>:	    argv[0].
				;   <Save_Args>:	    bytes to allocate in addition to arg structure
				; EXIT:
				;   <Path_Search>:	    success flag, best pathname match in EXECPATH.
				;   <Save_Args>:	    success flag, segment address of new memory
				; NOTE(S):
				;   *	<Argv_calc> handily turns an array index into an absolute pointer.
				;	The computation depends on the size of an argv[] element (arg_ele).
				;   *	<Parseline> calls <cparse> for chunks of the command line.  <Cparse>
				;	does not function as specified; see <Parseline> for more details.
				;   *	<Parseline> now knows about the flags the internals of COMMAND.COM
				;	need to know about.  This extra information is stored in a switch_flag
				;	word with each command-line argument; the switches themselves will not
				;	appear in the resulting arg structure.
				;   *	With the exception of CARRY, flags are generally preserved across calls.
				;---------------
				; CONSTANTS:
				;---------------
 =				    DEBUGx	equ	    FALSE	; prints out debug info
				;---------------
				; DATA:
				;---------------
				
 0000				TRANDATA	SEGMENT PUBLIC BYTE	;AC000;
					EXTRN	baddrv_ptr:word
 0000				TRANDATA	ENDS
				
 0000				TRANSPACE	SEGMENT PUBLIC BYTE	;AC000;
					EXTRN	arg:byte
					EXTRN	BADPMES_ptr:word
					EXTRN	curdrv:byte
					EXTRN	EXECPATH:byte
					EXTRN	search_best_buf:byte
					EXTRN	search_error:word
					EXTRN	string_ptr_2:word
					EXTRN	tpbuf:byte
 0000				TRANSPACE	ENDS
				
 0000				TRANCODE	SEGMENT PUBLIC BYTE	;AC000;
				
				assume cs:trangroup, ds:trangroup, es:trangroup, ss:nothing
				
				break <Path_Search>
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-3
Path_Search                                                 

				;------------------------------------------------------------------------------
				;   PATH_SEARCH tries to find the file it's given, somewhere.  An initial value
				; of *argv[0].argstartel == 0 implies that there is no command (empty line
				; or 'd:'  or 'd:/').  This check is done in strip; otherwise, strip formats
				; the filename/pathname into tpbuf.  Search(tpbuf) is executed to see if we
				; have a match, either in the current working directory if we were handed
				; a filename, or in the specified directory, given a pathname.	If this call
				; fails, and we were given a pathname, then Path_Search fails.	Otherwise,
				; Path_Crunch is repeatedly invoked on tpbuf[STARTEL] (if there's a drive
				; prefix, we want to skip it) for each pathstring in userpath.	Success on
				; either the first invocation of search or on one of the succeeding calls
				; sets up the appropriate information for copying the successful pathname
				; prefix (if any) into the result buffer, followed by the successful filename
				; match (from [search_best_buf]).  The result is returned in in EXECPATH.
				; ENTRY:
				;   argv[0]		--	command name and associated information
				; EXIT:
				;   AX			--	non-zero indicates type of file found
				;   EXECPATH		--	successful pathname (AX non-zero)
				; NOTE(S):
				;   1)	Uses the temporary buffer, tpbuf, from the parse routines.
				;   2)	Some files are more equal than others.	See search: for rankings.
				;   3)	Path_Search terminates as soon as a call to search succeeds, even
				;	if search returns an .exe or .bat.
				;   5)	Clobbers dma address.
				
 = 0080				pbuflen 	equ	128		; length of EXECPATH
 = 003B				path_sep_char	equ	';'
				
 0000				TRANSPACE	SEGMENT PUBLIC BYTE	;AC000;
					EXTRN	fbuf:byte
					EXTRN	pathinfo:word
					EXTRN	psep_char:byte
 0000				TRANSPACE	ENDS
				
				Procedure   Path_Search,NEAR
				
 0000  53				push	BX
 0001  51				push	CX
 0002  52				push	DX				; could use a "stack 'em" instruction
 0003  56				push	SI
 0004  57				push	DI
 0005  55				push	BP
 0006  9C				pushf
 0007  F6 06 0002 E 03			test	DS:arg.argv[0].argflags, (MASK wildcard) + (MASK sw_flag)
 000C  74 03				jz	path_search_ok
				
 000E				path_failure_jmp:
 000E  E9 00D4 R			jmp	path_failure			; ambiguous commands not allowed
				
 0011				path_search_ok:
 0011  E8 0168 R			call	store_pchar			; figure out the pathname separator
 0014  BA 0000 E			mov	DX, OFFSET TRANGROUP:fbuf	; clobber old dma value with
					trap	set_dma 			; a pointer to our dma buffer
 001C  06				push	ES
					invoke	find_path			; get a handle (ES:DI) on user path
 0020  8C 06 0000 E			mov	DS:pathinfo[0], ES		; and squirrel it away
 0024  89 3E 0002 E			mov	DS:pathinfo[2], DI		; "old" pathstring pointer
 0028  89 3E 0004 E			mov	DS:pathinfo[4], DI		; "new" pathstring pointer
 002C  07				pop	ES
				
 002D  BB 0080				mov	BX, pbuflen			; copy/format argv[0] into temp buffer
 0030  BE 0000 E			mov	SI, OFFSET TRANGROUP:EXECPATH
					invoke	strip
 0036  72 D6				jc	path_failure_jmp		; if possible, of course
				
 0038  8B D6				mov	DX, SI				; search(EXECPATH, error_message)
 003A  C7 06 0000 E 0000 E		mov	[search_error], OFFSET TRANGROUP:BADDRV_ptr
					invoke	search				; must do at least one search
 0043  0B C0				or	AX, AX				; find anything?
 0045  74 6B				jz	path_noinit			; failure ... search farther
				
 0047  8B E8				mov	BP, AX				; success... save filetype code
 0049  BF 0000 E			mov	DI, OFFSET TRANGROUP:EXECPATH
 004C  8B 36 0000 E			mov	SI, DS:arg.argv[0].argpointer
 0050  8B 0E 0003 E			mov	CX, DS:arg.argv[0].argstartel
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-4
Path_Search                                                 

 0054  2B CE				sub	CX, SI				; compute prefix bytes to copy
				;
				; We have the number of bytes in the prefix (up to the final component).
				; We need to form the complete pathname including leading drive and current
				; directory.
				;
				; Is there a drive letter present?
				;
				
 0056  B4 3A				mov	ah,':'
 0058  83 F9 02				cmp	cx,2				; room for drive letter?
 005B  72 05				jb	AddDrive			; no, stick it in
 005D  38 64 01				cmp	[si+1],ah			; colon present?
 0060  74 08				jz	MoveDrive			; yes, just move it
				
 0062				AddDrive:
 0062  A0 0000 E			mov	al,curdrv			; get current drive
 0065  04 41				add	al,"A"                          ; convert to uppercase letter
 0067  AB				stosw					; store d:
 0068  EB 05				jmp	short CheckPath
				
 006A				MoveDrive:
 006A  AD				lodsw					; move d:
 006B  AB				stosw
 006C  83 E9 02				sub	cx,2				; 2 bytes less to move
				
 006F				CheckPath:
 006F  0C 20				or	al,20h
 0071  8A D0				mov	dl,al
 0073  80 EA 60				sub	dl,"a"-1                        ; convert to 1-based for current dir
				;
				; Stick in beginning path char
				;
 0076  A0 0000 E			mov	al,psep_char
 0079  AA				stosb
				;
				; Is there a leading /?  If so, then no current dir copy is necessary.
				; Otherwise, get current dir for DL.
				;
 007A  83 F9 01				cmp	cx,1				; is there room for path char?
 007D  72 0A				jb	AddPath 			; no, go add path
 007F  AC				lodsb
 0080  49				dec	cx
 0081  3A 06 0000 E			cmp	al,psep_char			; is there a path separator?
 0085  74 1E				jz	MovePath			; yes, go move remainder of path
 0087  41				inc	cx
 0088  4E				dec	si				; undo the lodsb
				
 0089				AddPath:
					SaveReg <SI>
 008A  8B F7				mov	si,di				; remainder of buffer
					trap	Current_dir
				;
				; The previous current dir will succeed a previous find_first already worked.
				;
				; Find end of string.
				;
 0091  8B FE				mov	di,si
					RestoreReg  <SI>
 0094  A0 0000 E			mov	al,psep_char
 0097  80 3D 00				cmp	byte ptr [di],0 		; root (empty dir string)?
 009A  74 09				jz	MovePath			; yes, no need for path char
				
 009C				ScanEnd:
 009C  80 3D 00				cmp	byte ptr [dI],0 		; end of string?
 009F  74 03				jz	FoundEnd
 00A1  47				inc	di
 00A2  EB F8				jmp	ScanEnd
				;
				; Stick in a trailing path char
				;
 00A4				FoundEnd:
 00A4  AA				stosb
				;
				; Move remaining part of path.	Skip leading path char if present.
				;
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-5
Path_Search                                                 

 00A5				MovePath:
 00A5  38 04				cmp	[si],al 			; first char a path char?
 00A7  75 02				jnz	CopyPath
 00A9  46				inc	si				; move past leading char
 00AA  49				dec	cx				; drop from count
				
 00AB				CopyPath:
 00AB  E3 02				jcxz	CopyDone			; no chars to move!
 00AD  F3/ A4				rep	movsb
				
 00AF				CopyDone:
 00AF  E9 0153 R			jmp	path_success			; run off and form complete pathname
				
 00B2				path_noinit:
 00B2  F6 06 0002 E 04			test	DS:arg.argv[0].argflags, MASK path_sep
 00B7  75 1B				jnz	path_failure			; complete pathname specified ==> fail
				
 00B9  B7 3B				mov	BH, path_sep_char		; semicolon terminates pathstring
 00BB  8B 16 0003 E			mov	DX, DS:arg.argv[0].argstartel	; this is where the last element starts
 00BF  2B 16 0000 E			sub	DX, DS:arg.argv[0].argpointer	; form pointer into EXECPATH,
 00C3  81 C2 0000 E			add	DX, OFFSET TRANGROUP:EXECPATH	; skipping over drive spec, if any
				
 00C7				path_loop:
 00C7  E8 017C R			call	path_crunch			; pcrunch(EXECPATH, pathinfo)
 00CA  8B E8				mov	BP, AX				; save filetype code
				
 00CC  9F				lahf					; save flags, just in case
 00CD  0B ED				or	BP, BP				; did path_crunch find anything?
 00CF  75 08				jne	path_found
 00D1  9E				sahf					; see?	needed those flags, after all!
 00D2  73 F3				jnc	path_loop			; is there anything left to the path?
				
 00D4				path_failure:
 00D4  33 C0				xor	AX, AX
				;;	jmp	short path_exit 		; 3/3/KK
 00D6  E9 0160 R			jmp	path_exit			;AC000;  3/3/KK
				
 00D9				path_found:					; pathinfo[] points to winner
 00D9  BF 0000 E			mov	DI, OFFSET TRANGROUP:EXECPATH
 00DC  8B 0E 0004 E			mov	CX, pathinfo[4] 		; "new" pointer -- end of string
 00E0  8B 36 0002 E			mov	SI, pathinfo[2] 		; "old" pointer -- beginning of string
				
				;
				;	BAS Nov 20/84
				;   Look at the pathname and expand . and .. if they are the first element
				;   in the pathname (after the drive letter)
				;
 00E4  06				push	ES
 00E5  FF 36 0000 E			push	pathinfo[0]
 00E9  07				pop	ES
 00EA  26: 80 7C 02 2E			cmp	Byte Ptr ES:[SI+2],'.'          ; Look for Current dir at start of path
 00EF  75 34				jnz	path_cpy
				
 00F1  51				push	CX				; Save pointer to end of string
 00F2  26: 8A 04			mov	AL, ES:[SI]
 00F5  88 05				mov	[DI],AL 			; Copy drive letter, :, and root char
 00F7  26: 8A 44 01			mov	AL, ES:[SI+1]			; to EXECPATH
 00FB  88 45 01				mov	[DI+1],AL
 00FE  A0 0000 E			mov	AL,psep_char
 0101  88 45 02				mov	[DI+2],AL
 0104  56				push	SI				; Save pointer to begining of string
 0105  26: 8A 14			mov	DL,ES:[SI]			; Convert device letter for cur dir
 0108  80 CA 20				or	DL,20h
 010B  80 EA 60				sub	DL,"a"-1
 010E  8B F7				mov	SI,DI				; pointer to EXECPATH
 0110  83 C6 03				add	SI, 3				; Don't wipe out drive and root info
					trap	Current_dir
					invoke	DStrlen 			; Determine length of present info
 011B  03 F1				add	SI,CX				; Don't copy over drive and root info
 011D  4E				dec	SI
 011E  8B FE				mov	DI,SI				; Point to end of target string
 0120  5E				pop	SI				; Restore pointer to begining of string
 0121  83 C6 03				add	SI, 3				; Point past drive letter, :, .
 0124  59				pop	CX				; Restore pointer to end of string
				
 0125				path_cpy:
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-6
Path_Search                                                 

 0125  07				pop	ES
 0126  2B CE				sub	CX, SI				; yields character count
 0128  1E				push	DS				; time to switch segments
 0129  FF 36 0000 E			push	pathinfo[0]			; string lives in this segment
 012D  1F				pop	DS
 012E  FC				cld
				;;	rep	movsb	    3/3/KK		; copy the prefix path into EXECPATH
				
 012F				Kloop:						;AN000;  3/3/KK
 012F  AC				lodsb					;AN000;  3/3/KK
 0130  AA				stosb					;AN000;  3/3/KK
					invoke	testkanj			;AN000;  3/3/KK
 0134  74 10				jz	NotKanj1			;AN000;  3/3/KK
 0136  49				dec	cx				;AN000;  3/3/KK
 0137  E3 07				JCXZ	PopDone 			;AN000;  Ignore boundary error	 3/3/KK
 0139  A4				movsb					;AN000;  3/3/KK
 013A  49				dec	cx				;AN000;  3/3/KK
 013B  83 F9 01				cmp	cx,1				;AN000;  One char (the terminator) left ? 3/3/KK
 013E  77 EF				ja	Kloop				;AN000;  no.			 3/3/KK
				
 0140				PopDone:					;AN000;  3/3/KK
 0140  1F				POP	DS				;AN000;  Yes ES:DI->terminator, last char is 3/3/KK
 0141  A0 0000 E			mov	AL, psep_char			;AN000;       KANJI		  3/3/KK
 0144  EB 0C				jmp	Short path_store		;AN000;  3/3/KK
				
 0146				NotKanj1:
 0146  E2 E7				loop	Kloop
 0148  1F				pop	DS				; return to our segment
 0149  4F				dec	DI				; overwrite terminator
 014A  A0 0000 E			mov	AL, psep_char			; with a pathname separator
 014D  3A 45 FF				cmp	al,byte ptr [di-1]
 0150  74 01				jz	path_success
				
 0152				path_store:					;AN000;  3/3/KK
 0152  AA				stosb
				
 0153				path_success:
 0153  BE 0000 E			mov	SI, OFFSET TRANGROUP:search_best_buf
 0156  33 C9				xor	CX, CX
				
 0158				path_succ_loop:
 0158  AC				lodsb					; append winning filename to path
 0159  AA				stosb					; (including terminating null)
 015A  0A C0				or	al,al
 015C  75 FA				jnz	path_succ_loop
 015E  8B C5				mov	AX, BP				; retrieve filetype code
				
 0160				path_exit:
 0160  9D				popf
 0161  5D				pop	BP
 0162  5F				pop	DI
 0163  5E				pop	SI				; chill out...
 0164  5A				pop	DX
 0165  59				pop	CX
 0166  5B				pop	BX
 0167  C3				ret
				EndProc Path_Search
				
				break <Store_Pchar>
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-7
Store_Pchar                                                 

				;----------------------------------------------------------------------------
				;   STORE_PCHAR determines the pathname-element separator and squirrels
				; it away.  In other words, must we say '/bin/ls' or '\bin\ls'?
				; ENTRY:
				; EXIT:
				; NOTE(S):
				;   *	Uses <psep_char>, defined in <path_search>.
				;---------------
				;---------------
				Procedure   Store_PChar,NEAR
				;---------------
				
 0168  50				push	AX
 0169  B0 2F				mov	AL, '/'                         ; is the pathname-element separator
					invoke	pathchrcmp			; a regular slash?
 016E  74 07				jz	store_slash			; if yes, remember slash
 0170  B0 5C				mov	al,'\'
 0172  A2 0000 E			mov	[psep_char], al 		; otherwise, remember back-slash
 0175  58				pop	ax
 0176  C3				ret
				
 0177				store_slash:
 0177  A2 0000 E			mov	[psep_char], al
 017A  58				pop	ax
					return
				;---------------
				EndProc Store_Pchar
				;----------------------------------------------------------------------------
				
				break <Path_Crunch>
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-8
Path_Crunch                                                 

				;----------------------------------------------------------------------------
				; PATH_CRUNCH takes a prefix from a prefix string, and a suffix from
				; EXECPATH, and smooshes them into tpbuf.  The caller may supply an
				; additional separator to use for breaking up the path-string.	Null is the
				; default.  Once the user-string has been formed, search is invoked to see
				; what's out there.
				; ENTRY:
				;   BH			--	additional terminator character
				;   SI			--	pointer into pathstring to be dissected
				;   DX			--	pointer to stripped filename
				; EXIT:
				;   AX			--	non-zero (file type), zero (nothing found)
				;   SI			--	moves along pathstring from call to call
				;   [search_best_buf]	--	name of best file (AX non-zero)
				;   [tpbuf]		--	clobbered
				; NOTE(S):
				;   *	Implicit in this code is the ability to specify when to search
				;	the current directory (if at all) through the PATH defined by
				;	the user, a la UNIX (e.g., PATH=;c:\bin;c:\etc searches the
				;	current directory before the bin and etc directories of drive c).
				;---------------
				Procedure   Path_Crunch,NEAR
				;---------------
 017C  53				push	BX
 017D  51				push	CX
 017E  52				push	DX
 017F  57				push	DI
 0180  56				push	SI
 0181  9C				pushf
 0182  E8 0168 R			call	store_pchar			; figure out pathname separator
 0185  BF 0000 E			mov	DI, OFFSET TRANGROUP:tpbuf	; destination of concatenated string
 0188  8B 36 0004 E			mov	SI, pathinfo[4] 		; "new" pointer to start with
 018C  89 36 0002 E			mov	pathinfo[2], SI 		; becomes "old" pointer
 0190  1E				push	DS				; save old segment pointer
 0191  FF 36 0000 E			push	pathinfo[0]			; replace with pointer to userpath's
 0195  1F				pop	DS				; segment
 0196  32 C9				xor	cl,cl				;AN000;  clear flag for later use 3/3/KK
				
 0198				path_cr_copy:
 0198  AC				lodsb					; get a pathname byte
 0199  0A C0				or	al,al				; check for terminator(s)
 019B  74 14				jz	path_seg			; null terminates segment & pathstring
 019D  3A C7				cmp	AL, BH
 019F  74 10				jz	path_seg			; BH terminates a pathstring segment
					invoke	testkanj			;AN000;  3/3/KK
 01A4  74 06				jz	NotKanj2			;AN000;  3/3/KK
 01A6  AA				stosb					;AN000;  3/3/KK
 01A7  A4				movsb					;AN000;  3/3/KK
 01A8  B1 01				MOV	CL,1				;AN000;  CL=1 means latest stored char is DBCS 3/3/K
				K
 01AA  EB EC				jmp	path_cr_copy			;AN000;  3/3/KK
				
 01AC				NotKanj2:					;AN000;  3/3/KK
 01AC  32 C9				xor	cl,cl				;AN000;  CL=0 means latest stored char is SBCS 3/3/K
				K
 01AE  AA				stosb					; save byte in concat buffer
 01AF  EB E7				jmp	path_cr_copy			; loop until we see a terminator
				
 01B1				path_seg:
 01B1  1F				pop	DS				; restore old data segment
 01B2  89 36 0004 E			mov	pathinfo[4], SI 		; save "new" pointer for next time
 01B6  8A D8				mov	BL, AL				; remember if we saw null or not...
										;;; REMOVE NEXT 3 LINES FOR CURDIR SPEC
 01B8  33 C0				xor	AX, AX				; in case nothing in pathstr...
 01BA  81 FF 0000 E			cmp	DI, OFFSET TRANGROUP:tpbuf	; was there really anything in pathstr?
 01BE  74 21				je	path_cr_leave			; if nothing was copied, pathstr empty
				
 01C0				path_cr_look:					; form complete pathname
 01C0  A0 0000 E			mov	al, psep_char			; add pathname separator for suffix
 01C3  0A C9				or	cl,cl				;AN000;  3/3/KK
 01C5  75 05				jnz	path_cr_store			;AN000;  this is a trailing byte of ECS code 3/3/KK
 01C7  3A 45 FF				cmp	al,byte ptr [di-1]
 01CA  74 01				jz	path_cr_l1
				
 01CC				path_cr_store:					;AN000;  3/3/KK
 01CC  AA				stosb
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Page     1-9
Path_Crunch                                                 

				
 01CD				path_cr_l1:
 01CD  8B F2				mov	SI, DX
				
 01CF				path_cr_l2:
 01CF  AC				lodsb					; tack the stripped filename onto
 01D0  AA				stosb					; the end of the path, up to and
 01D1  0A C0				or	AL, AL				; including the terminating null
 01D3  75 FA				jnz	path_cr_l2
 01D5  BA 0000 E			mov	DX, OFFSET TRANGROUP:tpbuf	; and look for an appropriate file...
 01D8  C7 06 0000 E 0000 E		mov	[search_error], OFFSET TRANGROUP:BADPMES_ptr
					invoke	search				; results are in AX & search_best_buf
				
 01E1				path_cr_leave:
 01E1  0A DB				or	BL, BL				; did we finish off the pathstring?
 01E3  74 04				jz	path_cr_empty			; null in BL means all gone...
 01E5  9D				popf					; otherwise, plenty left
 01E6  F8				clc
 01E7  EB 02				jmp	short path_cr_exit
				
 01E9				path_cr_empty:
 01E9  9D				popf
 01EA  F9				stc
				
 01EB				path_cr_exit:
 01EB  5E				pop	SI
 01EC  5F				pop	DI
 01ED  5A				pop	DX
 01EE  59				pop	CX
 01EF  5B				pop	BX
 01F0  C3				ret
				;---------------
				EndProc Path_Crunch
				;----------------------------------------------------------------------------
				
				
 01F1				trancode    ends
				END

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-1


Macros:

		N a m e			Lines

ARGVAR . . . . . . . . . . . . .  	  23
ASMVAR . . . . . . . . . . . . .  	   3
ASMVARS  . . . . . . . . . . . .  	   3
ASSERT . . . . . . . . . . . . .  	   0
CALLINSTALL  . . . . . . . . . .  	  12
DOSASSUME  . . . . . . . . . . .  	   3
ENTER  . . . . . . . . . . . . .  	   3
ENTERCRIT  . . . . . . . . . . .  	   1
ERRNZ  . . . . . . . . . . . . .  	   4
FMT  . . . . . . . . . . . . . .  	   0
LEAVE  . . . . . . . . . . . . .  	   2
LEAVECRIT  . . . . . . . . . . .  	   1
LOCALVAR . . . . . . . . . . . .  	  23
TRAP . . . . . . . . . . . . . .  	   6

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

ARENA  . . . . . . . . . . . . .  	0010	0005
  ARENA_SIGNATURE  . . . . . . .  	0000
  ARENA_OWNER  . . . . . . . . .  	0001
  ARENA_SIZE . . . . . . . . . .  	0003
  ARENA_RESERVED . . . . . . . .  	0005
  ARENA_NAME . . . . . . . . . .  	0008
ARGV_ELE . . . . . . . . . . . .  	000B	0006
  ARGPOINTER . . . . . . . . . .  	0000
  ARGFLAGS . . . . . . . . . . .  	0002
  ARGSTARTEL . . . . . . . . . .  	0003
  ARGLEN . . . . . . . . . . . .  	0005
  ARGSW_WORD . . . . . . . . . .  	0007
  ARG_OCOMPTR  . . . . . . . . .  	0009
ARG_UNIT . . . . . . . . . . . .  	0544	0005
  ARGV . . . . . . . . . . . . .  	0000
  ARGVCNT  . . . . . . . . . . .  	02C0
  ARGSWINFO  . . . . . . . . . .  	02C2
  ARGBUF . . . . . . . . . . . .  	02C4
  ARGFORCOMBUF . . . . . . . . .  	04C4
A_BPB  . . . . . . . . . . . . .  	001F	000F
  BPB_BYTESPERSECTOR . . . . . .  	0000
  BPB_SECTORSPERCLUSTER  . . . .  	0002
  BPB_RESERVEDSECTORS  . . . . .  	0003
  BPB_NUMBEROFFATS . . . . . . .  	0005
  BPB_ROOTENTRIES  . . . . . . .  	0006
  BPB_TOTALSECTORS . . . . . . .  	0008
  BPB_MEDIADESCRIPTOR  . . . . .  	000A
  BPB_SECTORSPERFAT  . . . . . .  	000B
  BPB_SECTORSPERTRACK  . . . . .  	000D
  BPB_HEADS  . . . . . . . . . .  	000F
  BPB_HIDDENSECTORS  . . . . . .  	0011
  BPB_BIGTOTALSECTORS  . . . . .  	0015
BATCHSEGMENT . . . . . . . . . .  	0020	0008
  BATTYPE  . . . . . . . . . . .  	0000
  BATECHOFLAG  . . . . . . . . .  	0001
  BATLAST  . . . . . . . . . . .  	0002
  BATFORPTR  . . . . . . . . . .  	0004
  BATFORFLAG . . . . . . . . . .  	0006
  BATSEEK  . . . . . . . . . . .  	0007
  BATPARM  . . . . . . . . . . .  	000B
  BATFILE  . . . . . . . . . . .  	001F
BPBLOCK  . . . . . . . . . . . .  	000D	0008
  BPSECSZ  . . . . . . . . . . .  	0000
  BPCLUS . . . . . . . . . . . .  	0002
  BPRES  . . . . . . . . . . . .  	0003
  BPFTCNT  . . . . . . . . . . .  	0005
  BPDRCNT  . . . . . . . . . . .  	0006
  BPSCCNT  . . . . . . . . . . .  	0008
  BPMEDIA  . . . . . . . . . . .  	000A
  BPFTSEC  . . . . . . . . . . .  	000B
BUFFER_HASH_ENTRY  . . . . . . .  	0008	0004
  EMS_PAGE_NUM . . . . . . . . .  	0000
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-2


  BUFFER_BUCKET  . . . . . . . .  	0002
  DIRTY_COUNT  . . . . . . . . .  	0006
  BUFFER_RESERVED  . . . . . . .  	0007
BUFFINFO . . . . . . . . . . . .  	0023	000F
  HASH_PTR . . . . . . . . . . .  	0000
  HASH_COUNT . . . . . . . . . .  	0004
  CACHE_PTR  . . . . . . . . . .  	0006
  CACHE_COUNT  . . . . . . . . .  	000A
  EMS_SAFE_FLAG  . . . . . . . .  	000C
  EMS_LAST_PAGE  . . . . . . . .  	000D
  EMS_FIRST_PAGE . . . . . . . .  	0011
  EMS_NPA640 . . . . . . . . . .  	0015
  EMS_MODE . . . . . . . . . . .  	0017
  EMS_HANDLE . . . . . . . . . .  	0018
  EMS_PAGEFRAME_NUMBER . . . . .  	001A
  EMS_SEG_CNT  . . . . . . . . .  	001C
  EMS_PAGE_FRAME . . . . . . . .  	001E
  EMS_RESERVED . . . . . . . . .  	0020
  EMS_MAP_BUFF . . . . . . . . .  	0022
CURDIR_LIST  . . . . . . . . . .  	0058	000A
  CURDIR_TEXT  . . . . . . . . .  	0000
  CURDIR_FLAGS . . . . . . . . .  	0043
  CURDIR_DEVPTR  . . . . . . . .  	0045
  CURDIR_ID  . . . . . . . . . .  	0049
  CURDIR_USER_WORD . . . . . . .  	004D
  CURDIR_END . . . . . . . . . .  	004F
  CURDIR_TYPE  . . . . . . . . .  	0051
  CURDIR_IFS_HDR . . . . . . . .  	0052
  CURDIR_FSDA  . . . . . . . . .  	0056
DIR_ENTRY  . . . . . . . . . . .  	0020	000B
  DIR_NAME . . . . . . . . . . .  	0000
  DIR_ATTR . . . . . . . . . . .  	000B
  DIR_CODEPG . . . . . . . . . .  	000C
  DIR_EXTCLUSTER . . . . . . . .  	000E
  DIR_ATTR2  . . . . . . . . . .  	0010
  DIR_PAD  . . . . . . . . . . .  	0011
  DIR_TIME . . . . . . . . . . .  	0016
  DIR_DATE . . . . . . . . . . .  	0018
  DIR_FIRST  . . . . . . . . . .  	001A
  DIR_SIZE_L . . . . . . . . . .  	001C
  DIR_SIZE_H . . . . . . . . . .  	001E
DPB  . . . . . . . . . . . . . .  	0021	0012
  DPB_DRIVE  . . . . . . . . . .  	0000
  DPB_UNIT . . . . . . . . . . .  	0001
  DPB_SECTOR_SIZE  . . . . . . .  	0002
  DPB_CLUSTER_MASK . . . . . . .  	0004
  DPB_CLUSTER_SHIFT  . . . . . .  	0005
  DPB_FIRST_FAT  . . . . . . . .  	0006
  DPB_FAT_COUNT  . . . . . . . .  	0008
  DPB_ROOT_ENTRIES . . . . . . .  	0009
  DPB_FIRST_SECTOR . . . . . . .  	000B
  DPB_MAX_CLUSTER  . . . . . . .  	000D
  DPB_FAT_SIZE . . . . . . . . .  	000F
  DPB_DIR_SECTOR . . . . . . . .  	0011
  DPB_DRIVER_ADDR  . . . . . . .  	0013
  DPB_MEDIA  . . . . . . . . . .  	0017
  DPB_FIRST_ACCESS . . . . . . .  	0018
  DPB_NEXT_DPB . . . . . . . . .  	0019
  DPB_NEXT_FREE  . . . . . . . .  	001D
  DPB_FREE_CNT . . . . . . . . .  	001F
EXEC0  . . . . . . . . . . . . .  	000E	0004
  EXEC0_ENVIRON  . . . . . . . .  	0000
  EXEC0_COM_LINE . . . . . . . .  	0002
  EXEC0_5C_FCB . . . . . . . . .  	0006
  EXEC0_6C_FCB . . . . . . . . .  	000A
EXEC1  . . . . . . . . . . . . .  	0016	0008
  EXEC1_ENVIRON  . . . . . . . .  	0000
  EXEC1_COM_LINE . . . . . . . .  	0002
  EXEC1_5C_FCB . . . . . . . . .  	0006
  EXEC1_6C_FCB . . . . . . . . .  	000A
  EXEC1_SP . . . . . . . . . . .  	000E
  EXEC1_SS . . . . . . . . . . .  	0010
  EXEC1_IP . . . . . . . . . . .  	0012
  EXEC1_CS . . . . . . . . . . .  	0014
EXEC3  . . . . . . . . . . . . .  	0004	0002
  EXEC3_LOAD_ADDR  . . . . . . .  	0000
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-3


  EXEC3_RELOC_FAC  . . . . . . .  	0002
EXE_FILE . . . . . . . . . . . .  	0020	000F
  EXE_SIGNATURE  . . . . . . . .  	0000
  EXE_LEN_MOD_512  . . . . . . .  	0002
  EXE_PAGES  . . . . . . . . . .  	0004
  EXE_RLE_COUNT  . . . . . . . .  	0006
  EXE_PAR_DIR  . . . . . . . . .  	0008
  EXE_MIN_BSS  . . . . . . . . .  	000A
  EXE_MAX_BSS  . . . . . . . . .  	000C
  EXE_SS . . . . . . . . . . . .  	000E
  EXE_SP . . . . . . . . . . . .  	0010
  EXE_CHKSUM . . . . . . . . . .  	0012
  EXE_IP . . . . . . . . . . . .  	0014
  EXE_CS . . . . . . . . . . . .  	0016
  EXE_RLE_TABLE  . . . . . . . .  	0018
  EXE_IOV  . . . . . . . . . . .  	001A
  EXE_SYM_TAB  . . . . . . . . .  	001C
EXT_OPEN_PARM  . . . . . . . . .  	0006	0002
  EXT_SET_LIST . . . . . . . . .  	0000
  EXT_NUM_OF_PARM  . . . . . . .  	0004
FIND_BUF . . . . . . . . . . . .  	002B	000C
  FIND_BUF_DRIVE . . . . . . . .  	0000
  FIND_BUF_NAME  . . . . . . . .  	0001
  FIND_BUF_SATTR . . . . . . . .  	000C
  FIND_BUF_LASTENT . . . . . . .  	000D
  FIND_BUF_DIRSTART  . . . . . .  	000F
  FIND_BUF_NETID . . . . . . . .  	0011
  FIND_BUF_ATTR  . . . . . . . .  	0015
  FIND_BUF_TIME  . . . . . . . .  	0016
  FIND_BUF_DATE  . . . . . . . .  	0018
  FIND_BUF_SIZE_L  . . . . . . .  	001A
  FIND_BUF_SIZE_H  . . . . . . .  	001C
  FIND_BUF_PNAME . . . . . . . .  	001E
INTERNAT_BLOCK . . . . . . . . .  	0018	0015
  DATE_TIM_FORMAT  . . . . . . .  	0000
  CURRENCY_SYM . . . . . . . . .  	0002
  THOUS_SEP  . . . . . . . . . .  	0007
  DECIMAL_SEP  . . . . . . . . .  	0009
  DATE_SEP . . . . . . . . . . .  	000B
  TIME_SEP . . . . . . . . . . .  	000D
  BIT_FIELD  . . . . . . . . . .  	000F
  CURRENCY_CENTS . . . . . . . .  	0010
  TIME_24  . . . . . . . . . . .  	0011
  MAP_CALL . . . . . . . . . . .  	0012
  DATA_SEP . . . . . . . . . . .  	0016
PARSEFLAGS . . . . . . . . . . .  	0008	0005
  SPECIAL_DELIM  . . . . . . . .  	0007	0001	0080	0000
  UNUSED . . . . . . . . . . . .  	0003	0004	0078	0000
  PATH_SEP . . . . . . . . . . .  	0002	0001	0004	0000
  WILDCARD . . . . . . . . . . .  	0001	0001	0002	0000
  SW_FLAG  . . . . . . . . . . .  	0000	0001	0001	0000
PROCESS_DATA_BLOCK . . . . . . .  	005C	0011
  PDB_EXIT_CALL  . . . . . . . .  	0000
  PDB_BLOCK_LEN  . . . . . . . .  	0002
  PDB_CPM_CALL . . . . . . . . .  	0005
  PDB_EXIT . . . . . . . . . . .  	000A
  PDB_CTRL_C . . . . . . . . . .  	000E
  PDB_FATAL_ABORT  . . . . . . .  	0012
  PDB_PARENT_PID . . . . . . . .  	0016
  PDB_JFN_TABLE  . . . . . . . .  	0018
  PDB_ENVIRON  . . . . . . . . .  	002C
  PDB_USER_STACK . . . . . . . .  	002E
  PDB_JFN_LENGTH . . . . . . . .  	0032
  PDB_JFN_POINTER  . . . . . . .  	0034
  PDB_NEXT_PDB . . . . . . . . .  	0038
  PDB_PAD1 . . . . . . . . . . .  	003C
  PDB_CALL_SYSTEM  . . . . . . .  	0050
  PDB_PAD2 . . . . . . . . . . .  	0055
SF . . . . . . . . . . . . . . .  	0008	0003
  SFLINK . . . . . . . . . . . .  	0000
  SFCOUNT  . . . . . . . . . . .  	0004
  SFTABLE  . . . . . . . . . . .  	0006
SF_ENTRY . . . . . . . . . . . .  	003B	0014
  SF_REF_COUNT . . . . . . . . .  	0000
  SF_MODE  . . . . . . . . . . .  	0002
  SF_ATTR  . . . . . . . . . . .  	0004
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-4


  SF_FLAGS . . . . . . . . . . .  	0005
  SF_DEVPTR  . . . . . . . . . .  	0007
  SF_FIRCLUS . . . . . . . . . .  	000B
  SF_TIME  . . . . . . . . . . .  	000D
  SF_DATE  . . . . . . . . . . .  	000F
  SF_SIZE  . . . . . . . . . . .  	0011
  SF_POSITION  . . . . . . . . .  	0015
  SF_CLUSPOS . . . . . . . . . .  	0019
  SF_DIRSEC  . . . . . . . . . .  	001B
  SF_DIRPOS  . . . . . . . . . .  	001F
  SF_NAME  . . . . . . . . . . .  	0020
  SF_CHAIN . . . . . . . . . . .  	002B
  SF_UID . . . . . . . . . . . .  	002F
  SF_PID . . . . . . . . . . . .  	0031
  SF_MFT . . . . . . . . . . . .  	0033
  SF_LSTCLUS . . . . . . . . . .  	0035
  SF_IFS_HDR . . . . . . . . . .  	0037
SYMBOL_ENTRY . . . . . . . . . .  	0106	0004
  SYM_VALUE  . . . . . . . . . .  	0000
  SYM_TYPE . . . . . . . . . . .  	0004
  SYM_LEN  . . . . . . . . . . .  	0006
  SYM_NAME . . . . . . . . . . .  	0007
SYSINITVARS  . . . . . . . . . .  	0047	0018
  SYSI_DPB . . . . . . . . . . .  	0000
  SYSI_SFT . . . . . . . . . . .  	0004
  SYSI_CLOCK . . . . . . . . . .  	0008
  SYSI_CON . . . . . . . . . . .  	000C
  SYSI_MAXSEC  . . . . . . . . .  	0010
  SYSI_BUF . . . . . . . . . . .  	0012
  SYSI_CDS . . . . . . . . . . .  	0016
  SYSI_FCB . . . . . . . . . . .  	001A
  SYSI_KEEP  . . . . . . . . . .  	001E
  SYSI_NUMIO . . . . . . . . . .  	0020
  SYSI_NCDS  . . . . . . . . . .  	0021
  SYSI_DEV . . . . . . . . . . .  	0022
  SYSI_ATTR  . . . . . . . . . .  	0026
  SYSI_STRAT . . . . . . . . . .  	0028
  SYSI_INTER . . . . . . . . . .  	002A
  SYSI_NAME  . . . . . . . . . .  	002C
  SYSI_SPLICE  . . . . . . . . .  	0034
  SYSI_IBMDOS_SIZE . . . . . . .  	0035
  SYSI_IFS_DOSCALL@  . . . . . .  	0037
  SYSI_IFS . . . . . . . . . . .  	003B
  SYSI_BUFFERS . . . . . . . . .  	003F
  SYSI_BOOT_DRIVE  . . . . . . .  	0043
  SYSI_DWMOVE  . . . . . . . . .  	0044
  SYSI_EXT_MEM . . . . . . . . .  	0045
SYSINITVARS_EXT  . . . . . . . .  	0008	0002
  SYSI_INITVARS  . . . . . . . .  	0000
  SYSI_COUNTRY_TAB . . . . . . .  	0004
SYS_FCB  . . . . . . . . . . . .  	0025	000C
  FCB_DRIVE  . . . . . . . . . .  	0000
  FCB_NAME . . . . . . . . . . .  	0001
  FCB_EXT  . . . . . . . . . . .  	0009
  FCB_EXTENT . . . . . . . . . .  	000C
  FCB_RECSIZ . . . . . . . . . .  	000E
  FCB_FILSIZ . . . . . . . . . .  	0010
  FCB_DRVBP  . . . . . . . . . .  	0012
  FCB_FDATE  . . . . . . . . . .  	0014
  FCB_FTIME  . . . . . . . . . .  	0016
  FCB_RESERVED . . . . . . . . .  	0018
  FCB_NR . . . . . . . . . . . .  	0020
  FCB_RR . . . . . . . . . . . .  	0021
USER_ENVIRON . . . . . . . . . .  	0018	000C
  USER_AX  . . . . . . . . . . .  	0000
  USER_BX  . . . . . . . . . . .  	0002
  USER_CX  . . . . . . . . . . .  	0004
  USER_DX  . . . . . . . . . . .  	0006
  USER_SI  . . . . . . . . . . .  	0008
  USER_DI  . . . . . . . . . . .  	000A
  USER_BP  . . . . . . . . . . .  	000C
  USER_DS  . . . . . . . . . . .  	000E
  USER_ES  . . . . . . . . . . .  	0010
  USER_IP  . . . . . . . . . . .  	0012
  USER_CS  . . . . . . . . . . .  	0014
  USER_F . . . . . . . . . . . .  	0016
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-5


VARSTRUC . . . . . . . . . . . .  	005C	0005
  ISDIR  . . . . . . . . . . . .  	0000
  SIZ  . . . . . . . . . . . . .  	0001
  TTAIL  . . . . . . . . . . . .  	0002
  INFO . . . . . . . . . . . . .  	0004
  BUF  . . . . . . . . . . . . .  	0005

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

RESGROUP . . . . . . . . . . . .  	GROUP
  CODERES  . . . . . . . . . . .  	0000	BYTE	PUBLIC	
  DATARES  . . . . . . . . . . .  	0000	BYTE	PUBLIC	
  BATARENA . . . . . . . . . . .  	0000	PARA	PUBLIC	
  BATSEG . . . . . . . . . . . .  	0000	PARA	PUBLIC	
  ENVARENA . . . . . . . . . . .  	0000	PARA	PUBLIC	
  ENVIRONMENT  . . . . . . . . .  	0000	PARA	PUBLIC	
  INIT . . . . . . . . . . . . .  	0000	PARA	PUBLIC	
  TAIL . . . . . . . . . . . . .  	0000	PARA	PUBLIC	
TRANGROUP  . . . . . . . . . . .  	GROUP
  TRANCODE . . . . . . . . . . .  	01F1	BYTE	PUBLIC	
  TRANDATA . . . . . . . . . . .  	0000	BYTE	PUBLIC	
  TRANSPACE  . . . . . . . . . .  	0000	BYTE	PUBLIC	
  TRANTAIL . . . . . . . . . . .  	0000	PARA	PUBLIC	

Symbols:            

                N a m e         	Type	 Value	 Attr

ABORT  . . . . . . . . . . . . .  	NUMBER	0000	
ACCESS_MASK  . . . . . . . . . .  	NUMBER	000F	
ACTION_CREATED_OPENED  . . . . .  	NUMBER	0002	
ACTION_OPENED  . . . . . . . . .  	NUMBER	0001	
ACTION_REPLACED_OPENED . . . . .  	NUMBER	0003	
ADDDRIVE . . . . . . . . . . . .  	L NEAR	0062	TRANCODE
ADDPATH  . . . . . . . . . . . .  	L NEAR	0089	TRANCODE
ADDR_INT_ABORT . . . . . . . . .  	NUMBER	0080	
ADDR_INT_COMMAND . . . . . . . .  	NUMBER	0084	
ADDR_INT_CTRL_C  . . . . . . . .  	NUMBER	008C	
ADDR_INT_DISK_READ . . . . . . .  	NUMBER	0094	
ADDR_INT_DISK_WRITE  . . . . . .  	NUMBER	0098	
ADDR_INT_FASTCON . . . . . . . .  	NUMBER	00A4	
ADDR_INT_FATAL_ABORT . . . . . .  	NUMBER	0090	
ADDR_INT_IBM . . . . . . . . . .  	NUMBER	00A8	
ADDR_INT_KEEP_PROCESS  . . . . .  	NUMBER	009C	
ADDR_INT_SPOOLER . . . . . . . .  	NUMBER	00A0	
ADDR_INT_TERMINATE . . . . . . .  	NUMBER	0088	
ALLOC  . . . . . . . . . . . . .  	NUMBER	0048	
ALLOCOPER  . . . . . . . . . . .  	NUMBER	0058	
ALLOWED_FAIL . . . . . . . . . .  	NUMBER	0008	
ALLOWED_IGNORE . . . . . . . . .  	NUMBER	0020	
ALLOWED_RETRY  . . . . . . . . .  	NUMBER	0010	
ALTPIPECHR . . . . . . . . . . .  	NUMBER	007C	
ALTVECT  . . . . . . . . . . . .  	ALIAS	 FALSE		
ALT_EXPECTED_VERSION . . . . . .  	NUMBER	1A05	
ALT_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
ALT_MINOR_VERSION  . . . . . . .  	NUMBER	001A	
ANULL  . . . . . . . . . . . . .  	NUMBER	0000	
APPENDDOS  . . . . . . . . . . .  	NUMBER	B702	
APPENDGETSTATE . . . . . . . . .  	NUMBER	B706	
APPENDINSTALL  . . . . . . . . .  	NUMBER	B700	
APPENDSETSTATE . . . . . . . . .  	NUMBER	B707	
APPENDTRUENAME . . . . . . . . .  	NUMBER	B711	
ARENA_OWNER_SYSTEM . . . . . . .  	NUMBER	0000	
ARENA_SIGNATURE_END  . . . . . .  	NUMBER	005A	
ARENA_SIGNATURE_NORMAL . . . . .  	NUMBER	004D	
arg  . . . . . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
ARGBLEN  . . . . . . . . . . . .  	NUMBER	0100	
ARGMAX . . . . . . . . . . . . .  	NUMBER	0040	
ARG_BUF_OVFLOW . . . . . . . . .  	NUMBER	0002	
ARG_CNT_ERROR  . . . . . . . . .  	NUMBER	0001	
ASSIGNOPER . . . . . . . . . . .  	NUMBER	005F	
ATTR_ALL . . . . . . . . . . . .  	NUMBER	0016	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-6


ATTR_ARCHIVE . . . . . . . . . .  	NUMBER	0020	
ATTR_CHANGEABLE  . . . . . . . .  	NUMBER	0027	
ATTR_DEVICE  . . . . . . . . . .  	NUMBER	0040	
ATTR_DIRECTORY . . . . . . . . .  	NUMBER	0010	
ATTR_HIDDEN  . . . . . . . . . .  	NUMBER	0002	
ATTR_IGNORE  . . . . . . . . . .  	NUMBER	0061	
ATTR_READ_ONLY . . . . . . . . .  	NUMBER	0001	
ATTR_SYSTEM  . . . . . . . . . .  	NUMBER	0004	
ATTR_VOLUME_ID . . . . . . . . .  	NUMBER	0008	
AUTO_COMMIT_WRITE  . . . . . . .  	NUMBER	4000	

baddrv_ptr . . . . . . . . . . .  	V WORD	0000	TRANDATA	External
BADPARM_PTR  . . . . . . . . . .  	NUMBER	000A	
BADPMES_ptr  . . . . . . . . . .  	V WORD	0000	TRANSPACE	External
BADSWT_PTR . . . . . . . . . . .  	NUMBER	0003	
BATCHTYPE  . . . . . . . . . . .  	NUMBER	0000	
BATLEN . . . . . . . . . . . . .  	NUMBER	0020	
BAT_NOT_OPEN . . . . . . . . . .  	NUMBER	-0001	
BAT_OPEN_HANDLE  . . . . . . . .  	NUMBER	0013	
BLANK  . . . . . . . . . . . . .  	NUMBER	0020	
BUFFERFLAG . . . . . . . . . . .  	NUMBER	FFFF	
BUFINSIZ . . . . . . . . . . . .  	NUMBER	0014	
BUF_DIRTY  . . . . . . . . . . .  	NUMBER	0040	
BUF_DPB  . . . . . . . . . . . .  		000D	
BUF_FILL . . . . . . . . . . . .  		0011	
BUF_FLAGS  . . . . . . . . . . .  		0005	
BUF_FREE . . . . . . . . . . . .  	NUMBER	00FF	
BUF_ID . . . . . . . . . . . . .  		0004	
BUF_ISDATA . . . . . . . . . . .  	NUMBER	0008	
BUF_ISDIR  . . . . . . . . . . .  	NUMBER	0004	
BUF_ISFAT  . . . . . . . . . . .  	NUMBER	0002	
BUF_ISNET  . . . . . . . . . . .  	NUMBER	0080	
BUF_NETID  . . . . . . . . . . .  	ALIAS	 BUFINSIZ		
BUF_NEXT . . . . . . . . . . . .  		0000	
BUF_OFFSET . . . . . . . . . . .  	DWORD	0006	
BUF_PREV . . . . . . . . . . . .  		0002	
BUF_RESERVED . . . . . . . . . .  		0013	
BUF_SECTOR . . . . . . . . . . .  		0006	
BUF_SNBUF  . . . . . . . . . . .  	NUMBER	0010	
BUF_TYPE_0 . . . . . . . . . . .  	NUMBER	00F1	
BUF_VISIT  . . . . . . . . . . .  	NUMBER	0020	
BUF_WRTCNT . . . . . . . . . . .  		000A	
BUF_WRTCNTINC  . . . . . . . . .  		000B	

CALL_IN_PROGRESS . . . . . . . .  	NUMBER	0001	
CAPITAL_A  . . . . . . . . . . .  	NUMBER	0041	
CAPITAL_N  . . . . . . . . . . .  	NUMBER	0000	
CAPITAL_Y  . . . . . . . . . . .  	NUMBER	0001	
CARGS  . . . . . . . . . . . . .  	NUMBER	0000	
CHAR_OPER  . . . . . . . . . . .  	NUMBER	0037	
CHDIR  . . . . . . . . . . . . .  	NUMBER	003B	
CHECKPATH  . . . . . . . . . . .  	L NEAR	006F	TRANCODE
CHMOD  . . . . . . . . . . . . .  	NUMBER	0043	
CLOSE  . . . . . . . . . . . . .  	NUMBER	003E	
COLON_CHAR . . . . . . . . . . .  	NUMBER	003A	
COMBUFLEN  . . . . . . . . . . .  	NUMBER	0080	
COMMIT . . . . . . . . . . . . .  	NUMBER	0068	
COPYDONE . . . . . . . . . . . .  	L NEAR	00AF	TRANCODE
COPYPATH . . . . . . . . . . . .  	L NEAR	00AB	TRANCODE
CPSW_OFF . . . . . . . . . . . .  	NUMBER	0000	
CREAT  . . . . . . . . . . . . .  	NUMBER	003C	
CREATENEWFILE  . . . . . . . . .  	NUMBER	005B	
CREATETEMPFILE . . . . . . . . .  	NUMBER	005A	
CREATE_PROCESS_DATA_BLOCK  . . .  	NUMBER	0026	
CREAT_OPEN_FLAG  . . . . . . . .  	NUMBER	0112	
CRITASSIGN . . . . . . . . . . .  	NUMBER	0008	
CRITDEVICE . . . . . . . . . . .  	NUMBER	0002	
CRITDISK . . . . . . . . . . . .  	NUMBER	0001	
CRITIFS  . . . . . . . . . . . .  	NUMBER	0006	
CRITMEM  . . . . . . . . . . . .  	NUMBER	0001	
CRITNET  . . . . . . . . . . . .  	NUMBER	0005	
CRITSFT  . . . . . . . . . . . .  	NUMBER	0001	
CRITSHARE  . . . . . . . . . . .  	NUMBER	0001	
CRIT_MSG_CLASS . . . . . . . . .  	NUMBER	0003	
CRT_IOCTL_LN . . . . . . . . . .  	NUMBER	000E	
CURDIRLEN  . . . . . . . . . . .  	NUMBER	0058	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-7


CURDIR_INUSE . . . . . . . . . .  	NUMBER	4000	
CURDIR_ISIFS . . . . . . . . . .  	NUMBER	8000	
CURDIR_ISNET . . . . . . . . . .  	NUMBER	8000	
CURDIR_LOCAL . . . . . . . . . .  	NUMBER	1000	
CURDIR_NETID . . . . . . . . . .  	DWORD	0049	
CURDIR_SPLICE  . . . . . . . . .  	NUMBER	2000	
curdrv . . . . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
CURRENT_DIR  . . . . . . . . . .  	NUMBER	0047	
C_BS . . . . . . . . . . . . . .  	NUMBER	0008	
C_CR . . . . . . . . . . . . . .  	NUMBER	000D	
C_DEL  . . . . . . . . . . . . .  	NUMBER	007F	
C_ETB  . . . . . . . . . . . . .  	NUMBER	0017	
C_ETX  . . . . . . . . . . . . .  	NUMBER	0003	
C_HT . . . . . . . . . . . . . .  	NUMBER	0009	
C_LF . . . . . . . . . . . . . .  	NUMBER	000A	
C_NAK  . . . . . . . . . . . . .  	NUMBER	0015	

DBCS . . . . . . . . . . . . . .  	NUMBER	0000	
DEALLOC  . . . . . . . . . . . .  	NUMBER	0049	
DEBUG  . . . . . . . . . . . . .  	NUMBER	0000	
DEBUGX . . . . . . . . . . . . .  	ALIAS	 FALSE		
DEVID_BLOCK_DEV  . . . . . . . .  	NUMBER	001F	
DEVID_DEVICE . . . . . . . . . .  	NUMBER	0080	
DEVID_DEVICE_CLOCK . . . . . . .  	NUMBER	0008	
DEVID_DEVICE_CON_IN  . . . . . .  	NUMBER	0001	
DEVID_DEVICE_CON_OUT . . . . . .  	NUMBER	0002	
DEVID_DEVICE_EOF . . . . . . . .  	NUMBER	0040	
DEVID_DEVICE_NULL  . . . . . . .  	NUMBER	0004	
DEVID_DEVICE_RAW . . . . . . . .  	NUMBER	0020	
DEVID_DEVICE_SPECIAL . . . . . .  	NUMBER	0010	
DEVID_EOF  . . . . . . . . . . .  	NUMBER	0040	
DEVID_FILE_CLEAN . . . . . . . .  	NUMBER	0040	
DEVID_FILE_MASK_DRIVE  . . . . .  	NUMBER	003F	
DEVID_ISCIN  . . . . . . . . . .  	NUMBER	0001	
DEVID_ISCLK  . . . . . . . . . .  	NUMBER	0008	
DEVID_ISCOT  . . . . . . . . . .  	NUMBER	0002	
DEVID_ISDEV  . . . . . . . . . .  	NUMBER	0080	
DEVID_ISNUL  . . . . . . . . . .  	NUMBER	0004	
DEVID_RAW  . . . . . . . . . . .  	NUMBER	0020	
DEVID_SPECIAL  . . . . . . . . .  	NUMBER	0010	
DIRSTRLEN  . . . . . . . . . . .  	NUMBER	0043	
DIR_SEARCH_FIRST . . . . . . . .  	NUMBER	0011	
DIR_SEARCH_NEXT  . . . . . . . .  	NUMBER	0012	
DISK_RESET . . . . . . . . . . .  	NUMBER	000D	
DOLLAR . . . . . . . . . . . . .  	NUMBER	0024	
DOT_CHR  . . . . . . . . . . . .  	NUMBER	002E	
DOT_COLON  . . . . . . . . . . .  	NUMBER	2E3A	
DOT_QMARK  . . . . . . . . . . .  	NUMBER	2E3F	
DO_WORD  . . . . . . . . . . . .  	NUMBER	4F44	
DO_XA  . . . . . . . . . . . . .  	NUMBER	-0001	
DPBSIZ . . . . . . . . . . . . .  	NUMBER	0021	
DSKSIZ . . . . . . . . . . . . .  	NUMBER	000D	
DStrlen  . . . . . . . . . . . .  	L NEAR	0000	TRANCODE	External
DUP_PDB  . . . . . . . . . . . .  	NUMBER	0055	

ECS_CALL . . . . . . . . . . . .  	NUMBER	0063	
EMGDEBUG . . . . . . . . . . . .  	NUMBER	0000	
EMS_MAP_BUFF_SIZE  . . . . . . .  	NUMBER	000C	
END_OF_LINE  . . . . . . . . . .  	NUMBER	-0001	
END_OF_LINE_IN . . . . . . . . .  	NUMBER	000D	
END_OF_LINE_OUT  . . . . . . . .  	NUMBER	0000	
ENTRYPOINT . . . . . . . . . . .  	NUMBER	00C0	
EQUAL_CHR  . . . . . . . . . . .  	NUMBER	003D	
ERRACT_ABORT . . . . . . . . . .  	NUMBER	0004	
ERRACT_DLYRET  . . . . . . . . .  	NUMBER	0002	
ERRACT_IGNORE  . . . . . . . . .  	NUMBER	0006	
ERRACT_INTRET  . . . . . . . . .  	NUMBER	0007	
ERRACT_PANIC . . . . . . . . . .  	NUMBER	0005	
ERRACT_RETRY . . . . . . . . . .  	NUMBER	0001	
ERRACT_USER  . . . . . . . . . .  	NUMBER	0003	
ERRCLASS_ALREADY . . . . . . . .  	NUMBER	000C	
ERRCLASS_APPERR  . . . . . . . .  	NUMBER	0007	
ERRCLASS_AUTH  . . . . . . . . .  	NUMBER	0003	
ERRCLASS_BADFMT  . . . . . . . .  	NUMBER	0009	
ERRCLASS_HRDFAIL . . . . . . . .  	NUMBER	0005	
ERRCLASS_INTRN . . . . . . . . .  	NUMBER	0004	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-8


ERRCLASS_LOCKED  . . . . . . . .  	NUMBER	000A	
ERRCLASS_MEDIA . . . . . . . . .  	NUMBER	000B	
ERRCLASS_NOTFND  . . . . . . . .  	NUMBER	0008	
ERRCLASS_OUTRES  . . . . . . . .  	NUMBER	0001	
ERRCLASS_SYSFAIL . . . . . . . .  	NUMBER	0006	
ERRCLASS_TEMPSIT . . . . . . . .  	NUMBER	0002	
ERRCLASS_UNK . . . . . . . . . .  	NUMBER	000D	
ERRLOC_DISK  . . . . . . . . . .  	NUMBER	0002	
ERRLOC_MEM . . . . . . . . . . .  	NUMBER	0005	
ERRLOC_NET . . . . . . . . . . .  	NUMBER	0003	
ERRLOC_SERDEV  . . . . . . . . .  	NUMBER	0004	
ERRLOC_UNK . . . . . . . . . . .  	NUMBER	0001	
ERROR_ACCESS_DENIED  . . . . . .  	NUMBER	0005	
ERROR_ALREADY_ASSIGNED . . . . .  	NUMBER	0055	
ERROR_ARENA_TRASHED  . . . . . .  	NUMBER	0007	
ERROR_BAD_COMMAND  . . . . . . .  	NUMBER	0016	
ERROR_BAD_ENVIRONMENT  . . . . .  	NUMBER	000A	
ERROR_BAD_FORMAT . . . . . . . .  	NUMBER	000B	
ERROR_BAD_LENGTH . . . . . . . .  	NUMBER	0018	
ERROR_BAD_UNIT . . . . . . . . .  	NUMBER	0014	
ERROR_CANNOT_MAKE  . . . . . . .  	NUMBER	0052	
ERROR_CODE_PAGE_MISMATCHED . . .  	NUMBER	0025	
ERROR_CRC  . . . . . . . . . . .  	NUMBER	0017	
ERROR_CURRENT_DIRECTORY  . . . .  	NUMBER	0010	
ERROR_DUP_FCB  . . . . . . . . .  	NUMBER	0051	
ERROR_FAIL_I24 . . . . . . . . .  	NUMBER	0053	
ERROR_FCB_UNAVAILABLE  . . . . .  	NUMBER	0023	
ERROR_FILE_EXISTS  . . . . . . .  	NUMBER	0050	
ERROR_FILE_NOT_FOUND . . . . . .  	NUMBER	0002	
ERROR_GEN_FAILURE  . . . . . . .  	NUMBER	001F	
ERROR_HANDLE_DISK_FULL . . . . .  	NUMBER	0027	
ERROR_HANDLE_EOF . . . . . . . .  	NUMBER	0026	
ERROR_I24_BAD_COMMAND  . . . . .  	NUMBER	0003	
ERROR_I24_BAD_LENGTH . . . . . .  	NUMBER	0005	
ERROR_I24_BAD_UNIT . . . . . . .  	NUMBER	0001	
ERROR_I24_CRC  . . . . . . . . .  	NUMBER	0004	
ERROR_I24_GEN_FAILURE  . . . . .  	NUMBER	000C	
ERROR_I24_NOT_DOS_DISK . . . . .  	NUMBER	0007	
ERROR_I24_NOT_READY  . . . . . .  	NUMBER	0002	
ERROR_I24_OUT_OF_PAPER . . . . .  	NUMBER	0009	
ERROR_I24_READ_FAULT . . . . . .  	NUMBER	000B	
ERROR_I24_SECTOR_NOT_FOUND . . .  	NUMBER	0008	
ERROR_I24_SEEK . . . . . . . . .  	NUMBER	0006	
ERROR_I24_WRITE_FAULT  . . . . .  	NUMBER	000A	
ERROR_I24_WRITE_PROTECT  . . . .  	NUMBER	0000	
ERROR_I24_WRONG_DISK . . . . . .  	NUMBER	000F	
ERROR_INVALID_ACCESS . . . . . .  	NUMBER	000C	
ERROR_INVALID_BLOCK  . . . . . .  	NUMBER	0009	
ERROR_INVALID_DATA . . . . . . .  	NUMBER	000D	
ERROR_INVALID_DRIVE  . . . . . .  	NUMBER	000F	
ERROR_INVALID_FUNCTION . . . . .  	NUMBER	0001	
ERROR_INVALID_HANDLE . . . . . .  	NUMBER	0006	
ERROR_INVALID_PARAMETER  . . . .  	NUMBER	0057	
ERROR_INVALID_PASSWORD . . . . .  	NUMBER	0056	
ERROR_LOCK_VIOLATION . . . . . .  	NUMBER	0021	
ERROR_NET_WRITE_FAULT  . . . . .  	NUMBER	0058	
ERROR_NOT_DOS_DISK . . . . . . .  	NUMBER	001A	
ERROR_NOT_ENOUGH_MEMORY  . . . .  	NUMBER	0008	
ERROR_NOT_READY  . . . . . . . .  	NUMBER	0015	
ERROR_NOT_SAME_DEVICE  . . . . .  	NUMBER	0011	
ERROR_NOT_SUPPORTED  . . . . . .  	NUMBER	0032	
ERROR_NO_MORE_FILES  . . . . . .  	NUMBER	0012	
ERROR_OUT_OF_PAPER . . . . . . .  	NUMBER	001C	
ERROR_OUT_OF_STRUCTURES  . . . .  	NUMBER	0054	
ERROR_PATH_NOT_FOUND . . . . . .  	NUMBER	0003	
ERROR_READ_FAULT . . . . . . . .  	NUMBER	001E	
ERROR_SECTOR_NOT_FOUND . . . . .  	NUMBER	001B	
ERROR_SEEK . . . . . . . . . . .  	NUMBER	0019	
ERROR_SHARING_BUFFER_EXCEEDED  .  	NUMBER	0024	
ERROR_SHARING_VIOLATION  . . . .  	NUMBER	0020	
ERROR_SYS_COMP_NOT_LOADED  . . .  	NUMBER	005A	
ERROR_TOO_MANY_OPEN_FILES  . . .  	NUMBER	0004	
ERROR_WRITE_FAULT  . . . . . . .  	NUMBER	001D	
ERROR_WRITE_PROTECT  . . . . . .  	NUMBER	0013	
ERROR_WRONG_DISK . . . . . . . .  	NUMBER	0022	
EXEC . . . . . . . . . . . . . .  	NUMBER	004B	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-9


EXECPATH . . . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
EXEC_FUNC_NO_EXECUTE . . . . . .  	NUMBER	0001	
EXEC_FUNC_OVERLAY  . . . . . . .  	NUMBER	0002	
EXE_VALID_OLD_SIGNATURE  . . . .  	NUMBER	4D5A	
EXE_VALID_SIGNATURE  . . . . . .  	NUMBER	5A4D	
EXISTS_MASK  . . . . . . . . . .  	NUMBER	000F	
EXIT . . . . . . . . . . . . . .  	NUMBER	004C	
EXIT_ABORT . . . . . . . . . . .  	NUMBER	0000	
EXIT_CTRL_C  . . . . . . . . . .  	NUMBER	0001	
EXIT_HARD_ERROR  . . . . . . . .  	NUMBER	0002	
EXIT_KEEP_PROCESS  . . . . . . .  	NUMBER	0003	
EXIT_TERMINATE . . . . . . . . .  	NUMBER	0000	
EXPECTED_VERSION . . . . . . . .  	NUMBER	0004	
EXTHANDLE  . . . . . . . . . . .  	NUMBER	0067	
EXTOPEN  . . . . . . . . . . . .  	NUMBER	006C	
EXT_CRLF_CLASS . . . . . . . . .  	NUMBER	0081	
EXT_EXISTS_FAIL  . . . . . . . .  	NUMBER	0000	
EXT_EXISTS_OPEN  . . . . . . . .  	NUMBER	0001	
EXT_FILE_NOT_EXISTS  . . . . . .  	NUMBER	0004	
EXT_MSG_CLASS  . . . . . . . . .  	NUMBER	0001	
EXT_NEXISTS_CREATE . . . . . . .  	NUMBER	0010	
EXT_OPEN_I24_OFF . . . . . . . .  	NUMBER	0002	
EXT_OPEN_ON  . . . . . . . . . .  	NUMBER	0001	

FAIL_ALLOWED . . . . . . . . . .  	NUMBER	0008	
FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
FBADSWITCH . . . . . . . . . . .  	NUMBER	4000	
fbuf . . . . . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
FCB  . . . . . . . . . . . . . .  	NUMBER	005C	
FCBDEVICE  . . . . . . . . . . .  	NUMBER	0040	
FCBMASK  . . . . . . . . . . . .  	NUMBER	00C0	
FCBNETWORK . . . . . . . . . . .  	NUMBER	0080	
FCBSHARE . . . . . . . . . . . .  	NUMBER	00C0	
FCBSPECIAL . . . . . . . . . . .  	NUMBER	0080	
FCB_CLOSE  . . . . . . . . . . .  	NUMBER	0010	
FCB_CREATE . . . . . . . . . . .  	NUMBER	0016	
FCB_DELETE . . . . . . . . . . .  	NUMBER	0013	
FCB_L_ATTR . . . . . . . . . . .  	BYTE	001E	
FCB_L_DRIVE  . . . . . . . . . .  	BYTE	0019	
FCB_L_FIRCLUS  . . . . . . . . .  	WORD	001A	
FCB_L_MFS  . . . . . . . . . . .  	WORD	001C	
FCB_NETID  . . . . . . . . . . .  	DWORD	001C	
FCB_NET_DRIVE  . . . . . . . . .  	BYTE	0019	
FCB_NET_HANDLE . . . . . . . . .  	WORD	001A	
FCB_NSLD_DRIVE . . . . . . . . .  	BYTE	0019	
FCB_NSLD_DRVPTR  . . . . . . . .  	DWORD	001A	
FCB_NSL_BITS . . . . . . . . . .  	BYTE	001A	
FCB_NSL_DIRPOS . . . . . . . . .  	BYTE	001F	
FCB_NSL_DIRSEC . . . . . . . . .  	WORD	001D	
FCB_NSL_DRIVE  . . . . . . . . .  	BYTE	0019	
FCB_NSL_FIRCLUS  . . . . . . . .  	WORD	001B	
FCB_OPEN . . . . . . . . . . . .  	NUMBER	000F	
FCB_RANDOM_READ  . . . . . . . .  	NUMBER	0021	
FCB_RANDOM_READ_BLOCK  . . . . .  	NUMBER	0027	
FCB_RANDOM_WRITE . . . . . . . .  	NUMBER	0022	
FCB_RANDOM_WRITE_BLOCK . . . . .  	NUMBER	0028	
FCB_RENAME . . . . . . . . . . .  	NUMBER	0017	
FCB_SEQ_READ . . . . . . . . . .  	NUMBER	0014	
FCB_SEQ_WRITE  . . . . . . . . .  	NUMBER	0015	
FCB_SFN  . . . . . . . . . . . .  	BYTE	0018	
FCHECKDRIVE  . . . . . . . . . .  	NUMBER	0001	
FCHK . . . . . . . . . . . . . .  	NUMBER	0001	
FDELIM . . . . . . . . . . . . .  	NUMBER	0002	
FFCB . . . . . . . . . . . . . .  	NUMBER	0008	
FILDIRENT  . . . . . . . . . . .  	NUMBER	0010	
FILE_INV_CPAGE . . . . . . . . .  	NUMBER	-0001	
FILE_NO_CPAGE  . . . . . . . . .  	NUMBER	0000	
FILE_TIMES . . . . . . . . . . .  	NUMBER	0057	
FILPERPROC . . . . . . . . . . .  	NUMBER	0014	
FIND_FIRST . . . . . . . . . . .  	NUMBER	004E	
FIND_NEXT  . . . . . . . . . . .  	NUMBER	004F	
find_path  . . . . . . . . . . .  	L NEAR	0000	TRANCODE	External
FOUNDEND . . . . . . . . . . . .  	L NEAR	00A4	TRANCODE
FPARSE . . . . . . . . . . . . .  	NUMBER	0001	
FSPCHK . . . . . . . . . . . . .  	NUMBER	0004	
FSWITCH  . . . . . . . . . . . .  	NUMBER	8000	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-10


FSWITCHALLOWED . . . . . . . . .  	NUMBER	0002	
F_AUX  . . . . . . . . . . . . .  	NUMBER	0010	
F_CARRY  . . . . . . . . . . . .  	NUMBER	0001	
F_DIRECTION  . . . . . . . . . .  	NUMBER	0400	
F_INTERRUPT  . . . . . . . . . .  	NUMBER	0200	
F_OVERFLOW . . . . . . . . . . .  	NUMBER	0800	
F_PARITY . . . . . . . . . . . .  	NUMBER	0004	
F_SIGN . . . . . . . . . . . . .  	NUMBER	0080	
F_TRACE  . . . . . . . . . . . .  	NUMBER	0100	
F_ZERO . . . . . . . . . . . . .  	NUMBER	0040	

GETCURRENTPSP  . . . . . . . . .  	NUMBER	0062	
GETEXTCNTRY  . . . . . . . . . .  	NUMBER	0065	
GETEXTENDEDERROR . . . . . . . .  	NUMBER	0059	
GETSETCDPG . . . . . . . . . . .  	NUMBER	0066	
GETSETMEDIAID  . . . . . . . . .  	NUMBER	0069	
GET_CPSW . . . . . . . . . . . .  	NUMBER	0003	
GET_CRITICAL_MSG . . . . . . . .  	NUMBER	0004	
GET_CURRENT_PDB  . . . . . . . .  	NUMBER	0051	
GET_DATE . . . . . . . . . . . .  	NUMBER	002A	
GET_DEFAULT_DPB  . . . . . . . .  	NUMBER	001F	
GET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	0019	
GET_DMA  . . . . . . . . . . . .  	NUMBER	002F	
GET_DPB  . . . . . . . . . . . .  	NUMBER	0032	
GET_DRIVE_FREESPACE  . . . . . .  	NUMBER	0036	
GET_EXTENDED_MSG . . . . . . . .  	NUMBER	0000	
GET_FCB_FILE_LENGTH  . . . . . .  	NUMBER	0023	
GET_FCB_POSITION . . . . . . . .  	NUMBER	0024	
GET_GENERIC  . . . . . . . . . .  	NUMBER	007F	
GET_INDOS_FLAG . . . . . . . . .  	NUMBER	0034	
GET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0035	
GET_IN_VARS  . . . . . . . . . .  	NUMBER	0052	
GET_PARSE_MSG  . . . . . . . . .  	NUMBER	0002	
GET_TIME . . . . . . . . . . . .  	NUMBER	002C	
GET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	0054	
GET_VERSION  . . . . . . . . . .  	NUMBER	0030	
GET_VIDEO_STATE  . . . . . . . .  	NUMBER	000F	
GET_XA . . . . . . . . . . . . .  	NUMBER	0002	

HANDLE_FAIL_I24  . . . . . . . .  	NUMBER	0100	
HONGEUL  . . . . . . . . . . . .  	NUMBER	0063	

I24_AREA . . . . . . . . . . . .  	NUMBER	0006	
I24_CLASS  . . . . . . . . . . .  	NUMBER	0080	
I24_OPERATION  . . . . . . . . .  	NUMBER	0001	
IBM  . . . . . . . . . . . . . .  	ALIAS	 IBMVER		
IBMCOPYRIGHT . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPAN . . . . . . . . . . . .  	ALIAS	 FALSE		
IBMJAPVER  . . . . . . . . . . .  	ALIAS	 FALSE		
IBMVER . . . . . . . . . . . . .  	ALIAS	 TRUE		
IFS_IOCTL  . . . . . . . . . . .  	NUMBER	006B	
IGNORE_ALLOWED . . . . . . . . .  	NUMBER	0020	
INITCTRLC  . . . . . . . . . . .  	NUMBER	0004	
INITINIT . . . . . . . . . . . .  	NUMBER	0001	
INITSPECIAL  . . . . . . . . . .  	NUMBER	0002	
INSTALLED  . . . . . . . . . . .  	NUMBER	FFFF	
INSTALLEDDATA  . . . . . . . . .  	NUMBER	0000	
INTBASE  . . . . . . . . . . . .  	NUMBER	0080	
INTERNAT . . . . . . . . . . . .  	ALIAS	 FALSE		
INTERNATIONAL  . . . . . . . . .  	NUMBER	0038	
INTERNAT_BLOCK_MAX . . . . . . .  	NUMBER	0020	
INTTAB . . . . . . . . . . . . .  	NUMBER	0020	
INT_24_ERROR . . . . . . . . . .  	NUMBER	2000	
INT_ABORT  . . . . . . . . . . .  	ALIAS	 INTTAB		
INT_COMMAND  . . . . . . . . . .  	NUMBER	0021	
INT_CTRL_C . . . . . . . . . . .  	NUMBER	0023	
INT_DISK_READ  . . . . . . . . .  	NUMBER	0025	
INT_DISK_WRITE . . . . . . . . .  	NUMBER	0026	
INT_FASTCON  . . . . . . . . . .  	NUMBER	0029	
INT_FATAL_ABORT  . . . . . . . .  	NUMBER	0024	
INT_IBM  . . . . . . . . . . . .  	NUMBER	002A	
INT_KEEP_PROCESS . . . . . . . .  	NUMBER	0027	
INT_SPOOLER  . . . . . . . . . .  	NUMBER	0028	
INT_TERMINATE  . . . . . . . . .  	NUMBER	0022	
INV_CP_TAG . . . . . . . . . . .  	NUMBER	0000	
IN_WORD  . . . . . . . . . . . .  	NUMBER	4E49	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-11


IOCTL  . . . . . . . . . . . . .  	NUMBER	0044	
IO_MODE_ID . . . . . . . . . . .  	NUMBER	0002	

JAPAN  . . . . . . . . . . . . .  	ALIAS	 FALSE		

KANJI  . . . . . . . . . . . . .  	ALIAS	 FALSE		
KEEP_PROCESS . . . . . . . . . .  	NUMBER	0031	
KLOOP  . . . . . . . . . . . . .  	L NEAR	012F	TRANCODE
KOREA  . . . . . . . . . . . . .  	ALIAS	 FALSE		

LABRACKET  . . . . . . . . . . .  	NUMBER	003C	
LENGTH_CALL  . . . . . . . . . .  	NUMBER	0004	
LESSARGS_PTR . . . . . . . . . .  	NUMBER	0002	
LINESPERPAGE . . . . . . . . . .  	NUMBER	0019	
LOCKOPER . . . . . . . . . . . .  	NUMBER	005C	
LPAREN . . . . . . . . . . . . .  	NUMBER	0028	
LSEEK  . . . . . . . . . . . . .  	NUMBER	0042	

MAJOR_VERSION  . . . . . . . . .  	NUMBER	0004	
MAXBUCKETINPAGE  . . . . . . . .  	NUMBER	0002	
MAXBUFFINBUCKET  . . . . . . . .  	NUMBER	000F	
MAX_NEST . . . . . . . . . . . .  	NUMBER	000A	
MEMS . . . . . . . . . . . . . .  	NUMBER	0001	
MESSAGE_2F . . . . . . . . . . .  	NUMBER	002E	
MINOR_VERSION  . . . . . . . . .  	NUMBER	0000	
MI_INT . . . . . . . . . . . . .  	NUMBER	00CD	
MI_LONG_CALL . . . . . . . . . .  	NUMBER	009A	
MI_LONG_JMP  . . . . . . . . . .  	NUMBER	00EA	
MI_LONG_RET  . . . . . . . . . .  	NUMBER	00CB	
MI_NEAR_RET  . . . . . . . . . .  	NUMBER	00C3	
MKDIR  . . . . . . . . . . . . .  	NUMBER	0039	
MOREARGS_PTR . . . . . . . . . .  	NUMBER	0001	
MOVEDRIVE  . . . . . . . . . . .  	L NEAR	006A	TRANCODE
MOVEPATH . . . . . . . . . . . .  	L NEAR	00A5	TRANCODE
MSVER  . . . . . . . . . . . . .  	NUMBER	0000	
MULTDOS  . . . . . . . . . . . .  	NUMBER	0012	
MULTIFS  . . . . . . . . . . . .  	NUMBER	0011	
MULTNET  . . . . . . . . . . . .  	NUMBER	0011	
MULTSHARE  . . . . . . . . . . .  	NUMBER	0010	
MULT_ANSI  . . . . . . . . . . .  	NUMBER	001A	
MULT_SHELL_BRK . . . . . . . . .  	NUMBER	1903	
MULT_SHELL_GET . . . . . . . . .  	NUMBER	1902	

NLSFUNC  . . . . . . . . . . . .  	NUMBER	0014	
NORMPERLIN . . . . . . . . . . .  	NUMBER	0001	
NOTKANJ1 . . . . . . . . . . . .  	L NEAR	0146	TRANCODE
NOTKANJ2 . . . . . . . . . . . .  	L NEAR	01AC	TRANCODE
NOT_EXISTS_MASK  . . . . . . . .  	NUMBER	00F0	
NO_CODE_PAGE_CHECK . . . . . . .  	NUMBER	0100	
NO_CONT_FLAG . . . . . . . . . .  	NUMBER	0000	
NO_ECHO  . . . . . . . . . . . .  	NUMBER	0000	
NO_ECHO_CHAR . . . . . . . . . .  	NUMBER	0040	
NO_HANDLE_OUT  . . . . . . . . .  	NUMBER	-0001	
NO_SUBST . . . . . . . . . . . .  	NUMBER	0000	
NO_XA_SEG  . . . . . . . . . . .  	NUMBER	-0001	
NULLCOMMAND  . . . . . . . . . .  	NUMBER	0001	
NULLRPAREN . . . . . . . . . . .  	NUMBER	0029	

OEM_C1 . . . . . . . . . . . . .  	NUMBER	00F9	
OEM_C2 . . . . . . . . . . . . .  	NUMBER	00FA	
OEM_C3 . . . . . . . . . . . . .  	NUMBER	00FB	
OEM_C4 . . . . . . . . . . . . .  	NUMBER	00FC	
OEM_C5 . . . . . . . . . . . . .  	NUMBER	00FD	
OEM_C6 . . . . . . . . . . . . .  	NUMBER	00FE	
OEM_C7 . . . . . . . . . . . . .  	NUMBER	00FF	
ONE_SUBST  . . . . . . . . . . .  	NUMBER	0001	
OPEN . . . . . . . . . . . . . .  	NUMBER	003D	
OPEN_FOR_BOTH  . . . . . . . . .  	NUMBER	0002	
OPEN_FOR_READ  . . . . . . . . .  	NUMBER	0000	
OPEN_FOR_WRITE . . . . . . . . .  	NUMBER	0001	

PARM_BLOCK_SIZE  . . . . . . . .  	NUMBER	000B	
PARM_OFF_POS . . . . . . . . . .  	WORD	0002	
PARSE_FILE_DESCRIPTOR  . . . . .  	NUMBER	0029	
PARSE_MSG_CLASS  . . . . . . . .  	NUMBER	0002	
pathchrcmp . . . . . . . . . . .  	L NEAR	0000	TRANCODE	External
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-12


pathinfo . . . . . . . . . . . .  	V WORD	0000	TRANSPACE	External
PATHPARSE  . . . . . . . . . . .  	NUMBER	0061	
PATH_CPY . . . . . . . . . . . .  	L NEAR	0125	TRANCODE
Path_Crunch  . . . . . . . . . .  	N PROC	017C	TRANCODE	Global	Length = 0075
PATH_CR_COPY . . . . . . . . . .  	L NEAR	0198	TRANCODE
PATH_CR_EMPTY  . . . . . . . . .  	L NEAR	01E9	TRANCODE
PATH_CR_EXIT . . . . . . . . . .  	L NEAR	01EB	TRANCODE
PATH_CR_L1 . . . . . . . . . . .  	L NEAR	01CD	TRANCODE
PATH_CR_L2 . . . . . . . . . . .  	L NEAR	01CF	TRANCODE
PATH_CR_LEAVE  . . . . . . . . .  	L NEAR	01E1	TRANCODE
PATH_CR_LOOK . . . . . . . . . .  	L NEAR	01C0	TRANCODE
PATH_CR_STORE  . . . . . . . . .  	L NEAR	01CC	TRANCODE
PATH_EXIT  . . . . . . . . . . .  	L NEAR	0160	TRANCODE
PATH_FAILURE . . . . . . . . . .  	L NEAR	00D4	TRANCODE
PATH_FAILURE_JMP . . . . . . . .  	L NEAR	000E	TRANCODE
PATH_FOUND . . . . . . . . . . .  	L NEAR	00D9	TRANCODE
PATH_LOOP  . . . . . . . . . . .  	L NEAR	00C7	TRANCODE
PATH_NOINIT  . . . . . . . . . .  	L NEAR	00B2	TRANCODE
Path_Search  . . . . . . . . . .  	N PROC	0000	TRANCODE	Global	Length = 0168
PATH_SEARCH_OK . . . . . . . . .  	L NEAR	0011	TRANCODE
PATH_SEG . . . . . . . . . . . .  	L NEAR	01B1	TRANCODE
PATH_SEP . . . . . . . . . . . .  		0002	
PATH_SEP_CHAR  . . . . . . . . .  	NUMBER	003B	
PATH_STORE . . . . . . . . . . .  	L NEAR	0152	TRANCODE
PATH_SUCCESS . . . . . . . . . .  	L NEAR	0153	TRANCODE
PATH_SUCC_LOOP . . . . . . . . .  	L NEAR	0158	TRANCODE
PBUFLEN  . . . . . . . . . . . .  	NUMBER	0080	
PDB_APPEND . . . . . . . . . . .  	BYTE	003D	
PDB_INTERCON . . . . . . . . . .  	BYTE	003C	
PLUS_CHR . . . . . . . . . . . .  	NUMBER	002B	
POPDONE  . . . . . . . . . . . .  	L NEAR	0140	TRANCODE
psep_char  . . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
PTR_OFF_POS  . . . . . . . . . .  	NUMBER	0005	
PTR_SEG_POS  . . . . . . . . . .  	NUMBER	0007	

RABRACKET  . . . . . . . . . . .  	NUMBER	003E	
RAW_CON_INPUT  . . . . . . . . .  	NUMBER	0007	
RAW_CON_IO . . . . . . . . . . .  	NUMBER	0006	
READ . . . . . . . . . . . . . .  	NUMBER	003F	
READ_OPEN_FLAG . . . . . . . . .  	NUMBER	0101	
READ_OPEN_MODE . . . . . . . . .  	NUMBER	0000	
REDIRECTOR . . . . . . . . . . .  	NUMBER	0000	
RENAME . . . . . . . . . . . . .  	NUMBER	0056	
RESERVED_BITS_MASK . . . . . . .  	NUMBER	FE00	
RESULT_DATE  . . . . . . . . . .  	NUMBER	0007	
RESULT_DRIVE . . . . . . . . . .  	NUMBER	0006	
RESULT_FILESPEC  . . . . . . . .  	NUMBER	0005	
RESULT_NO_ERROR  . . . . . . . .  	NUMBER	0000	
RESULT_NUMBER  . . . . . . . . .  	NUMBER	0001	
RESULT_STRING  . . . . . . . . .  	NUMBER	0003	
RESULT_TIME  . . . . . . . . . .  	NUMBER	0008	
RES_SUBST  . . . . . . . . . . .  	NUMBER	0002	
RETRY_ALLOWED  . . . . . . . . .  	NUMBER	0010	
RET_L  . . . . . . . . . . . . .  	NEAR	017B	TRANCODE
RMDIR  . . . . . . . . . . . . .  	NUMBER	003A	
RPAREN . . . . . . . . . . . . .  	NUMBER	0029	

SCANEND  . . . . . . . . . . . .  	L NEAR	009C	TRANCODE
SCROLL_VIDEO_PAGE  . . . . . . .  	NUMBER	0006	
search . . . . . . . . . . . . .  	L NEAR	0000	TRANCODE	External
SEARCH_ATTR  . . . . . . . . . .  	NUMBER	0013	
search_best_buf  . . . . . . . .  	V BYTE	0000	TRANSPACE	External
search_error . . . . . . . . . .  	V WORD	0000	TRANSPACE	External
SEMICOLON  . . . . . . . . . . .  	NUMBER	003B	
SERVERCALL . . . . . . . . . . .  	NUMBER	005D	
SETBLOCK . . . . . . . . . . . .  	NUMBER	004A	
SETDPB . . . . . . . . . . . . .  	NUMBER	0053	
SET_COLOR_PALETTE  . . . . . . .  	NUMBER	000B	
SET_CRITICAL_MSG . . . . . . . .  	NUMBER	0005	
SET_CRIT_DEV . . . . . . . . . .  	NUMBER	0100	
SET_CTRL_C_TRAPPING  . . . . . .  	NUMBER	0033	
SET_CURRENT_PDB  . . . . . . . .  	NUMBER	0050	
SET_CURSOR_POSITION  . . . . . .  	NUMBER	0002	
SET_DATE . . . . . . . . . . . .  	NUMBER	002B	
SET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	000E	
SET_DMA  . . . . . . . . . . . .  	NUMBER	001A	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-13


SET_EXTENDED_MSG . . . . . . . .  	NUMBER	0001	
SET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0025	
SET_OEM_HANDLER  . . . . . . . .  	NUMBER	00F8	
SET_PARSE_MSG  . . . . . . . . .  	NUMBER	0003	
SET_PRINTER_FLAG . . . . . . . .  	NUMBER	0064	
SET_TIME . . . . . . . . . . . .  	NUMBER	002D	
SET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	002E	
SET_VIDEO_MODE . . . . . . . . .  	NUMBER	0000	
SET_XA . . . . . . . . . . . . .  	NUMBER	0004	
SF_BUSY  . . . . . . . . . . . .  	NUMBER	-0001	
SF_CLOSE_NODATE  . . . . . . . .  	NUMBER	4000	
SF_DEFAULT_NUMBER  . . . . . . .  	NUMBER	0005	
SF_FSDA  . . . . . . . . . . . .  	BYTE	0019	
SF_ISFCB . . . . . . . . . . . .  	NUMBER	8000	
SF_ISNET . . . . . . . . . . . .  	NUMBER	8000	
SF_LRU . . . . . . . . . . . . .  	WORD	0015	
SF_NETID . . . . . . . . . . . .  	BYTE	0019	
SF_NET_SPOOL . . . . . . . . . .  	NUMBER	0800	
SF_NO_INHERIT  . . . . . . . . .  	NUMBER	1000	
SF_OPENAGE . . . . . . . . . . .  	WORD	0017	
SF_PIPE  . . . . . . . . . . . .  	NUMBER	2000	
SF_SERIAL_ID . . . . . . . . . .  	WORD	000B	
SHAREF . . . . . . . . . . . . .  	NUMBER	0000	
SHARING_COMPAT . . . . . . . . .  	NUMBER	0000	
SHARING_DENY_BOTH  . . . . . . .  	NUMBER	0010	
SHARING_DENY_NONE  . . . . . . .  	NUMBER	0040	
SHARING_DENY_READ  . . . . . . .  	NUMBER	0030	
SHARING_DENY_WRITE . . . . . . .  	NUMBER	0020	
SHARING_MASK . . . . . . . . . .  	NUMBER	00F0	
SHARING_NET_FCB  . . . . . . . .  	NUMBER	0070	
SHARING_NO_INHERIT . . . . . . .  	NUMBER	0080	
SHELL_ACTION . . . . . . . . . .  	NUMBER	00FF	
SMALL_A  . . . . . . . . . . . .  	NUMBER	0061	
SMALL_Z  . . . . . . . . . . . .  	NUMBER	007A	
SPECIAL_DELIM  . . . . . . . . .  		0007	
STAR . . . . . . . . . . . . . .  	NUMBER	002A	
STDAUX . . . . . . . . . . . . .  	NUMBER	0003	
STDERR . . . . . . . . . . . . .  	NUMBER	0002	
STDIN  . . . . . . . . . . . . .  	NUMBER	0000	
STDOUT . . . . . . . . . . . . .  	NUMBER	0001	
STDPRN . . . . . . . . . . . . .  	NUMBER	0004	
STD_AUX_INPUT  . . . . . . . . .  	NUMBER	0003	
STD_AUX_OUTPUT . . . . . . . . .  	NUMBER	0004	
STD_CON_INPUT  . . . . . . . . .  	NUMBER	0001	
STD_CON_INPUT_FLUSH  . . . . . .  	NUMBER	000C	
STD_CON_INPUT_NO_ECHO  . . . . .  	NUMBER	0008	
STD_CON_INPUT_STATUS . . . . . .  	NUMBER	000B	
STD_CON_OUTPUT . . . . . . . . .  	NUMBER	0002	
STD_CON_STRING_INPUT . . . . . .  	NUMBER	000A	
STD_CON_STRING_OUTPUT  . . . . .  	NUMBER	0009	
STD_PRINTER_OUTPUT . . . . . . .  	NUMBER	0005	
Store_PChar  . . . . . . . . . .  	N PROC	0168	TRANCODE	Global	Length = 0014
STORE_SLASH  . . . . . . . . . .  	L NEAR	0177	TRANCODE
string_ptr_2 . . . . . . . . . .  	V WORD	0000	TRANSPACE	External
strip  . . . . . . . . . . . . .  	L NEAR	0000	TRANCODE	External
SWITCHA  . . . . . . . . . . . .  	NUMBER	0004	
SWITCHB  . . . . . . . . . . . .  	NUMBER	0008	
SWITCHCOPY . . . . . . . . . . .  	NUMBER	801C	
SWITCHDIR  . . . . . . . . . . .  	NUMBER	8003	
SWITCHP  . . . . . . . . . . . .  	NUMBER	0002	
SWITCHV  . . . . . . . . . . . .  	NUMBER	0010	
SWITCHW  . . . . . . . . . . . .  	NUMBER	0001	
SW_FLAG  . . . . . . . . . . . .  		0000	
SYM  . . . . . . . . . . . . . .  	NUMBER	003E	

TAB_CHR  . . . . . . . . . . . .  	NUMBER	0009	
TEMPLEN  . . . . . . . . . . . .  	NUMBER	0086	
testkanj . . . . . . . . . . . .  	L NEAR	0000	TRANCODE	External
TEXT_MODE  . . . . . . . . . . .  	NUMBER	0001	
tpbuf  . . . . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
TPLEN  . . . . . . . . . . . . .  	NUMBER	0040	
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TRUEBYTE . . . . . . . . . . . .  	NUMBER	00FF	

UNLINK . . . . . . . . . . . . .  	NUMBER	0041	
UNUSED . . . . . . . . . . . . .  		0003	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:05
                                                             Symbols-14


USEROPER . . . . . . . . . . . .  	NUMBER	005E	
UTIL_MSG_CLASS . . . . . . . . .  	NUMBER	-0001	

VBAR . . . . . . . . . . . . . .  	NUMBER	007C	
VIDEO_ALPHA  . . . . . . . . . .  	NUMBER	0003	
VIDEO_ATTRIBUTE  . . . . . . . .  	NUMBER	0007	
VIDEO_BW . . . . . . . . . . . .  	NUMBER	0007	
VIDEO_IO_INT . . . . . . . . . .  	NUMBER	0010	

WAITPROCESS  . . . . . . . . . .  	NUMBER	004D	
WIDEPERLIN . . . . . . . . . . .  	NUMBER	0005	
WILDCARD . . . . . . . . . . . .  		0001	
WRITE  . . . . . . . . . . . . .  	NUMBER	0040	
WRITE_OPEN_FLAG  . . . . . . . .  	NUMBER	0101	
WRITE_OPEN_MODE  . . . . . . . .  	NUMBER	0001	

XDUP . . . . . . . . . . . . . .  	NUMBER	0045	
XDUP2  . . . . . . . . . . . . .  	NUMBER	0046	
XNAMETRANS . . . . . . . . . . .  	NUMBER	0060	

YES_ECHO . . . . . . . . . . . .  	NUMBER	0001	

??0000 . . . . . . . . . . . . .  	L NEAR	017B	TRANCODE
?PLM . . . . . . . . . . . . . .  	NUMBER	0000	
?WIN . . . . . . . . . . . . . .  	NUMBER	0000	
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  path1		
@VERSION . . . . . . . . . . . .  	TEXT  510		


   3325 Source  Lines
   3603 Total   Lines
    994 Symbols

  43544 + 171175 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
