Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-1


					PAGE	90,132			;AN000;A2
					TITLE	TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;AN000;
				;****************** START OF SPECIFICATIONS *****************************
				; MODULE NAME: TREESYSM.SAL
				
				; DESCRIPTIVE NAME: Include the DOS system MESSAGE HANDLER in the SEGMENT
				;		    configuration expected by the modules of TREE.
				
				;FUNCTION: The common code of the DOS SYSTEM MESSAGE HANDLER is made a
				;	   part of the TREE module by using INCLUDE to bring in the
				;	   common portion, in SYSMSG.INC.  This included code contains
				;	   the routines to initialize for message services, to find
				;	   where a particular message is, and to display a message.
				
				; ENTRY POINT: SYSDISPMSG:near
				;	       SYSGETMSG:near
				;	       SYSLOADMSG:near
				
				; INPUT:
				;    AX = MESSAGE NUMBER
				;    BX = HANDLE TO DISPLAY TO (-1 means use DOS functions 1-12)
				;    SI = OFFSET IN ES: OF SUBLIST, OR 0 IF NONE
				;    CX = NUMBER OF %PARMS, 0 IF NONE
				;    DX = CLASS IN HIGH BYTE, INPUT FUNCTION IN LOW
				;   CALL SYSDISPMSG		;DISPLAY THE MESSAGE
				
				;    If carry set, extended error already called:
				;    AX = EXTENDED MESSAGE NUMBER
				;    BH = ERROR CLASS
				;    BL = SUGGESTED ACTION
				;    CH = LOCUS
				; _ _ _ _ _ _ _ _ _ _ _ _
				
				;    AX = MESSAGE NUMBER
				;    DH = MESSAGE CLASS (1=DOS EXTENDED ERROR, 2=PARSE ERROR, -1=UTILITY MSG)
				;   CALL SYSGETMSG		 ;FIND WHERE A MSG IS
				
				;    If carry set, error
				;     CX = 0, MESSAGE NOT FOUND
				;    If carry NOT set, ok, and resulting regs are:
				;     CX = MESSAGE SIZE
				;     DS:SI = MESSAGE TEXT
				; _ _ _ _ _ _ _ _ _ _ _ _
				
				;   CALL SYSLOADMSG		 ;SET ADDRESSABILITY TO MSGS, CHECK DOS VERSION
				;    If carry not set:
				;    CX = SIZE OF MSGS LOADED
				
				;    If carry is set, regs preset up for SYSDISPMSG, as:
				;    AX = ERROR CODE IF CARRY SET
				;	  AX = 1, INCORRECT DOS VERSION
				;	  DH =-1, (Utility msg)
				;	OR,
				;	  AX = 1, Error loading messages
				;	  DH = 0, (Message manager error)
				;    BX = STDERR
				;    CX = NO_REPLACE
				;    DL = NO_INPUT
				
				; EXIT-NORMAL: CARRY is not set
				
				; EXIT-ERROR:  CARRY is set
				;	       Call Get Extended Error for reason code, for SYSDISPMSG and
				;	       SYSGETMSG.
				
				; INTERNAL REFERENCES:
				;    ROUTINES: (Generated by the MSG_SERVICES macro)
				;	SYSLOADMSG
				;	SYSDISPMSG
				;	SYSGETMSG
				
				;    DATA AREAS:
				;	INCLUDE TREEMS.INC ;message defining control blocks
				;	INCLUDE SYSMSG.INC   ;Permit System Message handler definition
				;	INCLUDE COPYRIGH.INC ;Standard copy right notice
				;	INCLUDE MSGHAN.INC   ;Defines message control blocks STRUCs
				;	INCLUDE VERSIONA.INC ;INCLUDEd by code generated by SYSMSG.INC
				;	INCLUDE PATHMAC.INC - PATHGEN MACRO
				
				; EXTERNAL REFERENCES:
				;    ROUTINES: none
				
				;    DATA AREAS: control blocks pointed to by input registers.
				
				; NOTES:
				;	 This module should be processed with the SALUT preprocessor
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-2


				;	 with the re-alignment not requested, as:
				
				;		SALUT TREESYSM,NUL
				
				;	 To assemble these modules, the alphabetical or sequential
				;	 ordering of segments may be used.
				
				;	 For LINK instructions, refer to the PROLOG of the main module,
				;	 TREE.SAL.
				
				;     Label: The following notice is found in the OBJ code:
				;
				;	     "Version 4.00 (C)Copyright 1988 Microsoft
				;	     "Licensed Material - Program Property of Microsoft
				;
				;****************** END OF SPECIFICATIONS *****************************
					INCLUDE PATHMAC.INC		;AN013;
			     C	;;***********************************************************************
			     C	;; NAME: pathlabl
			     C	;; DESC: creates a public label at the spot it is placed, using the name
			     C	;;       given.
			     C	;; INPUT: either module name or procedure name
			     C	;; OUTPUT: public label
			     C	;; LOGIC: LBL-parameter-name will have four values -
			     C	;;            - one for each pass (2)
			     C	;;            - one for start and one for stop
			     C	;;        if LBL is not defined, it is first pass, at beginning label
			     C	;;              - set it to 1 and create the start label
			     C	;;        if LBL = 1, it is first pass, at end label
			     C	;;              - set it to 2 and create stop label
			     C	;;        if LBL = 2, it is second pass, at beginning label
			     C	;;              - set it to 3 and create the start label
			     C	;;        if LBL = 3, it is second pass, at end label
			     C	;;              - set it to 4 and create stop label
			     C	;;        if LBL = 4, it is second pass,
			     C	;;              - this macro has been invoked more than twice with same parm
			     C	;;              - issue error message
			     C	;;***********************************************************************
			     C	
			     C	pathlabl MACRO pnam
			     C	IFNDEF LBL_&pnam                        ;;IF THIS IS THE FIRST TIME,
			     C	    LBL_&pnam = 0                       ;;DEFINE IT, INITIALLY ZERO
			     C	ELSE                                    ;;SINCE IT IS DEFINED
			     C	    IF (LBL_&pnam GT 3)                 ;;IF USED TOO MANY TIMES,
			     C	        .ERR NON-UNIQUE OPERAND ON PATHLABL
			     C	        EXITM                           ;;ABORT THIS GENERATION
			     C	    ENDIF
			     C	ENDIF
			     C	
			     C	IF (LBL_&pnam EQ 0) OR (LBL_&pnam EQ 2) ;;ready for START?
			     C	    $$A_START_&pnam:                    ;;create START label
			     C	    PUBLIC $$A_START_&pnam              ;;make it public
			     C	ELSE                                    ;;SINCE SWITCH MAY BE 1 OR 3,
			     C	    $$A_STOP_&pnam:                     ;;create STOP label
			     C	    PUBLIC $$A_STOP_&pnam               ;;make it public
			     C	ENDIF
			     C	LBL_&pnam = LBL_&pnam + 1               ;;INCREMENT SWITCH
			     C	ENDM
				
				;	INCLUDE SYSMSG.INC
				.LIST					;AN000;
					MSG_UTILNAME <TREE>		;AN000;IDENTIFY THE COMPONENT
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-3
DOS - Message Retriever - MSGSTR.INC Module                 

			     C1	$M_SUBLIST_STRUC STRUC					     ;;AN000;;
			     C1								     ;;
 0000  0B                    C1	    $M_S_SIZE	     DB        11			     ;;AN000;; SUBLIST size  (PTR to next SU
				BLIST)
 0001  00                    C1	    $M_S_RESV	     DB        0			     ;;AN000;; RESERVED
 0002  00000000              C1	    $M_S_VALUE	     DD        ?			     ;;AN000;; Time, Date or PTR to data ite
				m
 0006  00                    C1	    $M_S_ID	     DB        ?			     ;;AN000;; n of %n
 0007  00                    C1	    $M_S_FLAG	     DB        ?			     ;;AN000;; Data-type flags
 0008  00                    C1	    $M_S_MAXW	     DB        ?			     ;;AN000;; Maximum field width
 0009  00                    C1	    $M_S_MINW	     DB        ?			     ;;AN000;; Minimum field width
 000A  00                    C1	    $M_S_PAD	     DB        ?			     ;;AN000;; Character for Pad field
			     C1								     ;;
 000B                        C1	$M_SUBLIST_STRUC ENDS					     ;;AN000;;
			     C1	$M_CLASS_ID STRUC					     ;;AN000;;
			     C1								     ;;
 0000  FF                    C1	    $M_CLS_ID	     DB        -1			     ;;AN000;; Class identifer
 0001  0004                  C1	    $M_COMMAND_VER   DW        EXPECTED_VERSION 	     ;;AN003;; COMMAND.COM version check
 0003  00                    C1	    $M_NUM_CLS_MSG   DB        0			     ;;AN000;; Total number of message in cl
				ass
			     C1								     ;;
 0004                        C1	$M_CLASS_ID ENDS					     ;;
			     C1	$M_ID STRUC						     ;;AN000;;
			     C1								     ;;
 0000  FFFF                  C1	    $M_NUM	     DW        -1			     ;;AN000;; Message Number
 0002  0000                  C1	    $M_TXT_PTR	     DW        ?			     ;;AN000;; Pointer to message text
			     C1								     ;;
 0004                        C1	$M_ID ENDS						     ;;AN000;;
			     C1	$M_RES_ADDRS STRUC					     ;;AN000;;
			     C1								     ;;
 0000  00000000              C1	    $M_EXT_ERR_ADDRS DD        0			     ;;AN000;; Allow pointers to THREE Exten
				ded error locations
 0004  00000000              C1	    $M_EXT_FILE      DD        0			     ;;AN001;;
 0008  00000000              C1	    $M_EXT_COMMAND   DD        0			     ;;AN000;;
 000C  FFFFFFFF              C1	    $M_EXT_TERM      DD        -1			     ;;AN000;;
 0010  00000000              C1	    $M_PARSE_COMMAND DD        0			     ;;AN000;;
 0014  00000000              C1	    $M_PARSE_ADDRS   DD        0			     ;;AN000;; Allow pointers to TWO Parse e
				rror locations
 0018  FFFFFFFF              C1	    $M_PARSE_TERM    DD        -1			     ;;AN000;;
 001C  00000000              C1	    $M_CRIT_ADDRS    DD        0			     ;;AN000;; Allow pointers to TWO Critica
				l error locations
 0020  00000000              C1	    $M_CRIT_COMMAND  DD        0			     ;;AN000;;
 0024  FFFFFFFF              C1	    $M_CRIT_TERM     DD        -1			     ;;AN000;;
 0028  FFFFFFFF              C1	    $M_DISK_PROC_ADDR DD       -1			     ;;AN004;; Address of READ_DISK_PROC
 002C  0001[                 C1	    $M_CLASS_ADDRS   DD        $M_NUM_CLS DUP(0)	     ;;AN000;; Allow pointers to specified c
				lasses
	   00000000          C1	
			 ]   C1	
			     C1	
 0030  FFFFFFFF              C1	    $M_CLS_TERM      DD        -1			     ;;AN000;;
 0034  00000000              C1	    $M_DBCS_VEC      DD        0			     ;;AN000;; Save DBCS vector
 0038  0000                  C1	    $M_HANDLE	     DW        ?			     ;;AN000;;
 003A  00                    C1	    $M_SIZE	     DB        0			     ;;AN000;;
 003B  0D 0A                 C1	    $M_CRLF	     DB        0DH,0AH			     ;;AN004;; CR LF message
 003D  00                    C1	    $M_CLASS	     DB        ?			     ;;AN004;; Saved class
 003E  0000                  C1	    $M_RETURN_ADDR   DW        ?			     ;;AN000;;
 0040  0000                  C1	    $M_MSG_NUM	     DW        $M_NULL			     ;;AN000;;
 0042  000A                  C1	    $M_DIVISOR	     DW        10			     ;;AN000;; Default = 10 (must be a WORD 
				for division)
 0044  0040[                 C1	    $M_TEMP_BUF      DB        $M_TEMP_BUF_SZ DUP("$")	     ;;AN000;; Temporary buffer
	   24                C1	
			 ]   C1	
			     C1	
 0084  24                    C1	    $M_BUF_TERM      DB        "$"			     ;;AN000;;
			     C1	
 0085                        C1	$M_RES_ADDRS ENDS					     ;;AN000;;
			     C1	$M_COUNTRY_INFO STRUC					     ;;AN000;; Expected Country infomation
			     C1								     ;;
 0000  0044[                 C1	    $M_HEADER	     DB       $M_RES_ADDRS_SZ-$M_TEMP_BUF_SZ-1 DUP(?) ;;AN000;; Go past first part o
				f struc
	   ??                C1	
			 ]   C1	
			     C1	
 0044  0000                  C1	    $M_DATE_FORMAT   DW       ? 			     ;;AN000;; <------- Date Format
 0046  0005[                 C1	    $M_CURR_SEPARA   DB       5 DUP(?)			     ;;AN000;;
	   ??                C1	
			 ]   C1	
			     C1	
 004B  00 00                 C1	    $M_THOU_SEPARA   DB       ?,0			     ;;AN000;; <------- Thou Separator
 004D  00 00                 C1	    $M_DECI_SEPARA   DB       ?,0			     ;;AN000;; <------- Decimal Separator
 004F  00 00                 C1	    $M_DATE_SEPARA   DB       ?,0			     ;;AN000;; <------- Date Separator
 0051  00 00                 C1	    $M_TIME_SEPARA   DB       ?,0			     ;;AN000;; <------- Time Separator
 0053  00                    C1	    $M_CURR_FORMAT   DB       ? 			     ;;AN000;;
 0054  00                    C1	    $M_SIG_DIGS_CU   DB       ? 			     ;;AN000;;
 0055  00                    C1	    $M_TIME_FORMAT   DB       ? 			     ;;AN000;; <------- Time Format
			     C1								     ;;
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-4
DOS - Message Retriever - MSGSTR.INC Module                 

 0056                        C1	$M_COUNTRY_INFO ENDS					     ;;AN000;;
				; =  =	=  =  =  =  =  =  =  =	=  =
				
 0000				CSEG	SEGMENT PARA PUBLIC 'CODE'	;AN000;
					ASSUME	CS:CSEG 		;AN000;ESTABLISHED BY CALLER
					ASSUME	SS:CSEG 		;AN000;ESTABLISHED BY CALLER
					ASSUME	DS:CSEG 		;AN000;ESTABLISHED BY CALLER
					ASSUME	ES:CSEG 		;AN000;ESTABLISHED BY CALLER
				
					INCLUDE MSGHAN.INC		;AN000;DEFINE MESSAGE HANDLER CONTROL BLOCKS
			     C	;THIS IS A COMMONLY INCLUDED FILE, USED BY (AT LEAST) THE FOLLOWING COMPONENTS:
			     C	;TREE, GRAFTABL, DISKCOMP, DISKCOPY, COMP - WRITTEN OR Revised BY E.K.
			     C	
			     C	;		VALUES FOR THE MSG_DESC CONTROL BLOCK
 = 0001                      C	ONE_SUBS       EQU   1		   ;AN000;ONE VARIABLE FIELD IN MESSAGE
 = 0002                      C	TWO_SUBS       EQU   2		   ;AN000;TWO VARIABLE FIELDS IN MESSAGE
 = 0003                      C	THREE_SUBS     EQU   3		   ;AN000;THREE VARIABLE FIELDS IN MESSAGE
 =                           C	CLASS_1        EQU   EXT_ERR_CLASS ;AN000;CLASS 1 (DOS EXTENDED ERRORS)
 =                           C	CLASS_2        EQU   PARSE_ERR_CLASS ;AN000;CLASS 2 (PARSE ERRORS)
 =                           C	CLASS_A        EQU   UTILITY_MSG_CLASS ;AN000;CLASS A TYPE MESSAGE
			     C	
			     C	;THIS MESSAGE DESCRIPTOR CONTROL BLOCK IS GENERATED, ONE PER MESSAGE,
			     C	;TO DEFINE THE SEVERAL PARAMETERS THAT ARE EXPECTED TO BE PASSED IN
			     C	;CERTAIN REGISTERS WHEN THE SYSDISPMSG FUNCTION IS TO BE INVOKED.
			     C	
			     C	MSG_DESC	  STRUC 	   ;AN000;
 0000  0000                  C	MSG_NUM 	  DW	0	   ;AN000;MESSAGE NUMBER (TO AX)
 0002  0001                  C	MSG_HANDLE	  DW	STDOUT	   ;AN000;HANDLE OF OUTPUT DEVICE (TO BX)
 0004  0000                  C	MSG_SUBLIST	  DW	0	   ;AN000;POINTER TO SUBLIST (TO SI)
 0006  0000                  C	MSG_COUNT	  DW	0	   ;AN000;SUBSTITUTION COUNT (TO CX)
 0008  FF00                  C	MSG_CLASS	  DW	CLASS_A SHL 8 ;AN000;MESSAGE CLASS (IN HIGH BYTE, TO DH)
			     C					   ; LOW BYTE HAS 0 (FUNCTION "NO INPUT", TO DL)
 000A                        C	MSG_DESC	  ENDS		   ;AN000;
			     C	
			     C	;		VALUES FOR THE SUBLIST CONTROL BLOCK
 = 0000                      C	PC_ID_0        EQU   0		   ;AN000;ID OF " - " TRAILER TO MESSAGE
 = 0001                      C	PC_ID_1        EQU   1		   ;AN000;ID OF PERCENT VARIABLE FIELD
 = 0002                      C	PC_ID_2        EQU   2		   ;AN000;ID OF PERCENT VARIABLE FIELD
 = 0003                      C	PC_ID_3        EQU   3		   ;AN000;ID OF PERCENT VARIABLE FIELD
 = 0000                      C	MAX_0	       EQU   0		   ;AN000;MAXIMUM WIDTH OF STRING FIELD (0=NO LIMIT)
 = 0001                      C	MIN_1	       EQU   1		   ;AN000;MINIMUM WIDTH OF STRING FIELD
 = 0020                      C	PAD_BLK        EQU   " "           ;AN000;CHAR FOR PAD FIELD
 = 0000                      C	FILL_OFF       EQU   0		   ;AN000;TO BE REPLACED WITH ACTUAL OFFSET
 = 0000                      C	FILL_SEG       EQU   0		   ;AN000;TO BE REPLACED WITH ACTUAL SEG ID
			     C	
			     C	;THIS SUBLIST CONTROL BLOCK, POINTED TO BY SI WHEN SYSDISPMSG IS CALLED
			     C	;FURTHER DESCRIBES THE MESSAGE AND THE VARIABLE FIELDS THE MSG MAY CONTAIN.
			     C	;THERE IS ONE OF THESE CONTROL BLOCKS PER VARIABLE FIELD.  ADDITIONAL
			     C	;VARIABLE FIELDS ARE DEFINED IN ADDITIONAL "SUBLIST" CONTROL BLOCKS,
			     C	;CONSECUTIVE AND CONTIGUOUS WITH THIS ONE.  THE NUMBER OF THESE CONTROL
			     C	;BLOCKS IS THE SUBSTITUTION COUNT, PASSED IN CS TO SYSDISPMSG, AS DEFINED
			     C	;IN THE ABOVE "MSC_DESC" CONTROL BLOCK.
			     C	
			     C	SUBLIST 	  STRUC 	;AN000;
 0000  0B                    C	SUB_SIZE	  DB	11	;AN000;SUBLIST SIZE (POINTER TO NEXT SUBLIST)
 0001  00                    C	SUB_RES 	  DB	0	;AN000;RESERVED
			     C					;NEXT FIELD IS TO BE USED AS A DOUBLE WORD
 0002  0000                  C	SUB_VALUE	  DW	0	;AN000;TIME, DATE, OR PTR TO DATA ITEM
 0004  0000                  C	SUB_VALUE_SEG	  DW	0	;AN000;SEG ID OF PTR
			     C					;(ABOVE FIELD MUST BE FILLED AT EXECUTION TIME
			     C					; IF THIS IS A .COM FILE)
 0006  00                    C	SUB_ID		  DB	0	;AN000;N OF %N
 0007  00                    C	SUB_FLAGS	  DB	0	;AN000;DATA TYPE FLAGS
 0008  00                    C	SUB_MAX_WIDTH	  DB	MAX_0	;AN000;MAXIMUM FIELD WIDTH (0=UNLIMITED)
 0009  00                    C	SUB_MIN_WIDTH	  DB	0	;AN000;MINIMUM FIELD WIDTH
 000A  20                    C	SUB_PAD_CHAR	  DB	PAD_BLK ;AN000;CHARACTER FOR PAD FIELD
			     C					; CAN BE " ", "0" OR ",".
			     C					; "," CAUSES INSERTION OF THE ACTIVE
			     C					; THOUSANDS SEPARATOR BETWEEN EVERY 3 DIGITS.
 000B                        C	SUBLIST 	  ENDS		;AN000;
			     C	
			     C	;		  BITS DEFINED FOR SUB_FLAGS ABOVE
			     C	;			FORMAT = A0SSTTTT
			     C	;				 ³³ ³ ÀÄÄÄ FIELD TYPE
			     C	;				 ³³ ÀÄÄÄ DATA VARIABLE SIZE
			     C	;				 ³ÀÄÄÄ RESERVED, MUST BE ZERO
			     C	;				 ÀÄÄÄ ALIGNMENT INDICATOR
			     C	SF_BITS     RECORD F_ALIGN:1,F_RES:1=0,F_SIZE:2,F_TYPE:4;AN000;
			     C	
			     C	;		F_ALIGN FIELD, ALIGNMENT INDICATOR
 = 0000                      C	SF_LEFT 	  EQU	0	   ;AN000;LEFT ALIGN
 = 0001                      C	SF_RIGHT	  EQU	1	   ;AN000;RIGHT ALIGN
			     C	
			     C	;		F_RES FIELD, RESERVED, SHOULD BE ZERO
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-5
DOS - Message Retriever - MSGSTR.INC Module                 

 = 0000                      C	SF_CHAR 	  EQU	0000B	   ;AN000;TYPE IS CHARACTER
			     C	;		F_SIZE FIELD,
 = 0000                      C	SF_CH		  EQU	00B	   ;AN000;SINGLE CHARACTER
 = 0001                      C	SF_ASCIIZ	  EQU	01B	   ;AN000;ASCIIZ STRING
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
 = 0001                      C	SF_UN_BD	  EQU	0001B	   ;AN000;UNSIGNED BINARY TO DECIMAL CHARACTER
			     C	;		F_SIZE FIELD,
 = 0001                      C	SF_BYTE 	  EQU	01B	   ;AN000;DATA IS BYTE SIZED
 = 0002                      C	SF_WORD 	  EQU	10B	   ;AN000;DATA IS WORD SIZED
 = 0003                      C	SF_DWORD	  EQU	11B	   ;AN000;DATA IS DOUBLE WORD SIZED
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
 = 0002                      C	SF_SIN_BD	  EQU	0010B	   ;AN000;SIGNED BINARY TO DECIMAL CHARACTER
			     C	;		F_SIZE FIELD,
			     C	;SF_BYTE	  EQU	01B	   ;DATA IS BYTE SIZED
			     C	;SF_WORD	  EQU	10B	   ;DATA IS WORD SIZED
			     C	;SF_DWORD	  EQU	11B	   ;DATA IS DOUBLE WORD SIZED
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
 = 0003                      C	SF_UN_BH	  EQU	0011B	   ;AN000;UNSIGNED BINARY TO HEXADECIMAL CHARACTER
			     C	;		F_SIZE FIELD,
			     C	;SF_BYTE	  EQU	01B	   ;DATA IS BYTE SIZED
			     C	;SF_WORD	  EQU	10B	   ;DATA IS WORD SIZED
			     C	;SF_DWORD	  EQU	11B	   ;DATA IS DOUBLE WORD SIZED
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
 = 0004                      C	SF_DATE 	  EQU	0100B	   ;AN000;DATE TO CHARACTER,
			     C					   ; USING CURRENT COUNTRY FORMAT
			     C					   ;SUB_VALUE HIGH=YEAR
			     C					   ;SUB_VALUE LOW=MMDD
			     C	;		F_SIZE FIELD,
 = 0001                      C	SF_MD		  EQU	01B	   ;AN000;MONTH AND DAY ONLY
 = 0002                      C	SF_MDY2 	  EQU	10B	   ;AN000;MONTH,DAY AND YEAR (2 DIGITS)
 = 0003                      C	SF_MDY4 	  EQU	11B	   ;AN000;MONTH,DAY AND YEAR (4 DIGITS)
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
 = 0005                      C	SF_TIME_12	  EQU	0101B	   ;AN000;TIME TO CHARACTER, 12 HOUR FORMAT
			     C					   ; USING CURRENT COUNTRY FORMAT
			     C					   ;SUB_VALUE HIGH=HHMM
			     C					   ;SUB_VALUE LOW=SSHH
			     C	;		F_SIZE FIELD,
 = 0000                      C	SF_HHMM 	  EQU	00B	   ;AN000;HH:MM (ACTIVE TIME FORMAT)
 = 0001                      C	SF_HHMMSS	  EQU	01B	   ;AN000;HH:MM:SS (ACTIVE TIME FORMAT)
 = 0002                      C	SF_HHMMSSHH	  EQU	10B	   ;AN000;HH:MM:SS:HH
			     C	
			     C	;		F_TYPE FIELD, FIELD TYPE
 = 0006                      C	SF_TIME_24	  EQU	0110B	   ;AN000;TIME TO CHARACTER, 24 HOUR FORMAT
			     C					   ; USING CURRENT COUNTRY FORMAT
			     C					   ;SUB_VALUE HIGH=HHMM
			     C					   ;SUB_VALUE LOW=SSHH
			     C	;		F_SIZE FIELD,
			     C	;SF_HHMM	  EQU	00B	   ;HH:MM (ACTIVE TIME FORMAT)
			     C	;SF_HHMMSS	  EQU	01B	   ;HH:MM:SS (ACTIVE TIME FORMAT)
			     C	;SF_HHMMSSHH	  EQU	10B	   ;HH:MM:SS:HH
			     C	
			     C	;		THE NEXT GROUP ARE ALL CLASS "1" MESSAGES
			     C	
			     C		       PUBLIC MSGNUM_EXTERR;AN000;
 0000  0000                  C	MSGNUM_EXTERR  MSG_DESC <,STDERR,,,CLASS_1 SHL 8> ;AN000;ALL EXTENDED DOS ERRORS
 0002  0200                  C	
 0004  0000                  C	
 0006  0000                  C	
 0008  0001                  C	
			     C	
			     C					   ;ERROR NUMBER WILL NEED TO BE FILLED IN
			     C	
			     C	;		THE NEXT GROUP ARE ALL CLASS "2" MESSAGES
			     C	
			     C		       PUBLIC MSGNUM_PARSE ;AN000;SO PARSE DRIVER CAN FIND IT
 000A  0000                  C	MSGNUM_PARSE   MSG_DESC <,STDERR,,,CLASS_2 SHL 8> ;AN000;ALL PARSING ERRORS
 000C  0200                  C	
 000E  0000                  C	
 0010  0000                  C	
 0012  0002                  C	
			     C	
			     C					   ;ERROR NUMBER WILL NEED TO BE FILLED IN
			     C	
			     C	;		THE NEXT GROUP ARE ALL CLASS "A" MESSAGES
			     C	;		THESE ARE THE "CANNED" MESSAGES ALWAYS PRESENT
			     C	
			     C		       PUBLIC MSGNUM_VER   ;AN000;
 0014  0100                  C	MSGNUM_VER     MSG_DESC <1,STDERR> ;AN000;"Incorrect DOS Version"
 0016  0200                  C	
 0018  0000                  C	
 001A  0000                  C	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-6
DOS - Message Retriever - MSGSTR.INC Module                 

 001C  00FF                  C	
			     C	
			     C	;end of MSGHAN.INC
					INCLUDE TREEMS.INC		;AN000;DEFINE THE MESSAGES, AND CONTROL BLOCKS
			     C	;:util TREE			 ;utility name
			     C	;:class 1			 ;DOS extended errors
			     C	;:class 2			 ;parse errors:
			     C	;1  Too many parameters
			     C	;2  Required parameter missing
			     C	;3  Invalid switch
			     C	;4  Invalid keyword
			     C	;5  Parameter value not in allowed range
			     C	;6  Parameter value not allowed    [parse ret codes 6 and 7]
			     C	;7   (undefined)
			     C	;8  Parameter format not correct
			     C	;9   (undefined)
			     C	;10 Invalid parameter		   [no corresponding parse ret code]
			     C	;11 Invalid parameter combination  [no corresponding parse ret code]
			     C	;;
			     C	;:class A			 ;system messages
			     C	;:use 1 COMMON1 	 ;MSG 1 is always "Incorrect DOS version"
			     C	;
			     C	;:def 2 "Directory PATH listing for Volume %1",CR,LF  ;define message
			     C	;:def 3 "Directory PATH listing",CR,LF
			     C	;:def 4 "No sub-directories exist",CR,LF,LF
			     C	;:use 5 COMMON25	 ;"Invalid path"
			     C	;:use 6 COMMON36	 ;"Volume Serial Number is %1-%2",CR,LF
			     C	;:def 7 "ÀÄÃ³"            ;"elbo","dash","tee","bar"
			     C	;;	 1. NONE OF THE FOUR CAN BE BLANK
			     C	;;	 2. EACH OF THE FOUR MUST BE UNIQUE
			     C	;;	 3. EACH CHAR MUST BE A SINGLE BYTE (NO DBCS)
			     C	;:end
 = 0030                      C	PAD_0	EQU    "0"                 ;AN001;NUMERIC PAD CHARACTER
			     C	
 001E  0B                    C	SUBLIST_PARSE  SUBLIST <,,FILL_OFF,FILL_SEG,PC_ID_0,SF_BITS <SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,MIN_1
				,PAD_BLK> ;AN004;
 001F  00                    C	
 0020  0000                  C	
 0022  0000                  C	
 0024  00                    C	
 0025  10                    C	
 0026  00                    C	
 0027  01                    C	
 0028  20                    C	
			     C	
			     C		PUBLIC SUBLIST_PARSE	   ;AN004;
			     C	
			     C	;		THE NEXT GROUP ARE ADDITIONAL CLASS "A" MESSAGES
			     C	;		SPECIFICALLY DEFINED FOR THE TREE UTILITY
			     C	
 0029  0200                  C	MSGNUM_VOL     MSG_DESC <2,,SUBLIST_VOL,ONE_SUBS> ;AN000;"Directory PATH listing for Volume %1"
 002B  0100                  C	
 002D  0033 R                C	
 002F  0100                  C	
 0031  00FF                  C	
			     C	
			     C		PUBLIC MSGNUM_VOL	   ;AN000;
			     C	
			     C		EXTRN FIX_DTA_FILN:BYTE    ;AN000;ASCIIZ OF VOLUME LABEL STRING
 0033  0B                    C	SUBLIST_VOL    SUBLIST <,,FIX_DTA_FILN,FILL_SEG,PC_ID_1,SF_BITS <SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,M
				IN_1,PAD_BLK> ;AN000;
 0034  00                    C	
 0035  0000 E                C	
 0037  0000                  C	
 0039  01                    C	
 003A  10                    C	
 003B  00                    C	
 003C  01                    C	
 003D  20                    C	
			     C	
			     C		PUBLIC SUBLIST_VOL	   ;AN000;
			     C	; = = = = = = = = = = = = = = = =
 003E  0300                  C	MSGNUM_LIST    MSG_DESC <3>	   ;AN000;"Directory PATH listing"
 0040  0100                  C	
 0042  0000                  C	
 0044  0000                  C	
 0046  00FF                  C	
			     C	
			     C		PUBLIC MSGNUM_LIST	   ;AN000;
			     C	; = = = = = = = = = = = = = = = =
 0048  0400                  C	MSGNUM_NOSUB   MSG_DESC <4>	   ;AN000;"No sub-directories exist"
 004A  0100                  C	
 004C  0000                  C	
 004E  0000                  C	
 0050  00FF                  C	
			     C	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-7
DOS - Message Retriever - MSGSTR.INC Module                 

			     C		PUBLIC MSGNUM_NOSUB	   ;AN000;
			     C	; = = = = = = = = = = = = = = = =
 0052  0500                  C	MSGNUM_INVPATH MSG_DESC <5,STDERR,SUBLIST_INVPATH,ONE_SUBS> ;AC014;"Invalid path"
 0054  0200                  C	
 0056  005C R                C	
 0058  0100                  C	
 005A  00FF                  C	
			     C	
			     C		PUBLIC MSGNUM_INVPATH	   ;AN000;
			     C	
			     C		EXTRN START_PATH:BYTE	   ;AN014;
 005C  0B                    C	SUBLIST_INVPATH SUBLIST <,,START_PATH,FILL_SEG,PC_ID_0,SF_BITS <SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,MI
				N_1,PAD_BLK> ;AN014;
 005D  00                    C	
 005E  0000 E                C	
 0060  0000                  C	
 0062  00                    C	
 0063  10                    C	
 0064  00                    C	
 0065  01                    C	
 0066  20                    C	
			     C	
			     C		PUBLIC SUBLIST_INVPATH
			     C	; = = = = = = = = = = = = = = = =
 0067  0600                  C	MSGNUM_SERNO   MSG_DESC <6,,SUBLIST_6A,TWO_SUBS> ;AN001;"Volume Serial Number is %1-%2",CR,LF
 0069  0100                  C	
 006B  0071 R                C	
 006D  0200                  C	
 006F  00FF                  C	
			     C	
			     C		PUBLIC MSGNUM_SERNO	   ;AN001;
 0071  0B                    C	SUBLIST_6A     SUBLIST <,,FILL_OFF,FILL_SEG,PC_ID_1,SF_BITS<SF_RIGHT,,SF_WORD,SF_UN_BH>,DWORD,DWORD,
				PAD_0> ;AN001;
 0072  00                    C	
 0073  0000                  C	
 0075  0000                  C	
 0077  01                    C	
 0078  A3                    C	
 0079  04                    C	
 007A  04                    C	
 007B  30                    C	
			     C	
 007C  0B                    C	SUBLIST_6B     SUBLIST <,,FILL_OFF,FILL_SEG,PC_ID_2,SF_BITS<SF_RIGHT,,SF_WORD,SF_UN_BH>,DWORD,DWORD,
				PAD_0> ;AN001;
 007D  00                    C	
 007E  0000                  C	
 0080  0000                  C	
 0082  02                    C	
 0083  A3                    C	
 0084  04                    C	
 0085  04                    C	
 0086  30                    C	
			     C	
			     C		       PUBLIC SUBLIST_6A,SUBLIST_6B ;AN001;
			     C	; = = = = = = = = = = = = = = = =
			     C	;NOTE: THERE IS NO "MSG_DESC" FOR MESSAGE 7, SINCE THIS IS NEVER DISPLAYED
			     C	;AS A MESSAGE, BUT IS REFERENCED ONLY BY SYSGETMSG.
			     C	; = = = = = = = = = = = = = = = =
			     C	;END OF TREEMS.INC
					MSG_SERVICES <TREE.CLA,TREE.CL1,TREE.CL2> ;AN000;MESSAGE TEXTS
 0087                        C3	$M_CLASS_A_STRUC LABEL BYTE
 0087  FF                    C3	        $M_CLASS_ID <0FFH,EXPECTED_VERSION,Class_A_MessageCount>
 0088  0400                  C3	
 008A  07                    C3	
 008B                        C3	$M_A_00001H_STRUC LABEL BYTE
 008B  0100                  C3	        $M_ID   <00001H,$M_A_00001H_MSG-$M_A_00001H_STRUC>
 008D  1C00                  C3	
 008F                        C3	$M_A_00002H_STRUC LABEL BYTE
 008F  0200                  C3	        $M_ID   <00002H,$M_A_00002H_MSG-$M_A_00002H_STRUC>
 0091  3000                  C3	
 0093                        C3	$M_A_00003H_STRUC LABEL BYTE
 0093  0300                  C3	        $M_ID   <00003H,$M_A_00003H_MSG-$M_A_00003H_STRUC>
 0095  5300                  C3	
 0097                        C3	$M_A_00004H_STRUC LABEL BYTE
 0097  0400                  C3	        $M_ID   <00004H,$M_A_00004H_MSG-$M_A_00004H_STRUC>
 0099  6800                  C3	
 009B                        C3	$M_A_00005H_STRUC LABEL BYTE
 009B  0500                  C3	        $M_ID   <00005H,$M_A_00005H_MSG-$M_A_00005H_STRUC>
 009D  8000                  C3	
 009F                        C3	$M_A_00006H_STRUC LABEL BYTE
 009F  0600                  C3	        $M_ID   <00006H,$M_A_00006H_MSG-$M_A_00006H_STRUC>
 00A1  8B00                  C3	
 00A3                        C3	$M_A_00007H_STRUC LABEL BYTE
 00A3  0700                  C3	        $M_ID   <00007H,$M_A_00007H_MSG-$M_A_00007H_STRUC>
 00A5  A700                  C3	
 00A7                        C3	$M_A_00001H_MSG LABEL BYTE
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-8
DOS - Message Retriever - MSGSTR.INC Module                 

 00A7  17                    C3	        DB      $M_A_00001H_END-$M_A_00001H_MSG-1
 00A8  49 6E 63 6F 72 72     C3	        DB      "Incorrect DOS version",CR,LF
 00BF                        C3	$M_A_00001H_END LABEL BYTE
 00BF                        C3	$M_A_00002H_MSG LABEL BYTE
 00BF  26                    C3	        DB      $M_A_00002H_END-$M_A_00002H_MSG-1
 00C0  44 69 72 65 63 74     C3	        DB      "Directory PATH listing for Volume %1",CR,LF
 00E6                        C3	$M_A_00002H_END LABEL BYTE
 00E6                        C3	$M_A_00003H_MSG LABEL BYTE
 00E6  18                    C3	        DB      $M_A_00003H_END-$M_A_00003H_MSG-1
 00E7  44 69 72 65 63 74     C3	        DB      "Directory PATH listing",CR,LF
 00FF                        C3	$M_A_00003H_END LABEL BYTE
 00FF                        C3	$M_A_00004H_MSG LABEL BYTE
 00FF  1B                    C3	        DB      $M_A_00004H_END-$M_A_00004H_MSG-1
 0100  4E 6F 20 73 75 62     C3	        DB      "No sub-directories exist",CR,LF,LF
 011B                        C3	$M_A_00004H_END LABEL BYTE
 011B                        C3	$M_A_00005H_MSG LABEL BYTE
 011B  0E                    C3	        DB      $M_A_00005H_END-$M_A_00005H_MSG-1
 011C  49 6E 76 61 6C 69     C3	        DB      "Invalid path",CR,LF
 012A                        C3	$M_A_00005H_END LABEL BYTE
 012A                        C3	$M_A_00006H_MSG LABEL BYTE
 012A  1F                    C3	        DB      $M_A_00006H_END-$M_A_00006H_MSG-1
 012B  56 6F 6C 75 6D 65     C3	        DB      "Volume Serial Number is %1-%2",CR,LF
 014A                        C3	$M_A_00006H_END LABEL BYTE
 014A                        C3	$M_A_00007H_MSG LABEL BYTE
 014A  04                    C3	        DB      $M_A_00007H_END-$M_A_00007H_MSG-1
 014B  C0 C4 C3 B3           C3	        DB      "ÀÄÃ³"
 014F                        C3	$M_A_00007H_END LABEL BYTE
 014F                        C3	$M_CLS_1 PROC NEAR
 014F  0E                    C3	        PUSH    CS
 0150  07                    C3	        POP     ES
 0151  8D 3E 0087 R          C3	        LEA     DI,$M_CLASS_A_STRUC
 0155  81 C1 00CE            C3	        ADD     CX,$-$M_CLASS_A_STRUC
 0159  C3                    C3	        RET
 015A                        C3	$M_CLS_1 ENDP
 015A                        C3	$M_CLASS_1_STRUC LABEL BYTE
 015A  01                    C3	        $M_CLASS_ID <001H,EXPECTED_VERSION,Class_1_MessageCount>
 015B  0400                  C3	
 015D  01                    C3	
 015E                        C3	$M_1_FF_STRUC LABEL BYTE
 015E  FFFF                  C3	        $M_ID <0FFFFH,$M_1_FF_MSG-$M_1_FF_STRUC>
 0160  0400                  C3	
 0162                        C3	$M_1_FF_MSG LABEL BYTE
 0162  11                    C3	        DB      $M_1_FF_END-$M_1_FF_MSG-1
 0163  45 78 74 65 6E 64     C3	        DB      "Extended Error %1"
 0174                        C3	$M_1_FF_END LABEL BYTE
 0174                        C3	$M_MSGSERV_1 PROC NEAR
 0174  0E                    C3	        PUSH    CS
 0175  07                    C3	        POP     ES
 0176  8D 3E 015A R          C3	        LEA     DI,$M_CLASS_1_STRUC
 017A  83 C1 20              C3	        ADD     CX,$-$M_CLASS_1_STRUC
 017D  C3                    C3	        RET
 017E                        C3	$M_MSGSERV_1 Endp
 017E                        C3	$M_CLASS_2_STRUC LABEL BYTE
 017E  02                    C3	        $M_CLASS_ID <002H,EXPECTED_VERSION,Class_2_MessageCount>
 017F  0400                  C3	
 0181  01                    C3	
 0182                        C3	$M_2_FF_STRUC LABEL BYTE
 0182  FFFF                  C3	        $M_ID <0FFFFH,$M_2_FF_MSG-$M_2_FF_STRUC>
 0184  0400                  C3	
 0186                        C3	$M_2_FF_MSG LABEL BYTE
 0186  0E                    C3	        DB      $M_2_FF_END-$M_2_FF_MSG-1
 0187  50 61 72 73 65 20     C3	        DB      "Parse Error %1"
 0195                        C3	$M_2_FF_END LABEL BYTE
 0195                        C3	$M_MSGSERV_2 PROC NEAR
 0195  0E                    C3	        PUSH    CS
 0196  07                    C3	        POP     ES
 0197  8D 3E 017E R          C3	        LEA     DI,$M_CLASS_2_STRUC
 019B  83 C1 1D              C3	        ADD     CX,$-$M_CLASS_2_STRUC
 019E  C3                    C3	        RET
 019F                        C3	$M_MSGSERV_2 Endp
					MSG_SERVICES <MSGDATA>		;AN000;SYS MSG HANDLER WORKAREAS
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-9
DOS - Message Retriever - MSGRES.TAB Module                 

 019F                        C1	      $M_RT   LABEL   BYTE				     ;;AN000;;
 019F  00000000              C1	      $M_RES_ADDRS <>					     ;;AN000;; Resident addresses
 01A3  00000000              C1	
 01A7  00000000              C1	
 01AB  FFFFFFFF              C1	
 01AF  00000000              C1	
 01B3  00000000              C1	
 01B7  FFFFFFFF              C1	
 01BB  00000000              C1	
 01BF  00000000              C1	
 01C3  FFFFFFFF              C1	
 01C7  FFFFFFFF              C1	
 01CB  00000000              C1	
 01CF  FFFFFFFF              C1	
 01D3  00000000              C1	
 01D7  0000                  C1	
 01D9  00                    C1	
 01DA  0001[                 C1	
 01DC  00                    C1	
 01DD  0000                  C1	
 01DF  0000                  C1	
 01E1  0A00                  C1	
 01E3  0040[                 C1	
 0223  24                    C1	
 0224  4D 53 20 44 4F 53     C1		DB	"MS DOS Version 4.00 (C)Copyright 1988 Microsoft Corp"
 0258  4C 69 63 65 6E 73     C1		DB	"Licensed Material - Property of Microsoft  "
				; =  =	=  =  =  =  =  =  =  =	=  =
					PUBLIC	SYSLOADMSG		;AN000;
					PUBLIC	SYSDISPMSG		;AN000;
					PUBLIC	SYSGETMSG		;AN002;
				;	INCLUDE COPYRIGH.INC		;TO BE INCLUDED BY THE MSG_SERVICES	;AN011;
					PATHLABL TREESYSM		;AN013;
 0283                        1	    $$A_START_TREESYSM:                    ; 
									;DEFAULT=CHECK DOS VERSION
									;DEFAULT=NEARmsg
									;DEFAULT=NO INPUTmsg
									;DEFAULT=NO TIMEmsg
									;DEFAULT=NO DATEmsg
				;	MSG_SERVICES <LOADmsg,DISPLAYmsg,GETmsg,CHARmsg,NUMmsg> 		       ;AN027;
				.list					;AN000;
				; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
					PATHLABL TREESYSM		;AN013;
 097B                        1	    $$A_STOP_TREESYSM:                     ; 
 = 097B				LAST_BYTE EQU	$			;AN000;START OF AREA AVAIL FOR STACK
					PUBLIC	LAST_BYTE		;AN000;
				
				include msgdcl.inc
			     C	; This Macro was removed from sysmsg.inc. We had to remove this
			     C	; macro and put it into it's own include file in order to clear up
			     C	; some assembly errors. MS MASM will not allow a public declaration
			     C	; during the second pass of the assembler. IBM MASM will allow this.
			     C	;
			     C	;
			     C	;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C	;;	$M_DECLARE	     Macro
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C					       ;
			     C	$M_DECLARE    macro	numcls	       ;
			     C	   $M_DCOUNT = 0		       ;
			     C	   REPT  numcls 		       ;
			     C	     $M_DCOUNT =  $M_DCOUNT + 1        ;
			     C	     $M_DECLARE2  %$M_DCOUNT	       ;
			     C	   ENDM 			       ;
			     C	
			     C	  IF COMR
			     C	    IFNDEF $M_RT2			;  If Resident table is not in this assembly,
			     C		EXTRN	$M_RT2:BYTE		;     Must be external
			     C	    ELSE
			     C		PUBLIC	$M_RT2
			     C	    ENDIF				;
			     C	  ELSE
			     C	    IFNDEF $M_RT			;  If Resident table is not in this assembly,
			     C		EXTRN	$M_RT:BYTE		;     Must be external
			     C	    ELSE
			     C		PUBLIC	$M_RT
			     C	    ENDIF				;
			     C	  ENDIF
			     C	
			     C	  $M_CHECK $M_GET_MSG_ADDRESS	      ;  If this subroutine is not in this assembly,
			     C	  $M_CHECK $M_MSGSERV_1 	      ;  If this subroutine is not in this assembly,
			     C	  $M_CHECK $M_MSGSERV_2 	      ;  If this subroutine is not in this assembly,
			     C	
			     C	ENDM				       ;
			     C					       ;
			     C	$M_DECLARE2   macro   innum	       ;
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;APage     1-10
DOS - Message Retriever - DISPMSG.ASM Module                

			     C	  IF NOT COMR			       ; IF Not resident COMMAND.COM
			     C	    IF NOT COMT 			 ; IF Not transient COMMAND.COM
			     C	      IFNDEF  $M_CLS_&innum		 ; IF class is not in this assembly,
			     C		IF	FARmsg			 ;
			     C		  EXTRN   $M_CLS_&innum:FAR	 ;    Must be external
			     C		ELSE				 ;
			     C		  EXTRN   $M_CLS_&innum:NEAR	 ;    Must be external
			     C		ENDIF				 ;
			     C	      ELSE				 ; ELSE
			     C		PUBLIC	$M_CLS_&innum		 ;    Label PUBLIC
			     C	      ENDIF				 ;
			     C	    ELSE				 ; ELSE
			     C	      IFDIF  <$M_CLS_&innum>,<$M_CLS_1>  ; IF NOT $M_CLS_1 or
			     C		IFDIF <$M_CLS_&innum>,<$M_CLS_2> ;   IF NOT $M_CLS_2 then
			     C		  IFNDEF  $M_CLS_&innum 	 ;     IF class is not in this assembly,
			     C		    IF	    FARmsg		 ;
			     C		      EXTRN   $M_CLS_&innum:FAR  ;	 Must be external
			     C		    ELSE			 ;
			     C		      EXTRN   $M_CLS_&innum:NEAR ;	 Must be external
			     C		    ENDIF			 ;
			     C		  ELSE				 ;     ELSE
			     C		    PUBLIC  $M_CLS_&innum	 ;	 Label PUBLIC
			     C		  ENDIF 			 ;
			     C		ENDIF				 ;
			     C	      ENDIF				 ;
			     C	    ENDIF				 ;
			     C	  ELSE					 ; ELSE
			     C	    IFDIF  <$M_CLS_&innum>,<$M_CLS_1>	 ; IF NOT $M_CLS_1 or
			     C	      IFDIF <$M_CLS_&innum>,<$M_CLS_2>	 ;   IF NOT $M_CLS_2 then
			     C		IFNDEF	$M_CLS_&innum		 ;     IF class is not in this assembly,
			     C		  IF	  FARmsg		 ;
			     C		    EXTRN   $M_CLS_&innum:FAR	 ;	 Must be external
			     C		  ELSE				 ;
			     C		    EXTRN   $M_CLS_&innum:NEAR	 ;	 Must be external
			     C		  ENDIF 			 ;
			     C		ELSE				 ;     ELSE
			     C		  PUBLIC  $M_CLS_&innum 	 ;	 Label PUBLIC
			     C		ENDIF				 ;
			     C	      ENDIF				 ;
			     C	    ENDIF				 ;
			     C	  ENDIF 			       ;
			     C	ENDM				       ;
			     C					       ;
			     C	$M_CHECK      macro   parm	       ;
			     C	  IFNDEF  parm			       ; IF class is not in this assembly,
			     C	    IF	    FARmsg		       ;
			     C	      EXTRN   parm:FAR		       ;    Must be external
			     C	    ELSE			       ;
			     C	      EXTRN   parm:NEAR 	       ;    Must be external
			     C	    ENDIF			       ;
			     C	  ELSE
			     C	    IF COMR
			     C	    ELSE
			     C	      PUBLIC parm
			     C	    ENDIF
			     C	  ENDIF 			       ;
			     C	ENDM				       ;
			     C					       ;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C	;;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C					       ;
			     C					       ;
			     C	;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
			     C	
			     C	
				
 097B				CSEG	ENDS				;AN000;
					END				;AN000;

Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-1


Macros:

		N a m e			Lines

$M_BUILD_PTRS  . . . . . . . . .  	  18
$M_CHECK . . . . . . . . . . . .  	  12
$M_DECLARE . . . . . . . . . . .  	  21
$M_DECLARE2  . . . . . . . . . .  	  41
$M_INC . . . . . . . . . . . . .  	   3
$M_MAKE  . . . . . . . . . . . .  	  10
$M_MAKE_COMR . . . . . . . . . .  	  21
$M_MAKE_COMT . . . . . . . . . .  	   5
$M_POPF  . . . . . . . . . . . .  	   5
MSG_SERVICES . . . . . . . . . .  	  34
MSG_SERVICES2  . . . . . . . . .  	  14
MSG_UTILNAME . . . . . . . . . .  	   5
PATHLABL . . . . . . . . . . . .  	  16

Structures and Records:

                N a m e                 Width   # fields
                                        Shift   Width   Mask    Initial

$M_CLASS_ID  . . . . . . . . . .  	0004	0003
  $M_CLS_ID  . . . . . . . . . .  	0000
  $M_COMMAND_VER . . . . . . . .  	0001
  $M_NUM_CLS_MSG . . . . . . . .  	0003
$M_COUNTRY_INFO  . . . . . . . .  	0056	000A
  $M_HEADER  . . . . . . . . . .  	0000
  $M_DATE_FORMAT . . . . . . . .  	0044
  $M_CURR_SEPARA . . . . . . . .  	0046
  $M_THOU_SEPARA . . . . . . . .  	004B
  $M_DECI_SEPARA . . . . . . . .  	004D
  $M_DATE_SEPARA . . . . . . . .  	004F
  $M_TIME_SEPARA . . . . . . . .  	0051
  $M_CURR_FORMAT . . . . . . . .  	0053
  $M_SIG_DIGS_CU . . . . . . . .  	0054
  $M_TIME_FORMAT . . . . . . . .  	0055
$M_ID  . . . . . . . . . . . . .  	0004	0002
  $M_NUM . . . . . . . . . . . .  	0000
  $M_TXT_PTR . . . . . . . . . .  	0002
$M_RES_ADDRS . . . . . . . . . .  	0085	0017
  $M_EXT_ERR_ADDRS . . . . . . .  	0000
  $M_EXT_FILE  . . . . . . . . .  	0004
  $M_EXT_COMMAND . . . . . . . .  	0008
  $M_EXT_TERM  . . . . . . . . .  	000C
  $M_PARSE_COMMAND . . . . . . .  	0010
  $M_PARSE_ADDRS . . . . . . . .  	0014
  $M_PARSE_TERM  . . . . . . . .  	0018
  $M_CRIT_ADDRS  . . . . . . . .  	001C
  $M_CRIT_COMMAND  . . . . . . .  	0020
  $M_CRIT_TERM . . . . . . . . .  	0024
  $M_DISK_PROC_ADDR  . . . . . .  	0028
  $M_CLASS_ADDRS . . . . . . . .  	002C
  $M_CLS_TERM  . . . . . . . . .  	0030
  $M_DBCS_VEC  . . . . . . . . .  	0034
  $M_HANDLE  . . . . . . . . . .  	0038
  $M_SIZE  . . . . . . . . . . .  	003A
  $M_CRLF  . . . . . . . . . . .  	003B
  $M_CLASS . . . . . . . . . . .  	003D
  $M_RETURN_ADDR . . . . . . . .  	003E
  $M_MSG_NUM . . . . . . . . . .  	0040
  $M_DIVISOR . . . . . . . . . .  	0042
  $M_TEMP_BUF  . . . . . . . . .  	0044
  $M_BUF_TERM  . . . . . . . . .  	0084
$M_SUBLIST_STRUC . . . . . . . .  	000B	0008
  $M_S_SIZE  . . . . . . . . . .  	0000
  $M_S_RESV  . . . . . . . . . .  	0001
  $M_S_VALUE . . . . . . . . . .  	0002
  $M_S_ID  . . . . . . . . . . .  	0006
  $M_S_FLAG  . . . . . . . . . .  	0007
  $M_S_MAXW  . . . . . . . . . .  	0008
  $M_S_MINW  . . . . . . . . . .  	0009
  $M_S_PAD . . . . . . . . . . .  	000A
MSG_DESC . . . . . . . . . . . .  	000A	0005
  MSG_NUM  . . . . . . . . . . .  	0000
  MSG_HANDLE . . . . . . . . . .  	0002
  MSG_SUBLIST  . . . . . . . . .  	0004
  MSG_COUNT  . . . . . . . . . .  	0006
  MSG_CLASS  . . . . . . . . . .  	0008
SF_BITS  . . . . . . . . . . . .  	0008	0004
  F_ALIGN  . . . . . . . . . . .  	0007	0001	0080	0000
  F_RES  . . . . . . . . . . . .  	0006	0001	0040	0000
  F_SIZE . . . . . . . . . . . .  	0004	0002	0030	0000
  F_TYPE . . . . . . . . . . . .  	0000	0004	000F	0000
SUBLIST  . . . . . . . . . . . .  	000B	0009
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-2


  SUB_SIZE . . . . . . . . . . .  	0000
  SUB_RES  . . . . . . . . . . .  	0001
  SUB_VALUE  . . . . . . . . . .  	0002
  SUB_VALUE_SEG  . . . . . . . .  	0004
  SUB_ID . . . . . . . . . . . .  	0006
  SUB_FLAGS  . . . . . . . . . .  	0007
  SUB_MAX_WIDTH  . . . . . . . .  	0008
  SUB_MIN_WIDTH  . . . . . . . .  	0009
  SUB_PAD_CHAR . . . . . . . . .  	000A

Segments and Groups:

                N a m e         	Length	 Align	Combine Class

CSEG . . . . . . . . . . . . . .  	097B	PARA	PUBLIC	'CODE'

Symbols:            

                N a m e         	Type	 Value	 Attr

ACTION_39  . . . . . . . . . . .  	NUMBER	0004	
ALT_EXPECTED_VERSION . . . . . .  	NUMBER	1A05	
ALT_GOOD_DOS . . . . . . . . . .  	L NEAR	03CE	CSEG
ALT_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
ALT_MINOR_VERSION  . . . . . . .  	NUMBER	001A	
AMIS_ID  . . . . . . . . . . . .  	L NEAR	0294	CSEG
AMIS_ID_MSG  . . . . . . . . . .  	L NEAR	0299	CSEG
AMIS_ID_MSG_END  . . . . . . . .  	L NEAR	029D	CSEG
amis_sign  . . . . . . . . . . .  	L NEAR	0284	CSEG	Global
AMIS_SIGN_SEGMENT  . . . . . . .  	ALIAS	 CSEG		

BELL . . . . . . . . . . . . . .  	NUMBER	0007	
BIN_HEX_BYTE . . . . . . . . . .  	NUMBER	0013	
BIN_HEX_DWORD  . . . . . . . . .  	NUMBER	0033	
BIN_HEX_TYPE . . . . . . . . . .  	NUMBER	0003	
BIN_HEX_WORD . . . . . . . . . .  	NUMBER	0023	

CHARMSG  . . . . . . . . . . . .  	NUMBER	FFFF	
CHAR_FIELD_ASCIIZ  . . . . . . .  	NUMBER	0010	
CHAR_FIELD_CHAR  . . . . . . . .  	NUMBER	0000	
CHAR_TYPE  . . . . . . . . . . .  	NUMBER	0000	
CHECK_AMIS . . . . . . . . . . .  	L NEAR	0372	CSEG
CHECK_AMIS_DONE  . . . . . . . .  	L NEAR	03A9	CSEG
CHECK_AMIS_LOOP  . . . . . . . .  	L NEAR	037B	CSEG
CHECK_AMIS_NEXT  . . . . . . . .  	L NEAR	03A4	CSEG
CHECK_AMIS_UNSUP . . . . . . . .  	L NEAR	03A8	CSEG
CLASS_1  . . . . . . . . . . . .  	ALIAS	 EXT_ERR_CLASS		
CLASS_1_MESSAGECOUNT . . . . . .  	NUMBER	0001	
CLASS_2  . . . . . . . . . . . .  	ALIAS	 PARSE_ERR_CLASS		
CLASS_2_MESSAGECOUNT . . . . . .  	NUMBER	0001	
CLASS_A  . . . . . . . . . . . .  	ALIAS	 UTILITY_MSG_CLASS		
CLASS_A_MESSAGECOUNT . . . . . .  	NUMBER	0007	
COLON  . . . . . . . . . . . . .  	NUMBER	003A	
COMR . . . . . . . . . . . . . .  	NUMBER	0000	
COMT . . . . . . . . . . . . . .  	NUMBER	0000	
CR . . . . . . . . . . . . . . .  	NUMBER	000D	

DATEMSG  . . . . . . . . . . . .  	NUMBER	0000	
DATE_MD  . . . . . . . . . . . .  	NUMBER	0014	
DATE_MDY_2 . . . . . . . . . . .  	NUMBER	0024	
DATE_MDY_4 . . . . . . . . . . .  	NUMBER	0034	
DATE_TYPE  . . . . . . . . . . .  	NUMBER	0004	
DISK_PROC  . . . . . . . . . . .  	NUMBER	0000	
DISPLAYMSG . . . . . . . . . . .  	NUMBER	0000	
DOS_BUF_KEYB_INP . . . . . . . .  	NUMBER	000A	
DOS_CLOSE_FILE . . . . . . . . .  	NUMBER	003E	
DOS_CLR_KEYB_BUF . . . . . . . .  	NUMBER	000C	
DOS_CLR_KEYB_BUF_MASK  . . . . .  	NUMBER	00C0	
DOS_CON_INP  . . . . . . . . . .  	NUMBER	0008	
DOS_DIR_CON_INP  . . . . . . . .  	NUMBER	0007	
DOS_DISP_CHAR  . . . . . . . . .  	NUMBER	0002	
DOS_DISP_STRING  . . . . . . . .  	NUMBER	0009	
DOS_EXTENDED_OPEN  . . . . . . .  	NUMBER	6C00	
DOS_GET_ADDR . . . . . . . . . .  	NUMBER	0008	
DOS_GET_COUNTRY  . . . . . . . .  	NUMBER	0038	
DOS_GET_CRITICAL . . . . . . . .  	NUMBER	0004	
DOS_GET_DBCS_INFO  . . . . . . .  	NUMBER	6300	
DOS_GET_EXTENDED . . . . . . . .  	NUMBER	0000	
DOS_GET_EXT_ERROR  . . . . . . .  	NUMBER	0059	
DOS_GET_EXT_ERROR_BX . . . . . .  	NUMBER	0000	
DOS_GET_EXT_PARSE_ADD  . . . . .  	NUMBER	122E	
DOS_GET_FILE . . . . . . . . . .  	NUMBER	0006	
DOS_GET_PARSE  . . . . . . . . .  	NUMBER	0002	
DOS_GET_VERSION  . . . . . . . .  	NUMBER	0030	
DOS_IOCTL_GET_INFO . . . . . . .  	NUMBER	4400	
DOS_IOCTL_SET_INFO . . . . . . .  	NUMBER	4401	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-3


DOS_KEYB_INP . . . . . . . . . .  	NUMBER	0001	
DOS_LSEEK_FILE . . . . . . . . .  	NUMBER	4200	
DOS_READ_BYTE  . . . . . . . . .  	NUMBER	003F	
DOS_SET_ADDR . . . . . . . . . .  	NUMBER	0009	
DOS_WRITE_HANDLE . . . . . . . .  	NUMBER	0040	

ERROR_CLASS_39 . . . . . . . . .  	NUMBER	0001	
EXPECTED_VERSION . . . . . . . .  	NUMBER	0004	
EXT_ERR_39 . . . . . . . . . . .  	NUMBER	0027	
EXT_ERR_CLASS  . . . . . . . . .  	NUMBER	0001	

FALSE  . . . . . . . . . . . . .  	NUMBER	0000	
FARMSG . . . . . . . . . . . . .  	NUMBER	0000	
FILL_OFF . . . . . . . . . . . .  	NUMBER	0000	
FILL_SEG . . . . . . . . . . . .  	NUMBER	0000	
FIX_DTA_FILN . . . . . . . . . .  	V BYTE	0000	CSEG	External
FORMFD . . . . . . . . . . . . .  	NUMBER	000C	
F_ALIGN  . . . . . . . . . . . .  		0007	
F_RES  . . . . . . . . . . . . .  		0006	
F_SIZE . . . . . . . . . . . . .  		0004	
F_TYPE . . . . . . . . . . . . .  		0000	

GETMSG . . . . . . . . . . . . .  	NUMBER	0000	

HOME . . . . . . . . . . . . . .  	NUMBER	000B	

IFSFUNC_INSTALLED  . . . . . . .  	NUMBER	00FF	
IFSFUNC_INSTALL_CHECK  . . . . .  	NUMBER	0500	
IFS_GET_ERR_TEXT . . . . . . . .  	NUMBER	0502	
INPUTMSG . . . . . . . . . . . .  	NUMBER	0000	

LAST_BYTE  . . . . . . . . . . .  	NEAR	097B	CSEG	Global
LBL_TREESYSM . . . . . . . . . .  	NUMBER	0004	
LEFT_ALIGN . . . . . . . . . . .  	NUMBER	0000	
LF . . . . . . . . . . . . . . .  	NUMBER	000A	
LOADMSG  . . . . . . . . . . . .  	NUMBER	0000	
LOCUS_39 . . . . . . . . . . . .  	NUMBER	0001	
LOWEST_4CH_VERSION . . . . . . .  	NUMBER	0002	
LOW_NIB_MASK . . . . . . . . . .  	NUMBER	000F	

MAJOR_VERSION  . . . . . . . . .  	NUMBER	0004	
MAX_0  . . . . . . . . . . . . .  	NUMBER	0000	
MINOR_VERSION  . . . . . . . . .  	NUMBER	0000	
MIN_1  . . . . . . . . . . . . .  	NUMBER	0001	
MSGDATA  . . . . . . . . . . . .  	NUMBER	0000	
MSGNUM_EXTERR  . . . . . . . . .  	L TBYTE	0000	CSEG	Global
MSGNUM_INVPATH . . . . . . . . .  	L TBYTE	0052	CSEG	Global
MSGNUM_LIST  . . . . . . . . . .  	L TBYTE	003E	CSEG	Global
MSGNUM_NOSUB . . . . . . . . . .  	L TBYTE	0048	CSEG	Global
MSGNUM_PARSE . . . . . . . . . .  	L TBYTE	000A	CSEG	Global
MSGNUM_SERNO . . . . . . . . . .  	L TBYTE	0067	CSEG	Global
MSGNUM_VER . . . . . . . . . . .  	L TBYTE	0014	CSEG	Global
MSGNUM_VOL . . . . . . . . . . .  	L TBYTE	0029	CSEG	Global
MSG_SER_CLASS  . . . . . . . . .  	NUMBER	0000	

NEARMSG  . . . . . . . . . . . .  	NUMBER	FFFF	
NEW_EXPECTED_VERSION . . . . . .  	NUMBER	2605	
NEW_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
NEW_MINOR_VERSION  . . . . . . .  	NUMBER	0026	
NOCHECKSTDIN . . . . . . . . . .  	NUMBER	0000	
NOCHECKSTDOUT  . . . . . . . . .  	NUMBER	0000	
NOT_EX_FAIL_EX_OPEN  . . . . . .  	NUMBER	0101	
NOVERCHECKMSG  . . . . . . . . .  	NUMBER	0000	
NO_CRIT_OPEN . . . . . . . . . .  	NUMBER	2000	
NO_HANDLE  . . . . . . . . . . .  	NUMBER	FFFF	
NO_INPUT . . . . . . . . . . . .  	NUMBER	0000	
NO_REPLACE . . . . . . . . . . .  	NUMBER	0000	
NULL . . . . . . . . . . . . . .  	NUMBER	0000	
NUMMSG . . . . . . . . . . . . .  	NUMBER	FFFF	

ONE_SUBS . . . . . . . . . . . .  	NUMBER	0001	

PAD_0  . . . . . . . . . . . . .  	NUMBER	0030	
PAD_BLK  . . . . . . . . . . . .  	NUMBER	0020	
PARSE_ERR_CLASS  . . . . . . . .  	NUMBER	0002	
PC_ID_0  . . . . . . . . . . . .  	NUMBER	0000	
PC_ID_1  . . . . . . . . . . . .  	NUMBER	0001	
PC_ID_2  . . . . . . . . . . . .  	NUMBER	0002	
PC_ID_3  . . . . . . . . . . . .  	NUMBER	0003	

RESERVED . . . . . . . . . . . .  	NUMBER	0000	
RIGHT_ALIGN  . . . . . . . . . .  	NUMBER	0080	

SETSTDIO . . . . . . . . . . . .  	NUMBER	0000	
SF_ASCIIZ  . . . . . . . . . . .  	NUMBER	0001	
SF_BYTE  . . . . . . . . . . . .  	NUMBER	0001	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-4


SF_CH  . . . . . . . . . . . . .  	NUMBER	0000	
SF_CHAR  . . . . . . . . . . . .  	NUMBER	0000	
SF_DATE  . . . . . . . . . . . .  	NUMBER	0004	
SF_DWORD . . . . . . . . . . . .  	NUMBER	0003	
SF_HHMM  . . . . . . . . . . . .  	NUMBER	0000	
SF_HHMMSS  . . . . . . . . . . .  	NUMBER	0001	
SF_HHMMSSHH  . . . . . . . . . .  	NUMBER	0002	
SF_LEFT  . . . . . . . . . . . .  	NUMBER	0000	
SF_MD  . . . . . . . . . . . . .  	NUMBER	0001	
SF_MDY2  . . . . . . . . . . . .  	NUMBER	0002	
SF_MDY4  . . . . . . . . . . . .  	NUMBER	0003	
SF_RIGHT . . . . . . . . . . . .  	NUMBER	0001	
SF_SIN_BD  . . . . . . . . . . .  	NUMBER	0002	
SF_TIME_12 . . . . . . . . . . .  	NUMBER	0005	
SF_TIME_24 . . . . . . . . . . .  	NUMBER	0006	
SF_UN_BD . . . . . . . . . . . .  	NUMBER	0001	
SF_UN_BH . . . . . . . . . . . .  	NUMBER	0003	
SF_WORD  . . . . . . . . . . . .  	NUMBER	0002	
SGN_BIN_BYTE . . . . . . . . . .  	NUMBER	0012	
SGN_BIN_DWORD  . . . . . . . . .  	NUMBER	0032	
SGN_BIN_TYPE . . . . . . . . . .  	NUMBER	0002	
SGN_BIN_WORD . . . . . . . . . .  	NUMBER	0022	
START_PATH . . . . . . . . . . .  	V BYTE	0000	CSEG	External
STDAUX . . . . . . . . . . . . .  	NUMBER	0003	
STDERR . . . . . . . . . . . . .  	NUMBER	0002	
STDIN  . . . . . . . . . . . . .  	NUMBER	0000	
STDOUT . . . . . . . . . . . . .  	NUMBER	0001	
STDPRN . . . . . . . . . . . . .  	NUMBER	0004	
SUBLIST_6A . . . . . . . . . . .  	L 	0071	CSEG	Global
SUBLIST_6B . . . . . . . . . . .  	L 	007C	CSEG	Global
SUBLIST_INVPATH  . . . . . . . .  	L 	005C	CSEG	Global
SUBLIST_LENGTH . . . . . . . . .  	NUMBER	000B	
SUBLIST_PARSE  . . . . . . . . .  	L 	001E	CSEG	Global
SUBLIST_VOL  . . . . . . . . . .  	L 	0033	CSEG	Global
SYSDISPMSG . . . . . . . . . . .  	N PROC	052E	CSEG	Global	Length = 0045
SYSGETMSG  . . . . . . . . . . .  	N PROC	03EA	CSEG	Global	Length = 001C
SYSLOADMSG . . . . . . . . . . .  	N PROC	029D	CSEG	Global	Length = 0097

TAB  . . . . . . . . . . . . . .  	NUMBER	0009	
THREE_SUBS . . . . . . . . . . .  	NUMBER	0003	
TIMEMSG  . . . . . . . . . . . .  	NUMBER	0000	
TIME_24_TYPE . . . . . . . . . .  	NUMBER	0006	
TIME_CTY_TYPE  . . . . . . . . .  	NUMBER	0005	
TIME_HHMMSSHH_24 . . . . . . . .  	NUMBER	0026	
TIME_HHMMSSHH_CTY  . . . . . . .  	NUMBER	0025	
TIME_HHMMSS_24 . . . . . . . . .  	NUMBER	0016	
TIME_HHMMSS_CTY  . . . . . . . .  	NUMBER	0015	
TIME_HHMM_24 . . . . . . . . . .  	NUMBER	0006	
TIME_HHMM_CTY  . . . . . . . . .  	NUMBER	0005	
TRUE . . . . . . . . . . . . . .  	NUMBER	FFFF	
TWO_SUBS . . . . . . . . . . . .  	NUMBER	0002	

UNSGN_BIN_BYTE . . . . . . . . .  	NUMBER	0011	
UNSGN_BIN_DWORD  . . . . . . . .  	NUMBER	0031	
UNSGN_BIN_TYPE . . . . . . . . .  	NUMBER	0001	
UNSGN_BIN_WORD . . . . . . . . .  	NUMBER	0021	
UTILITY_MSG_CLASS  . . . . . . .  	NUMBER	00FF	

$$A_START_TREESYSM . . . . . . .  	L NEAR	0283	CSEG	Global
$$A_STOP_TREESYSM  . . . . . . .  	L NEAR	097B	CSEG	Global
$MDO123  . . . . . . . . . . . .  	L NEAR	05D3	CSEG
$MDO139  . . . . . . . . . . . .  	L NEAR	063B	CSEG
$MDO145  . . . . . . . . . . . .  	L NEAR	065D	CSEG
$MDO165  . . . . . . . . . . . .  	L NEAR	06BF	CSEG
$MDO167  . . . . . . . . . . . .  	L NEAR	06C9	CSEG
$MDO175  . . . . . . . . . . . .  	L NEAR	06F5	CSEG
$MDO215  . . . . . . . . . . . .  	L NEAR	07C0	CSEG
$MDO280  . . . . . . . . . . . .  	L NEAR	0812	CSEG
$MDO291  . . . . . . . . . . . .  	L NEAR	083D	CSEG
$MDO301  . . . . . . . . . . . .  	L NEAR	086B	CSEG
$MDO310  . . . . . . . . . . . .  	L NEAR	0891	CSEG
$MDO321  . . . . . . . . . . . .  	L NEAR	08D3	CSEG
$MDO36 . . . . . . . . . . . . .  	L NEAR	040C	CSEG
$MDO76 . . . . . . . . . . . . .  	L NEAR	04F4	CSEG
$MEN104  . . . . . . . . . . . .  	L NEAR	0572	CSEG
$MEN107  . . . . . . . . . . . .  	L NEAR	0587	CSEG
$MEN110  . . . . . . . . . . . .  	L NEAR	05A8	CSEG
$MEN119  . . . . . . . . . . . .  	L NEAR	05E0	CSEG
$MEN123  . . . . . . . . . . . .  	L NEAR	05E0	CSEG
$MEN128  . . . . . . . . . . . .  	L NEAR	060F	CSEG
$MEN139  . . . . . . . . . . . .  	L NEAR	0652	CSEG
$MEN145  . . . . . . . . . . . .  	L NEAR	06B6	CSEG
$MEN146  . . . . . . . . . . . .  	L NEAR	0673	CSEG
$MEN150  . . . . . . . . . . . .  	L NEAR	06B1	CSEG
$MEN154  . . . . . . . . . . . .  	L NEAR	06B1	CSEG
$MEN165  . . . . . . . . . . . .  	L NEAR	07AB	CSEG
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-5


$MEN167  . . . . . . . . . . . .  	L NEAR	06E6	CSEG
$MEN175  . . . . . . . . . . . .  	L NEAR	070E	CSEG
$MEN180  . . . . . . . . . . . .  	L NEAR	0720	CSEG
$MEN187  . . . . . . . . . . . .  	L NEAR	0753	CSEG
$MEN188  . . . . . . . . . . . .  	L NEAR	0741	CSEG
$MEN192  . . . . . . . . . . . .  	L NEAR	0753	CSEG
$MEN199  . . . . . . . . . . . .  	L NEAR	0792	CSEG
$MEN20 . . . . . . . . . . . . .  	L NEAR	0333	CSEG
$MEN200  . . . . . . . . . . . .  	L NEAR	078A	CSEG
$MEN202  . . . . . . . . . . . .  	L NEAR	078A	CSEG
$MEN211  . . . . . . . . . . . .  	L NEAR	079F	CSEG
$MEN25 . . . . . . . . . . . . .  	L NEAR	03E9	CSEG
$MEN27 . . . . . . . . . . . . .  	L NEAR	03DE	CSEG
$MEN292  . . . . . . . . . . . .  	L NEAR	0850	CSEG
$MEN307  . . . . . . . . . . . .  	L NEAR	0899	CSEG
$MEN314  . . . . . . . . . . . .  	L NEAR	08B9	CSEG
$MEN317  . . . . . . . . . . . .  	L NEAR	08E0	CSEG
$MEN32 . . . . . . . . . . . . .  	L NEAR	03FF	CSEG
$MEN321  . . . . . . . . . . . .  	L NEAR	08DE	CSEG
$MEN325  . . . . . . . . . . . .  	L NEAR	096D	CSEG
$MEN333  . . . . . . . . . . . .  	L NEAR	096D	CSEG
$MEN36 . . . . . . . . . . . . .  	L NEAR	046D	CSEG
$MEN37 . . . . . . . . . . . . .  	L NEAR	043E	CSEG
$MEN39 . . . . . . . . . . . . .  	L NEAR	043E	CSEG
$MEN41 . . . . . . . . . . . . .  	L NEAR	043E	CSEG
$MEN46 . . . . . . . . . . . . .  	L NEAR	0465	CSEG
$MEN47 . . . . . . . . . . . . .  	L NEAR	0457	CSEG
$MEN57 . . . . . . . . . . . . .  	L NEAR	048D	CSEG
$MEN60 . . . . . . . . . . . . .  	L NEAR	049A	CSEG
$MEN64 . . . . . . . . . . . . .  	L NEAR	04F1	CSEG
$MEN65 . . . . . . . . . . . . .  	L NEAR	04D5	CSEG
$MEN69 . . . . . . . . . . . . .  	L NEAR	04ED	CSEG
$MEN76 . . . . . . . . . . . . .  	L NEAR	0511	CSEG
$MEN78 . . . . . . . . . . . . .  	L NEAR	0505	CSEG
$MEN93 . . . . . . . . . . . . .  	L NEAR	0566	CSEG
$MEN94 . . . . . . . . . . . . .  	L NEAR	0552	CSEG
$MEN97 . . . . . . . . . . . . .  	L NEAR	0560	CSEG
$MIF104  . . . . . . . . . . . .  	L NEAR	056E	CSEG
$MIF107  . . . . . . . . . . . .  	L NEAR	0584	CSEG
$MIF110  . . . . . . . . . . . .  	L NEAR	0598	CSEG
$MIF112  . . . . . . . . . . . .  	L NEAR	05A8	CSEG
$MIF113  . . . . . . . . . . . .  	L NEAR	05A8	CSEG
$MIF117  . . . . . . . . . . . .  	L NEAR	05AD	CSEG
$MIF119  . . . . . . . . . . . .  	L NEAR	05D1	CSEG
$MIF120  . . . . . . . . . . . .  	L NEAR	05CF	CSEG
$MIF127  . . . . . . . . . . . .  	L NEAR	0610	CSEG
$MIF128  . . . . . . . . . . . .  	L NEAR	060D	CSEG
$MIF129  . . . . . . . . . . . .  	L NEAR	060B	CSEG
$MIF134  . . . . . . . . . . . .  	L NEAR	0630	CSEG
$MIF135  . . . . . . . . . . . .  	L NEAR	0630	CSEG
$MIF138  . . . . . . . . . . . .  	L NEAR	0652	CSEG
$MIF141  . . . . . . . . . . . .  	L NEAR	064E	CSEG
$MIF146  . . . . . . . . . . . .  	L NEAR	0670	CSEG
$MIF150  . . . . . . . . . . . .  	L NEAR	068F	CSEG
$MIF151  . . . . . . . . . . . .  	L NEAR	068D	CSEG
$MIF154  . . . . . . . . . . . .  	L NEAR	06A1	CSEG
$MIF155  . . . . . . . . . . . .  	L NEAR	069F	CSEG
$MIF158  . . . . . . . . . . . .  	L NEAR	06B1	CSEG
$MIF159  . . . . . . . . . . . .  	L NEAR	06B1	CSEG
$MIF166  . . . . . . . . . . . .  	L NEAR	06E6	CSEG
$MIF169  . . . . . . . . . . . .  	L NEAR	06E1	CSEG
$MIF173  . . . . . . . . . . . .  	L NEAR	0720	CSEG
$MIF174  . . . . . . . . . . . .  	L NEAR	0720	CSEG
$MIF175  . . . . . . . . . . . .  	L NEAR	0702	CSEG
$MIF180  . . . . . . . . . . . .  	L NEAR	071D	CSEG
$MIF187  . . . . . . . . . . . .  	L NEAR	0743	CSEG
$MIF188  . . . . . . . . . . . .  	L NEAR	0740	CSEG
$MIF192  . . . . . . . . . . . .  	L NEAR	074A	CSEG
$MIF194  . . . . . . . . . . . .  	L NEAR	0751	CSEG
$MIF199  . . . . . . . . . . . .  	L NEAR	078F	CSEG
$MIF20 . . . . . . . . . . . . .  	L NEAR	032F	CSEG
$MIF200  . . . . . . . . . . . .  	L NEAR	0770	CSEG
$MIF202  . . . . . . . . . . . .  	L NEAR	078A	CSEG
$MIF211  . . . . . . . . . . . .  	L NEAR	079B	CSEG
$MIF216  . . . . . . . . . . . .  	L NEAR	07CE	CSEG
$MIF23 . . . . . . . . . . . . .  	L NEAR	0349	CSEG
$MIF25 . . . . . . . . . . . . .  	L NEAR	03D1	CSEG
$MIF27 . . . . . . . . . . . . .  	L NEAR	03DB	CSEG
$MIF276  . . . . . . . . . . . .  	L NEAR	07F8	CSEG
$MIF278  . . . . . . . . . . . .  	L NEAR	0826	CSEG
$MIF279  . . . . . . . . . . . .  	L NEAR	0826	CSEG
$MIF281  . . . . . . . . . . . .  	L NEAR	0822	CSEG
$MIF286  . . . . . . . . . . . .  	L NEAR	0839	CSEG
$MIF287  . . . . . . . . . . . .  	L NEAR	0839	CSEG
$MIF290  . . . . . . . . . . . .  	L NEAR	0861	CSEG
$MIF292  . . . . . . . . . . . .  	L NEAR	084F	CSEG
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-6


$MIF295  . . . . . . . . . . . .  	L NEAR	085D	CSEG
$MIF299  . . . . . . . . . . . .  	L NEAR	087F	CSEG
$MIF300  . . . . . . . . . . . .  	L NEAR	087F	CSEG
$MIF302  . . . . . . . . . . . .  	L NEAR	087B	CSEG
$MIF307  . . . . . . . . . . . .  	L NEAR	088D	CSEG
$MIF309  . . . . . . . . . . . .  	L NEAR	0899	CSEG
$MIF31 . . . . . . . . . . . . .  	L NEAR	0401	CSEG
$MIF314  . . . . . . . . . . . .  	L NEAR	08B5	CSEG
$MIF317  . . . . . . . . . . . .  	L NEAR	08D3	CSEG
$MIF318  . . . . . . . . . . . .  	L NEAR	08D1	CSEG
$MIF32 . . . . . . . . . . . . .  	L NEAR	03FD	CSEG
$MIF325  . . . . . . . . . . . .  	L NEAR	0919	CSEG
$MIF326  . . . . . . . . . . . .  	L NEAR	090B	CSEG
$MIF327  . . . . . . . . . . . .  	L NEAR	0905	CSEG
$MIF330  . . . . . . . . . . . .  	L NEAR	0917	CSEG
$MIF333  . . . . . . . . . . . .  	L NEAR	0945	CSEG
$MIF334  . . . . . . . . . . . .  	L NEAR	0937	CSEG
$MIF335  . . . . . . . . . . . .  	L NEAR	0931	CSEG
$MIF338  . . . . . . . . . . . .  	L NEAR	0943	CSEG
$MIF341  . . . . . . . . . . . .  	L NEAR	0961	CSEG
$MIF342  . . . . . . . . . . . .  	L NEAR	095B	CSEG
$MIF345  . . . . . . . . . . . .  	L NEAR	096D	CSEG
$MIF349  . . . . . . . . . . . .  	L NEAR	0979	CSEG
$MIF37 . . . . . . . . . . . . .  	L NEAR	0419	CSEG
$MIF39 . . . . . . . . . . . . .  	L NEAR	0426	CSEG
$MIF41 . . . . . . . . . . . . .  	L NEAR	0438	CSEG
$MIF46 . . . . . . . . . . . . .  	L NEAR	0459	CSEG
$MIF47 . . . . . . . . . . . . .  	L NEAR	044B	CSEG
$MIF51 . . . . . . . . . . . . .  	L NEAR	0461	CSEG
$MIF56 . . . . . . . . . . . . .  	L NEAR	049C	CSEG
$MIF57 . . . . . . . . . . . . .  	L NEAR	048C	CSEG
$MIF60 . . . . . . . . . . . . .  	L NEAR	0494	CSEG
$MIF64 . . . . . . . . . . . . .  	L NEAR	04D7	CSEG
$MIF65 . . . . . . . . . . . . .  	L NEAR	04D1	CSEG
$MIF69 . . . . . . . . . . . . .  	L NEAR	04E4	CSEG
$MIF71 . . . . . . . . . . . . .  	L NEAR	04ED	CSEG
$MIF75 . . . . . . . . . . . . .  	L NEAR	0520	CSEG
$MIF76 . . . . . . . . . . . . .  	L NEAR	0509	CSEG
$MIF78 . . . . . . . . . . . . .  	L NEAR	0502	CSEG
$MIF86 . . . . . . . . . . . . .  	L NEAR	0520	CSEG
$MIF87 . . . . . . . . . . . . .  	L NEAR	051C	CSEG
$MIF91 . . . . . . . . . . . . .  	L NEAR	0528	CSEG
$MIF93 . . . . . . . . . . . . .  	L NEAR	0562	CSEG
$MIF94 . . . . . . . . . . . . .  	L NEAR	054F	CSEG
$MIF97 . . . . . . . . . . . . .  	L NEAR	055C	CSEG
$MLL149  . . . . . . . . . . . .  	L NEAR	067D	CSEG
$MLL168  . . . . . . . . . . . .  	L NEAR	06D8	CSEG
$MLL178  . . . . . . . . . . . .  	L NEAR	070A	CSEG
$MLL202  . . . . . . . . . . . .  	L NEAR	0782	CSEG
$MLL214  . . . . . . . . . . . .  	L NEAR	07AB	CSEG
$MSR175  . . . . . . . . . . . .  	L NEAR	0720	CSEG
$MSR76 . . . . . . . . . . . . .  	L NEAR	0512	CSEG
$MXL2  . . . . . . . . . . . . .  	L NEAR	046D	CSEG
$MXL3  . . . . . . . . . . . . .  	L NEAR	072D	CSEG
$MXL4  . . . . . . . . . . . . .  	L NEAR	07AB	CSEG
$M_1_FF_END  . . . . . . . . . .  	L BYTE	0174	CSEG
$M_1_FF_MSG  . . . . . . . . . .  	L BYTE	0162	CSEG
$M_1_FF_STRUC  . . . . . . . . .  	L BYTE	015E	CSEG
$M_2_FF_END  . . . . . . . . . .  	L BYTE	0195	CSEG
$M_2_FF_MSG  . . . . . . . . . .  	L BYTE	0186	CSEG
$M_2_FF_STRUC  . . . . . . . . .  	L BYTE	0182	CSEG
$M_ADDR_SZ_FAR . . . . . . . . .  	NUMBER	0004	
$M_ADDR_SZ_NEAR  . . . . . . . .  	NUMBER	0002	
$M_ADD_CRLF  . . . . . . . . . .  	N PROC	061A	CSEG	Length = 0017
$M_ALIGN_MASK  . . . . . . . . .  	NUMBER	0080	
$M_AM  . . . . . . . . . . . . .  	NUMBER	0061	
$M_A_00001H_END  . . . . . . . .  	L BYTE	00BF	CSEG
$M_A_00001H_MSG  . . . . . . . .  	L BYTE	00A7	CSEG
$M_A_00001H_STRUC  . . . . . . .  	L BYTE	008B	CSEG
$M_A_00002H_END  . . . . . . . .  	L BYTE	00E6	CSEG
$M_A_00002H_MSG  . . . . . . . .  	L BYTE	00BF	CSEG
$M_A_00002H_STRUC  . . . . . . .  	L BYTE	008F	CSEG
$M_A_00003H_END  . . . . . . . .  	L BYTE	00FF	CSEG
$M_A_00003H_MSG  . . . . . . . .  	L BYTE	00E6	CSEG
$M_A_00003H_STRUC  . . . . . . .  	L BYTE	0093	CSEG
$M_A_00004H_END  . . . . . . . .  	L BYTE	011B	CSEG
$M_A_00004H_MSG  . . . . . . . .  	L BYTE	00FF	CSEG
$M_A_00004H_STRUC  . . . . . . .  	L BYTE	0097	CSEG
$M_A_00005H_END  . . . . . . . .  	L BYTE	012A	CSEG
$M_A_00005H_MSG  . . . . . . . .  	L BYTE	011B	CSEG
$M_A_00005H_STRUC  . . . . . . .  	L BYTE	009B	CSEG
$M_A_00006H_END  . . . . . . . .  	L BYTE	014A	CSEG
$M_A_00006H_MSG  . . . . . . . .  	L BYTE	012A	CSEG
$M_A_00006H_STRUC  . . . . . . .  	L BYTE	009F	CSEG
$M_A_00007H_END  . . . . . . . .  	L BYTE	014F	CSEG
$M_A_00007H_MSG  . . . . . . . .  	L BYTE	014A	CSEG
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-7


$M_A_00007H_STRUC  . . . . . . .  	L BYTE	00A3	CSEG
$M_BASE10  . . . . . . . . . . .  	NUMBER	000A	
$M_BASE16  . . . . . . . . . . .  	NUMBER	0010	
$M_BIN2ASC_REPLACE . . . . . . .  	N PROC	08E2	CSEG	Length = 0099
$M_BYTE  . . . . . . . . . . . .  	NUMBER	0010	
$M_CHAR_ONLY . . . . . . . . . .  	NUMBER	0000	
$M_CHAR_REPLACE  . . . . . . . .  	N PROC	08BA	CSEG	Length = 0028
$M_CHECKSTDIN  . . . . . . . . .  	N PROC	034C	CSEG	Length = 0013
$M_CHECKSTDOUT . . . . . . . . .  	N PROC	035F	CSEG	Length = 0013
$M_CLASS_1_STRUC . . . . . . . .  	L BYTE	015A	CSEG
$M_CLASS_2_STRUC . . . . . . . .  	L BYTE	017E	CSEG
$M_CLASS_A_STRUC . . . . . . . .  	L BYTE	0087	CSEG
$M_CLASS_ID_SZ . . . . . . . . .  	NUMBER	0004	
$M_CLASS_NOT_EXIST . . . . . . .  	NUMBER	0000	
$M_CLS_1 . . . . . . . . . . . .  	N PROC	014F	CSEG	Global	Length = 000B
$M_COMMA . . . . . . . . . . . .  	NUMBER	002C	
$M_CONVERT2ASC . . . . . . . . .  	N PROC	0655	CSEG	Length = 006A
$M_CON_INP . . . . . . . . . . .  	NUMBER	-0001	
$M_COUNT . . . . . . . . . . . .  	NUMBER	0001	
$M_CRIT_ERR_MASK . . . . . . . .  	NUMBER	0001	
$M_CRIT_HI . . . . . . . . . . .  	NUMBER	0027	
$M_CRIT_LO . . . . . . . . . . .  	NUMBER	0013	
$M_CRLF_SIZE . . . . . . . . . .  	NUMBER	0002	
$M_CR_LF . . . . . . . . . . . .  	NUMBER	0A0D	
$M_DATE_MASK . . . . . . . . . .  	NUMBER	0010	
$M_DBCS_TERM . . . . . . . . . .  	NUMBER	0000	
$M_DCOUNT  . . . . . . . . . . .  	NUMBER	0001	
$M_DEF_DATE_FORM . . . . . . . .  	NUMBER	0000	
$M_DEF_DATE_SEP  . . . . . . . .  	NUMBER	002D	
$M_DEF_DECI_SEP  . . . . . . . .  	NUMBER	002E	
$M_DEF_TIME_FORM . . . . . . . .  	NUMBER	0001	
$M_DEF_TIME_SEP  . . . . . . . .  	NUMBER	003A	
$M_DISPLAY_$_STRING  . . . . . .  	N PROC	05AE	CSEG	Length = 0035
$M_DISPLAY_H_STRING  . . . . . .  	N PROC	05E3	CSEG	Length = 002E
$M_DISPLAY_MESSAGE . . . . . . .  	N PROC	06BF	CSEG	Length = 00F3
$M_DISPLAY_REPLACE . . . . . . .  	N PROC	07DF	CSEG	Length = 00BF
$M_DISPLAY_STRING  . . . . . . .  	N PROC	0573	CSEG	Length = 003B
$M_DWORD . . . . . . . . . . . .  	NUMBER	0030	
$M_END . . . . . . . . . . . . .  	NUMBER	0000	
$M_EXTPAR_TYPE . . . . . . . . .  	NUMBER	0008	
$M_EXT_CLS . . . . . . . . . . .  	NUMBER	FFFF	
$M_EXT_ERR_FLAG  . . . . . . . .  	NUMBER	FFFF	
$M_EXT_PAR_REPLACE . . . . . . .  	N PROC	07B2	CSEG	Length = 002D
$M_FIND_SPECIFIED_MSG  . . . . .  	N PROC	04B5	CSEG	Length = 0079
$M_FIRST_THOU  . . . . . . . . .  	NUMBER	0003	
$M_FLUSH_BUF . . . . . . . . . .  	N PROC	089E	CSEG	Length = 001C
$M_GET_DBCS_VEC  . . . . . . . .  	N PROC	0334	CSEG	Length = 0018
$M_GET_EXT_ERR_39  . . . . . . .  	N PROC	0611	CSEG	Length = 0009
$M_GET_MSG_ADDRESS . . . . . . .  	N PROC	0406	CSEG	Global	Length = 00A0
$M_ID_SZ . . . . . . . . . . . .  	NUMBER	0004	
$M_INCLUDE . . . . . . . . . . .  	NUMBER	0000	
$M_INDEX . . . . . . . . . . . .  	NUMBER	0004	
$M_IS_IT_DBCS  . . . . . . . . .  	N PROC	0631	CSEG	Length = 0024
$M_LOAD  . . . . . . . . . . . .  	NUMBER	FFFF	
$M_MAX_2_YEAR  . . . . . . . . .  	NUMBER	0063	
$M_MSGDATA_ONLY  . . . . . . . .  	NUMBER	0000	
$M_MSGSERV_1 . . . . . . . . . .  	N PROC	0174	CSEG	Global	Length = 000A
$M_MSGSERV_2 . . . . . . . . . .  	N PROC	0195	CSEG	Global	Length = 000A
$M_NEG_SIGN  . . . . . . . . . .  	NUMBER	002D	
$M_NEXT_DBCS_VECTOR  . . . . . .  	NUMBER	0002	
$M_NO_CRLF_MASK  . . . . . . . .  	NUMBER	0080	
$M_NO_HANDLE . . . . . . . . . .  	NUMBER	-0001	
$M_NULL  . . . . . . . . . . . .  	NUMBER	0000	
$M_NUM_CLS . . . . . . . . . . .  	NUMBER	0001	
$M_ONE_REPLACE . . . . . . . . .  	NUMBER	0001	
$M_PARSE_FLAG  . . . . . . . . .  	NUMBER	FFFF	
$M_PAR_CLS . . . . . . . . . . .  	NUMBER	FFFF	
$M_PM  . . . . . . . . . . . . .  	NUMBER	0070	
$M_REPLACE . . . . . . . . . . .  	NUMBER	FFFF	
$M_REPL_DONE . . . . . . . . . .  	NUMBER	0000	
$M_RES_ADDRS_SZ  . . . . . . . .  	NUMBER	0085	
$M_RT  . . . . . . . . . . . . .  	L BYTE	019F	CSEG	Global
$M_SECOND_THOU . . . . . . . . .  	NUMBER	0006	
$M_SERVICE . . . . . . . . . . .  	NUMBER	FFFF	
$M_SET_LEN_IN_CX . . . . . . . .  	N PROC	04A6	CSEG	Length = 000F
$M_SINGLE_CHAR . . . . . . . . .  	NUMBER	0001	
$M_SIZE_MASK . . . . . . . . . .  	NUMBER	0030	
$M_SL  . . . . . . . . . . . . .  	TEXT  DS:[SI]		
$M_SPACE . . . . . . . . . . . .  	NUMBER	0020	
$M_SPACE_HYP . . . . . . . . . .  	NUMBER	2D20	
$M_SPECIAL_CASE  . . . . . . . .  	NUMBER	0030	
$M_SPECIAL_MSG_NUM . . . . . . .  	NUMBER	FFFF	
$M_STRUC . . . . . . . . . . . .  	NUMBER	0000	
$M_SUBS  . . . . . . . . . . . .  	NUMBER	0000	
$M_TEMP_BUF_SZ . . . . . . . . .  	NUMBER	0040	
$M_TERMINATING_FLAG  . . . . . .  	NUMBER	-0001	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:21
TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;ASymbols-8


$M_THIRD_THOU  . . . . . . . . .  	NUMBER	0009	
$M_TIMEDATE_PAD  . . . . . . . .  	NUMBER	0030	
$M_TIME_MASK . . . . . . . . . .  	NUMBER	0001	
$M_TYPE_MASK . . . . . . . . . .  	NUMBER	000F	
$M_UNLIM_W . . . . . . . . . . .  	NUMBER	0000	
$M_VERSION_CHECK . . . . . . . .  	N PROC	03BB	CSEG	Length = 002F
$M_WORD  . . . . . . . . . . . .  	NUMBER	0020	
??0000 . . . . . . . . . . . . .  	L NEAR	049E	CSEG
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
@FILENAME  . . . . . . . . . . .  	TEXT  treesysm		
@VERSION . . . . . . . . . . . .  	TEXT  510		


  10815 Source  Lines
  14524 Total   Lines
    574 Symbols

  44218 + 168741 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
