Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-1


				 page 80,132
				;	SCCSID = @(#)command2.asm	4.3 85/10/16
				;	SCCSID = @(#)command2.asm	4.3 85/10/16
				TITLE	COMMAND2 - resident code for COMMAND.COM part II
				NAME	COMMAND2
				.XCREF
				.LIST
				.CREF
				
 = 0000				tokenized = FALSE
				
 0000				CODERES 	SEGMENT PUBLIC BYTE	;AC000;
 0000				CODERES ENDS
				
 0000				DATARES SEGMENT PUBLIC BYTE
					EXTRN	append_state:word	;AN020;
					EXTRN	append_flag:byte	;AN020;
					EXTRN	COMDRV:BYTE
					EXTRN	comprmt1_block:byte	;AN000;
					EXTRN	comprmt1_subst:byte	;AN000;
					EXTRN	COMSPEC:BYTE
					EXTRN	cpdrv:byte
					EXTRN	envirseg:word
					EXTRN	EXTCOM:BYTE
					EXTRN	HANDLE01:WORD
					EXTRN	InitFlag:BYTE
					EXTRN	INT_2E_RET:DWORD	;AC000;
					EXTRN	IO_SAVE:WORD
					EXTRN	LOADING:BYTE
					EXTRN	LTPA:WORD
					EXTRN	MEMSIZ:WORD
					EXTRN	number_subst:byte	;AN000;
					EXTRN	OldTerm:DWORD		;AC000;
					EXTRN	PARENT:WORD		;AC000;
					EXTRN	PERMCOM:BYTE
					EXTRN	RDIRCHAR:BYTE
					EXTRN	RES_TPA:WORD
					EXTRN	RETCODE:WORD
					EXTRN	rsrc_xa_seg:word	;AN030;
					EXTRN	RSWITCHAR:BYTE
					EXTRN	SAVE_PDB:WORD
					EXTRN	SINGLECOM:WORD
					EXTRN	SUM:WORD
					EXTRN	TRANS:WORD
					EXTRN	TranVarEnd:BYTE
					EXTRN	TRANVARS:BYTE
					EXTRN	TRNSEG:WORD
					EXTRN	VERVAL:WORD
 0000				DATARES ENDS
				
 0000				BATARENA	SEGMENT PUBLIC PARA	;AC000;
 0000				BATARENA ENDS
				
 0000				BATSEG		SEGMENT PUBLIC PARA	;AC000;
 0000				BATSEG	 ENDS
				
 0000				ENVARENA	SEGMENT PUBLIC PARA	;AC000;
 0000				ENVARENA  ENDS
				
 0000				ENVIRONMENT SEGMENT PUBLIC PARA 	; Default COMMAND environment
 0000				ENVIRONMENT ENDS
				
 0000				INIT	SEGMENT PUBLIC PARA
					EXTRN	envsiz:word
					EXTRN	oldenv:word
					EXTRN	resetenv:byte
					EXTRN	usedenv:word
 0000				INIT	ENDS
				
 0000				TAIL	SEGMENT PUBLIC PARA
 0000				TAIL	ENDS
				
 0000				TRANCODE	SEGMENT PUBLIC PARA
 0000				TRANCODE	ENDS
				
 0000				TRANDATA	SEGMENT PUBLIC BYTE
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-2
Trap:  Get the attention of MSDOS                           

					EXTRN	TRANDATAEND:BYTE
 0000				TRANDATA	ENDS
				
 0000				TRANSPACE	SEGMENT PUBLIC BYTE
					EXTRN	TRANSPACEEND:BYTE
					EXTRN	HEADCALL:DWORD
 0000				TRANSPACE	ENDS
				
 0000				TRANTAIL	SEGMENT PUBLIC PARA
 0000				TRANTAIL	ENDS
				
				RESGROUP  GROUP CODERES,DATARES,BATARENA,BATSEG,ENVARENA,ENVIRONMENT,INIT,TAIL
				TRANGROUP GROUP TRANCODE,TRANDATA,TRANSPACE,TRANTAIL
				
				; START OF RESIDENT PORTION
				
 0000				CODERES 	SEGMENT PUBLIC BYTE	;AC000;
				
					PUBLIC	CHKSUM
					PUBLIC	endinit
					PUBLIC	GETCOMDSK2
					PUBLIC	INT_2E
					PUBLIC	LOADCOM
					PUBLIC	LODCOM
					PUBLIC	LODCOM1
					PUBLIC	RESTHAND
					PUBLIC	SAVHAND
					PUBLIC	SETVECT
					PUBLIC	THEADFIX
					PUBLIC	TREMCHECK
					PUBLIC	tjmp
				
				ASSUME	CS:RESGROUP,DS:NOTHING,ES:NOTHING,SS:NOTHING
				
					EXTRN	contc:near
					EXTRN	DSKERR:NEAR
					EXTRN	rstack:word
				;
				; If we cannot allocate enough memory for the transient or there was some
				; other allocation error, we display a message and then die.
				;
 0000				BADMEMERR:				; Allocation error loading transient
 0000  BA 00E7				MOV	DX,BMEMMES		;AC000; get message number
 0003				FATALC:
 0003  0E				PUSH	CS
 0004  1F				POP	DS
					ASSUME	DS:ResGroup
					invoke	RPRINT
 0005  E8 0000 E             1		CALL    RPRINT 
				;
				; If this is NOT a permanent (top-level) COMMAND, then we exit; we can't do
				; anything else!
				;
 0008  80 3E 0000 E 00			CMP	PERMCOM,0
 000D  74 10				JZ	FATALRET
				;
				; We are a permanent command.  If we are in the process of the magic interrupt
				; (Singlecom) then exit too.
				;
 000F  83 3E 0000 E 00			CMP	SINGLECOM,0		; If PERMCOM and SINGLECOM
 0014  75 09				JNZ	FATALRET		; Must take INT_2E exit
				;
				; Permanent command.  We can't do ANYthing except halt.
				;
 0016  BA 00E8				MOV	DX,HALTMES		;AC000; get message number
					invoke	RPRINT
 0019  E8 0000 E             1		CALL    RPRINT 
 001C  FB				STI
 001D				STALL:
 001D  EB FE				JMP	STALL			; Crash the system nicely
				
 001F				FATALRET:
 001F  BA 00E9				MOV	DX,FRETMES		;AC000; get message number
					invoke	RPRINT
 0022  E8 0000 E             1		CALL    RPRINT 
 0025				FATALRET2:
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-3
Trap:  Get the attention of MSDOS                           

 0025  80 3E 0000 E 00			CMP	[PERMCOM],0		; If we get here and PERMCOM,
 002A  75 1D				JNZ	RET_2E			; must be INT_2E
					invoke	reset_msg_pointers	;AN000; reset critical & parse error messages
 002C  E8 0000 E             1		CALL    reset_msg_pointers 
 002F  A1 0000 E			MOV	AX,[PARENT]
 0032  2E: A3 0016			MOV	WORD PTR CS:[PDB_Parent_PID],AX
 0036  A1 0000 E			MOV	AX,WORD PTR OldTerm
 0039  2E: A3 000A			MOV	WORD PTR CS:[PDB_Exit],AX
 003D  A1 0002 E			MOV	AX,WORD PTR OldTerm+2
 0040  2E: A3 000C			MOV	WORD PTR CS:[PDB_Exit+2],AX
 0044  B8 4C00				MOV	AX,(EXIT SHL 8) 	; Return to lower level
 0047  CD 21				INT	int_command
				
 0049				RET_2E:
 0049  0E				PUSH	CS
 004A  1F				POP	DS
				ASSUME	DS:RESGROUP,ES:NOTHING,SS:NOTHING
 004B  C7 06 0000 E 0000		MOV	[SINGLECOM],0		; Turn off singlecom
 0051  8E 06 0000 E			MOV	ES,[RES_TPA]
 0055  B4 49				MOV	AH,DEALLOC
 0057  CD 21				INT	int_command		; Free up space used by transient
 0059  8B 1E 0000 E			MOV	BX,[SAVE_PDB]
 005D  B4 50				MOV	AH,SET_CURRENT_PDB
 005F  CD 21				INT	int_command		; Current process is user
 0061  A1 0000 E			MOV	AX,[RETCODE]
 0064  80 3E 0000 E 00			CMP	[EXTCOM],0
 0069  75 02				JNZ	GOTECODE
 006B  33 C0				XOR	AX,AX			; Internals always return 0
 006D				GOTECODE:
 006D  C6 06 0000 E 01			MOV	[EXTCOM],1		; Force external
 0072  FF 2E 0000 E			JMP	[INT_2E_RET]		;"IRET"
				
 0076				INT_2E: 				; Magic command executer
				ASSUME	DS:NOTHING,ES:NOTHING,SS:NOTHING
 0076  2E: 8F 06 0000 E			POP	WORD PTR [INT_2E_RET]
 007B  2E: 8F 06 0002 E			POP	WORD PTR [INT_2E_RET+2] ;Get return address
 0080  58				POP	AX			;Chuck flags
 0081  0E				PUSH	CS
 0082  07				POP	ES
 0083  BF 0080				MOV	DI,80H
 0086  B9 0040				MOV	CX,64
 0089  F3/ A5				REP	MOVSW
 008B  B4 51				MOV	AH,GET_CURRENT_PDB
 008D  CD 21				INT	int_command		; Get user's header
 008F  2E: 89 1E 0000 E			MOV	[SAVE_PDB],BX
 0094  B4 50				MOV	AH,SET_CURRENT_PDB
 0096  8C CB				MOV	BX,CS
 0098  CD 21				INT	int_command		; Current process is me
 009A  2E: C7 06 0000 E 0081		MOV	[SINGLECOM],81H
 00A1  2E: C6 06 0000 E 01		MOV	[EXTCOM],1		; Make sure this case forced
				
 00A7				LODCOM: 				; Termination handler
 00A7  2E: 80 3E 0000 E 00		CMP	[EXTCOM],0
 00AD  74 64				jz	lodcom1 		; if internal, memory already allocated
 00AF  BB FFFF				mov	bx,0ffffh
 00B2  B4 48				MOV	AH,ALLOC
 00B4  CD 21				INT	int_command
 00B6  E8 00C3 R			CALL	SetSize
 00B9  05 0020				ADD	AX,20H
 00BC  3B D8				CMP	BX,AX			; Is less than 512 byte buffer worth it?
 00BE  73 0B				JNC	MEMOK
 00C0				BADMEMERRJ:
 00C0  E9 0000 R			JMP BADMEMERR			; Not enough memory
				
				; SetSize - get transient size in paragraphs
				Procedure   SetSize,NEAR
 00C3                        1	SetSize    PROC    NEAR 
 00C3  B8 000F E			MOV	AX,OFFSET TRANGROUP:TRANSPACEEND + 15
 00C6  B1 04				MOV	CL,4
 00C8  D3 E8				SHR	AX,CL
					return
 00CA                        1	??0000: 
 00CA  C3                    1		RET 
				EndProc SetSize
 00CB                        1	SetSize    ENDP 
				
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-4
Trap:  Get the attention of MSDOS                           

 00CB				MEMOK:
 00CB  B4 48				MOV	AH,ALLOC
 00CD  CD 21				INT	int_command
 00CF  72 EF				JC	BADMEMERRJ		; Memory arenas probably trashed
 00D1  2E: C6 06 0000 E 00		MOV	[EXTCOM],0		; Flag not to ALLOC again
 00D7  2E: A3 0000 E			MOV	[RES_TPA], AX		; Save current TPA segment
 00DB  25 F000				AND	AX, 0F000H
 00DE  05 1000				ADD	AX, 01000H		; Round up to next 64K boundary
 00E1  72 13				JC	BAD_TPA 		; Memory wrap if carry set
				; Make sure that new boundary is within allocated range
 00E3  2E: 8B 16 0000 E			MOV	DX, [RES_TPA]
 00E8  03 D3				ADD	DX, BX			; Compute maximum address
 00EA  3B D0				CMP	DX, AX			; Is 64K address out of range?
 00EC  76 08				JBE	BAD_TPA
				; Must have 64K of usable space.
 00EE  2B D0				SUB	DX, AX			; Compute the usable space
 00F0  81 FA 1000			CMP	DX, 01000H		; Is space >= 64K ?
 00F4  73 04				JAE	LTPASET
 00F6				BAD_TPA:
 00F6  2E: A1 0000 E			MOV	AX, [RES_TPA]
 00FA				LTPASET:
 00FA  2E: A3 0000 E			MOV	[LTPA],AX		; Usable TPA is 64k buffer aligned
 00FE  2E: A1 0000 E			MOV	AX, [RES_TPA]		; Actual TPA is buffer allocated
 0102  03 D8				ADD	BX,AX
 0104  2E: 89 1E 0000 E			MOV	[MEMSIZ],BX
 0109  E8 00C3 R			CALL	SetSize
 010C  2B D8				SUB	BX,AX
 010E  2E: 89 1E 0000 E			MOV	[TRNSEG],BX		; Transient starts here
 0113				LODCOM1:
 0113  8C C8				MOV	AX,CS
 0115  8E D0				MOV	SS,AX
				ASSUME	SS:RESGROUP
 0117  BC 0000 E			MOV	SP,OFFSET RESGROUP:RSTACK
 011A  8E D8				MOV	DS,AX
				ASSUME	DS:RESGROUP
 011C  E8 01AE R			CALL	HEADFIX 		; Make sure files closed stdin and stdout restored
 011F  33 ED				XOR	BP,BP			; Flag command ok
 0121  B8 FFFF				MOV	AX,-1
 0124  87 06 0000 E			XCHG	AX,[VERVAL]
 0128  3D FFFF				CMP	AX,-1
 012B  74 04				JZ	NOSETVER
 012D  B4 2E				MOV	AH,SET_VERIFY_ON_WRITE	; AL has correct value
 012F  CD 21				INT	int_command
 0131				NOSETVER:
 0131  83 3E 0000 E FF			CMP	[SINGLECOM],-1
 0136  75 03				JNZ	NOSNG
 0138  E9 0025 R			JMP	FATALRET2		; We have finished the single command
 013B				NOSNG:
 013B  E8 02EB R			CALL	CHKSUM			; Check the transient
 013E  3B 16 0000 E			CMP	DX,[SUM]
 0142  74 16				JZ	HAVCOM			; Transient OK
 0144				BOGUS_COM:
 0144  C6 06 0000 E 01			MOV	[LOADING],1		; Flag DSKERR routine
 0149  E8 029C R			CALL	LOADCOM
 014C				CHKSAME:
				
 014C  E8 02EB R			CALL	CHKSUM
 014F  3B 16 0000 E			CMP	DX,[SUM]
 0153  74 05				JZ	HAVCOM			; Same COMMAND
 0155				ALSO_BOGUS:
 0155  E8 02E3 R			CALL	WRONGCOM
 0158  EB F2				JMP	SHORT CHKSAME
 015A				HAVCOM:
 015A  B8 3700				MOV	AX,CHAR_OPER SHL 8
 015D  CD 21				INT	int_command
 015F  88 16 0000 E			MOV	[RSWITCHAR],DL
 0163  80 FA 2F				CMP	DL,'/'
 0166  75 06				JNZ	USESLASH
 0168  B1 5C				mov	cl,'\'
 016A  88 0E 0000 E			MOV	[RDIRCHAR],cl		; Select alt path separator
 016E				USESLASH:
 016E  C6 06 0000 E 00			MOV	[LOADING],0		; Flag to DSKERR
 0173  BE 0000 E			MOV	SI,OFFSET RESGROUP:TRANVARS
 0176  BF 0000 E			MOV	DI,OFFSET TRANGROUP:HEADCALL
 0179  8E 06 0000 E			MOV	ES,[TRNSEG]
 017D  FC				CLD
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-5
Trap:  Get the attention of MSDOS                           

 017E  B9 0000 E			MOV	CX,OFFSET ResGroup:TranVarEnd
 0181  2B CE				SUB	CX,SI
 0183  F3/ A4				REP	MOVSB			; Transfer INFO to transient
 0185  A1 0000 E			MOV	AX,[MEMSIZ]
 0188  A3 0002				MOV	WORD PTR DS:[PDB_block_len],AX	; Adjust my own header
				
				; Just a public label so this spot can be found easily.
 018B				tjmp:
 018B  FF 2E 0000 E			JMP	DWORD PTR [TRANS]
				
				; Far call to REMCHECK for TRANSIENT
 018F				TREMCHECK PROC	 FAR
 018F  E8 0193 R			CALL	REMCHECK
 0192  CB				RET
 0193				TREMCHECK ENDP
				
 0193				REMCHECK:
				;All registers preserved. Returns ZF set if media removable, NZ if fixed
				; AL is drive (0=DEF, 1=A,...).
					SaveReg <AX,BX>
 0193  50                    2		PUSH    AX 
 0194  53                    2		PUSH    BX 
 0195  8B D8				MOV	BX,AX
 0197  B8 4408				MOV	AX,(IOCTL SHL 8) + 8
 019A  CD 21				INT	21h
 019C  73 04				jnc	RCcont			; If an error occurred, assume the media
 019E  0B C0				or	ax,ax			;  is NON-removable.
									;  AX contains the non-zero error code
									;  from the INT 21, so the OR AX,AX sets
									;  Non-zero. This behavior makes Network
									;  drives appear to be non-removable.
 01A0  EB 05				jmp	SHORT ResRegs
 01A2				RCcont:
 01A2  25 0001				AND	AX,1
 01A5  F7 D0				NOT	AX
 01A7				ResRegs:
					RestoreReg  <BX,AX>
 01A7  5B                    2		POP     BX 
 01A8  58                    2		POP     AX 
					return
 01A9                        1	??0001: 
 01A9  C3                    1		RET 
				
				; Far call to HEADFIX for TRANSIENT
 01AA				THEADFIX PROC	FAR
 01AA  E8 01AE R			CALL	HEADFIX
 01AD  CB				RET
 01AE				THEADFIX ENDP
				
 01AE				HEADFIX:
 01AE  E8 0305 R			CALL	SETVECT
 01B1  33 DB				XOR	BX,BX			; Clean up header
 01B3  8B 0E 0000 E			MOV	CX,[IO_SAVE]
 01B7  8B 16 0018			MOV	DX,WORD PTR DS:[PDB_JFN_Table]
 01BB  3A CA				CMP	CL,DL
 01BD  74 08				JZ	CHK1			; Stdin matches
 01BF  B4 3E				MOV	AH,CLOSE
 01C1  CD 21				INT	int_command
 01C3  88 0E 0018			MOV	DS:[PDB_JFN_Table],CL	; Restore stdin
 01C7				CHK1:
 01C7  43				INC	BX
 01C8  3A EE				CMP	CH,DH			; Stdout matches
 01CA  74 08				JZ	CHKOTHERHAND
 01CC  B4 3E				MOV	AH,CLOSE
 01CE  CD 21				INT	int_command
 01D0  88 2E 0019			MOV	DS:[PDB_JFN_Table+1],CH ; Restore stdout
 01D4				CHKOTHERHAND:
 01D4  83 C3 04				ADD	BX,4			; Skip 2,3,4
 01D7  B9 000F				MOV	CX,FilPerProc - 5	; Already done 0,1,2,3,4
 01DA				CLOSELOOP:
 01DA  B4 3E				MOV	AH,CLOSE
 01DC  CD 21				INT	int_command
 01DE  43				INC	BX
 01DF  E2 F9				LOOP	CLOSELOOP
 01E1  1E				push	ds			;AN020; save data segment
 01E2  0E				push	cs			;AN020; Get local segment into DS
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-6
Trap:  Get the attention of MSDOS                           

 01E3  1F				pop	ds			;AN020;
 01E4  80 3E 0000 E FF			cmp	append_flag,-1		;AN020; Do we need to reset APPEND?
 01E9  75 0E				jnz	append_fix_end		;AN030; no - just exit
 01EB  B8 B707				mov	ax,AppendSetState	;AN020; Set the state of Append
 01EE  8B 1E 0000 E			mov	bx,Append_state 	;AN020;     back to the original state
 01F2  CD 2F				int	2fh			;AN020;
 01F4  C6 06 0000 E 00			mov	append_flag,0		;AN020; Set append flag to invalid
 01F9				append_fix_end: 			;AN030;
 01F9  83 3E 0000 E FF			cmp	[rsrc_xa_seg],no_xa_seg ;AN030; Is there any active XA segment?
 01FE  74 11				jz	xa_fix_end		;AN030; no - exit
 0200  06				push	es			;AN030; Yes - deallocate it
 0201  8E 06 0000 E			mov	es,rsrc_xa_seg		;AN030;
 0205  B8 4900				mov	ax,(Dealloc SHL 8)	;AN030; Deallocate memory call
 0208  CD 21				int	int_command		;AN030;
 020A  07				pop	es			;AN030;
 020B  C7 06 0000 E FFFF		mov	[rsrc_xa_seg],no_xa_seg ;AN030; reset to no segment
 0211				xa_fix_end:
 0211  1F				pop	ds			;AN020; get data segment back
					return
 0212                        1	??0002: 
 0212  C3                    1		RET 
				
 0213				SAVHAND:
				ASSUME	DS:NOTHING,ES:NOTHING,SS:NOTHING
 0213  1E				PUSH	DS
 0214  53				PUSH	BX			; Set stdin to sterr, stdout to stderr
 0215  50				PUSH	AX
 0216  B4 51				MOV	AH,GET_CURRENT_PDB
 0218  CD 21				INT	int_command		; Get user's header
 021A  8E DB				MOV	DS,BX
 021C  C5 1E 0034			LDS	BX,DS:[PDB_JFN_POINTER] ; get pointer to JFN table...
 0220  8B 07				MOV	AX,WORD PTR DS:[BX]
 0222  2E: A3 0000 E			MOV	[HANDLE01],AX		; Save user's stdin, stdout
 0226  2E: A0 001A			MOV	AL,CS:[PDB_JFN_Table+2] ; get COMMAND stderr
 022A  8A E0				MOV	AH,AL
 022C  89 07				MOV	WORD PTR DS:[BX],AX	; Dup stderr
 022E  58				POP	AX
 022F  5B				POP	BX
 0230  1F				POP	DS
					return
 0231                        1	??0003: 
 0231  C3                    1		RET 
				
				ASSUME	DS:RESGROUP
 0232				GETCOMDSK2:
 0232  E8 0254 R			CALL	GETCOMDSK
 0235  E9 0113 R			JMP	LODCOM1 		; Memory already allocated
				
 0238				RESTHAND:
 0238  1E				PUSH	DS
 0239  53				PUSH	BX			; Restore stdin, stdout to user
 023A  50				PUSH	AX
 023B  B4 51				MOV	AH,GET_CURRENT_PDB
 023D  CD 21				INT	int_command		; Point to user's header
 023F  A1 0000 E			MOV	AX,[HANDLE01]
 0242  8E DB				MOV	DS,BX
				ASSUME DS:NOTHING
 0244  C5 1E 0034			LDS	BX,DS:[PDB_JFN_POINTER] ; get pointer to JFN table...
 0248  89 07				MOV	WORD PTR DS:[BX],AX	; Stuff his old 0 and 1
 024A  58				POP	AX
 024B  5B				POP	BX
 024C  1F				POP	DS
					return
 024D                        1	??0004: 
 024D  C3                    1		RET 
				ASSUME DS:RESGROUP,SS:RESGROUP
				
 024E				HOPELESS:
 024E  BA 00DD				MOV	DX,COMBAD		;AC000;
 0251  E9 0003 R			JMP	FATALC
				
 0254				GETCOMDSK:
 0254  A0 0000 E			mov	al,[comdrv]
 0257  E8 0193 R			CALL	REMCHECK
 025A  75 F2				jNZ	HOPELESS		;Non-removable media
 025C				getcomdsk3:
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-7
Trap:  Get the attention of MSDOS                           

 025C  81 FA 00DD			cmp	dx,combad		;AC000;
 0260  75 06				jnz	getcomdsk4
 0262  BA 00DD				mov	dx,combad		;AN000; get message number
					invoke	RPRINT			; Say command is invalid
 0265  E8 0000 E             1		CALL    RPRINT 
 0268				getcomdsk4:
 0268  80 3E 0000 E 00			cmp	[cpdrv],0		;g is there a drive in the comspec?
 026D  75 09				jnz	users_drive		;g yes - use it
 026F  B4 19				mov	ah,Get_default_drive	;g use default drive
 0271  CD 21				int	21h			;g
 0273  04 41				add	al,"A"                  ;g convert to ascii
 0275  A2 0000 E			mov	[cpdrv],al		;g put in message to print out
				
 0278				users_drive:				;g
 0278  BA 00DE				mov	dx,comprmt1		;AC000; Prompt for diskette containing command
 027B  A0 0000 E			MOV	AL,COMPRMT1_SUBST	;AN000; get number of substitutions
 027E  BE 0000 E			MOV	SI,OFFSET RESGROUP:COMPRMT1_BLOCK ;AN000; get address of subst block
 0281  A2 0000 E			MOV	NUMBER_SUBST,AL 	;AN000;
					invoke	rprint
 0284  E8 0000 E             1		CALL    rprint 
 0287  BA 00DF				mov	dx,prompt		;AN047; Tell the user to strike a key
					invoke	rprint			;AN047;
 028A  E8 0000 E             1		CALL    rprint 
 028D  E8 0291 R			CALL	GetRawFlushedByte
					return
 0290                        1	??0005: 
 0290  C3                    1		RET 
				
				; flush world and get raw input
 0291				GetRawFlushedByte:
 0291  B8 0C07				MOV	AX,(STD_CON_INPUT_FLUSH SHL 8) OR RAW_CON_INPUT
 0294  CD 21				INT	int_command		; Get char without testing or echo
 0296  B8 0C00				MOV	AX,(STD_CON_INPUT_FLUSH SHL 8) + 0
 0299  CD 21				INT	int_command
					return
 029B                        1	??0006: 
 029B  C3                    1		RET 
				
 029C				LOADCOM:				; Load in transient
 029C  45				INC	BP			; Flag command read
 029D  BA 0000 E			MOV	DX,OFFSET RESGROUP:COMSPEC
 02A0  B8 3D00				MOV	AX,OPEN SHL 8
 02A3  CD 21				INT	int_command		; Open COMMAND.COM
 02A5  73 10				JNC	READCOM
 02A7  3D 0004				CMP	AX,error_too_many_open_files
 02AA  75 06				JNZ	TRYDOOPEN
 02AC  BA 00E4				MOV	DX,NOHANDMES		;AC000;
 02AF  E9 0003 R			JMP	FATALC			; Fatal, will never find a handle
				
 02B2				TRYDOOPEN:
 02B2  E8 0254 R			CALL	GETCOMDSK
 02B5  EB E5				JMP	LOADCOM
				
 02B7				READCOM:
 02B7  8B D8				MOV	BX,AX			; Handle
 02B9  BA 0000 R			MOV	DX,OFFSET RESGROUP:TRANSTART
 02BC  33 C9				XOR	CX,CX			; Seek loc
 02BE  B8 4200				MOV	AX,LSEEK SHL 8
 02C1  CD 21				INT	int_command
 02C3  72 10				JC	WRONGCOM1
 02C5  B9 FF00 E			MOV	CX,OFFSET TRANGROUP:TRANSPACEEND - 100H
				
 02C8  1E				PUSH	DS
 02C9  8E 1E 0000 E			MOV	DS,[TRNSEG]
				ASSUME	DS:NOTHING
 02CD  BA 0100				MOV	DX,100H
 02D0  B4 3F				MOV	AH,READ
 02D2  CD 21				INT	int_command
 02D4  1F				POP	DS
				ASSUME	DS:RESGROUP
 02D5				WRONGCOM1:
 02D5  9C				PUSHF
 02D6  50				PUSH	AX
 02D7  B4 3E				MOV	AH,CLOSE
 02D9  CD 21				INT	int_command		; Close COMMAND.COM
 02DB  58				POP	AX
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-8
Trap:  Get the attention of MSDOS                           

 02DC  9D				POPF
 02DD  72 04				JC	WRONGCOM		; If error on READ
 02DF  3B C1				CMP	AX,CX
					retz				; Size matched
 02E1  74 B8                 2		    ??0007:  jz    ret_l           ; 
 02E3				WRONGCOM:
 02E3  BA 00DD				MOV	DX,COMBAD		;AC000;
 02E6  E8 0254 R			CALL	GETCOMDSK
 02E9  EB B1				JMP	LOADCOM 		; Try again
				
 02EB				CHKSUM: 				; Compute transient checksum
 02EB  1E				PUSH	DS
 02EC  8E 1E 0000 E			MOV	DS,[TRNSEG]
 02F0  BE 0100				MOV	SI,100H
 02F3  B9 FF00 E			MOV	CX,OFFSET TRANGROUP:TranDataEnd  - 100H
				
 02F6				CHECK_SUM:
 02F6  FC				CLD
 02F7  D1 E9				SHR	CX,1
 02F9  33 D2				XOR	DX,DX
 02FB				CHK:
 02FB  AD				LODSW
 02FC  03 D0				ADD	DX,AX
 02FE  83 D2 00				ADC	DX,0
 0301  E2 F8				LOOP	CHK
 0303  1F				POP	DS
					return
 0304                        1	??0008: 
 0304  C3                    1		RET 
				
 0305				SETVECT:				; Set useful vectors
 0305  BA 00A7 R			MOV	DX,OFFSET RESGROUP:LODCOM
 0308  B8 2522				MOV	AX,(SET_INTERRUPT_VECTOR SHL 8) OR 22H
 030B  89 16 000A			MOV	WORD PTR DS:[PDB_EXIT],DX
 030F  8C 1E 000C			MOV	WORD PTR DS:[PDB_EXIT+2],DS
 0313  CD 21				INT	int_command
 0315  BA 0000 E			MOV	DX,OFFSET RESGROUP:CONTC
 0318  FE C0				INC	AL
 031A  CD 21				INT	int_command
 031C  BA 0000 E			MOV	DX,OFFSET RESGROUP:DSKERR
 031F  FE C0				INC	AL
 0321  CD 21				INT	int_command
					return
 0323                        1	??0009: 
 0323  C3                    1		RET 
				
				
				;
				;  This routine moves the environment to a newly allocated segment
				;  at the end of initialization
				;
				
 0324				ENDINIT:
 0324  1E				push	ds			;g save segments
 0325  06				push	es			;g
 0326  0E				push	cs			;g get resident segment to DS
 0327  1F				pop	ds			;g
					ASSUME	DS:RESGROUP
 0328  8B 0E 0000 E			mov	cx,usedenv		;g get number of bytes to move
 032C  8E 06 0000 E			mov	es,envirseg		;g get target environment segment
				
					ASSUME	ES:NOTHING
 0330  8C 06 002C			mov	DS:[PDB_environ],es	;g put new environment in my header	   ;AM067;
 0334  8E 1E 0000 E			mov	ds,oldenv		;g source environment segment		   ;AM067;
					ASSUME	DS:NOTHING							   ;AM067;
 0338  33 F6				xor	si,si			;g set up offsets to start of segments	   ;AM067;
 033A  33 FF				xor	di,di			;g					   ;AM067;
 033C  FC				cld				;g make sure we move the right way!	   ;AM067;
 033D  F3/ A4				rep	movsb			;g move it				   ;AM067;
 033F  33 C0				xor	ax,ax			;g					   ;AM067;
 0341  AA				stosb				;g make sure there are double 0 at end	   ;AM067;
				
 0342  36: 80 3E 0000 E 01		cmp	resetenv,1		;eg Do we need to setblock to env end?
 0348  75 0B				jnz	noreset 		;eg no - we already did it
 034A  36: 8B 1E 0000 E			mov	bx,envsiz		;eg get size of environment in paragraphs
 034F  06				push	es			;eg save environment - just to make sure
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Page     1-9
Trap:  Get the attention of MSDOS                           

 0350  B4 4A				mov	ah,SETBLOCK		;eg
 0352  CD 21				int	int_command		;eg
 0354  07				pop	es			;eg
				
 0355				noreset:
 0355  36: C6 06 0000 E 00		mov	InitFlag,FALSE		;AC042; Turn off init flag
 035B  07				pop	es			;g
 035C  1F				pop	ds			;g
 035D  E9 00A7 R			jmp	lodcom			;g allocate transient
				
 0360				CODERES ENDS
				
				; This TAIL segment is used to produce a PARA aligned label in the resident
				; group which is the location where the transient segments will be loaded
				; initial.
				
 0000				TAIL	SEGMENT PUBLIC PARA
 0000					ORG	0
					PUBLIC	TranStart
 0000				TRANSTART	LABEL	WORD
 0000				TAIL	ENDS
				
				; This TAIL segment is used to produce a PARA aligned label in the transient
				; group which is the location where the exec segments will be loaded
				; initial.
				
 0000				TRANTAIL    SEGMENT PUBLIC PARA
 0000					ORG	0
 0000				EXECSTART   LABEL   WORD
 0000				TRANTAIL    ENDS
				
					END

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            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:43:59
COMMAND2 - resident code for COMMAND.COM part II            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:43:59
COMMAND2 - resident code for COMMAND.COM part II            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:43:59
COMMAND2 - resident code for COMMAND.COM part II            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:43:59
COMMAND2 - resident code for COMMAND.COM part II            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  . . . . . . . . . . .  	0360	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 . . . . . . . . . . .  	0000	PARA	PUBLIC	
  TRANDATA . . . . . . . . . . .  	0000	BYTE	PUBLIC	
  TRANSPACE  . . . . . . . . . .  	0000	BYTE	PUBLIC	
  TRANTAIL . . . . . . . . . . .  	0000	PARA	PUBLIC	

Symbols:            

                N a m e         	Type	 Value	 Attr

ABORT  . . . . . . . . . . . . .  	NUMBER	0000	
ACCDEN . . . . . . . . . . . . .  	NUMBER	00E6	
ACCESS_MASK  . . . . . . . . . .  	NUMBER	000F	
ACTION_CREATED_OPENED  . . . . .  	NUMBER	0002	
ACTION_OPENED  . . . . . . . . .  	NUMBER	0001	
ACTION_REPLACED_OPENED . . . . .  	NUMBER	0003	
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	
ALSO_BOGUS . . . . . . . . . . .  	L NEAR	0155	CODERES
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	
APPEND_FIX_END . . . . . . . . .  	L NEAR	01F9	CODERES
append_flag  . . . . . . . . . .  	V BYTE	0000	DATARES	External
append_state . . . . . . . . . .  	V WORD	0000	DATARES	External
ARENA_OWNER_SYSTEM . . . . . . .  	NUMBER	0000	
ARENA_SIGNATURE_END  . . . . . .  	NUMBER	005A	
ARENA_SIGNATURE_NORMAL . . . . .  	NUMBER	004D	
ARGBLEN  . . . . . . . . . . . .  	NUMBER	0100	
ARGMAX . . . . . . . . . . . . .  	NUMBER	0040	
ARG_BUF_OVFLOW . . . . . . . . .  	NUMBER	0002	
ARG_CNT_ERROR  . . . . . . . . .  	NUMBER	0001	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-6


ASSIGNOPER . . . . . . . . . . .  	NUMBER	005F	
ATTR_ALL . . . . . . . . . . . .  	NUMBER	0016	
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	

BADCOMACCMES_PTR . . . . . . . .  	NUMBER	01D2	
BADCOMLKMES_PTR  . . . . . . . .  	NUMBER	01D1	
BADFAT . . . . . . . . . . . . .  	NUMBER	00DC	
BADMEMERR  . . . . . . . . . . .  	L NEAR	0000	CODERES
BADMEMERRJ . . . . . . . . . . .  	L NEAR	00C0	CODERES
BADPARM_PTR  . . . . . . . . . .  	NUMBER	000A	
BADSWT_PTR . . . . . . . . . . .  	NUMBER	0003	
BADVER . . . . . . . . . . . . .  	NUMBER	01CD	
BAD_TPA  . . . . . . . . . . . .  	L NEAR	00F6	CODERES
BATCHTYPE  . . . . . . . . . . .  	NUMBER	0000	
BATLEN . . . . . . . . . . . . .  	NUMBER	0020	
BAT_NOT_OPEN . . . . . . . . . .  	NUMBER	-0001	
BAT_OPEN_HANDLE  . . . . . . . .  	NUMBER	0013	
BLANK  . . . . . . . . . . . . .  	NUMBER	0020	
BMEMMES  . . . . . . . . . . . .  	NUMBER	00E7	
BOGUS_COM  . . . . . . . . . . .  	L NEAR	0144	CODERES
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	
CHECK_SUM  . . . . . . . . . . .  	L NEAR	02F6	CODERES
CHK  . . . . . . . . . . . . . .  	L NEAR	02FB	CODERES
CHK1 . . . . . . . . . . . . . .  	L NEAR	01C7	CODERES
CHKOTHERHAND . . . . . . . . . .  	L NEAR	01D4	CODERES
CHKSAME  . . . . . . . . . . . .  	L NEAR	014C	CODERES
CHKSUM . . . . . . . . . . . . .  	L NEAR	02EB	CODERES	Global
CHMOD  . . . . . . . . . . . . .  	NUMBER	0043	
CLOSE  . . . . . . . . . . . . .  	NUMBER	003E	
CLOSELOOP  . . . . . . . . . . .  	L NEAR	01DA	CODERES
COLON_CHAR . . . . . . . . . . .  	NUMBER	003A	
COMBAD . . . . . . . . . . . . .  	NUMBER	00DD	
COMBUFLEN  . . . . . . . . . . .  	NUMBER	0080	
COMDRV . . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
COMMIT . . . . . . . . . . . . .  	NUMBER	0068	
COMPRMT1 . . . . . . . . . . . .  	NUMBER	00DE	
comprmt1_block . . . . . . . . .  	V BYTE	0000	DATARES	External
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-7


comprmt1_subst . . . . . . . . .  	V BYTE	0000	DATARES	External
COMSPEC  . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
contc  . . . . . . . . . . . . .  	L NEAR	0000	CODERES	External
cpdrv  . . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
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	
CURDIR_INUSE . . . . . . . . . .  	NUMBER	4000	
CURDIR_ISIFS . . . . . . . . . .  	NUMBER	8000	
CURDIR_ISNET . . . . . . . . . .  	NUMBER	8000	
CURDIR_LOCAL . . . . . . . . . .  	NUMBER	1000	
CURDIR_NETID . . . . . . . . . .  	DWORD	0049	
CURDIR_SPLICE  . . . . . . . . .  	NUMBER	2000	
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	
DEVEMES  . . . . . . . . . . . .  	NUMBER	00DA	
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	
DRVNUM . . . . . . . . . . . . .  	NUMBER	00D9	
DSKERR . . . . . . . . . . . . .  	L NEAR	0000	CODERES	External
DSKSIZ . . . . . . . . . . . . .  	NUMBER	000D	
DUP_PDB  . . . . . . . . . . . .  	NUMBER	0055	

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-8


ECS_CALL . . . . . . . . . . . .  	NUMBER	0063	
EMGDEBUG . . . . . . . . . . . .  	NUMBER	0000	
EMS_MAP_BUFF_SIZE  . . . . . . .  	NUMBER	000C	
ENDBATMES  . . . . . . . . . . .  	NUMBER	00E0	
endinit  . . . . . . . . . . . .  	L NEAR	0324	CODERES	Global
END_OF_LINE  . . . . . . . . . .  	NUMBER	-0001	
END_OF_LINE_IN . . . . . . . . .  	NUMBER	000D	
END_OF_LINE_OUT  . . . . . . . .  	NUMBER	0000	
ENTRYPOINT . . . . . . . . . . .  	NUMBER	00C0	
envirseg . . . . . . . . . . . .  	V WORD	0000	DATARES	External
envsiz . . . . . . . . . . . . .  	V WORD	0000	INIT	External
EQUAL_CHR  . . . . . . . . . . .  	NUMBER	003D	
ERR15MES . . . . . . . . . . . .  	NUMBER	00DB	
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	
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	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-9


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	
EXEBAD . . . . . . . . . . . . .  	NUMBER	00E2	
EXEC . . . . . . . . . . . . . .  	NUMBER	004B	
EXECEMES . . . . . . . . . . . .  	NUMBER	00E1	
EXECSTART  . . . . . . . . . . .  	L WORD	0000	TRANTAIL
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	
EXTCOM . . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
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	
FATALC . . . . . . . . . . . . .  	L NEAR	0003	CODERES
FATALRET . . . . . . . . . . . .  	L NEAR	001F	CODERES
FATALRET2  . . . . . . . . . . .  	L NEAR	0025	CODERES
FBADSWITCH . . . . . . . . . . .  	NUMBER	4000	
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	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-10


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	
FPARSE . . . . . . . . . . . . .  	NUMBER	0001	
FRETMES  . . . . . . . . . . . .  	NUMBER	00E9	
FSPCHK . . . . . . . . . . . . .  	NUMBER	0004	
FSWITCH  . . . . . . . . . . . .  	NUMBER	8000	
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	

GETCOMDSK  . . . . . . . . . . .  	L NEAR	0254	CODERES
GETCOMDSK2 . . . . . . . . . . .  	L NEAR	0232	CODERES	Global
GETCOMDSK3 . . . . . . . . . . .  	L NEAR	025C	CODERES
GETCOMDSK4 . . . . . . . . . . .  	L NEAR	0268	CODERES
GETCURRENTPSP  . . . . . . . . .  	NUMBER	0062	
GETEXTCNTRY  . . . . . . . . . .  	NUMBER	0065	
GETEXTENDEDERROR . . . . . . . .  	NUMBER	0059	
GETRAWFLUSHEDBYTE  . . . . . . .  	L NEAR	0291	CODERES
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	
GOTECODE . . . . . . . . . . . .  	L NEAR	006D	CODERES

HALTMES  . . . . . . . . . . . .  	NUMBER	00E8	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-11


HANDLE01 . . . . . . . . . . . .  	V WORD	0000	DATARES	External
HANDLE_FAIL_I24  . . . . . . . .  	NUMBER	0100	
HAVCOM . . . . . . . . . . . . .  	L NEAR	015A	CODERES
HEADCALL . . . . . . . . . . . .  	V DWORD	0000	TRANSPACE	External
HEADER_PTR . . . . . . . . . . .  	NUMBER	01D0	
HEADFIX  . . . . . . . . . . . .  	L NEAR	01AE	CODERES
HONGEUL  . . . . . . . . . . . .  	NUMBER	0063	
HOPELESS . . . . . . . . . . . .  	L NEAR	024E	CODERES

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	
InitFlag . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
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_2E . . . . . . . . . . . . .  	L NEAR	0076	CODERES	Global
INT_2E_RET . . . . . . . . . . .  	V DWORD	0000	DATARES	External
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	
IOCTL  . . . . . . . . . . . . .  	NUMBER	0044	
IO_MODE_ID . . . . . . . . . . .  	NUMBER	0002	
IO_SAVE  . . . . . . . . . . . .  	V WORD	0000	DATARES	External

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

KANJI  . . . . . . . . . . . . .  	ALIAS	 FALSE		
KEEP_PROCESS . . . . . . . . . .  	NUMBER	0031	
KOREA  . . . . . . . . . . . . .  	ALIAS	 FALSE		

LABRACKET  . . . . . . . . . . .  	NUMBER	003C	
LENGTH_CALL  . . . . . . . . . .  	NUMBER	0004	
LESSARGS_PTR . . . . . . . . . .  	NUMBER	0002	
LINESPERPAGE . . . . . . . . . .  	NUMBER	0019	
LOADCOM  . . . . . . . . . . . .  	L NEAR	029C	CODERES	Global
LOADING  . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
LOCKOPER . . . . . . . . . . . .  	NUMBER	005C	
LODCOM . . . . . . . . . . . . .  	L NEAR	00A7	CODERES	Global
LODCOM1  . . . . . . . . . . . .  	L NEAR	0113	CODERES	Global
LPAREN . . . . . . . . . . . . .  	NUMBER	0028	
LSEEK  . . . . . . . . . . . . .  	NUMBER	0042	
LTPA . . . . . . . . . . . . . .  	V WORD	0000	DATARES	External
LTPASET  . . . . . . . . . . . .  	L NEAR	00FA	CODERES

MAJOR_VERSION  . . . . . . . . .  	NUMBER	0004	
MAXBUCKETINPAGE  . . . . . . . .  	NUMBER	0002	
MAXBUFFINBUCKET  . . . . . . . .  	NUMBER	000F	
MAX_NEST . . . . . . . . . . . .  	NUMBER	000A	
MEMOK  . . . . . . . . . . . . .  	L NEAR	00CB	CODERES
MEMS . . . . . . . . . . . . . .  	NUMBER	0001	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-12


MEMSIZ . . . . . . . . . . . . .  	V WORD	0000	DATARES	External
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	
MREAD  . . . . . . . . . . . . .  	NUMBER	00D7	
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	
MWRITE . . . . . . . . . . . . .  	NUMBER	00D8	

NEWLIN . . . . . . . . . . . . .  	NUMBER	00EB	
NLSFUNC  . . . . . . . . . . . .  	NUMBER	0014	
NOHANDMES  . . . . . . . . . . .  	NUMBER	00E4	
NORESET  . . . . . . . . . . . .  	L NEAR	0355	CODERES
NORMPERLIN . . . . . . . . . . .  	NUMBER	0001	
NOSETVER . . . . . . . . . . . .  	L NEAR	0131	CODERES
NOSNG  . . . . . . . . . . . . .  	L NEAR	013B	CODERES
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	
number_subst . . . . . . . . . .  	V BYTE	0000	DATARES	External

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	
oldenv . . . . . . . . . . . . .  	V WORD	0000	INIT	External
OldTerm  . . . . . . . . . . . .  	V DWORD	0000	DATARES	External
ONE_SUBST  . . . . . . . . . . .  	NUMBER	0001	
OPEN . . . . . . . . . . . . . .  	NUMBER	003D	
OPEN_FOR_BOTH  . . . . . . . . .  	NUMBER	0002	
OPEN_FOR_READ  . . . . . . . . .  	NUMBER	0000	
OPEN_FOR_WRITE . . . . . . . . .  	NUMBER	0001	
OUTENVERR_PTR  . . . . . . . . .  	NUMBER	01CF	

PARENT . . . . . . . . . . . . .  	V WORD	0000	DATARES	External
PARM_BLOCK_SIZE  . . . . . . . .  	NUMBER	000B	
PARM_OFF_POS . . . . . . . . . .  	WORD	0002	
PARSE_FILE_DESCRIPTOR  . . . . .  	NUMBER	0029	
PARSE_MSG_CLASS  . . . . . . . .  	NUMBER	0002	
PATHPARSE  . . . . . . . . . . .  	NUMBER	0061	
PATH_SEP . . . . . . . . . . . .  		0002	
PATRICIDE  . . . . . . . . . . .  	NUMBER	00EA	
PDB_APPEND . . . . . . . . . . .  	BYTE	003D	
PDB_INTERCON . . . . . . . . . .  	BYTE	003C	
PERMCOM  . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
PLUS_CHR . . . . . . . . . . . .  	NUMBER	002B	
PROMPT . . . . . . . . . . . . .  	NUMBER	00DF	
PTR_OFF_POS  . . . . . . . . . .  	NUMBER	0005	
PTR_SEG_POS  . . . . . . . . . .  	NUMBER	0007	

RABRACKET  . . . . . . . . . . .  	NUMBER	003E	
RAW_CON_INPUT  . . . . . . . . .  	NUMBER	0007	
RAW_CON_IO . . . . . . . . . . .  	NUMBER	0006	
RBADNAM  . . . . . . . . . . . .  	NUMBER	00E5	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-13


RCCONT . . . . . . . . . . . . .  	L NEAR	01A2	CODERES
RDIRCHAR . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
READ . . . . . . . . . . . . . .  	NUMBER	003F	
READCOM  . . . . . . . . . . . .  	L NEAR	02B7	CODERES
READ_OPEN_FLAG . . . . . . . . .  	NUMBER	0101	
READ_OPEN_MODE . . . . . . . . .  	NUMBER	0000	
REDIRECTOR . . . . . . . . . . .  	NUMBER	0000	
REMCHECK . . . . . . . . . . . .  	L NEAR	0193	CODERES
RENAME . . . . . . . . . . . . .  	NUMBER	0056	
REQ_ABORT  . . . . . . . . . . .  	NUMBER	00D2	
REQ_END  . . . . . . . . . . . .  	NUMBER	00D6	
REQ_FAIL . . . . . . . . . . . .  	NUMBER	00D5	
REQ_IGNORE . . . . . . . . . . .  	NUMBER	00D4	
REQ_RETRY  . . . . . . . . . . .  	NUMBER	00D3	
RESERVED_BITS_MASK . . . . . . .  	NUMBER	FE00	
resetenv . . . . . . . . . . . .  	V BYTE	0000	INIT	External
reset_msg_pointers . . . . . . .  	L NEAR	0000	CODERES	External
RESREGS  . . . . . . . . . . . .  	L NEAR	01A7	CODERES
RESTHAND . . . . . . . . . . . .  	L NEAR	0238	CODERES	Global
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	
RES_TPA  . . . . . . . . . . . .  	V WORD	0000	DATARES	External
RETCODE  . . . . . . . . . . . .  	V WORD	0000	DATARES	External
RETRY_ALLOWED  . . . . . . . . .  	NUMBER	0010	
RET_2E . . . . . . . . . . . . .  	L NEAR	0049	CODERES
RET_L  . . . . . . . . . . . . .  	NEAR	0323	CODERES
RET_Z  . . . . . . . . . . . . .  	NEAR	02E1	CODERES
RMDIR  . . . . . . . . . . . . .  	NUMBER	003A	
RPAREN . . . . . . . . . . . . .  	NUMBER	0029	
RPRINT . . . . . . . . . . . . .  	L NEAR	0000	CODERES	External
rsrc_xa_seg  . . . . . . . . . .  	V WORD	0000	DATARES	External
rstack . . . . . . . . . . . . .  	V WORD	0000	CODERES	External
RSWITCHAR  . . . . . . . . . . .  	V BYTE	0000	DATARES	External

SAVE_PDB . . . . . . . . . . . .  	V WORD	0000	DATARES	External
SAVHAND  . . . . . . . . . . . .  	L NEAR	0213	CODERES	Global
SCROLL_VIDEO_PAGE  . . . . . . .  	NUMBER	0006	
SEARCH_ATTR  . . . . . . . . . .  	NUMBER	0013	
SEMICOLON  . . . . . . . . . . .  	NUMBER	003B	
SERVERCALL . . . . . . . . . . .  	NUMBER	005D	
SETBLOCK . . . . . . . . . . . .  	NUMBER	004A	
SETDPB . . . . . . . . . . . . .  	NUMBER	0053	
SetSize  . . . . . . . . . . . .  	N PROC	00C3	CODERES	Global	Length = 0008
SETVECT  . . . . . . . . . . . .  	L NEAR	0305	CODERES	Global
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	
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	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-14


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	
SINGLECOM  . . . . . . . . . . .  	V WORD	0000	DATARES	External
SMALL_A  . . . . . . . . . . . .  	NUMBER	0061	
SMALL_Z  . . . . . . . . . . . .  	NUMBER	007A	
SPECIAL_DELIM  . . . . . . . . .  		0007	
STALL  . . . . . . . . . . . . .  	L NEAR	001D	CODERES
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	
SUM  . . . . . . . . . . . . . .  	V WORD	0000	DATARES	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	
TEXT_MODE  . . . . . . . . . . .  	NUMBER	0001	
THEADFIX . . . . . . . . . . . .  	F PROC	01AA	CODERES	Global	Length = 0004
tjmp . . . . . . . . . . . . . .  	L NEAR	018B	CODERES	Global
TOKENIZED  . . . . . . . . . . .  	NUMBER	0000	
TOOBIG . . . . . . . . . . . . .  	NUMBER	00E3	
TPLEN  . . . . . . . . . . . . .  	NUMBER	0040	
TRANDATAEND  . . . . . . . . . .  	V BYTE	0000	TRANDATA	External
TRANS  . . . . . . . . . . . . .  	V WORD	0000	DATARES	External
TRANSPACEEND . . . . . . . . . .  	V BYTE	0000	TRANSPACE	External
TranStart  . . . . . . . . . . .  	L WORD	0000	TAIL	Global
TranVarEnd . . . . . . . . . . .  	V BYTE	0000	DATARES	External
TRANVARS . . . . . . . . . . . .  	V BYTE	0000	DATARES	External
TREMCHECK  . . . . . . . . . . .  	F PROC	018F	CODERES	Global	Length = 0004
TRNSEG . . . . . . . . . . . . .  	V WORD	0000	DATARES	External
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TRUEBYTE . . . . . . . . . . . .  	NUMBER	00FF	
TRYDOOPEN  . . . . . . . . . . .  	L NEAR	02B2	CODERES

UNLINK . . . . . . . . . . . . .  	NUMBER	0041	
UNUSED . . . . . . . . . . . . .  		0003	
usedenv  . . . . . . . . . . . .  	V WORD	0000	INIT	External
USEROPER . . . . . . . . . . . .  	NUMBER	005E	
USERS_DRIVE  . . . . . . . . . .  	L NEAR	0278	CODERES
USESLASH . . . . . . . . . . . .  	L NEAR	016E	CODERES
UTIL_MSG_CLASS . . . . . . . . .  	NUMBER	-0001	

VBAR . . . . . . . . . . . . . .  	NUMBER	007C	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:43:59
COMMAND2 - resident code for COMMAND.COM part II            Symbols-15


VERVAL . . . . . . . . . . . . .  	V WORD	0000	DATARES	External
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	
WRONGCOM . . . . . . . . . . . .  	L NEAR	02E3	CODERES
WRONGCOM1  . . . . . . . . . . .  	L NEAR	02D5	CODERES

XA_FIX_END . . . . . . . . . . .  	L NEAR	0211	CODERES
XDUP . . . . . . . . . . . . . .  	NUMBER	0045	
XDUP2  . . . . . . . . . . . . .  	NUMBER	0046	
XNAMETRANS . . . . . . . . . . .  	NUMBER	0060	

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

??0000 . . . . . . . . . . . . .  	L NEAR	00CA	CODERES
??0001 . . . . . . . . . . . . .  	L NEAR	01A9	CODERES
??0002 . . . . . . . . . . . . .  	L NEAR	0212	CODERES
??0003 . . . . . . . . . . . . .  	L NEAR	0231	CODERES
??0004 . . . . . . . . . . . . .  	L NEAR	024D	CODERES
??0005 . . . . . . . . . . . . .  	L NEAR	0290	CODERES
??0006 . . . . . . . . . . . . .  	L NEAR	029B	CODERES
??0008 . . . . . . . . . . . . .  	L NEAR	0304	CODERES
??0009 . . . . . . . . . . . . .  	L NEAR	0323	CODERES
?PLM . . . . . . . . . . . . . .  	NUMBER	0000	
?WIN . . . . . . . . . . . . . .  	NUMBER	0000	
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  command2		
@VERSION . . . . . . . . . . . .  	TEXT  510		


   3437 Source  Lines
   3697 Total   Lines
   1079 Symbols

  43024 + 176960 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
