Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-1


				 TITLE	 CHKDSK - MS-DOS Disk consistancy check
				er ;
				page	,132					;
				
					.list
				
				
					pathlabl chkdsk1
 0000				CHKDSK:
				; find out if we have enough memory to do the job
 0000  2E: A2 000B R		    mov     cs:save_drive,al		;save drive validity
				;;;;int     12h 			;1k blocks (640k = 280h)		;an054;bgb;an050;bgb
				;;;;mov     bx,64			;number of paragraphs			;an054;bgb;an050;bgb
				;;;;mul     bx				;640k = a000				;an054;bgb;an050;bgb
				;;;;mov     cs:[mem_size],ax		    ;returns number of 1k blocks	;an054;bgb;an050;bgb
				    DOS_Call GetCurrentPSP		    ;Get PSP segment address		;Ac034;bgb
			     1							; 
 0004  B4 62                 1		mov	ah,GetCurrentPSP			;				;AN000; 
 0006  CD 21                 1		int	21h				;				;AN000; 
			     1							; 
 0008  2E: 89 1E 0000 E		    mov     cs:psp_segment,bx							   ;ac034;bgb
 000D  8E DB			    mov     ds,bx			    ;ds points to the psp		;Ac034;bgb
				    Assume  DS:Nothing
 000F  8B 16 0002		    MOV     DX,DS:[2]			    ;High break
 0013  2E: 89 16 0260 R		    mov     cs:[mem_size],dx		    ;move it into data area		;an054;bgb
 0018  BB FFFF			    MOV     BX,0FFFFH			    ;need at least 64k bytes
 001B  8C C9			    MOV     CX,CS	    ;get segment of where we are
 001D  2B D1			    SUB     DX,CX	    ;top-of-mem  -  pgm  =  # para left in alloc block
 001F  81 FA 0FFF		    CMP     DX,0FFFH	    ; is the space available > 64K ?
				;   $IF     B
 0023  73 07			    JNB $$IF1
 0025  B9 0004				MOV	CX,4		; Yes, set SP to BX (FFF0)
 0028  D3 E2				SHL	DX,CL		; Convert remaining memory to bytes
 002A  8B DA				MOV	BX,DX
				;   $ENDIF
 002C				$$IF1:
 002C				SETSTACK:	       ;***Set_Memory*********
 002C  FA			    CLI
 002D  0E			    PUSH    CS
 002E  17			    POP     SS
				ASSUME	SS:DG
 002F  8B E3			    MOV     SP,BX
 0031  FB			    STI
 0032  50			    PUSH    AX
 0033  E9 0000 E		    JMP     Main_Init			    ;Go to init routines
				
				
				;**************************************************************************
				; MAIN-ROUTINE
				;
				; called by - main-init
				;
				; LOGIC
				; *****
				;	- get the dpb addr
				;	- set the default drive to here
				;	- save the directory we are on
				;	- set the directory to the root of the drive
				;	- print the volume name
				;	- get the dpb info
				;	- get the addr of the fatmap area
				;	- calculate the amount of stack space we have
				;**************************************************************************
 0036				Main_Routine:
				    set_data_segment
 0036  50                    1		push	ax 
 0037  B8 ---- R             1		mov	ax,dg				;Point to data segment 
 003A  8E D8                 1		mov	ds,ax				; 
 003C  1E                    1		push	ds 
 003D  07                    1		pop	es 
 003E  58                    1		pop	ax 
			     1		.LALL 
			     1		assume	ds:dg,es:dg 
 003F				OkDrive:
				;get the dpb addr  from this drive
 003F  8A 16 0033 R		    mov      dl,AllDrv			     ;Get drive number		     ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-2
system call definitions                                     

				    DOS_Call Get_DPB		 ;func 32    ;Get DPB pointer		     ;AC000;
 0043  B4 32                 1		mov	ah,Get_DPB			;				;AN000; 
 0045  CD 21                 1		int	21h				;				;AN000; 
				    ASSUME  DS:NOTHING,cs:DG
 0047  3C FF			    CMP     AL,-1			   ;is this a good drive?
				;   $IF  Z
 0049  75 10			    JNZ $$IF3
				;;;;;;;;JNZ	DRVISOK 		   ;Bad drive (should always be ok)
 004B  8D 16 0000 E			LEA	DX,BADDRV_arg		   ;This should never happen		;AC000;
 004F  0E				push	cs
 0050  1F				pop	ds
 0051  E8 0000 E			call	PRINTf_crlf		       ;			       ;AC000;
 0054  36: C6 06 0000 E FF		mov	ExitStatus,Bad_Exit	;Get return code			;AC000;
 005A  C3				ret					;Go back to Main_Init		;AC000;
				;   $ENDIF
 005B				$$IF3:
 005B  2E: 8C 1E 002B R		    MOV     WORD PTR CS:[THISDPB+2],DS	    ;get the dpb segment
				    set_data_segment			    ;reset ds to the pgm
 0060  50                    1		push	ax 
 0061  B8 ---- R             1		mov	ax,dg				;Point to data segment 
 0064  8E D8                 1		mov	ds,ax				; 
 0066  1E                    1		push	ds 
 0067  07                    1		pop	es 
 0068  58                    1		pop	ax 
			     1		.LALL 
			     1		assume	ds:dg,es:dg 
 0069  89 1E 0029 R		    MOV     WORD PTR [THISDPB],BX	    ;get the dpb offset
				
				;**Set_Drive_Info*************************************************************
 006D				DRVISOK:
 006D  52			    push    dx
 006E  06			    push    es
 006F  E8 0000 E		    call    hook_interrupts
 0072  07			    pop     es
 0073  5A			    pop     dx
				; make this drive the default drive
 0074  FE CA			    DEC     DL				    ;A=0 b=1 c=2
				    DOS_Call	    Set_Default_Drive	    ;func 0e - no return	       ;AC000;
 0076  B4 0E                 1		mov	ah,Set_Default_Drive			;				;AN000; 
 0078  CD 21                 1		int	21h				;				;AN000; 
				
				;get the name of the current directory
 007A  FE C2			    INC     DL				    ;drive number a=1 b=2 c=3
 007C  8D 36 00F6 R		    LEA     SI,USERDIR+1		    ;				    ;AC000;
				    DOS_Call	    Current_Dir 	    ;				    ;AC000;
 0080  B4 47                 1		mov	ah,Current_Dir			;				;AN000; 
 0082  CD 21                 1		int	21h				;				;AN000; 
				;;;;PUSH    CS
				;;;;POP     ES
				
				;change the current directory to the root
 0084  8D 16 00A0 R		    lea     DX,rootstr			;					;an005;bgb
				    DOS_Call	    ChDir		    ;				    ;AC000;
 0088  B4 3B                 1		mov	ah,ChDir			;				;AN000; 
 008A  CD 21                 1		int	21h				;				;AN000; 
				;   $IF     C				;will this ever happen?
 008C  73 0C			    JNC $$IF5
				;;;;;;;;jnc	Root_CD_Ok			;				;AN000;
 008E  BA 0000 E			MOV	DX,OFFSET DG:BADCD_arg
 0091  E8 0000 E			call	display_interface		       ;			       ;AC000;
 0094  C6 06 0000 E FF			mov	ExitStatus,Bad_Exit	;Get return code		       ;AC000;
 0099  C3				ret					;Go back to Main_Init	       ;AC000;
				;   $ENDIF
 009A				$$IF5:
				
				;get the dpb info
 009A  C5 1E 0029 R		    LDS     BX,[THISDPB]		;ds:bx--> dpb area
				    ASSUME  DS:NOTHING
 009E  8B 47 02			    MOV     AX,[BX.dpb_sector_size]	;Bytes/sector
 00A1  36: A3 002F R		    MOV     [SSIZE],AX			;Sector size in bytes
 00A5  8A 47 04			    MOV     AL,[BX.dpb_cluster_mask]
 00A8  FE C0			    INC     AL
 00AA  36: A2 002E R		    MOV     [CSIZE],AL			;Sectors per cluster
 00AE  8B 47 0D			    MOV     AX,[BX.dpb_max_cluster]	; number of clusters in the disk
 00B1  36: A3 0033 R		    MOV     [MCLUS],AX			;Bound for FAT searching
 00B5  48			    DEC     AX			    ;ax= max clusters - 1			;an005;bgb
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-3
system call definitions                                     

 00B6  36: A3 0031 R		    MOV     [DSIZE],AX		    ;Total data clusters on disk		;an005;bgb
 00BA  3D 0FF8			    CMP     AX,4096-8			;Big or little FAT?
				;   $IF     NB
 00BD  72 1A			    JB $$IF7
 00BF  26: FE 06 00E9 R		fat16b: INC	es:[BIGFAT]		   ;set 16-bit fat flag to true
 00C4  26: C7 06 00EA R FFF8		MOV	es:[EOFVAL],0FFF8H	   ;set 16-bit compare fields for fat
 00CB  26: C7 06 00EC R FFFF		MOV	es:[CHAIN_END],0FFFFh		   ;Marker for end of chain	   ;AC000;
 00D2  26: C7 06 00EE R FFF7		MOV	es:[BADVAL],0FFF7H	   ;set 16-bit compare fields for fat
				;   $ENDIF
 00D9				$$IF7:
 00D9  8B 47 0F			    mov     ax,[bx.dpb_FAT_size]    ;Sectors for one fat (DCR)			;an005;bgb
 00DC  36: A3 001C R		    mov     fatsiz,ax		    ;Sectors for one fat (DCR)			;an005;bgb
 00E0  8A 4F 08			    MOV     CL,[BX.dpb_FAT_count]	   ;Number of FATs			;an005;bgb
 00E3  36: 88 0E 0020 R		    mov     fatcnt,cl								;an005;bgb
 00E8  8B 57 06			    MOV     DX,[BX.dpb_first_FAT]	   ;First sector of FAT 		;an005;bgb
 00EB  36: 89 16 000C R		    MOV     firstfat,dx 		   ;First sector of FAT 		;an005;bgb
 00F0  8B 57 0B			    MOV     DX,[BX.dpb_first_sector]	   ;First sector of data		;ac048;bgb
 00F3  36: 89 16 000E R		    MOV     firstsec,dx 		   ;First sector of data		;ac048;bgb
 00F8  8B 57 11			    MOV     DX,[BX.dpb_dir_sector]	 ;First sector of dir			;ac048;bgb
 00FB  36: 89 16 0010 R		    MOV     dirsec,dx			 ;First sector of dir			;ac048;bgb
 0100  8B 57 09			    MOV     DX,[BX.dpb_root_entries]	 ;First sector of dir			;ac048;bgb
 0103  36: 89 16 0012 R		    MOV     root_entries,dx			 ;First sector of dir		;ac048;bgb
				    set_data_segment			;reset ds to point to data area
 0108  50                    1		push	ax 
 0109  B8 ---- R             1		mov	ax,dg				;Point to data segment 
 010C  8E D8                 1		mov	ds,ax				; 
 010E  1E                    1		push	ds 
 010F  07                    1		pop	es 
 0110  58                    1		pop	ax 
			     1		.LALL 
			     1		assume	ds:dg,es:dg 
				
				;calc fatmap area
 0111				SMALLFAT:	    ;do this for both size fats
				    ;old calculation
				    ;;;;DEC	AX			;ax= max clusters - 1			    ;an005;bgb
				    ;;;;MOV	[DSIZE],AX		;Total data clusters on disk		    ;an005;bgb
				    ;;;;MOV	AX,[BX.dpb_FAT_size]	;Sectors for one fat (DCR)		    ;an005;bgb
				    ;;;;MOV	CX,AX			;CX = Sectors/Fat			    ;an005;bgb
				    ;;;;MUL	[SSIZE] 		;times bytes/sector = bytes per fat	    ;an005;bgb
				    ;;;;ADD	fatmap,AX	      ;Allocate FAT space			    ;an005;bgb
				    ;;;;MOV	AX,fatmap		 ;  get seg of fatmap			    ;an005;bgb
				
 0111				Root_CD_Ok:					 ;				;AN000;
				;set dta area----do i need to do this since we are using int 25?
				;set it to fat table
 0111  E8 0000 E		    call    calc_fatmap_seg	    ;find the addr of where to put the fat map	;an005;bgb
				;see if we still have enough memory
 0114  A1 0260 R		    mov     ax,mem_size 	     ;get top of memory
 0117  3B 06 004C R		    cmp     ax,end_of_fatmap	     ;mem_size must be greater or equal
				;   $IF     B			     ; if not, display error msg
 011B  73 09			    JNB $$IF9
 011D  BA 0000 E			MOV	DX,OFFSET DG:no_mem_arg
					invoke	printf_crlf
 0120  E8 0000 E             1		CALL    printf_crlf 
 0123  E9 01D3 R			jmp	alldone 	     ;finished with pgm
				;   $ENDIF
 0126				$$IF9:
 0126  1E			    push    ds				;save ds
 0127  8E 1E 0014 R		    mov     ds,fattbl_seg		;get seg
 012B  33 D2			    xor     dx,dx			;ds:dx--> dta area
				;;;;mov     fatmap,dx
				    DOS_Call	    Set_DMA		;function 1a			    ;AC000;
 012D  B4 1A                 1		mov	ah,Set_DMA			;				;AN000; 
 012F  CD 21                 1		int	21h				;				;AN000; 
 0131  1F			    pop     ds				;restore ds
				
				;look for volume entry in dir
 0132  8D 16 0000 R		    lea     DX,volid			    ;Look for VOL ID			;an005;bgb
				    DOS_Call	    Dir_Search_First	    ;function 11		    ;AC000;
 0136  B4 11                 1		mov	ah,Dir_Search_First			;				;AN000; 
 0138  CD 21                 1		int	21h				;				;AN000; 
 013A  3C 00			    CMP     AL,0			;did we find it?
				;   $IF     Z				;yes
 013C  75 03			    JNZ $$IF11
				;;;;;;;;JZ	NOTVOLID
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-4
system call definitions                                     

 013E  E8 0330 R			CALL	PRINTID 		;print volume name, date, time
				;   $ENDIF
 0141				$$IF11:
 0141				NOTVOLID:
 0141  E8 039E R		    call    get_serial_num		;print volume serial number		;an024;bgb
				;;;;call    hook_interrupts
				; calculate the place where we run out of ram space				;an005;bgb
				;;;;ADD     AX,[MCLUS]	    ;5000    ;fatmap seg + num of clusters?				
					      ;an005;bgb
				;;;;ADD     AX,2	    ;5002   ;Insurance					;an005;bgb
				;;;;MOV     [SECBUF],AX 	    ;Allocate fatmap space			;an005;bgb
 0144  B8 0000 E		    mov     ax, offset dg:chkprmt_end ;this label must be the last thing in the code segment
 0147  A3 004E R		    mov     [secbuf],AX 	    ;location of read/write buffer for dir entries ;an005;bgb
				;;;;ADD     AX,[SSIZE]	    ;5202						;an005;bgb
				;;;;ADD     AX,20	    ;5216   ;Insurance					;an005;bgb
 014A  B8 FFFF			    mov     ax,0ffffh	    ;get end of segment
 014D  8D 1E 0000 R		    lea     bx,fattbl	    ;get end of program
 0151  2B C3			    sub     ax,bx	    ;this is the amount of stack space we have
 0153  A3 0271 R		    MOV     [STACKLIM],AX	    ;Limit on recursion 			;an005;bgb
				; see if we have already overrun the stack
 0156  8B FC			    MOV     DI,SP		     ;where is the stack pointer now?		;an005;bgb
 0158  81 EF 0100		    SUB     DI,100H		    ; Want AT LEAST this much stack from	;an005;bgb
								       ;  our current location			;an005;bgb
 015C  3B F8			    CMP     DI,AX
				;   $IF     B
 015E  73 08			    JNB $$IF13
				;;;;;;;;JB	BAD_STACK		; Already in trouble
 0160				BAD_STACK:
 0160  BB 0000 E			MOV	BX,OFFSET DG:STACKMES	;Out of stack
 0163  0E				PUSH	CS
 0164  1F				POP	DS
 0165  E9 0000 E			JMP	FATAL
				;   $ENDIF
 0168				$$IF13:
				
				;
				;**Read in FAT*****************************************************************
				;;;;MOV     DI,fatsiz			;sectors per fat			;an005;bgb
				;;;;MOV     CL,[BX.dpb_FAT_count]	   ;Number of FATs
				;;;;MOV     DX,[BX.dpb_first_FAT]	   ;First sector of FAT
 0168  8B 0E 001C R		    mov     cx,fatsiz			;number of sectors to read		;an005;bgb
 016C  8B 16 000C R		    mov     dx,firstfat 		;starting sector number 		;an005;bgb
 0170  8E 06 0014 R		    mov     es,fattbl_seg   ;set up bx for read-disk				;an005;bgb
 0174  33 DB			    xor     bx,bx								;an005;bgb
 0176  A0 0033 R		    MOV     AL,[ALLDRV]     ;set up al with drive letter for read-disk
 0179  FE C8			    DEC     AL		    ;zero based
				;;;;MOV     AH,1
 017B				RDLOOP:
				;;;;XCHG    CX,DI			    ;DI has # of Fats
 017B  E8 0000 E		    call    readft		    ;	readft ();				;AN005;bgb
				;   $IF     C			    ; could the fat be read from disk?		;AN005;bgb
 017E  73 11			    JNC $$IF15
 0180  FE 06 00D3 R			inc	byte ptr [nul_arg]						;an005;bgb
				;;;;;;;;mov	[fatal_arg2],offset dg:baddrvm					;an005;bgb
 0184  C7 06 0000 E 0000 E		mov	[fatmsg2],offset dg:baddrvm				     ;an005;bgb
 018A  8D 1E 014B R			lea	BX,badread							;an022;bgb
 018E  E9 0000 E			JMP	FATAL			;Couldn't read any FAT, BARF            ;an005;bgb
				;   $ENDIF			    ;fat could be read from disk		;AN005;bgb
 0191				$$IF15:
				
				;   savereg <dx,cx,di,ax>							;an005;bgb
				;   mov     Read_Write_Relative.Start_Sector_High,0 ;			    ;AN000;
				;   call     Read_Disk		     ;Read in the FAT			     ;AC000;
				;   $IF      C
				;;;;;;;;JNC	RDOK
				;;;;;;;;mov	[badrw_str],offset dg:reading
				;	POP	AX			; Get fat# in ah
				;	PUSH	AX			; Back on stack
				;	xchg	al,ah			; Fat # to AL
				;	xor	ah,ah			; Make it a word
				;	mov	[badrw_num],ax
				;	mov	dx,offset dg:badr_arg
				;	invoke	printf_crlf
				;	restorereg <ax,cx,di,dx>						;an005;bgb
				;	INC	AH
				;	ADD	DX,DI
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-5
system call definitions                                     

				;	LOOP	RDLOOP			;Try next FAT
				;;;;;;;;JMP	NORETRY1		;Couldn't read either                   ;AC000;
 0191				NORETRY1:
				;	inc	byte ptr [nul_arg]
				;	mov	[fatal_arg2],offset dg:baddrvm
				;	MOV	BX,OFFSET DG:BADRDMES
				;	JMP	FATAL			;Couldn't read any FAT, BARF
				;   $ENDIF
 0191				RDOK:	;**Check_for_FAT_ID**********************************************
				;;;;restorereg <ax,ax,ax,ax>	    ;Clean up					;an005;bgb
 0191  8E 06 0014 R		    mov     es,fattbl_seg	     ;segment of fat-table			;an005;bgb
 0195  33 F6			    xor     si,si		     ;offset of first byte in fat-table 	;an005;bgb
				;;;;LODSB			    ;Check FAT ID byte
 0197  26: 8A 04		    mov     al,byte ptr es:[si]     ;get first byte of fat table
 019A  3C F8			    CMP     AL,0F8H		    ;is it the correct id byte?
				;   $IF     B,AND
 019C  73 0F			    JNB $$IF17
				;;;;;;;;JAE	IDOK
 019E  3C F0			    CMP     AL,0F0H		    ;if not, Is it a "strange" medium?
				;   $IF     NZ
 01A0  74 0B			    JZ $$IF17
				;;;;;;;;jz	IDOK		    ;neither fat nor strange
 01A2  BA 0000 E			MOV	DX,OFFSET DG:BADIDBYT	;FAT ID bad
 01A5  E8 0000 E			CALL	PROMPTYN		;Ask user to stop or not
				;	$IF	NZ
 01A8  74 03				JZ $$IF18
				;;;;;;;;;;;;JZ	    IDOK
 01AA  EB 27 90				    JMP     ALLDONE		    ;User said stop
				;	$ENDIF
 01AD				$$IF18:
				;   $ENDIF
 01AD				$$IF17:
				
				;initialize the fatmap area to all zeros
 01AD				IDOK:
 01AD  E8 0000 E		    call    init_fatmap
				
				;set the dta addr to here for all searches
 01B0  BA 0000 R		    MOV     DX,OFFSET DG:DIRBUF     ;FOR ALL SEARCHING
				    DOS_Call	    Set_DMA	    ;					    ;AC000;
 01B3  B4 1A                 1		mov	ah,Set_DMA			;				;AN000; 
 01B5  CD 21                 1		int	21h				;				;AN000; 
 01B7  33 C0			    XOR     AX,AX		    ;zero out ax
 01B9  50			    PUSH    AX			    ;I am root
 01BA  50			    PUSH    AX			    ;Parent is root
				;
				    set_data_segment
 01BB  50                    1		push	ax 
 01BC  B8 ---- R             1		mov	ax,dg				;Point to data segment 
 01BF  8E D8                 1		mov	ds,ax				; 
 01C1  1E                    1		push	ds 
 01C2  07                    1		pop	es 
 01C3  58                    1		pop	ax 
			     1		.LALL 
			     1		assume	ds:dg,es:dg 
 01C4				checkit:
 01C4  E8 0000 E		    CALL    DIRPROC
 01C7  E8 0000 E		    CALL    CHKMAP		    ;Look for badsectors, orphans
 01CA  E8 0000 E		    CALL    CHKCROSS		    ;Check for second pass
				    INVOKE  DOCRLF		     ;display new line
 01CD  E8 0000 E             1		CALL    DOCRLF 
 01D0  E8 0000 E		    CALL    REPORT		     ;finished, display data to screen
				
				;*****************************************************************************
 01D3				ALLDONE:
 01D3  E8 0000 E		    CALL    AMDONE
				;;;;;MOV     AH,EXIT
				;;;;;;;;XOR	AL,AL
				;;;;;; ;mov	ExitStatus,Bad_Exit	;Get return code			;AC000;
				;;;;;;;;INT	21H
 01D6  C3				ret				;Ret to Main_Init for common exit	;AN000;
				
				ASSUME	DS:DG
				;**Extent_Check***************************************************************
				Break	<Check for extents in specified files>
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-6
Check for extents in specified files                        

				;
				; Search the directory for the files specified on the command line and report
				; the number of fragmented allocation units found in each one.	We examine the
				; given path name for a directory.  If it is found, we CHDIR to it.  In any
				; event, we move to the file name part and do a parseFCB call to convert it
				; into an FCB for a dir_search_first.  If the parse did NOT advance the
				; pointer to the null byte terminating the string, then we have a bogus anme
				; and we should report it.
				;
				
 01D7				CHECKFILES:
					set_data_segment
 01D7  50                    1		push	ax 
 01D8  B8 ---- R             1		mov	ax,dg				;Point to data segment 
 01DB  8E D8                 1		mov	ds,ax				; 
 01DD  1E                    1		push	ds 
 01DE  07                    1		pop	es 
 01DF  58                    1		pop	ax 
			     1		.LALL 
			     1		assume	ds:dg,es:dg 
				; see if there is a '\' in the path name
 01E0  BF 0051 R			MOV	DI,OFFSET DG:PATH_NAME
 01E3  8B F7				MOV	SI,DI
 01E5  8B 0E 00D1 R			MOV	CX, FNAME_LEN		;					;an011;bgb
 01E9  03 F9				ADD	DI,CX			; ES:DI points to char AFTER last char
 01EB  4F				DEC	DI			; Point to last char
 01EC  A0 00A0 R		doagain: MOV	 AL,[DIRCHAR]		 ;try to find '\' in path name
 01EF  FD				STD
 01F0  F2/ AE				REPNE	SCASB
 01F2  FC				CLD
				;	$IF	Z			;a '\' was found in path		;an055;bgb
 01F3  75 0E				JNZ $$IF21
 01F5  8A 05				    mov     al,[di]		;get byte preceding '\' 		;an055;bgb
 01F7  E8 0000 E			    call    check_dbcs_character ;see if dbcs leading char		;an055;bgb
				;	    $IF     C			;carry means dbcs leading char		;an055;bgb
 01FA  73 04				    JNC $$IF22
 01FC  EB EE					jmp	doagain 	;so ignore				;an055;bgb
				;	    $ELSE								;an055;bgb
 01FE  EB 03				    JMP SHORT $$EN22
 0200				$$IF22:
 0200  EB 0F 90					jmp	GotPath 	;found a '\' and not dbcs		;an055;bgb
				;	    $ENDIF								;an055;bgb
 0203				$$EN22:
				;	$ENDIF									;an055;bgb
 0203				$$IF21:
				;;;;;;;;;;;;;;;;;;;;;JZ      GotPath		     ; found path char. 	;an055;bgb
				; No '\' was found.  set up pointers for parse FCB call.
 0203  BF 0051 R			MOV	DI,OFFSET DG:PATH_NAME
 0206  80 7D 01 3A			CMP	BYTE PTR [DI+1],':'  ;was a drive letter entered?
 020A  75 3B				JNZ	ParseName
 020C  83 C7 02				ADD	DI,2
 020F  EB 36				JMP	SHORT ParseName
				
				;*****************************************************************************
				; found a '\' in the path name
				;Change directories and set up the appropriate FCB
 0211				GotPath:
 0211  47				INC	DI			; DI points AT the path sep
 0212  FF 35				PUSH	WORD PTR [DI]		; Save two chars here
 0214  57				PUSH	DI			; Save location
 0215  2B F7				SUB	SI,DI
 0217  74 0D				JZ	IS_ROOT_DIR		; SI=DI=First char which is a dirchar
 0219  F7 DE				NEG	SI
 021B  83 FE 02				CMP	SI,2
 021E  75 07				JNZ	NOT_ROOT_DIR
 0220  80 7D FF 3A			CMP	BYTE PTR [DI-1],':'	; d:\ root spec?
 0224  75 01				JNZ	NOT_ROOT_DIR		; Nope
 0226				IS_ROOT_DIR:
 0226  47				INC	DI			; Don't zap the path sep, zap NEXT char
 0227				NOT_ROOT_DIR:
 0227  C6 05 00				MOV	BYTE PTR [DI],0
 022A  BA 0051 R			MOV	DX,OFFSET DG:PATH_NAME
					DOS_Call	Chdir		;					;AC000;
 022D  B4 3B                 1		mov	ah,Chdir			;				;AN000; 
 022F  CD 21                 1		int	21h				;				;AN000; 
 0231  5F				POP	DI			; Recall loc
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-7
Check for extents in specified files                        

 0232  8F 05				POP	WORD PTR [DI]		; recall chars
 0234  73 0C				JNC	VALID_PATH
					INVOKE	DOCRLF
 0236  E8 0000 E             1		CALL    DOCRLF 
 0239  BA 0000 E			MOV	DX,OFFSET DG:INVPATH_arg
					invoke	printf_crlf
 023C  E8 0000 E             1		CALL    printf_crlf 
 023F  E9 0306 R			JMP	CDONE1
				
				;*****************************************************************************
 0242				VALID_PATH:
 0242  FE 06 00C2 R			INC	[DIR_FIX]
 0246  47				INC	DI		; Point past path sep to first char of name
 0247				ParseName:
				; parse the filename and get back a formatted fcb for it in es:di
 0247  8B F7				MOV	SI,DI		      ; DS:SI points to name
 0249  BF 007D R			MOV	DI,offset dg:FCB_copy ; ES:DI points to FCB
 024C  A0 0033 R			MOV	AL,ALLDRV	      ; drive number
 024F  AA				STOSB			      ; put it into fcb
 0250  4F				DEC	DI		      ; Back to start of FCB
 0251  89 36 009D R			MOV	pFileName,SI	      ; save end of file name
 0255  B0 02				MOV	AL,00000010B	      ; tell parse to change drive letter if needed
					DOS_Call	Parse_File_Descriptor	;				;AC000;
 0257  B4 29                 1		mov	ah,Parse_File_Descriptor			;				;AN0
				00; 
 0259  CD 21                 1		int	21h				;				;AN000; 
 025B  80 3C 00				CMP	BYTE PTR [SI],0       ;ds:si should point past filename
 025E  74 04				JZ	ScanFile
				;
				; Twiddle the file name to be truly bogus.  Zorch the drive letter
				;
 0260  26: C6 05 FF			MOV	BYTE PTR es:[DI],-1
 0264				ScanFile:
					INVOKE	DOCRLF
 0264  E8 0000 E             1		CALL    DOCRLF 
				;set dma pointer to here
 0267  BA 0000 R			MOV	DX,OFFSET DG:DIRBUF	;FOR ALL SEARCHING
 026A  8B EA				MOV	BP,DX
 026C  83 C5 1B				ADD	BP,27			;bp points to clus in the dir entry
					DOS_Call	Set_DMA 	;set dma ptr here for dir search	 ;AC000;
 026F  B4 1A                 1		mov	ah,Set_DMA			;				;AN000; 
 0271  CD 21                 1		int	21h				;				;AN000; 
				;try to find the file specified
 0273  B4 11				MOV	AH,DIR_SEARCH_FIRST		 ;Look for the first file
 0275				FRAGCHK:
 0275  BA 007D R			MOV	DX,offset dg:FCB_copy
 0278  CD 21				INT	21H
 027A  0A C0				OR	AL,AL			;Did we find it?
 027C  75 59				JNZ	MSGCHK			;No -- we're done
				; we found the file
				; look for fragmentation
 027E  33 C0				XOR	AX,AX			;Initialize the fragment counter
 0280  8B 76 00				MOV	SI,[BP] 		;Get the first cluster		     ;an005;bgb
 0283  E8 0000 E			CALL	UNPACK			;see what that cluster points to
 0286  3B 3E 00EA R			CMP	DI,[EOFVAL]		;End-of-file?
 028A  73 24				JAE	NXTCHK			;Yes -- go report the results
 028C  46				INC	SI
 028D  3B F7				CMP	SI,DI
 028F  74 01				JZ	EACHCLUS
 0291  40				INC	AX
 0292				EACHCLUS:
 0292  89 3E 0046 R			MOV	[OLDCLUS],DI		;Save the last cluster found
 0296  8B F7				MOV	SI,DI			;Get the next cluster
 0298  E8 0000 E			CALL	UNPACK
 029B  FF 06 0046 R			INC	[OLDCLUS]		;Bump the old cluster
 029F  3B 3E 0046 R			CMP	DI,[OLDCLUS]		;Are they the same?
 02A3  75 02				JNZ	LASTCLUS		;No -- check for end-of-file
 02A5  EB EB				JMP	SHORT EACHCLUS		;Continue processing
 02A7				LASTCLUS:
 02A7  3B 3E 00EA R			CMP	DI,[EOFVAL]		;End-of-file?
 02AB  73 03				JAE	NXTCHK			;Yes -- go report the results
 02AD  40				INC	AX			;No -- found a fragement
 02AE  EB E2				JMP	SHORT EACHCLUS		;Continue processing
 02B0				NXTCHK: 	      ;reached the end of a file
 02B0  0B C0				OR	AX,AX			;did we find any fragmentation?
 02B2  74 1F				JZ	GETNXT
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-8
Check for extents in specified files                        

				;we found fragmentation
 02B4  C6 06 00C1 R 02			MOV	[FRAGMENT],2		;Signal that we output at least one file
 02B9  40				inc	ax			;bump by one for ends
 02BA  A3 0000 E			mov	[block_num],ax
 02BD  A3 0000 E			mov	word ptr rarg1,ax		 ;					 ;an011;bgb
 02C0  C7 06 0002 E 0000		mov	word ptr rarg1+2,0
 02C6  BE 0000 R			mov	si,offset dg:dirbuf	;point to filename			;an011;bgb
 02C9  46				INC	SI			;move pointer past drive letter
				; get the full path name for this file
 02CA  E8 0000 E			CALL	get_THISEL2
				; print it out
 02CD  BA 0000 E			mov	dx,offset dg:extent_arg
					invoke	printf_crlf
 02D0  E8 0000 E             1		CALL    printf_crlf 
 02D3				GETNXT:
 02D3  B4 12				MOV	AH,DIR_SEARCH_NEXT	    ;Look for the next file
 02D5  EB 9E				JMP	FRAGCHK
 02D7				MSGCHK:
 02D7  80 FC 11				CMP	AH,DIR_SEARCH_FIRST	;was this the first file searched for?
 02DA  75 0F				JNZ	FILSPOK
				;	MOV	SI,offset dg:FCB_copy + 1   ;File not found error
				;	CALL	get_THISEL2
 02DC  8B 36 009D R			MOV	SI,pFileName
 02E0  E8 0000 E			CALL	get_currdir
 02E3  BA 0000 E			mov	dx,offset dg:OPNERR_arg
					invoke	printf_crlf		    ;bad file spec
 02E6  E8 0000 E             1		CALL    printf_crlf 
 02E9  EB 0D				jmp	short cdone
 02EB				FILSPOK:
 02EB  80 3E 00C1 R 02			CMP	BYTE PTR [FRAGMENT],2
 02F0  74 06				JZ	CDONE
				; all files were ok
 02F2  BA 0000 E			mov	dx,offset dg:NOEXT_arg
					invoke	printf_crlf
 02F5  E8 0000 E             1		CALL    printf_crlf 
 02F8				CDONE:
 02F8  80 3E 00C2 R 00			CMP	BYTE PTR [DIR_FIX],0
 02FD  74 07				JZ	CDONE1
 02FF  BA 00F5 R			MOV	DX,OFFSET DG:USERDIR
					DOS_Call	ChDir			;				;AC000;
 0302  B4 3B                 1		mov	ah,ChDir			;				;AN000; 
 0304  CD 21                 1		int	21h				;				;AN000; 
 0306				CDONE1:
 0306  C3				RET
				
				
				
				; This is the old parameter passing scheme					;ac048;bgb
				; inputs: AH - the sector number within the cluster				;ac048;bgb
				;	  BX - cluster number							;ac048;bgb
				; output: DX - absolute sector number						;ac048;bgb
				;*****************************************************************************	;ac048;bgb
				; FIGREC - This procedure calculates the absolute sector number of a logical	;ac048;bgb
				;	   drive, given any cluster number and the sector within that cluster.	;ac048;bgb
				;	   You can use this to find the sector number for a file.		;ac048;bgb
				;										;ac048;bgb
				;	   This procedure was entirely re-written for dos 4.0, since the	;ac048;bgb
				;	   sector number can now be a DOUBLE word value.			;ac048;bgb
				;										;ac048;bgb
				; called by: getent in chkproc							;ac048;bgb
				;										;ac048;bgb
				; inputs: BX - cluster number							;ac048;bgb
				;	  AH - sector number within cluster					;ac048;bgb
				;	  csize - sectors per cluster (from dpb)				;ac048;bgb
				;	  firstsec - starting sector number of the data area (from dpb) 	;ac048;bgb
				;										;ac048;bgb
				;outputs: DX - absolute sector number (low order)				;ac048;bgb
				;	  INT26.start_sector_high     (hi  order)				;ac048;bgb
				;										;ac048;bgb
				;regs changed: DX only								;ac048;bgb
				;										;ac048;bgb
				;formula: cluster (3-fff7) * secs/cluster (1-8) = (3-7ffb8)			;ac048;bgb
				;	  + sector-offset (0-8) + first-sector (1-ffff) = (7ffb9-8ffbf) 	;ac048;bgb
				;										;ac048;bgb
				; logic: 1. adjust the cluster number, since the 1st two clusters in the fat	;ac048;bgb
				;	    are not used. cluster number can be from 3-fff7.			;ac048;bgb
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-9
Check for extents in specified files                        

				;	 2. get the sectors-per-cluster, and multiply it times cluster number	;ac048;bgb
				;	    in AX.  since this is a word multiply, the high order number goes	;ac048;bgb
				;	    into DX.								;ac048;bgb
				;	 3. add in the sector-number-within-the-cluster.  Each cluster		;ac048;bgb
				;	    (usually) contains several sectors within a cluster.  This sector	;ac048;bgb
				;	    number is that number.  It may be from zero to the max number of	;ac048;bgb
				;	    sectors/cluster (which can be up to 8 so far on IBM systems).	;ac048;bgb
				;	    Do an ADC in case there is a overflow of the word register. 	;ac048;bgb
				;	 4. add in the starting cluster number of the data area.  This now	;ac048;bgb
				;	    gives you the logical sector number within that drive.		;ac048;bgb
				;*****************************************************************************	;ac048;bgb
				procedure figrec,NEAR								;ac048;bgb
 0307                        1	figrec    proc				;				;AN000; 
 0307  50				push	ax		   ;save registers				;ac048;bgb
 0308  53				push	bx		   ;save registers				;ac048;bgb
 0309  51				push	cx		   ;save registers				;ac048;bgb
														;ac048;bgb
 030A  32 ED				xor	ch,ch		 ;clear out hi byte of sector-offset		;ac048;bgb
 030C  8A CC				mov	cl,ah		 ;move sector-offset into cx			;ac048;bgb
 030E  8B C3				mov	ax,bx		   ;move cluster number into ax for mult	;ac048;bgb
														;ac048;bgb
 0310  32 FF				xor	bh,bh		   ;zero out bh 				;ac048;bgb
 0312  8A 1E 002E R			mov	bl,csize	   ;get sectors per cluster			;ac048;bgb
 0316  48				dec	ax		   ; sub 2 for the 1st 2 unused clus in the fat ;ac048;bgb
 0317  48				dec	ax			;					;ac048;bgb
 0318  F7 E3				mul	bx		   ;ax=low word, dx=hi word			;ac048;bgb
														;ac048;bgb
 031A  03 C1				add	ax,cx		   ;add sector offset				;ac048;bgb
 031C  83 D2 00				adc	dx,0		   ;inc hi word if overflow			;ac048;bgb
 031F  03 06 000E R			add	ax,[firstsec]	   ;add first data sector			;ac048;bgb
 0323  83 D2 00				adc	dx,0		   ;inc hi word if overflow			;ac048;bgb
														;ac048;bgb
 0326  89 16 0269 R			mov	Read_Write_Relative.Start_Sector_High,dx ;save hi value 	;ac048;bgb
 032A  8B D0				mov	dx,ax		 ;convert to old format- dx=low 		;ac048;bgb
														;ac048;bgb
 032C  59				pop	cx								;ac048;bgb
 032D  5B				pop	bx								;ac048;bgb
 032E  58				pop	ax								;ac048;bgb
 032F  C3				RET									;ac048;bgb
				endproc figrec									;ac048;bgb
 0330                        1	figrec    ENDP 
				
				
				;*****************************************************************************
				SUBTTL	PRINTID - Print Volume ID info
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-10
PRINTID - Print Volume ID info                              

				PAGE
 0330				PRINTID:
				ASSUME	DS:DG
 0330  E8 0000 E			call	docrlf				;				;AN000;
				;get volume name								;an012;bgb
 0333  33 F6				xor	si,si			;Point at DTA where find first just done;;an005;bgb
 0335  8D 3E 00DA R			lea	DI,arg_buf		;Where to put vol name for message	;AC000;
 0339  83 C6 08				add	si,DirNam		;Point at the vol label name		;AN000;
				;;;;;;;;lea	DI,arg_buf		;Point at vol label location in arg_Buf ;AC000;
 033C  B9 000B				MOV	CX,11			; Pack the name
 033F  1E				push	ds								;an005;bgb
 0340  8E 1E 0014 R			mov	ds,fattbl_seg							;an005;bgb
 0344  F3/ A4				REP	MOVSB			; Move all of it
				;get the year									;an012;bgb
 0346  33 F6				xor	si,si			;Get back pointer to FCB		;an009;bgb
 0348  8B 44 20				mov	ax,ds:[si].DirDat	   ;yyyyyyym mmmddddd Put in SysDisp form  ;AN009;bgb
 034B  25 FE00				and	ax,Year_Mask		;yyyyyyy0 00000000			;AN000;
 034E  D1 E8				shr	ax,1			;0yyyyyyy 00000000			;AN000;
 0350  86 C4				xchg	al,ah			;00000000 0yyyyyyy			;AN000;
 0352  05 07BC				add	ax,1980 		;					;AN000;
 0355  26: A3 000D E			mov	es:Sublist_msg_Idmes.Sublist_Offset+(size Sublist_Struc),ax ;	   ;AN009;bgb
				;get the month									;an012;bgb
 0359  8B 44 20				mov	ax,ds:[si].DirDat	   ;yyyyyyym mmmddddd			   ;AN009;bgb
 035C  25 01E0				and	ax,Month_Mask		;0000000m mmm00000			;AN000;
 035F  B1 05				mov	cl,5			;					;AN000;
 0361  D3 E8				shr	ax,cl			;00000000 0000mmmm			;AN000;
 0363  8A C8				mov	cl,al			;0000mmmm				;AN000;
				;get the day									;an012;bgb
 0365  8B 44 20				mov	ax,ds:[si].DirDat	   ;yyyyyyym mmmddddd			   ;AN009;bgb
 0368  25 001F				and	ax,Day_Mask		;00000000 000ddddd			;AN000;
 036B  8A E1				mov	ah,cl			;0000mmmm 000ddddd			;AN000;
 036D  86 E0				xchg	ah,al			;make it display correctly		;an012;bgb
 036F  26: A3 000F E			mov	es:Sublist_msg_Idmes.Sublist_Segment+(size Sublist_Struc),ax ;	   ;AN009;bgb
				;get the time									;an012;bgb
 0373  8B 44 1E				mov	ax,ds:[si].DirTim	   ;hhhhhmmm mmmsssss			   ;AN009;bgb
 0376  25 F800				and	ax,Hour_Mask		;hhhhh000 00000000			;AN000;
 0379  B1 0B				mov	cl,11			;					;AN000;
 037B  D3 E8				shr	ax,cl			;00000000 000hhhhh			;AN000;
 037D  8A E8				mov	ch,al			;000hhhhh				;AN000;
 037F  8B 44 1E				mov	ax,ds:[si].DirTim	   ;hhhhhmmm mmmsssss			   ;AN009;bgb
 0382  25 07E0				and	ax,Minute_Mask		;00000mmm mmm00000			;AN000;
 0385  B1 03				mov	cl,3			;					;AN000;
 0387  D3 E0				shl	ax,cl			;00mmmmmm 00000000		       ;AN000;
 0389  8A C5				mov	al,ch			;00mmmmmm 000hhhhh			;AN000;
 038B  26: A3 0018 E			mov	es:Sublist_msg_Idmes.Sublist_Offset+(size Sublist_Struc)+(size Sublist_Struc),ax ;AN
				009;bgb
 038F  26: C7 06 001A E 0000		mov	es:Sublist_msg_Idmes.Sublist_Segment+(size Sublist_Struc)+(size Sublist_Struc),0 ;AN
				009;bgb
 0396  1F				pop	ds								;an009;bgb
					Message Idmes_Arg		; the parts out as needed		;AC000'
 0397  BA 0000 E             1		mov	dx,offset dg:Idmes_Arg	;				;AN000; 
 039A  E8 0000 E             1		call	Display_Interface		;				;AN000; 
				;;;;;;;;call	doCRLF
 039D  C3				ret				;
				
				
				
				
				;*****************************************************************************	;an024;bgb
				; Get the volume serial number							;an024;bgb
				;*****************************************************************************	;an024;bgb
				; Input:  FCB_Drive								;an024;bgb
				; Output: SerNum if no carry							;an024;bgb
				; Notes:  Only DOS Version 3.4 and above will contain serial numbers		;an024;bgb
				;*****************************************************************************	;an024;bgb
				   PUBLIC GET_SERIAL_NUM							;an024;bgb
				procedure Get_Serial_Num,NEAR		;AN000;S				     ;an024;bgb
 039E                        1	Get_Serial_Num    proc				;				;AN000; 
 039E  B0 0D			   mov	al,GENERIC_IOCTL	   ;AN000;S					;an041;bgb;an024;bgb
 03A0  33 DB			   xor	bx,bx			   ;zero out bx 				;an041;bgb;an024;bgb
 03A2  8A 1E 0033 R		   mov	bl,alldrv		   ;AN000;S Which drive to check		;an024;bgb
 03A6  B5 08			   mov	ch,rawio		   ;8 = disk io 				;an041;bgb;an024;bgb
 03A8  B1 66			   mov	cl,Get_Media_Id 	   ;66h = get media id				;an041;bgb;an024;bgb
 03AA  8D 16 0293 R		   LEA	dx,SerNumBuf		   ;AN000;S Pt to the buffer			;an024;bgb
				   Dos_call ioctl		   ;AN000;S Make the call			;an041;bgb;an024;bgb
 03AE  B4 44                 1		mov	ah,ioctl			;				;AN000; 
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Page     1-11
PRINTID - Print Volume ID info                              

 03B0  CD 21                 1		int	21h				;				;AN000; 
				;  $IF	NC
 03B2  72 06			   JC $$IF26
				       message	msgserialnumber 						    ;an024;bgb
 03B4  BA 0000 E             1		mov	dx,offset dg:msgserialnumber	;				;AN000; 
 03B7  E8 0000 E             1		call	Display_Interface		;				;AN000; 
				;  $ENDIF
 03BA				$$IF26:
 03BA  C3			   ret				   ;AN000;S					;an024;bgb
				endproc Get_Serial_Num			   ;AN000;S					;an024;bgb
 03BB                        1	Get_Serial_Num    ENDP 
					pathlabl chkdsk1							;an024;bgb
 03BB				CODE	ENDS
					END	CHKDSK

Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-1


Macros:

		N a m e			Lines

ARGVAR . . . . . . . . . . . . .  	  23
ASMVAR . . . . . . . . . . . . .  	   3
ASMVARS  . . . . . . . . . . . .  	   3
ASSERT . . . . . . . . . . . . .  	   0
CALLINSTALL  . . . . . . . . . .  	  12
DOSASSUME  . . . . . . . . . . .  	   3
DOS_CALL . . . . . . . . . . . .  	   4
ENTER  . . . . . . . . . . . . .  	   3
ENTERCRIT  . . . . . . . . . . .  	   1
ERRNZ  . . . . . . . . . . . . .  	   4
EXTENDED_MESSAGE . . . . . . . .  	   8
FMT  . . . . . . . . . . . . . .  	   0
LEAVE  . . . . . . . . . . . . .  	   2
LEAVECRIT  . . . . . . . . . . .  	   1
LOCALVAR . . . . . . . . . . . .  	  23
MESSAGE  . . . . . . . . . . . .  	   4
PARSE_MESSAGE  . . . . . . . . .  	   8
PATHLABL . . . . . . . . . . . .  	  10
POPFF  . . . . . . . . . . . . .  	   6
SET_DATA_SEGMENT . . . . . . . .  	   9

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
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
A_DEVICEPARAMETERS . . . . . . .  	0026	0012
  SPECIALFUNCTIONS . . . . . . .  	0000
  DEVICETYPE . . . . . . . . . .  	0001
  DEVICEATTRIBUTES . . . . . . .  	0002
  NUMBEROFCYLINDERS  . . . . . .  	0004
  MEDIATYPE  . . . . . . . . . .  	0006
  BYTEPERSECTOR  . . . . . . . .  	0007
  SECTORSPERCLUSTER  . . . . . .  	0009
  RESERVEDSECTORS  . . . . . . .  	000A
  NUMBEROFFATS . . . . . . . . .  	000C
  ROOTENTRIES  . . . . . . . . .  	000D
  TOTALSECTORS . . . . . . . . .  	000F
  MEDIADESCRIPTOR  . . . . . . .  	0011
  SECTORSPERFAT  . . . . . . . .  	0012
  SECTORSPERTRACK  . . . . . . .  	0014
  HEADS  . . . . . . . . . . . .  	0016
  HIDDENSECTORS  . . . . . . . .  	0018
  EXT_TOTAL_SECTORS  . . . . . .  	001C
  RESERVEDAREA . . . . . . . . .  	0020
A_DISKACCESS_CONTROL . . . . . .  	0002	0002
  DAC_SPECIALFUNCTIONS . . . . .  	0000
  DAC_ACCESS_FLAG  . . . . . . .  	0001
A_FORMATPACKET . . . . . . . . .  	0007	0004
  FP_SPECIALFUNCTIONS  . . . . .  	0000
  FP_HEAD  . . . . . . . . . . .  	0001
  FP_CYLINDER  . . . . . . . . .  	0003
  FP_TRACKCOUNT  . . . . . . . .  	0005
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-2


A_MEDIA_ID_INFO  . . . . . . . .  	0019	0004
  MI_LEVEL . . . . . . . . . . .  	0000
  MI_SERIAL  . . . . . . . . . .  	0002
  MI_LABEL . . . . . . . . . . .  	0006
  MI_SYSTEM  . . . . . . . . . .  	0011
A_RETRYCOUNT . . . . . . . . . .  	0002	0001
  RC_COUNT . . . . . . . . . . .  	0000
A_SECTORTABLE  . . . . . . . . .  	0004	0002
  ST_SECTORNUMBER  . . . . . . .  	0000
  ST_SECTORSIZE  . . . . . . . .  	0002
A_TRACKREADWRITEPACKET . . . . .  	000D	0006
  TRWP_SPECIALFUNCTIONS  . . . .  	0000
  TRWP_HEAD  . . . . . . . . . .  	0001
  TRWP_CYLINDER  . . . . . . . .  	0003
  TRWP_FIRSTSECTOR . . . . . . .  	0005
  TRWP_SECTORSTOREADWRITE  . . .  	0007
  TRWP_TRANSFERADDRESS . . . . .  	0009
A_VERIFYPACKET . . . . . . . . .  	0005	0003
  VP_SPECIALFUNCTIONS  . . . . .  	0000
  VP_HEAD  . . . . . . . . . . .  	0001
  VP_CYLINDER  . . . . . . . . .  	0003
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
  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
DIRENT . . . . . . . . . . . . .  	0028	000C
  DIRNAM . . . . . . . . . . . .  	0008
  DIRATT . . . . . . . . . . . .  	0013
  DIRCP  . . . . . . . . . . . .  	0014
  DIR_XA . . . . . . . . . . . .  	0016
  DIRATT2  . . . . . . . . . . .  	0018
  DIRRES . . . . . . . . . . . .  	0019
  DIRTIM . . . . . . . . . . . .  	001E
  DIRDAT . . . . . . . . . . . .  	0020
  DIRCLUS  . . . . . . . . . . .  	0022
  DIRESIZ  . . . . . . . . . . .  	0024
DIR_ENTRY  . . . . . . . . . . .  	0020	000B
  DIR_NAME . . . . . . . . . . .  	0000
  DIR_ATTR . . . . . . . . . . .  	000B
  DIR_CODEPG . . . . . . . . . .  	000C
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-3


  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
  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
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-4


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
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
RELATIVE_SECTOR_BUFFER . . . . .  	000A	0005
  START_SECTOR_LOW . . . . . . .  	0000
  START_SECTOR_HIGH  . . . . . .  	0002
  NUMBER_SECTORS . . . . . . . .  	0004
  BUFFER_OFFSET  . . . . . . . .  	0006
  BUFFER_SEGMENT . . . . . . . .  	0008
SF . . . . . . . . . . . . . . .  	0008	0003
  SFLINK . . . . . . . . . . . .  	0000
  SFCOUNT  . . . . . . . . . . .  	0004
  SFTABLE  . . . . . . . . . . .  	0006
SF_ENTRY . . . . . . . . . . . .  	003B	0014
  SF_REF_COUNT . . . . . . . . .  	0000
  SF_MODE  . . . . . . . . . . .  	0002
  SF_ATTR  . . . . . . . . . . .  	0004
  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
SUBLIST_STRUC  . . . . . . . . .  	000B	0009
  SUBLIST_SIZE . . . . . . . . .  	0000
  SUBLIST_RSV  . . . . . . . . .  	0001
  SUBLIST_OFFSET . . . . . . . .  	0002
  SUBLIST_SEGMENT  . . . . . . .  	0004
  SUBLIST_NUMBER . . . . . . . .  	0006
  SUBLIST_TYPE . . . . . . . . .  	0007
  SUBLIST_MAX  . . . . . . . . .  	0008
  SUBLIST_MIN  . . . . . . . . .  	0009
  SUBLIST_CHAR . . . . . . . . .  	000A
SYMBOL_ENTRY . . . . . . . . . .  	0106	0004
  SYM_VALUE  . . . . . . . . . .  	0000
  SYM_TYPE . . . . . . . . . . .  	0004
  SYM_LEN  . . . . . . . . . . .  	0006
  SYM_NAME . . . . . . . . . . .  	0007
SYSINITVARS  . . . . . . . . . .  	0047	0018
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-5


  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
XAL  . . . . . . . . . . . . . .  	0200	0005
  XAL_TSIZE  . . . . . . . . . .  	0000
  XAL_TCOUNT . . . . . . . . . .  	0002
  XAL_LSIZE  . . . . . . . . . .  	0004
  XAL_LCOUNT . . . . . . . . . .  	0006
  XAL_DATA . . . . . . . . . . .  	0008

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

DG . . . . . . . . . . . . . . .  	GROUP
  DATA . . . . . . . . . . . . .  	02AC	PARA	PUBLIC	'DATA'
  CONST  . . . . . . . . . . . .  	0168	PARA	PUBLIC	'DATA'
  CODE . . . . . . . . . . . . .  	03BB	PARA	PUBLIC	'CODE'
  CSTACK . . . . . . . . . . . .  	0000	PARA	STACK	'STACK'
  LASTSEG  . . . . . . . . . . .  	0001	PARA	PUBLIC	'LAST'
PSP  . . . . . . . . . . . . . .  	0000	PARA	PUBLIC	'DUMMY'
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-6


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	
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	
ALLDONE  . . . . . . . . . . . .  	L NEAR	01D3	CODE	Global
ALLDRV . . . . . . . . . . . . .  	L BYTE	0033	CONST	Global
ALLFILE  . . . . . . . . . . . .  	L BYTE	002C	CONST	Global
ALLOC  . . . . . . . . . . . . .  	NUMBER	0048	
ALLOCOPER  . . . . . . . . . . .  	NUMBER	0058	
ALLOWED_FAIL . . . . . . . . . .  	NUMBER	0008	
ALLOWED_IGNORE . . . . . . . . .  	NUMBER	0020	
ALLOWED_RETRY  . . . . . . . . .  	NUMBER	0010	
ALTVECT  . . . . . . . . . . . .  	ALIAS	 FALSE		
ALT_EXPECTED_VERSION . . . . . .  	NUMBER	1A05	
ALT_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
ALT_MINOR_VERSION  . . . . . . .  	NUMBER	001A	
AMDONE . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
APPEND_OFF . . . . . . . . . . .  	NUMBER	0000	
APPEND_ON  . . . . . . . . . . .  	NUMBER	0001	
APPEND_X . . . . . . . . . . . .  	NUMBER	B706	
APPEND_X_SET . . . . . . . . . .  	NUMBER	0001	
ARENA_OWNER_SYSTEM . . . . . . .  	NUMBER	0000	
ARENA_SIGNATURE_END  . . . . . .  	NUMBER	005A	
ARENA_SIGNATURE_NORMAL . . . . .  	NUMBER	004D	
ARG1 . . . . . . . . . . . . . .  	L WORD	00D4	DATA	Global
ARG2 . . . . . . . . . . . . . .  	L WORD	00D6	DATA
ARG3 . . . . . . . . . . . . . .  	L WORD	00D8	DATA
ARG_BUF  . . . . . . . . . . . .  	L BYTE	00DA	DATA	Global	Length = 0100
ASCIIZ_END . . . . . . . . . . .  	NUMBER	0000	
ASSIGNOPER . . . . . . . . . . .  	NUMBER	005F	
ASSIGN_CHECK . . . . . . . . . .  	NUMBER	8000	
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	

BADCD_ARG  . . . . . . . . . . .  	V WORD	0000	CONST	External
BADDRVM  . . . . . . . . . . . .  	V BYTE	0000	CONST	External
BADDRV_ARG . . . . . . . . . . .  	V WORD	0000	CONST	External
BADIDBYT . . . . . . . . . . . .  	V BYTE	0000	CONST	External
BADRDMES . . . . . . . . . . . .  	V BYTE	0000	CONST	External
BADREAD  . . . . . . . . . . . .  	L BYTE	014B	CONST
badrw_num  . . . . . . . . . . .  	V WORD	0000	CONST	External
BADRW_STR  . . . . . . . . . . .  	V WORD	0000	CONST	External
Badr_Arg . . . . . . . . . . . .  	V BYTE	0000	CONST	External
BADSIZ . . . . . . . . . . . . .  	L WORD	00D6	CONST	Global
BADSPC . . . . . . . . . . . . .  	V WORD	0000	CONST	External
BADSUBDIR  . . . . . . . . . . .  	V BYTE	0000	CONST	External
BADSW_ARG  . . . . . . . . . . .  	V WORD	0000	CONST	External
BADVAL . . . . . . . . . . . . .  	L WORD	00EE	CONST	Global
BADVER . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
BAD_EXIT . . . . . . . . . . . .  	NUMBER	00FF	
BAD_STACK  . . . . . . . . . . .  	L NEAR	0160	CODE	Global
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-7


BIGFAT . . . . . . . . . . . . .  	L BYTE	00E9	CONST	Global
BIG_FAT_THRESHOLD  . . . . . . .  	NUMBER	0FF6	
BLANK  . . . . . . . . . . . . .  	NUMBER	0020	
BLOCK_NUM  . . . . . . . . . . .  	V WORD	0000	CONST	External
BPBINPASS1 . . . . . . . . . . .  	NUMBER	0000	
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	
BUILD_DEVICE_BPB . . . . . . . .  	NUMBER	0001	

calc_fatmap_seg  . . . . . . . .  	L NEAR	0000	CODE	External
CARGS  . . . . . . . . . . . . .  	NUMBER	0000	
CDONE  . . . . . . . . . . . . .  	L NEAR	02F8	CODE	Global
CDONE1 . . . . . . . . . . . . .  	L NEAR	0306	CODE	Global
CHAIN_END  . . . . . . . . . . .  	L WORD	00EC	CONST	Global
CHAR_OPER  . . . . . . . . . . .  	NUMBER	0037	
CHDIR  . . . . . . . . . . . . .  	NUMBER	003B	
CHECKERR . . . . . . . . . . . .  	L NEAR	0000	CODE	External
CHECKFILES . . . . . . . . . . .  	L NEAR	01D7	CODE	Global
checkit  . . . . . . . . . . . .  	L NEAR	01C4	CODE	Global
CHECK_DBCS_CHARACTER . . . . . .  	L NEAR	0000	CODE	External
CHKCROSS . . . . . . . . . . . .  	L NEAR	0000	CODE	External
CHKDSK . . . . . . . . . . . . .  	L NEAR	0000	CODE
CHKMAP . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
CHKPRMT_END  . . . . . . . . . .  	L NEAR	0000	CODE	External
CHK_ERROR  . . . . . . . . . . .  	NUMBER	0001	
CHMOD  . . . . . . . . . . . . .  	NUMBER	0043	
CLOSE  . . . . . . . . . . . . .  	NUMBER	003E	
COMMIT . . . . . . . . . . . . .  	NUMBER	0068	
conbuf . . . . . . . . . . . . .  	L BYTE	0139	CONST	Global
CONTCH . . . . . . . . . . . . .  	L DWORD	0025	DATA	Global
CREAT  . . . . . . . . . . . . .  	NUMBER	003C	
CREATENEWFILE  . . . . . . . . .  	NUMBER	005B	
CREATETEMPFILE . . . . . . . . .  	NUMBER	005A	
CREATE_PROCESS_DATA_BLOCK  . . .  	NUMBER	0026	
CRITASSIGN . . . . . . . . . . .  	NUMBER	0008	
CRITDEVICE . . . . . . . . . . .  	NUMBER	0002	
CRITDISK . . . . . . . . . . . .  	NUMBER	0001	
CRITICAL_ERROR_FAIL  . . . . . .  	NUMBER	0003	
CRITIFS  . . . . . . . . . . . .  	NUMBER	0006	
CRITMEM  . . . . . . . . . . . .  	NUMBER	0001	
CRITNET  . . . . . . . . . . . .  	NUMBER	0005	
CRITSFT  . . . . . . . . . . . .  	NUMBER	0001	
CRITSHARE  . . . . . . . . . . .  	NUMBER	0001	
CRLF_ARG . . . . . . . . . . . .  	V WORD	0000	CONST	External
CROSSCNT . . . . . . . . . . . .  	L DWORD	00DD	CONST	Global
CSIZE  . . . . . . . . . . . . .  	L BYTE	002E	DATA	Global
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	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-8


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	

DAY  . . . . . . . . . . . . . .  	L WORD	025C	DATA
DAY_MASK . . . . . . . . . . . .  	NUMBER	001F	
DBCS . . . . . . . . . . . . . .  	NUMBER	0000	
DBCS_VECTOR  . . . . . . . . . .  	L BYTE	0000	DATA	Global
DBCS_VECTOR_off  . . . . . . . .  	L WORD	0001	DATA	Global
DBCS_VECTOR_seg  . . . . . . . .  	L WORD	0003	DATA	Global
DDOTENT  . . . . . . . . . . . .  	L BYTE	00B2	CONST	Global
DEALLOC  . . . . . . . . . . . .  	NUMBER	0049	
DEBUG  . . . . . . . . . . . . .  	NUMBER	0000	
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	
DEV_3INCH720KB . . . . . . . . .  	NUMBER	0002	
DEV_5INCH  . . . . . . . . . . .  	NUMBER	0000	
DEV_5INCH96TPI . . . . . . . . .  	NUMBER	0001	
DEV_8INCHDS  . . . . . . . . . .  	NUMBER	0004	
DEV_8INCHSS  . . . . . . . . . .  	NUMBER	0003	
DEV_HARDDISK . . . . . . . . . .  	NUMBER	0005	
DEV_OTHER  . . . . . . . . . . .  	NUMBER	0007	
DIRBUF . . . . . . . . . . . . .  	L BYTE	0000	CONST	Global
DIRCHAR  . . . . . . . . . . . .  	L BYTE	00A0	CONST	Global
DIRCNT . . . . . . . . . . . . .  	L DWORD	00C4	CONST	Global
DIRMES . . . . . . . . . . . . .  	V WORD	0000	CONST	External
DIRPROC  . . . . . . . . . . . .  	L NEAR	0000	CODE	External
dirsec . . . . . . . . . . . . .  	L WORD	0010	DATA	Global
DIRSIZ . . . . . . . . . . . . .  	L WORD	00C8	CONST	Global
DIRSTRLEN  . . . . . . . . . . .  	NUMBER	0043	
DIRTYFAT . . . . . . . . . . . .  	L BYTE	00C3	CONST	Global
DIR_ATTRIBUTE  . . . . . . . . .  	NUMBER	0010	
DIR_ENTRIES_PER_SECTOR . . . . .  	NUMBER	0010	
DIR_FIX  . . . . . . . . . . . .  	L BYTE	00C2	CONST
DIR_SEARCH_FIRST . . . . . . . .  	NUMBER	0011	
DIR_SEARCH_NEXT  . . . . . . . .  	NUMBER	0012	
DISK_ERROR . . . . . . . . . . .  	NUMBER	0080	
DISK_RESET . . . . . . . . . . .  	NUMBER	000D	
DISPFLG  . . . . . . . . . . . .  	L BYTE	00DC	CONST
Display_Interface  . . . . . . .  	L NEAR	0000		External
DOAGAIN  . . . . . . . . . . . .  	L NEAR	01EC	CODE
DOCRLF . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
DOFIX  . . . . . . . . . . . . .  	L BYTE	00E7	CONST	Global
DOTENT . . . . . . . . . . . . .  	L BYTE	00A7	CONST	Global
DOTMES . . . . . . . . . . . . .  	L BYTE	00A5	CONST	Global
DOTSNOGOOD . . . . . . . . . . .  	L BYTE	0043	DATA	Global
DO_FAST_FORMAT . . . . . . . . .  	NUMBER	0002	
DO_INCLUDE . . . . . . . . . . .  	NUMBER	0001	
DPBSIZ . . . . . . . . . . . . .  	NUMBER	0021	
DP_BPB . . . . . . . . . . . . .  		0007	
DP_CYLINDERS . . . . . . . . . .  		0004	
DP_DEVICEATTRIBUTES  . . . . . .  		0002	
DP_DEVICETYPE  . . . . . . . . .  		0001	
DP_MEDIATYPE . . . . . . . . . .  		0006	
DP_SECTORTABLE . . . . . . . . .  		0028	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-9


DP_SPECIALFUNCTIONS  . . . . . .  		0000	
DP_TRACKTABLEENTRIES . . . . . .  		0026	
DRIVE_NOT_READY  . . . . . . . .  	NUMBER	0002	
DRVCHAR  . . . . . . . . . . . .  	NUMBER	003A	
DRVISOK  . . . . . . . . . . . .  	L NEAR	006D	CODE	Global
DSIZE  . . . . . . . . . . . . .  	L WORD	0031	DATA	Global
DSKSIZ . . . . . . . . . . . . .  	NUMBER	000D	
DSKSPC . . . . . . . . . . . . .  	V WORD	0000	CONST	External
DUP_PDB  . . . . . . . . . . . .  	NUMBER	0055	

EACHCLUS . . . . . . . . . . . .  	L NEAR	0292	CODE	Global
ECS_CALL . . . . . . . . . . . .  	NUMBER	0063	
EMS_MAP_BUFF_SIZE  . . . . . . .  	NUMBER	000C	
end_of_fatmap  . . . . . . . . .  	L WORD	004C	DATA	Global
ENTRYPOINT . . . . . . . . . . .  	NUMBER	00C0	
ENTSIZ . . . . . . . . . . . . .  	NUMBER	0028	
EOFVAL . . . . . . . . . . . . .  	L WORD	00EA	CONST	Global
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	
ERRCNT . . . . . . . . . . . . .  	L BYTE	0050	DATA	Global
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	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-10


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	
ERRSUB . . . . . . . . . . . . .  	L WORD	00BF	CONST	Global
EXEC . . . . . . . . . . . . . .  	NUMBER	004B	
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	
ExitStatus . . . . . . . . . . .  	V BYTE	0000	CONST	External
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	
EXTENT_ARG . . . . . . . . . . .  	V WORD	0000	CONST	External
EXTHANDLE  . . . . . . . . . . .  	NUMBER	0067	
EXTOPEN  . . . . . . . . . . . .  	NUMBER	006C	
EXT_EXISTS_FAIL  . . . . . . . .  	NUMBER	0000	
EXT_EXISTS_OPEN  . . . . . . . .  	NUMBER	0001	
EXT_FILE_NOT_EXISTS  . . . . . .  	NUMBER	0004	
EXT_NEXISTS_CREATE . . . . . . .  	NUMBER	0010	
EXT_OPEN_I24_OFF . . . . . . . .  	NUMBER	0002	
EXT_OPEN_ON  . . . . . . . . . .  	NUMBER	0001	

FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
fat16b . . . . . . . . . . . . .  	L NEAR	00BF	CODE	Global
FATAL  . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
FATAL_ARG1 . . . . . . . . . . .  	V WORD	0000	CONST	External
FATAL_ARG2 . . . . . . . . . . .  	V WORD	0000	CONST	External
fatcnt . . . . . . . . . . . . .  	L BYTE	0020	DATA	Global
fatmap . . . . . . . . . . . . .  	L WORD	004A	DATA	Global
FATmsg2  . . . . . . . . . . . .  	V WORD	0000	CONST	External
fatsiz . . . . . . . . . . . . .  	L WORD	001C	DATA	Global
fattbl . . . . . . . . . . . . .  	L BYTE	0000	LASTSEG	Global
fattbl_seg . . . . . . . . . . .  	L WORD	0014	DATA	Global
FCB  . . . . . . . . . . . . . .  	NUMBER	005C	
FCBDEVICE  . . . . . . . . . . .  	NUMBER	0040	
FCBMASK  . . . . . . . . . . . .  	NUMBER	00C0	
FCBNETWORK . . . . . . . . . . .  	NUMBER	0080	
FCBSHARE . . . . . . . . . . . .  	NUMBER	00C0	
FCBSPECIAL . . . . . . . . . . .  	NUMBER	0080	
FCB_CLOSE  . . . . . . . . . . .  	NUMBER	0010	
FCB_COPY . . . . . . . . . . . .  	L BYTE	007D	CONST	Length = 0020
FCB_CREATE . . . . . . . . . . .  	NUMBER	0016	
FCB_DELETE . . . . . . . . . . .  	NUMBER	0013	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-11


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	
FCHK . . . . . . . . . . . . . .  	NUMBER	0001	
FDELIM . . . . . . . . . . . . .  	NUMBER	0002	
FFCB . . . . . . . . . . . . . .  	NUMBER	0008	
FIGREC . . . . . . . . . . . . .  	N PROC	0307	CODE	Global	Length = 0029
FILCNT . . . . . . . . . . . . .  	L DWORD	00CA	CONST	Global
FILDIRENT  . . . . . . . . . . .  	NUMBER	0010	
FILEMES  . . . . . . . . . . . .  	V WORD	0000	CONST	External
FILE_ARG . . . . . . . . . . . .  	V WORD	0000	CONST	External
FILE_ARG1  . . . . . . . . . . .  	V WORD	0000	CONST	External
FILE_ARG2  . . . . . . . . . . .  	V WORD	0000	CONST	External
FILE_TIMES . . . . . . . . . . .  	NUMBER	0057	
FILPERPROC . . . . . . . . . . .  	NUMBER	0014	
FILSIZ . . . . . . . . . . . . .  	L WORD	00CE	CONST	Global
FILSPOK  . . . . . . . . . . . .  	L NEAR	02EB	CODE	Global
FINDCHAIN  . . . . . . . . . . .  	L NEAR	0000	CODE	External
FIND_FIRST . . . . . . . . . . .  	NUMBER	004E	
FIND_NEXT  . . . . . . . . . . .  	NUMBER	004F	
firstfat . . . . . . . . . . . .  	L WORD	000C	DATA	Global
firstsec . . . . . . . . . . . .  	L WORD	000E	DATA	Global
FIXMFLG  . . . . . . . . . . . .  	L BYTE	00BE	CONST	Global
FNAME_LEN  . . . . . . . . . . .  	L WORD	00D1	DATA
FORMAT_COMB_NOT_SUPPORTED  . . .  	NUMBER	0002	
FORMAT_NO_ROM_SUPPORT  . . . . .  	NUMBER	0001	
FORMAT_TRACK . . . . . . . . . .  	NUMBER	0042	
FOUND_NO . . . . . . . . . . . .  	NUMBER	0000	
FOUND_YES  . . . . . . . . . . .  	NUMBER	0001	
FRAGCHK  . . . . . . . . . . . .  	L NEAR	0275	CODE	Global
FRAGMENT . . . . . . . . . . . .  	L BYTE	00C1	CONST	Global
FREMEM . . . . . . . . . . . . .  	V WORD	0000	CONST	External
FRESPC . . . . . . . . . . . . .  	V WORD	0000	CONST	External
FSPCHK . . . . . . . . . . . . .  	NUMBER	0004	
fTrunc . . . . . . . . . . . . .  	L BYTE	014A	CONST	Global
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	

GENERIC_IOCTL  . . . . . . . . .  	NUMBER	000D	
GENERIC_IOCTL_HANDLE . . . . . .  	NUMBER	000C	
GETCURRENTPSP  . . . . . . . . .  	NUMBER	0062	
GETEXTCNTRY  . . . . . . . . . .  	NUMBER	0065	
GETEXTENDEDERROR . . . . . . . .  	NUMBER	0059	
GETNXT . . . . . . . . . . . . .  	L NEAR	02D3	CODE	Global
GETSETCDPG . . . . . . . . . . .  	NUMBER	0066	
GETSETMEDIAID  . . . . . . . . .  	NUMBER	0069	
GET_ACCESS_FLAG  . . . . . . . .  	NUMBER	0067	
GET_CURRDIR  . . . . . . . . . .  	L NEAR	0000	CODE	External
GET_CURRENT_PDB  . . . . . . . .  	NUMBER	0051	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-12


GET_DATE . . . . . . . . . . . .  	NUMBER	002A	
GET_DEFAULT_DPB  . . . . . . . .  	NUMBER	001F	
GET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	0019	
GET_DEVICE_PARAMETERS  . . . . .  	NUMBER	0060	
GET_DMA  . . . . . . . . . . . .  	NUMBER	002F	
GET_DPB  . . . . . . . . . . . .  	NUMBER	0032	
GET_DRIVE_FREESPACE  . . . . . .  	NUMBER	0036	
GET_FCB_FILE_LENGTH  . . . . . .  	NUMBER	0023	
GET_FCB_POSITION . . . . . . . .  	NUMBER	0024	
GET_INDOS_FLAG . . . . . . . . .  	NUMBER	0034	
GET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0035	
GET_IN_VARS  . . . . . . . . . .  	NUMBER	0052	
GET_MEDIA_ID . . . . . . . . . .  	NUMBER	0066	
GET_RETRY_COUNT  . . . . . . . .  	NUMBER	0065	
GET_SERIAL_NUM . . . . . . . . .  	N PROC	039E	CODE	Global	Length = 001D
GET_THISEL2  . . . . . . . . . .  	L NEAR	0000	CODE	External
GET_TIME . . . . . . . . . . . .  	NUMBER	002C	
GET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	0054	
GET_VERSION  . . . . . . . . . .  	NUMBER	0030	
GotPath  . . . . . . . . . . . .  	L NEAR	0211	CODE	Global

HANDLE_FAIL_I24  . . . . . . . .  	NUMBER	0100	
HARDCH . . . . . . . . . . . . .  	L DWORD	0021	DATA	Global
HAVFIX . . . . . . . . . . . . .  	L BYTE	00E6	CONST	Global
HEAD_MASK  . . . . . . . . . . .  	NUMBER	007F	
HECODE . . . . . . . . . . . . .  	L BYTE	00BD	CONST	Global
HIDCNT . . . . . . . . . . . . .  	L DWORD	00D0	CONST	Global
HIDDN  . . . . . . . . . . . . .  	NUMBER	0002	
HIDMES . . . . . . . . . . . . .  	V WORD	0000	CONST	External
HIDSIZ . . . . . . . . . . . . .  	L WORD	00D4	CONST	Global
HONGEUL  . . . . . . . . . . . .  	NUMBER	0063	
hook_interrupts  . . . . . . . .  	L NEAR	0000	CODE	External
HOUR_MASK  . . . . . . . . . . .  	NUMBER	F800	

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		
IDMES_ARG  . . . . . . . . . . .  	V WORD	0000	CONST	External
IDOK . . . . . . . . . . . . . .  	L NEAR	01AD	CODE	Global
IFS_IOCTL  . . . . . . . . . . .  	NUMBER	006B	
init_fatmap  . . . . . . . . . .  	L NEAR	0000	CODE	External
INSTALLED  . . . . . . . . . . .  	NUMBER	FFFF	
INSTALLEDDATA  . . . . . . . . .  	NUMBER	0000	
INSTALL_FAKE_BPB . . . . . . . .  	NUMBER	0001	
INTBASE  . . . . . . . . . . . .  	NUMBER	0080	
INTERNAT . . . . . . . . . . . .  	ALIAS	 FALSE		
INTERNATIONAL  . . . . . . . . .  	NUMBER	0038	
INTERNATVARS . . . . . . . . . .  	L 	0273	DATA
INTERNAT_BLOCK_MAX . . . . . . .  	NUMBER	0020	
INTTAB . . . . . . . . . . . . .  	NUMBER	0020	
INT_23 . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
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	
INVPATH_ARG  . . . . . . . . . .  	V WORD	0000	CONST	External
IOCTL  . . . . . . . . . . . . .  	NUMBER	0044	
IOCTL_CHANGEABLE?  . . . . . . .  	NUMBER	0008	
IOCTL_DEVICELOCORREM?  . . . . .  	NUMBER	0009	
IOCTL_GET_DEVICE_INFO  . . . . .  	NUMBER	0000	
IOCTL_GET_INPUT_STATUS . . . . .  	NUMBER	0006	
IOCTL_GET_OUTPUT_STATUS  . . . .  	NUMBER	0007	
IOCTL_HANDLELOCORREM?  . . . . .  	NUMBER	000A	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-13


IOCTL_READ_DRIVE . . . . . . . .  	NUMBER	0004	
IOCTL_READ_HANDLE  . . . . . . .  	NUMBER	0002	
IOCTL_SET_DEVICE_INFO  . . . . .  	NUMBER	0001	
IOCTL_SHARING_RETRY  . . . . . .  	NUMBER	000B	
IOCTL_WRITE_DRIVE  . . . . . . .  	NUMBER	0005	
IOCTL_WRITE_HANDLE . . . . . . .  	NUMBER	0003	
IOC_DC . . . . . . . . . . . . .  	NUMBER	0008	
IOC_KC . . . . . . . . . . . . .  	NUMBER	0004	
IOC_OTHER  . . . . . . . . . . .  	NUMBER	0000	
IOC_PC . . . . . . . . . . . . .  	NUMBER	0005	
IOC_SC . . . . . . . . . . . . .  	NUMBER	0003	
IOC_SE . . . . . . . . . . . . .  	NUMBER	0001	
IOC_TC . . . . . . . . . . . . .  	NUMBER	0002	
IO_MODE_ID . . . . . . . . . . .  	NUMBER	0002	
ISCROSS  . . . . . . . . . . . .  	L BYTE	0045	DATA	Global
ISDIR  . . . . . . . . . . . . .  	NUMBER	0010	
IS_ROOT_DIR  . . . . . . . . . .  	L NEAR	0226	CODE	Global

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

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

LASTCLUS . . . . . . . . . . . .  	L NEAR	02A7	CODE	Global
LBL_CHKDSK1  . . . . . . . . . .  	NUMBER	0001	
LCLUS  . . . . . . . . . . . . .  	L WORD	00DA	CONST	Global
LEN_SEARCH_CHKDSK  . . . . . . .  	NUMBER	0006	
LOCKOPER . . . . . . . . . . . .  	NUMBER	005C	
LSEEK  . . . . . . . . . . . . .  	NUMBER	0042	

Main_Init  . . . . . . . . . . .  	L NEAR	0000	CODE	External
Main_Routine . . . . . . . . . .  	L NEAR	0036	CODE	Global
MAJOR_VERSION  . . . . . . . . .  	NUMBER	0004	
MAXBUCKETINPAGE  . . . . . . . .  	NUMBER	0002	
MAXBUFFINBUCKET  . . . . . . . .  	NUMBER	000F	
MAX_DEV_TYPE . . . . . . . . . .  	NUMBER	0007	
MAX_SECTORS_IN_TRACK . . . . . .  	NUMBER	003F	
MCLUS  . . . . . . . . . . . . .  	L WORD	0033	DATA	Global
MEMS . . . . . . . . . . . . . .  	NUMBER	0001	
mem_size . . . . . . . . . . . .  	L WORD	0260	DATA	Global
MINOR_VERSION  . . . . . . . . .  	NUMBER	0000	
MINUTE_MASK  . . . . . . . . . .  	NUMBER	07E0	
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	
MON  . . . . . . . . . . . . . .  	L WORD	025A	DATA
MONTAB . . . . . . . . . . . . .  	V BYTE	0000	CONST	External
MONTH_MASK . . . . . . . . . . .  	NUMBER	01E0	
MON_NAME . . . . . . . . . . . .  	L BYTE	00F0	CONST	Length = 0003
MSGCHK . . . . . . . . . . . . .  	L NEAR	02D7	CODE	Global
msgserialnumber  . . . . . . . .  	V BYTE	0000	CONST	External
MSVER  . . . . . . . . . . . . .  	NUMBER	0000	
MULTDOS  . . . . . . . . . . . .  	NUMBER	0012	
MULTIFS  . . . . . . . . . . . .  	NUMBER	0011	
MULTIPLEX  . . . . . . . . . . .  	NUMBER	002F	
MULTNET  . . . . . . . . . . . .  	NUMBER	0011	
MULTSHARE  . . . . . . . . . . .  	NUMBER	0010	

NAMBUF . . . . . . . . . . . . .  	L BYTE	0035	DATA	Global	Length = 000E
NET_CHECK  . . . . . . . . . . .  	NUMBER	1200	
NLSFUNC  . . . . . . . . . . . .  	NUMBER	0014	
NO . . . . . . . . . . . . . . .  	NUMBER	0000	
NOEXT_ARG  . . . . . . . . . . .  	V WORD	0000	CONST	External
NOISY  . . . . . . . . . . . . .  	L BYTE	00E8	CONST	Global
NORETRY1 . . . . . . . . . . . .  	L NEAR	0191	CODE	Global
NOTVOLID . . . . . . . . . . . .  	L NEAR	0141	CODE	Global
NOT_EXISTS_MASK  . . . . . . . .  	NUMBER	00F0	
NOT_INCLUDE  . . . . . . . . . .  	NUMBER	0000	
NOT_ROOT_DIR . . . . . . . . . .  	L NEAR	0227	CODE	Global
NO_CODE_PAGE_CHECK . . . . . . .  	NUMBER	0100	
NO_ENTRY . . . . . . . . . . . .  	NUMBER	0000	
NO_ERROR . . . . . . . . . . . .  	NUMBER	0000	
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-14


NO_EXT_ATTRIB  . . . . . . . . .  	NUMBER	0000	
NO_FOUND . . . . . . . . . . . .  	NUMBER	0000	
no_mem_arg . . . . . . . . . . .  	V WORD	0000	CONST	External
NO_NET_ARG . . . . . . . . . . .  	V BYTE	0000	CONST	External
NUL  . . . . . . . . . . . . . .  	L BYTE	00A1	CONST	Global
NUL_ARG  . . . . . . . . . . . .  	L BYTE	00D3	DATA	Global
NXTCHK . . . . . . . . . . . . .  	L NEAR	02B0	CODE	Global

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	
OFF  . . . . . . . . . . . . . .  	NUMBER	0000	
OkDrive  . . . . . . . . . . . .  	L NEAR	003F	CODE	Global
OLDCLUS  . . . . . . . . . . . .  	L WORD	0046	DATA
ON . . . . . . . . . . . . . . .  	NUMBER	0001	
ONLY_SET_TRACKLAYOUT . . . . . .  	NUMBER	0002	
OPEN . . . . . . . . . . . . . .  	NUMBER	003D	
OPEN_FOR_BOTH  . . . . . . . . .  	NUMBER	0002	
OPEN_FOR_READ  . . . . . . . . .  	NUMBER	0000	
OPEN_FOR_WRITE . . . . . . . . .  	NUMBER	0001	
OPNERR_ARG . . . . . . . . . . .  	V WORD	0000	CONST	External
ORPHCNT  . . . . . . . . . . . .  	V WORD	0000	CONST	External
ORPHEXT  . . . . . . . . . . . .  	L BYTE	0061	CONST	Global
ORPHFCB  . . . . . . . . . . . .  	L BYTE	0058	CONST	Global
ORPHMES2 . . . . . . . . . . . .  	V WORD	0000	CONST	External
ORPHMES3 . . . . . . . . . . . .  	V WORD	0000	CONST	External
ORPHSIZ  . . . . . . . . . . . .  	L WORD	00D8	CONST	Global
ORPH_ARG . . . . . . . . . . . .  	V WORD	0000	CONST	External

paras_per_64k  . . . . . . . . .  	L WORD	001A	DATA	Global
paras_per_fat  . . . . . . . . .  	L WORD	001E	DATA	Global
ParseName  . . . . . . . . . . .  	L NEAR	0247	CODE	Global
PARSE_FILE_DESCRIPTOR  . . . . .  	NUMBER	0029	
PARSTR . . . . . . . . . . . . .  	L BYTE	00A2	CONST	Global
PATHPARSE  . . . . . . . . . . .  	NUMBER	0061	
PATH_NAME  . . . . . . . . . . .  	L BYTE	0051	DATA	Global	Length = 0080
PDB_APPEND . . . . . . . . . . .  	BYTE	003D	
PDB_INTERCON . . . . . . . . . .  	BYTE	003C	
PFILENAME  . . . . . . . . . . .  	L WORD	009D	CONST
PRINTF_CRLF  . . . . . . . . . .  	L NEAR	0000	CODE	External
PRINTID  . . . . . . . . . . . .  	L NEAR	0330	CODE	Global
PROMPTYN . . . . . . . . . . . .  	L NEAR	0000	CODE	External
psp_segment  . . . . . . . . . .  	V WORD	0000	CONST	External

RARG1  . . . . . . . . . . . . .  	V WORD	0000	CONST	External
RARG3  . . . . . . . . . . . . .  	V WORD	0000	CONST	External
RAWIO  . . . . . . . . . . . . .  	NUMBER	0008	
RAW_CON_INPUT  . . . . . . . . .  	NUMBER	0007	
RAW_CON_IO . . . . . . . . . . .  	NUMBER	0006	
RDLOOP . . . . . . . . . . . . .  	L NEAR	017B	CODE	Global
RDOK . . . . . . . . . . . . . .  	L NEAR	0191	CODE	Global
RDONLY . . . . . . . . . . . . .  	NUMBER	0001	
READ . . . . . . . . . . . . . .  	NUMBER	003F	
readft . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
READ_TRACK . . . . . . . . . . .  	NUMBER	0061	
Read_Write_Relative  . . . . . .  	L TBYTE	0267	DATA	Global
REDIRECTOR . . . . . . . . . . .  	NUMBER	0000	
RENAME . . . . . . . . . . . . .  	NUMBER	0056	
REPORT . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
REPORT_ARG . . . . . . . . . . .  	V WORD	0000	CONST	External
RESERVED_BITS_MASK . . . . . . .  	NUMBER	FE00	
RMDIR  . . . . . . . . . . . . .  	NUMBER	003A	
ROOTSTR  . . . . . . . . . . . .  	L BYTE	00A0	CONST
Root_CD_Ok . . . . . . . . . . .  	L NEAR	0111	CODE	Global
root_entries . . . . . . . . . .  	L WORD	0012	DATA	Global

save_drive . . . . . . . . . . .  	L BYTE	000B	DATA	Global
ScanFile . . . . . . . . . . . .  	L NEAR	0264	CODE	Global
SEARCH_CHKDSK  . . . . . . . . .  	L BYTE	0005	DATA
SEARCH_CHKDSK_END  . . . . . . .  	NEAR	000A	DATA
SECBUF . . . . . . . . . . . . .  	L WORD	004E	DATA	Global
SECONDPASS . . . . . . . . . . .  	L BYTE	00E5	CONST	Global
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-15


secs_per_64k . . . . . . . . . .  	L WORD	0018	DATA	Global
sec_count  . . . . . . . . . . .  	L WORD	0016	DATA	Global
sernum . . . . . . . . . . . . .  	L DWORD	0295	DATA	Global
SERNUMBUF  . . . . . . . . . . .  	L BYTE	0293	DATA
SERVERCALL . . . . . . . . . . .  	NUMBER	005D	
SETBLOCK . . . . . . . . . . . .  	NUMBER	004A	
SETDPB . . . . . . . . . . . . .  	NUMBER	0053	
SETSTACK . . . . . . . . . . . .  	L NEAR	002C	CODE	Global
SET_ACCESS_FLAG  . . . . . . . .  	NUMBER	0047	
SET_APPEND_X . . . . . . . . . .  	NUMBER	B707	
SET_CTRL_C_TRAPPING  . . . . . .  	NUMBER	0033	
SET_CURRENT_PDB  . . . . . . . .  	NUMBER	0050	
SET_DATE . . . . . . . . . . . .  	NUMBER	002B	
SET_DEFAULT_DRIVE  . . . . . . .  	NUMBER	000E	
SET_DEVICE_PARAMETERS  . . . . .  	NUMBER	0040	
SET_DMA  . . . . . . . . . . . .  	NUMBER	001A	
SET_INTERRUPT_VECTOR . . . . . .  	NUMBER	0025	
SET_MEDIA_ID . . . . . . . . . .  	NUMBER	0046	
SET_OEM_HANDLER  . . . . . . . .  	NUMBER	00F8	
SET_PRINTER_FLAG . . . . . . . .  	NUMBER	0064	
SET_RETRY_COUNT  . . . . . . . .  	NUMBER	0045	
SET_TIME . . . . . . . . . . . .  	NUMBER	002D	
SET_VERIFY_ON_WRITE  . . . . . .  	NUMBER	002E	
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	
SMALLFAT . . . . . . . . . . . .  	L NEAR	0111	CODE	Global
SRFCBPT  . . . . . . . . . . . .  	L WORD	0048	DATA	Global
SSIZE  . . . . . . . . . . . . .  	L WORD	002F	DATA	Global
STACKLIM . . . . . . . . . . . .  	L WORD	0271	DATA	Global
STACKMES . . . . . . . . . . . .  	V BYTE	0000	CONST	External
STATUS_FOR_FORMAT  . . . . . . .  	NUMBER	0001	
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	
STRING_DONE  . . . . . . . . . .  	NUMBER	0000	
Sublist_msg_Idmes  . . . . . . .  	V WORD	0000	CONST	External
SubstErr . . . . . . . . . . . .  	V BYTE	0000	CONST	External
SWITCHAR . . . . . . . . . . . .  	L BYTE	009F	CONST	Global
SYSTM  . . . . . . . . . . . . .  	NUMBER	0004	

TCHAR  . . . . . . . . . . . . .  	L BYTE	00F4	CONST	Global
TEMPLEN  . . . . . . . . . . . .  	NUMBER	0086	
temp_dd  . . . . . . . . . . . .  	L DWORD	00E1	CONST	Global
THISDPB  . . . . . . . . . . . .  	L DWORD	0029	DATA	Global
Microsoft (R) Macro Assembler Version 5.10                  2/14/25 23:44:13
CHKDSK - MS-DOS Disk consistancy checker ;                 Symbols-16


THISENT  . . . . . . . . . . . .  	NUMBER	0014	
TMP_SPC  . . . . . . . . . . . .  	L BYTE	01DA	DATA	Global	Length = 0080
TRACKLAYOUT_IS_GOOD  . . . . . .  	NUMBER	0004	
Transrc  . . . . . . . . . . . .  	L BYTE	0262	DATA	Global
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TRUEBYTE . . . . . . . . . . . .  	NUMBER	00FF	

UNLINK . . . . . . . . . . . . .  	NUMBER	0041	
UNPACK . . . . . . . . . . . . .  	L NEAR	0000	CODE	External
USERDEV  . . . . . . . . . . . .  	L BYTE	002D	DATA	Global
USERDIR  . . . . . . . . . . . .  	L BYTE	00F5	CONST	Global
USEROPER . . . . . . . . . . . .  	NUMBER	005E	

VALID_PATH . . . . . . . . . . .  	L NEAR	0242	CODE	Global
VERIFY_TRACK . . . . . . . . . .  	NUMBER	0062	
VOLID  . . . . . . . . . . . . .  	L BYTE	0000	CONST
VOLIDA . . . . . . . . . . . . .  	NUMBER	0008	
Volnam . . . . . . . . . . . . .  	L BYTE	0007	CONST	Global
VOL_ATTRIBUTE  . . . . . . . . .  	NUMBER	0008	

WAITPROCESS  . . . . . . . . . .  	NUMBER	004D	
WRITE  . . . . . . . . . . . . .  	NUMBER	0040	
WRITE_PROTECT  . . . . . . . . .  	NUMBER	0000	
WRITE_TRACK  . . . . . . . . . .  	NUMBER	0041	

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

YEAR . . . . . . . . . . . . . .  	L WORD	025E	DATA
YEAR_MASK  . . . . . . . . . . .  	NUMBER	FE00	
YES  . . . . . . . . . . . . . .  	NUMBER	FFFF	
YES_FOUND  . . . . . . . . . . .  	NUMBER	0001	

ZEROTRUNC  . . . . . . . . . . .  	L BYTE	0044	DATA	Global

$$A_START_chkdsk1  . . . . . . .  	L NEAR	0000	CODE	Global
$$A_STOP_chkdsk1 . . . . . . . .  	L NEAR	03BB	CODE	Global
$$EN22 . . . . . . . . . . . . .  	L NEAR	0203	CODE
$$IF1  . . . . . . . . . . . . .  	L NEAR	002C	CODE
$$IF11 . . . . . . . . . . . . .  	L NEAR	0141	CODE
$$IF13 . . . . . . . . . . . . .  	L NEAR	0168	CODE
$$IF15 . . . . . . . . . . . . .  	L NEAR	0191	CODE
$$IF17 . . . . . . . . . . . . .  	L NEAR	01AD	CODE
$$IF18 . . . . . . . . . . . . .  	L NEAR	01AD	CODE
$$IF21 . . . . . . . . . . . . .  	L NEAR	0203	CODE
$$IF22 . . . . . . . . . . . . .  	L NEAR	0200	CODE
$$IF26 . . . . . . . . . . . . .  	L NEAR	03BA	CODE
$$IF3  . . . . . . . . . . . . .  	L NEAR	005B	CODE
$$IF5  . . . . . . . . . . . . .  	L NEAR	009A	CODE
$$IF7  . . . . . . . . . . . . .  	L NEAR	00D9	CODE
$$IF9  . . . . . . . . . . . . .  	L NEAR	0126	CODE
?PLM . . . . . . . . . . . . . .  	NUMBER	0000	
?WIN . . . . . . . . . . . . . .  	NUMBER	0000	
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  chkdsk1		
@VERSION . . . . . . . . . . . .  	TEXT  510		


   4376 Source  Lines
   4701 Total   Lines
   1181 Symbols

  40648 + 145463 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
