Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-1


					PAGE	90,132			;AN000;A2
					TITLE	GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;
				;****************** START OF SPECIFICATIONS *****************************
				; MODULE NAME: GRTABSM.SAL
				;
				; DESCRIPTIVE NAME: Include the DOS system MESSAGE HANDLER in the SEGMENT
				;		    configuration expected by the modules of GRAFTABL.
				;
				;FUNCTION: The common code of the DOS SYSTEM MESSAGE HANDLER is made a
				;	   part of the GRAFTABL 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 GRTABMS.INC  ;message defining control blocks
				;	INCLUDE SYSMSG.INC   ;Permit System Message handler definition
				;	INCLUDE COPYRIGH.INC ;Standard copyright notice
				;	INCLUDE MSGHAN.INC   ;Defines message control blocks STRUCs
				;	INCLUDE VERSIONA.INC ;INCLUDEd by code generated by SYSMSG.INC
				;
				; EXTERNAL REFERENCES:
				;    ROUTINES: none
				;
				;    DATA AREAS: control blocks pointed to by input registers.
				;
				; NOTES:
				;	 This module should be processed with the SALUT preprocessor
				;	 with the re-alignment not requested, as:
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-2


				;
				;		SALUT GRTABSM,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,
				;	 GRTAB.SAL.
				;
				; COPYRIGHT: "Version 4.00 (C)Copyright Microsoft Corp 1981,1988 "
				;	     "Licensed Material - Program Property of Microsoft"
				;
				;****************** END OF SPECIFICATIONS *****************************
					INCLUDE PATHMAC.INC		;AN006;
			     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		;PERMIT SYSTEM MESSAGE HANDLER DEFINITION ;AN000;
				.LIST					;AN000;
					MSG_UTILNAME <GRAFTABL> 	;AN000;IDENTIFY THE COMPONENT
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     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:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-4
DOS - Message Retriever - MSGSTR.INC Module                 

 0056                        C1	$M_COUNTRY_INFO ENDS					     ;;AN000;;
				; =  =	=  =  =  =  =  =  =  =	=  =
				;	   $SALUT (4,12,18,36)	   ;AN000;
 0000				CSEG	   SEGMENT PARA PUBLIC	   ;AN000;
					   ASSUME CS:CSEG,DS:CSEG,ES:CSEG,SS:CSEG ;AN000;
				
				;THIS MODULE IS EXPECTED TO BE LINKED DIRECTLY FOLLOWING THE LAST
				;FONT DEFINITION MODULE, SINCE THE VARIABLE, "COPYRIGHT", IS USED
				;TO DETERMINE THE END OF THE ARRAY OF FONT TABLES.
				
					   PUBLIC COPYRIGHT	   ;AN000;
 0000				COPYRIGHT  LABEL BYTE		   ;AN006;
				;(deleted ;AN004;) INCLUDE COPYRIGH.INC ;(this is now being done in MSG_SERVICES)
				
					   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
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-5
DOS - Message Retriever - MSGSTR.INC Module                 

 = 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
 = 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	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-6
DOS - Message Retriever - MSGSTR.INC Module                 

			     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	
 001C  00FF                  C	
			     C	
			     C	;end of MSGHAN.INC
					   INCLUDE GRTABMS.INC	   ;AN000;DEFINE THE MESSAGES, AND CONTROL BLOCKS
			     C	;:util GRAFTABL 	    ;utility name					;AN000;
			     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	;;In these next 2 messages, %1 will be replaced with one from list, 4-5,
			     C	;; or with one entry of the list at "CPID". (see GRTABMS.INC)
			     C	;;
			     C	;:def 2 "Active Code Page: %1",CR,LF
			     C	;:def 3 "Previous Code Page: %1",CR,LF
			     C	
			     C	;:def 4 "None",NULL
			     C	;:def 5 "Non-standard",NULL
			     C	;;
			     C	;:def 6 CR,LF,"DOS command line parameters supported:",CR,LF,LF
			     C	;
			     C	;:def 7 "    /STA - Request Status only",CR,LF
			     C	;"    ?    - Display this summary of parameters",CR,LF,CR,LF
			     C	
			     C	;:def 8 "    Code Pages available:",CR,LF
			     C	;"    437  - USA Graphic Character Set",CR,LF
			     C	
			     C	;:def 9 "    850  - Multi-lingual Graphic Character Set",CR,LF
			     C	;"    860  - Portuguese Graphic Character Set",CR,LF
			     C	
			     C	;:def 10 "    863  - Canadian French Graphic Character Set",CR,LF
			     C	;"    865  - Nordic Graphic Character Set",CR,LF
			     C	;
			     C	;
			     C	;:end
			     C	; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
			     C	;THIS MODULE IS INCLUDED IN GRTABSM.SAL.
			     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> ;AN003;
 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	   ;AN003;
			     C	
			     C	;		THE NEXT GROUP ARE ADDITIONAL CLASS "A" MESSAGES
			     C	;		SPECIFICALLY DEFINED FOR THE GRAFTABL UTILITY
 0029  0200                  C	MSGNUM_ACTIVE  MSG_DESC <2,,SLIST_23,ONE_SUBS> ;AN000;"Active Code Page: %1",CR,LF
 002B  0100                  C	
 002D  003D R                C	
 002F  0100                  C	
 0031  00FF                  C	
			     C	
			     C		       PUBLIC MSGNUM_ACTIVE						;AN000;
			     C	
 0033  0300                  C	MSGNUM_PREVIOUS MSG_DESC <3,,SLIST_23,ONE_SUBS> ;AN000;"Previous Code Page: %1",CR,LF
 0035  0100                  C	
 0037  003D R                C	
 0039  0100                  C	
 003B  00FF                  C	
			     C	
			     C		       PUBLIC MSGNUM_PREVIOUS						;AN000;
			     C	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-7
DOS - Message Retriever - MSGSTR.INC Module                 

			     C	;BEFORE USING THE NEXT SUBLIST, THE SEG ID OF CPID
			     C	;(OR OF "NONE" OR "NON-STANDARD") MUST BE FILLED IN
			     C	;SINCE COM FILE CANNOT HAVE SEGMENT FIXUP.
			     C	
			     C	;THIS NEXT SUBLIST IS USED BOTH MY MESSAGE 2 AND MESSAGE 3.
			     C	
 003D  0B                    C	SLIST_23 SUBLIST <,,,,PC_ID_1,SF_BITS <SF_LEFT,,SF_ASCIIZ,SF_CHAR>,MAX_0,MIN_1,PAD_BLK> ;AN000;
 003E  00                    C	
 003F  0000                  C	
 0041  0000                  C	
 0043  01                    C	
 0044  10                    C	
 0045  00                    C	
 0046  01                    C	
 0047  20                    C	
			     C	
			     C		       PUBLIC SLIST_23							;AN000;
			     C	;NOTE: IN THE ABOVE SUBLIST, ID=1, THE VECTOR POINTING TO THE MSG NO. 2-3.
			     C	;  WILL NEED TO BE PUT INTO THE SUBLIST DURING MESSAGES INITIALIZATION.
			     C	;  TO SELECT "None" OR "Non Standard", OR TO POINT TO ELEMENT OF "CPID".
			     C	
			     C		       PUBLIC CPID,CPID_L						;AN000;
 0048  34 33 37 00           C	CPID DB "437",NULL                                                              ;AN000;
 = 0004                      C	CPID_L EQU $-CPID ;AN000;NUMBER OF CHARS IN CPID
 004C  38 35 30 00           C	     DB "850",NULL                                                              ;AN000;
 0050  38 36 30 00           C	     DB "860",NULL                                                              ;AN000;
 0054  38 36 33 00           C	     DB "863",NULL                                                              ;AN000;
 0058  38 36 35 00           C	     DB "865",NULL                                                              ;AN000;
			     C	
			     C	; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
 005C  0400                  C	MSGNUM_NONE MSG_DESC <4> ;AN000;"None",NULL
 005E  0100                  C	
 0060  0000                  C	
 0062  0000                  C	
 0064  00FF                  C	
			     C	
			     C			PUBLIC MSGNUM_NONE						;AN000;
			     C	
 0066  0500                  C	MSGNUM_NSTD MSG_DESC <5> ;AN000;"Non-Standard",NULL
 0068  0100                  C	
 006A  0000                  C	
 006C  0000                  C	
 006E  00FF                  C	
			     C	
			     C			PUBLIC MSGNUM_NSTD						;AN000;
			     C	; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
			     C	
			     C	;CR,LF,"DOS command line parameters supported:",CR,LF,LF                        ;AN000;
			     C	;"    /STA - Request Status only",CR,LF                                         ;AN000;
			     C	;"    ?    - Display this summary of parameters",CR,LF                          ;AN000;
			     C	;"    Code Pages available:",CR,LF
			     C	;"    437  - USA Graphic Character Set",CR,LF                                   ;AN000;
			     C	;"    850  - Multi-lingual Graphic Character Set",CR,LF                         ;AN000;
			     C	;"    860  - Portuguese Graphic Character Set",CR,LF                            ;AN000;
			     C	;"    863  - Canadian French Graphic Character Set",CR,LF                       ;AN000;
			     C	;"    865  - Nordic Graphic Character Set",CR,LF                                ;AN000;
			     C	
 0070  0600                  C	MSGNUM_HELP_TITLE MSG_DESC <6> ;AN000;NO SUBSTITUTIONS
 0072  0100                  C	
 0074  0000                  C	
 0076  0000                  C	
 0078  00FF                  C	
			     C	
			     C			PUBLIC MSGNUM_HELP_TITLE					;AN000;
			     C	
 007A  0700                  C	MSGNUM_HELP_TITLE7 MSG_DESC <7> ;AN007;NO SUBSTITUTIONS
 007C  0100                  C	
 007E  0000                  C	
 0080  0000                  C	
 0082  00FF                  C	
			     C	
			     C			PUBLIC MSGNUM_HELP_TITLE7					 ;AN007;
			     C	
 0084  0800                  C	MSGNUM_HELP_TITLE8 MSG_DESC <8> ;AN007;NO SUBSTITUTIONS
 0086  0100                  C	
 0088  0000                  C	
 008A  0000                  C	
 008C  00FF                  C	
			     C	
			     C			PUBLIC MSGNUM_HELP_TITLE8					 ;AN007;
			     C	
 008E  0900                  C	MSGNUM_HELP_TITLE9 MSG_DESC <9> ;AN007;NO SUBSTITUTIONS
 0090  0100                  C	
 0092  0000                  C	
 0094  0000                  C	
 0096  00FF                  C	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-8
DOS - Message Retriever - MSGSTR.INC Module                 

			     C	
			     C			PUBLIC MSGNUM_HELP_TITLE9					 ;AN007;
			     C	
 0098  0A00                  C	MSGNUM_HELP_TITLE10 MSG_DESC <10> ;AN007;NO SUBSTITUTIONS
 009A  0100                  C	
 009C  0000                  C	
 009E  0000                  C	
 00A0  00FF                  C	
			     C	
			     C			PUBLIC MSGNUM_HELP_TITLE10					  ;AN007;
			     C	
			     C	; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
			     C	;end of GRTABMS.INC
					   MSG_SERVICES <GRAFTABL.CLA,GRAFTABL.CL1,GRAFTABL.CL2> ;AN000;
 00A2                        C3	$M_CLASS_A_STRUC LABEL BYTE
 00A2  FF                    C3	        $M_CLASS_ID <0FFH,EXPECTED_VERSION,Class_A_MessageCount>
 00A3  0400                  C3	
 00A5  0A                    C3	
 00A6                        C3	$M_A_00001H_STRUC LABEL BYTE
 00A6  0100                  C3	        $M_ID   <00001H,$M_A_00001H_MSG-$M_A_00001H_STRUC>
 00A8  2800                  C3	
 00AA                        C3	$M_A_00002H_STRUC LABEL BYTE
 00AA  0200                  C3	        $M_ID   <00002H,$M_A_00002H_MSG-$M_A_00002H_STRUC>
 00AC  3C00                  C3	
 00AE                        C3	$M_A_00003H_STRUC LABEL BYTE
 00AE  0300                  C3	        $M_ID   <00003H,$M_A_00003H_MSG-$M_A_00003H_STRUC>
 00B0  4F00                  C3	
 00B2                        C3	$M_A_00004H_STRUC LABEL BYTE
 00B2  0400                  C3	        $M_ID   <00004H,$M_A_00004H_MSG-$M_A_00004H_STRUC>
 00B4  6400                  C3	
 00B6                        C3	$M_A_00005H_STRUC LABEL BYTE
 00B6  0500                  C3	        $M_ID   <00005H,$M_A_00005H_MSG-$M_A_00005H_STRUC>
 00B8  6600                  C3	
 00BA                        C3	$M_A_00006H_STRUC LABEL BYTE
 00BA  0600                  C3	        $M_ID   <00006H,$M_A_00006H_MSG-$M_A_00006H_STRUC>
 00BC  7000                  C3	
 00BE                        C3	$M_A_00007H_STRUC LABEL BYTE
 00BE  0700                  C3	        $M_ID   <00007H,$M_A_00007H_MSG-$M_A_00007H_STRUC>
 00C0  9800                  C3	
 00C2                        C3	$M_A_00008H_STRUC LABEL BYTE
 00C2  0800                  C3	        $M_ID   <00008H,$M_A_00008H_MSG-$M_A_00008H_STRUC>
 00C4  E600                  C3	
 00C6                        C3	$M_A_00009H_STRUC LABEL BYTE
 00C6  0900                  C3	        $M_ID   <00009H,$M_A_00009H_MSG-$M_A_00009H_STRUC>
 00C8  2401                  C3	
 00CA                        C3	$M_A_0000AH_STRUC LABEL BYTE
 00CA  0A00                  C3	        $M_ID   <0000AH,$M_A_0000AH_MSG-$M_A_0000AH_STRUC>
 00CC  7E01                  C3	
 00CE                        C3	$M_A_00001H_MSG LABEL BYTE
 00CE  17                    C3	        DB      $M_A_00001H_END-$M_A_00001H_MSG-1
 00CF  49 6E 63 6F 72 72     C3	        DB      "Incorrect DOS version",CR,LF
 00E6                        C3	$M_A_00001H_END LABEL BYTE
 00E6                        C3	$M_A_00002H_MSG LABEL BYTE
 00E6  16                    C3	        DB      $M_A_00002H_END-$M_A_00002H_MSG-1
 00E7  41 63 74 69 76 65     C3	        DB      "Active Code Page: %1",CR,LF
 00FD                        C3	$M_A_00002H_END LABEL BYTE
 00FD                        C3	$M_A_00003H_MSG LABEL BYTE
 00FD  18                    C3	        DB      $M_A_00003H_END-$M_A_00003H_MSG-1
 00FE  50 72 65 76 69 6F     C3	        DB      "Previous Code Page: %1",CR,LF
 0116                        C3	$M_A_00003H_END LABEL BYTE
 0116                        C3	$M_A_00004H_MSG LABEL BYTE
 0116  05                    C3	        DB      $M_A_00004H_END-$M_A_00004H_MSG-1
 0117  4E 6F 6E 65 00        C3	        DB      "None",NULL
 011C                        C3	$M_A_00004H_END LABEL BYTE
 011C                        C3	$M_A_00005H_MSG LABEL BYTE
 011C  0D                    C3	        DB      $M_A_00005H_END-$M_A_00005H_MSG-1
 011D  4E 6F 6E 2D 73 74     C3	        DB      "Non-standard",NULL
 012A                        C3	$M_A_00005H_END LABEL BYTE
 012A                        C3	$M_A_00006H_MSG LABEL BYTE
 012A  2B                    C3	        DB      $M_A_00006H_END-$M_A_00006H_MSG-1
 012B  0D 0A 44 4F 53 20     C3	        DB      CR,LF,"DOS command line parameters supported",COLON,CR,LF,LF
 0156                        C3	$M_A_00006H_END LABEL BYTE
 0156                        C3	$M_A_00007H_MSG LABEL BYTE
 0156  51                    C3	        DB      $M_A_00007H_END-$M_A_00007H_MSG-1
 0157  20 20 20 20 2F 53     C3	        DB      "    /STA - Request Status only",CR,LF
 0177  20 20 20 20 3F 20     C3	        DB      	"    ?    - Display this summary of parameters",CR,LF,CR,LF
 01A8                        C3	$M_A_00007H_END LABEL BYTE
 01A8                        C3	$M_A_00008H_MSG LABEL BYTE
 01A8  41                    C3	        DB      $M_A_00008H_END-$M_A_00008H_MSG-1
 01A9  20 20 20 20 43 6F     C3	        DB      "    Code Pages available",COLON,CR,LF
 01C4  20 20 20 20 34 33     C3	        DB      	"    437  - USA Graphic Character Set",CR,LF
 01EA                        C3	$M_A_00008H_END LABEL BYTE
 01EA                        C3	$M_A_00009H_MSG LABEL BYTE
 01EA  5D                    C3	        DB      $M_A_00009H_END-$M_A_00009H_MSG-1
 01EB  20 20 20 20 38 35     C3	        DB      "    850  - Multi-lingual Graphic Character Set",CR,LF
 021B  20 20 20 20 38 36     C3	        DB      	"    860  - Portuguese Graphic Character Set",CR,LF
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-9
DOS - Message Retriever - MSGSTR.INC Module                 

 0248                        C3	$M_A_00009H_END LABEL BYTE
 0248                        C3	$M_A_0000AH_MSG LABEL BYTE
 0248  5B                    C3	        DB      $M_A_0000AH_END-$M_A_0000AH_MSG-1
 0249  20 20 20 20 38 36     C3	        DB      "    863  - Canadian French Graphic Character Set",CR,LF
 027B  20 20 20 20 38 36     C3	        DB      	"    865  - Nordic Graphic Character Set",CR,LF
 02A4                        C3	$M_A_0000AH_END LABEL BYTE
 02A4                        C3	$M_CLS_1 PROC NEAR
 02A4  0E                    C3	        PUSH    CS
 02A5  07                    C3	        POP     ES
 02A6  8D 3E 00A2 R          C3	        LEA     DI,$M_CLASS_A_STRUC
 02AA  81 C1 0208            C3	        ADD     CX,$-$M_CLASS_A_STRUC
 02AE  C3                    C3	        RET
 02AF                        C3	$M_CLS_1 ENDP
 02AF                        C3	$M_CLASS_1_STRUC LABEL BYTE
 02AF  01                    C3	        $M_CLASS_ID <001H,EXPECTED_VERSION,Class_1_MessageCount>
 02B0  0400                  C3	
 02B2  01                    C3	
 02B3                        C3	$M_1_FF_STRUC LABEL BYTE
 02B3  FFFF                  C3	        $M_ID <0FFFFH,$M_1_FF_MSG-$M_1_FF_STRUC>
 02B5  0400                  C3	
 02B7                        C3	$M_1_FF_MSG LABEL BYTE
 02B7  11                    C3	        DB      $M_1_FF_END-$M_1_FF_MSG-1
 02B8  45 78 74 65 6E 64     C3	        DB      "Extended Error %1"
 02C9                        C3	$M_1_FF_END LABEL BYTE
 02C9                        C3	$M_MSGSERV_1 PROC NEAR
 02C9  0E                    C3	        PUSH    CS
 02CA  07                    C3	        POP     ES
 02CB  8D 3E 02AF R          C3	        LEA     DI,$M_CLASS_1_STRUC
 02CF  83 C1 20              C3	        ADD     CX,$-$M_CLASS_1_STRUC
 02D2  C3                    C3	        RET
 02D3                        C3	$M_MSGSERV_1 Endp
 02D3                        C3	$M_CLASS_2_STRUC LABEL BYTE
 02D3  02                    C3	        $M_CLASS_ID <002H,EXPECTED_VERSION,Class_2_MessageCount>
 02D4  0400                  C3	
 02D6  01                    C3	
 02D7                        C3	$M_2_FF_STRUC LABEL BYTE
 02D7  FFFF                  C3	        $M_ID <0FFFFH,$M_2_FF_MSG-$M_2_FF_STRUC>
 02D9  0400                  C3	
 02DB                        C3	$M_2_FF_MSG LABEL BYTE
 02DB  0E                    C3	        DB      $M_2_FF_END-$M_2_FF_MSG-1
 02DC  50 61 72 73 65 20     C3	        DB      "Parse Error %1"
 02EA                        C3	$M_2_FF_END LABEL BYTE
 02EA                        C3	$M_MSGSERV_2 PROC NEAR
 02EA  0E                    C3	        PUSH    CS
 02EB  07                    C3	        POP     ES
 02EC  8D 3E 02D3 R          C3	        LEA     DI,$M_CLASS_2_STRUC
 02F0  83 C1 1D              C3	        ADD     CX,$-$M_CLASS_2_STRUC
 02F3  C3                    C3	        RET
 02F4                        C3	$M_MSGSERV_2 Endp
					   MSG_SERVICES <MSGDATA>  ;AN000;
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-10
DOS - Message Retriever - MSGRES.TAB Module                 

 02F4                        C1	      $M_RT   LABEL   BYTE				     ;;AN000;;
 02F4  00000000              C1	      $M_RES_ADDRS <>					     ;;AN000;; Resident addresses
 02F8  00000000              C1	
 02FC  00000000              C1	
 0300  FFFFFFFF              C1	
 0304  00000000              C1	
 0308  00000000              C1	
 030C  FFFFFFFF              C1	
 0310  00000000              C1	
 0314  00000000              C1	
 0318  FFFFFFFF              C1	
 031C  FFFFFFFF              C1	
 0320  00000000              C1	
 0324  FFFFFFFF              C1	
 0328  00000000              C1	
 032C  0000                  C1	
 032E  00                    C1	
 032F  0001[                 C1	
 0331  00                    C1	
 0332  0000                  C1	
 0334  0000                  C1	
 0336  0A00                  C1	
 0338  0040[                 C1	
 0378  24                    C1	
 0379  4D 53 20 44 4F 53     C1		DB	"MS DOS Version 4.00 (C)Copyright 1988 Microsoft Corp"
 03AD  4C 69 63 65 6E 73     C1		DB	"Licensed Material - Property of Microsoft  "
				; =  =	=  =  =  =  =  =  =  =	=  =
					   PUBLIC SYSLOADMSG	   ;AN000;
					   PUBLIC SYSDISPMSG	   ;AN000;
					   PUBLIC SYSGETMSG	   ;AN000;
					   PATHLABL GRTABSM	   ;AN006;
 03D8                        1	    $$A_START_GRTABSM:                    ; 
								   ;DEFAULT=CHECK DOS VERSION
								   ;DEFAULT=NEARmsg
								   ;DEFAULT=NO INPUTmsg
								   ;DEFAULT=NO NUMmsg
								   ;DEFAULT=NO TIMEmsg
								   ;DEFAULT=NO DATEmsg
				;	   MSG_SERVICES <LOADmsg,GETmsg,DISPLAYmsg,CHARmsg>				;AN000;
				.LIST				   ;AN000;
				.CREF				   ;AN000;
				; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
					   PATHLABL GRTABSM	   ;AN006;
 0A20                        1	    $$A_STOP_GRTABSM:                     ; 
				
				
 0A20				CSEG	   ENDS 		   ;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				       ;
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Page     1-11
DOS - Message Retriever - DISPMSG.ASM Module                

			     C					       ;
			     C	$M_DECLARE2   macro   innum	       ;
			     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	
				
					   END			   ;AN000;

Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-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:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-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 . . . . . . . . . . . . . .  	0A20	PARA	PUBLIC	

Symbols:            

                N a m e         	Type	 Value	 Attr

ACTION_39  . . . . . . . . . . .  	NUMBER	0004	
ALT_EXPECTED_VERSION . . . . . .  	NUMBER	1A05	
ALT_GOOD_DOS . . . . . . . . . .  	L NEAR	0526	CSEG
ALT_MAJOR_VERSION  . . . . . . .  	NUMBER	0005	
ALT_MINOR_VERSION  . . . . . . .  	NUMBER	001A	
AMIS_ID  . . . . . . . . . . . .  	L NEAR	03E8	CSEG
AMIS_ID_MSG  . . . . . . . . . .  	L NEAR	03ED	CSEG
AMIS_ID_MSG_END  . . . . . . . .  	L NEAR	03F5	CSEG
amis_sign  . . . . . . . . . . .  	L NEAR	03D8	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	04CA	CSEG
CHECK_AMIS_DONE  . . . . . . . .  	L NEAR	0501	CSEG
CHECK_AMIS_LOOP  . . . . . . . .  	L NEAR	04D3	CSEG
CHECK_AMIS_NEXT  . . . . . . . .  	L NEAR	04FC	CSEG
CHECK_AMIS_UNSUP . . . . . . . .  	L NEAR	0500	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	000A	
COLON  . . . . . . . . . . . . .  	NUMBER	003A	
COMR . . . . . . . . . . . . . .  	NUMBER	0000	
COMT . . . . . . . . . . . . . .  	NUMBER	0000	
COPYRIGHT  . . . . . . . . . . .  	L BYTE	0000	CSEG	Global
CPID . . . . . . . . . . . . . .  	L BYTE	0048	CSEG	Global
CPID_L . . . . . . . . . . . . .  	NUMBER	0004		Global
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	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-3


DOS_GET_VERSION  . . . . . . . .  	NUMBER	0030	
DOS_IOCTL_GET_INFO . . . . . . .  	NUMBER	4400	
DOS_IOCTL_SET_INFO . . . . . . .  	NUMBER	4401	
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	
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	

LBL_GRTABSM  . . . . . . . . . .  	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_ACTIVE  . . . . . . . . .  	L TBYTE	0029	CSEG	Global
MSGNUM_EXTERR  . . . . . . . . .  	L TBYTE	0000	CSEG	Global
MSGNUM_HELP_TITLE  . . . . . . .  	L TBYTE	0070	CSEG	Global
MSGNUM_HELP_TITLE10  . . . . . .  	L TBYTE	0098	CSEG	Global
MSGNUM_HELP_TITLE7 . . . . . . .  	L TBYTE	007A	CSEG	Global
MSGNUM_HELP_TITLE8 . . . . . . .  	L TBYTE	0084	CSEG	Global
MSGNUM_HELP_TITLE9 . . . . . . .  	L TBYTE	008E	CSEG	Global
MSGNUM_NONE  . . . . . . . . . .  	L TBYTE	005C	CSEG	Global
MSGNUM_NSTD  . . . . . . . . . .  	L TBYTE	0066	CSEG	Global
MSGNUM_PARSE . . . . . . . . . .  	L TBYTE	000A	CSEG	Global
MSGNUM_PREVIOUS  . . . . . . . .  	L TBYTE	0033	CSEG	Global
MSGNUM_VER . . . . . . . . . . .  	L TBYTE	0014	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	0000	

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

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	
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-4



SETSTDIO . . . . . . . . . . . .  	NUMBER	0000	
SF_ASCIIZ  . . . . . . . . . . .  	NUMBER	0001	
SF_BYTE  . . . . . . . . . . . .  	NUMBER	0001	
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	
SLIST_23 . . . . . . . . . . . .  	L 	003D	CSEG	Global
STDAUX . . . . . . . . . . . . .  	NUMBER	0003	
STDERR . . . . . . . . . . . . .  	NUMBER	0002	
STDIN  . . . . . . . . . . . . .  	NUMBER	0000	
STDOUT . . . . . . . . . . . . .  	NUMBER	0001	
STDPRN . . . . . . . . . . . . .  	NUMBER	0004	
SUBLIST_LENGTH . . . . . . . . .  	NUMBER	000B	
SUBLIST_PARSE  . . . . . . . . .  	L 	001E	CSEG	Global
SYSDISPMSG . . . . . . . . . . .  	N PROC	0686	CSEG	Global	Length = 0045
SYSGETMSG  . . . . . . . . . . .  	N PROC	0542	CSEG	Global	Length = 001C
SYSLOADMSG . . . . . . . . . . .  	N PROC	03F5	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_GRTABSM  . . . . . . .  	L NEAR	03D8	CSEG	Global
$$A_STOP_GRTABSM . . . . . . . .  	L NEAR	0A20	CSEG	Global
$MDO123  . . . . . . . . . . . .  	L NEAR	072B	CSEG
$MDO139  . . . . . . . . . . . .  	L NEAR	0793	CSEG
$MDO145  . . . . . . . . . . . .  	L NEAR	07B5	CSEG
$MDO165  . . . . . . . . . . . .  	L NEAR	0817	CSEG
$MDO167  . . . . . . . . . . . .  	L NEAR	0821	CSEG
$MDO175  . . . . . . . . . . . .  	L NEAR	084D	CSEG
$MDO215  . . . . . . . . . . . .  	L NEAR	08FE	CSEG
$MDO280  . . . . . . . . . . . .  	L NEAR	0950	CSEG
$MDO291  . . . . . . . . . . . .  	L NEAR	097B	CSEG
$MDO301  . . . . . . . . . . . .  	L NEAR	09A9	CSEG
$MDO310  . . . . . . . . . . . .  	L NEAR	09CF	CSEG
$MDO321  . . . . . . . . . . . .  	L NEAR	0A11	CSEG
$MDO36 . . . . . . . . . . . . .  	L NEAR	0564	CSEG
$MDO76 . . . . . . . . . . . . .  	L NEAR	064C	CSEG
$MEN104  . . . . . . . . . . . .  	L NEAR	06CA	CSEG
$MEN107  . . . . . . . . . . . .  	L NEAR	06DF	CSEG
$MEN110  . . . . . . . . . . . .  	L NEAR	0700	CSEG
$MEN119  . . . . . . . . . . . .  	L NEAR	0738	CSEG
$MEN123  . . . . . . . . . . . .  	L NEAR	0738	CSEG
$MEN128  . . . . . . . . . . . .  	L NEAR	0767	CSEG
$MEN139  . . . . . . . . . . . .  	L NEAR	07AA	CSEG
$MEN145  . . . . . . . . . . . .  	L NEAR	080E	CSEG
$MEN146  . . . . . . . . . . . .  	L NEAR	07CB	CSEG
$MEN150  . . . . . . . . . . . .  	L NEAR	0809	CSEG
$MEN154  . . . . . . . . . . . .  	L NEAR	0809	CSEG
$MEN165  . . . . . . . . . . . .  	L NEAR	08E9	CSEG
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-5


$MEN167  . . . . . . . . . . . .  	L NEAR	083E	CSEG
$MEN175  . . . . . . . . . . . .  	L NEAR	0866	CSEG
$MEN180  . . . . . . . . . . . .  	L NEAR	0878	CSEG
$MEN187  . . . . . . . . . . . .  	L NEAR	08AB	CSEG
$MEN188  . . . . . . . . . . . .  	L NEAR	0899	CSEG
$MEN192  . . . . . . . . . . . .  	L NEAR	08AB	CSEG
$MEN199  . . . . . . . . . . . .  	L NEAR	08D0	CSEG
$MEN20 . . . . . . . . . . . . .  	L NEAR	048B	CSEG
$MEN200  . . . . . . . . . . . .  	L NEAR	08C8	CSEG
$MEN211  . . . . . . . . . . . .  	L NEAR	08DD	CSEG
$MEN25 . . . . . . . . . . . . .  	L NEAR	0541	CSEG
$MEN27 . . . . . . . . . . . . .  	L NEAR	0536	CSEG
$MEN292  . . . . . . . . . . . .  	L NEAR	098E	CSEG
$MEN307  . . . . . . . . . . . .  	L NEAR	09D7	CSEG
$MEN314  . . . . . . . . . . . .  	L NEAR	09F7	CSEG
$MEN317  . . . . . . . . . . . .  	L NEAR	0A1E	CSEG
$MEN32 . . . . . . . . . . . . .  	L NEAR	0557	CSEG
$MEN321  . . . . . . . . . . . .  	L NEAR	0A1C	CSEG
$MEN36 . . . . . . . . . . . . .  	L NEAR	05C5	CSEG
$MEN37 . . . . . . . . . . . . .  	L NEAR	0596	CSEG
$MEN39 . . . . . . . . . . . . .  	L NEAR	0596	CSEG
$MEN41 . . . . . . . . . . . . .  	L NEAR	0596	CSEG
$MEN46 . . . . . . . . . . . . .  	L NEAR	05BD	CSEG
$MEN47 . . . . . . . . . . . . .  	L NEAR	05AF	CSEG
$MEN57 . . . . . . . . . . . . .  	L NEAR	05E5	CSEG
$MEN60 . . . . . . . . . . . . .  	L NEAR	05F2	CSEG
$MEN64 . . . . . . . . . . . . .  	L NEAR	0649	CSEG
$MEN65 . . . . . . . . . . . . .  	L NEAR	062D	CSEG
$MEN69 . . . . . . . . . . . . .  	L NEAR	0645	CSEG
$MEN76 . . . . . . . . . . . . .  	L NEAR	0669	CSEG
$MEN78 . . . . . . . . . . . . .  	L NEAR	065D	CSEG
$MEN93 . . . . . . . . . . . . .  	L NEAR	06BE	CSEG
$MEN94 . . . . . . . . . . . . .  	L NEAR	06AA	CSEG
$MEN97 . . . . . . . . . . . . .  	L NEAR	06B8	CSEG
$MIF104  . . . . . . . . . . . .  	L NEAR	06C6	CSEG
$MIF107  . . . . . . . . . . . .  	L NEAR	06DC	CSEG
$MIF110  . . . . . . . . . . . .  	L NEAR	06F0	CSEG
$MIF112  . . . . . . . . . . . .  	L NEAR	0700	CSEG
$MIF113  . . . . . . . . . . . .  	L NEAR	0700	CSEG
$MIF117  . . . . . . . . . . . .  	L NEAR	0705	CSEG
$MIF119  . . . . . . . . . . . .  	L NEAR	0729	CSEG
$MIF120  . . . . . . . . . . . .  	L NEAR	0727	CSEG
$MIF127  . . . . . . . . . . . .  	L NEAR	0768	CSEG
$MIF128  . . . . . . . . . . . .  	L NEAR	0765	CSEG
$MIF129  . . . . . . . . . . . .  	L NEAR	0763	CSEG
$MIF134  . . . . . . . . . . . .  	L NEAR	0788	CSEG
$MIF135  . . . . . . . . . . . .  	L NEAR	0788	CSEG
$MIF138  . . . . . . . . . . . .  	L NEAR	07AA	CSEG
$MIF141  . . . . . . . . . . . .  	L NEAR	07A6	CSEG
$MIF146  . . . . . . . . . . . .  	L NEAR	07C8	CSEG
$MIF150  . . . . . . . . . . . .  	L NEAR	07E7	CSEG
$MIF151  . . . . . . . . . . . .  	L NEAR	07E5	CSEG
$MIF154  . . . . . . . . . . . .  	L NEAR	07F9	CSEG
$MIF155  . . . . . . . . . . . .  	L NEAR	07F7	CSEG
$MIF158  . . . . . . . . . . . .  	L NEAR	0809	CSEG
$MIF159  . . . . . . . . . . . .  	L NEAR	0809	CSEG
$MIF166  . . . . . . . . . . . .  	L NEAR	083E	CSEG
$MIF169  . . . . . . . . . . . .  	L NEAR	0839	CSEG
$MIF173  . . . . . . . . . . . .  	L NEAR	0878	CSEG
$MIF174  . . . . . . . . . . . .  	L NEAR	0878	CSEG
$MIF175  . . . . . . . . . . . .  	L NEAR	085A	CSEG
$MIF180  . . . . . . . . . . . .  	L NEAR	0875	CSEG
$MIF187  . . . . . . . . . . . .  	L NEAR	089B	CSEG
$MIF188  . . . . . . . . . . . .  	L NEAR	0898	CSEG
$MIF192  . . . . . . . . . . . .  	L NEAR	08A2	CSEG
$MIF194  . . . . . . . . . . . .  	L NEAR	08A9	CSEG
$MIF199  . . . . . . . . . . . .  	L NEAR	08CD	CSEG
$MIF20 . . . . . . . . . . . . .  	L NEAR	0487	CSEG
$MIF200  . . . . . . . . . . . .  	L NEAR	08C8	CSEG
$MIF211  . . . . . . . . . . . .  	L NEAR	08D9	CSEG
$MIF216  . . . . . . . . . . . .  	L NEAR	090C	CSEG
$MIF23 . . . . . . . . . . . . .  	L NEAR	04A1	CSEG
$MIF25 . . . . . . . . . . . . .  	L NEAR	0529	CSEG
$MIF27 . . . . . . . . . . . . .  	L NEAR	0533	CSEG
$MIF276  . . . . . . . . . . . .  	L NEAR	0936	CSEG
$MIF278  . . . . . . . . . . . .  	L NEAR	0964	CSEG
$MIF279  . . . . . . . . . . . .  	L NEAR	0964	CSEG
$MIF281  . . . . . . . . . . . .  	L NEAR	0960	CSEG
$MIF286  . . . . . . . . . . . .  	L NEAR	0977	CSEG
$MIF287  . . . . . . . . . . . .  	L NEAR	0977	CSEG
$MIF290  . . . . . . . . . . . .  	L NEAR	099F	CSEG
$MIF292  . . . . . . . . . . . .  	L NEAR	098D	CSEG
$MIF295  . . . . . . . . . . . .  	L NEAR	099B	CSEG
$MIF299  . . . . . . . . . . . .  	L NEAR	09BD	CSEG
$MIF300  . . . . . . . . . . . .  	L NEAR	09BD	CSEG
$MIF302  . . . . . . . . . . . .  	L NEAR	09B9	CSEG
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-6


$MIF307  . . . . . . . . . . . .  	L NEAR	09CB	CSEG
$MIF309  . . . . . . . . . . . .  	L NEAR	09D7	CSEG
$MIF31 . . . . . . . . . . . . .  	L NEAR	0559	CSEG
$MIF314  . . . . . . . . . . . .  	L NEAR	09F3	CSEG
$MIF317  . . . . . . . . . . . .  	L NEAR	0A11	CSEG
$MIF318  . . . . . . . . . . . .  	L NEAR	0A0F	CSEG
$MIF32 . . . . . . . . . . . . .  	L NEAR	0555	CSEG
$MIF37 . . . . . . . . . . . . .  	L NEAR	0571	CSEG
$MIF39 . . . . . . . . . . . . .  	L NEAR	057E	CSEG
$MIF41 . . . . . . . . . . . . .  	L NEAR	0590	CSEG
$MIF46 . . . . . . . . . . . . .  	L NEAR	05B1	CSEG
$MIF47 . . . . . . . . . . . . .  	L NEAR	05A3	CSEG
$MIF51 . . . . . . . . . . . . .  	L NEAR	05B9	CSEG
$MIF56 . . . . . . . . . . . . .  	L NEAR	05F4	CSEG
$MIF57 . . . . . . . . . . . . .  	L NEAR	05E4	CSEG
$MIF60 . . . . . . . . . . . . .  	L NEAR	05EC	CSEG
$MIF64 . . . . . . . . . . . . .  	L NEAR	062F	CSEG
$MIF65 . . . . . . . . . . . . .  	L NEAR	0629	CSEG
$MIF69 . . . . . . . . . . . . .  	L NEAR	063C	CSEG
$MIF71 . . . . . . . . . . . . .  	L NEAR	0645	CSEG
$MIF75 . . . . . . . . . . . . .  	L NEAR	0678	CSEG
$MIF76 . . . . . . . . . . . . .  	L NEAR	0661	CSEG
$MIF78 . . . . . . . . . . . . .  	L NEAR	065A	CSEG
$MIF86 . . . . . . . . . . . . .  	L NEAR	0678	CSEG
$MIF87 . . . . . . . . . . . . .  	L NEAR	0674	CSEG
$MIF91 . . . . . . . . . . . . .  	L NEAR	0680	CSEG
$MIF93 . . . . . . . . . . . . .  	L NEAR	06BA	CSEG
$MIF94 . . . . . . . . . . . . .  	L NEAR	06A7	CSEG
$MIF97 . . . . . . . . . . . . .  	L NEAR	06B4	CSEG
$MLL149  . . . . . . . . . . . .  	L NEAR	07D5	CSEG
$MLL168  . . . . . . . . . . . .  	L NEAR	0830	CSEG
$MLL178  . . . . . . . . . . . .  	L NEAR	0862	CSEG
$MLL214  . . . . . . . . . . . .  	L NEAR	08E9	CSEG
$MSR175  . . . . . . . . . . . .  	L NEAR	0878	CSEG
$MSR76 . . . . . . . . . . . . .  	L NEAR	066A	CSEG
$MXL2  . . . . . . . . . . . . .  	L NEAR	05C5	CSEG
$MXL3  . . . . . . . . . . . . .  	L NEAR	0885	CSEG
$MXL4  . . . . . . . . . . . . .  	L NEAR	08E9	CSEG
$M_1_FF_END  . . . . . . . . . .  	L BYTE	02C9	CSEG
$M_1_FF_MSG  . . . . . . . . . .  	L BYTE	02B7	CSEG
$M_1_FF_STRUC  . . . . . . . . .  	L BYTE	02B3	CSEG
$M_2_FF_END  . . . . . . . . . .  	L BYTE	02EA	CSEG
$M_2_FF_MSG  . . . . . . . . . .  	L BYTE	02DB	CSEG
$M_2_FF_STRUC  . . . . . . . . .  	L BYTE	02D7	CSEG
$M_ADDR_SZ_FAR . . . . . . . . .  	NUMBER	0004	
$M_ADDR_SZ_NEAR  . . . . . . . .  	NUMBER	0002	
$M_ADD_CRLF  . . . . . . . . . .  	N PROC	0772	CSEG	Length = 0017
$M_ALIGN_MASK  . . . . . . . . .  	NUMBER	0080	
$M_AM  . . . . . . . . . . . . .  	NUMBER	0061	
$M_A_00001H_END  . . . . . . . .  	L BYTE	00E6	CSEG
$M_A_00001H_MSG  . . . . . . . .  	L BYTE	00CE	CSEG
$M_A_00001H_STRUC  . . . . . . .  	L BYTE	00A6	CSEG
$M_A_00002H_END  . . . . . . . .  	L BYTE	00FD	CSEG
$M_A_00002H_MSG  . . . . . . . .  	L BYTE	00E6	CSEG
$M_A_00002H_STRUC  . . . . . . .  	L BYTE	00AA	CSEG
$M_A_00003H_END  . . . . . . . .  	L BYTE	0116	CSEG
$M_A_00003H_MSG  . . . . . . . .  	L BYTE	00FD	CSEG
$M_A_00003H_STRUC  . . . . . . .  	L BYTE	00AE	CSEG
$M_A_00004H_END  . . . . . . . .  	L BYTE	011C	CSEG
$M_A_00004H_MSG  . . . . . . . .  	L BYTE	0116	CSEG
$M_A_00004H_STRUC  . . . . . . .  	L BYTE	00B2	CSEG
$M_A_00005H_END  . . . . . . . .  	L BYTE	012A	CSEG
$M_A_00005H_MSG  . . . . . . . .  	L BYTE	011C	CSEG
$M_A_00005H_STRUC  . . . . . . .  	L BYTE	00B6	CSEG
$M_A_00006H_END  . . . . . . . .  	L BYTE	0156	CSEG
$M_A_00006H_MSG  . . . . . . . .  	L BYTE	012A	CSEG
$M_A_00006H_STRUC  . . . . . . .  	L BYTE	00BA	CSEG
$M_A_00007H_END  . . . . . . . .  	L BYTE	01A8	CSEG
$M_A_00007H_MSG  . . . . . . . .  	L BYTE	0156	CSEG
$M_A_00007H_STRUC  . . . . . . .  	L BYTE	00BE	CSEG
$M_A_00008H_END  . . . . . . . .  	L BYTE	01EA	CSEG
$M_A_00008H_MSG  . . . . . . . .  	L BYTE	01A8	CSEG
$M_A_00008H_STRUC  . . . . . . .  	L BYTE	00C2	CSEG
$M_A_00009H_END  . . . . . . . .  	L BYTE	0248	CSEG
$M_A_00009H_MSG  . . . . . . . .  	L BYTE	01EA	CSEG
$M_A_00009H_STRUC  . . . . . . .  	L BYTE	00C6	CSEG
$M_A_0000AH_END  . . . . . . . .  	L BYTE	02A4	CSEG
$M_A_0000AH_MSG  . . . . . . . .  	L BYTE	0248	CSEG
$M_A_0000AH_STRUC  . . . . . . .  	L BYTE	00CA	CSEG
$M_BASE10  . . . . . . . . . . .  	NUMBER	000A	
$M_BASE16  . . . . . . . . . . .  	NUMBER	0010	
$M_BYTE  . . . . . . . . . . . .  	NUMBER	0010	
$M_CHAR_ONLY . . . . . . . . . .  	NUMBER	FFFF	
$M_CHAR_REPLACE  . . . . . . . .  	N PROC	09F8	CSEG	Length = 0028
$M_CHECKSTDIN  . . . . . . . . .  	N PROC	04A4	CSEG	Length = 0013
$M_CHECKSTDOUT . . . . . . . . .  	N PROC	04B7	CSEG	Length = 0013
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-7


$M_CLASS_1_STRUC . . . . . . . .  	L BYTE	02AF	CSEG
$M_CLASS_2_STRUC . . . . . . . .  	L BYTE	02D3	CSEG
$M_CLASS_A_STRUC . . . . . . . .  	L BYTE	00A2	CSEG
$M_CLASS_ID_SZ . . . . . . . . .  	NUMBER	0004	
$M_CLASS_NOT_EXIST . . . . . . .  	NUMBER	0000	
$M_CLS_1 . . . . . . . . . . . .  	N PROC	02A4	CSEG	Global	Length = 000B
$M_COMMA . . . . . . . . . . . .  	NUMBER	002C	
$M_CONVERT2ASC . . . . . . . . .  	N PROC	07AD	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	0706	CSEG	Length = 0035
$M_DISPLAY_H_STRING  . . . . . .  	N PROC	073B	CSEG	Length = 002E
$M_DISPLAY_MESSAGE . . . . . . .  	N PROC	0817	CSEG	Length = 00D9
$M_DISPLAY_REPLACE . . . . . . .  	N PROC	091D	CSEG	Length = 00BF
$M_DISPLAY_STRING  . . . . . . .  	N PROC	06CB	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	08F0	CSEG	Length = 002D
$M_FIND_SPECIFIED_MSG  . . . . .  	N PROC	060D	CSEG	Length = 0079
$M_FIRST_THOU  . . . . . . . . .  	NUMBER	0003	
$M_FLUSH_BUF . . . . . . . . . .  	N PROC	09DC	CSEG	Length = 001C
$M_GET_DBCS_VEC  . . . . . . . .  	N PROC	048C	CSEG	Length = 0018
$M_GET_EXT_ERR_39  . . . . . . .  	N PROC	0769	CSEG	Length = 0009
$M_GET_MSG_ADDRESS . . . . . . .  	N PROC	055E	CSEG	Global	Length = 00A0
$M_ID_SZ . . . . . . . . . . . .  	NUMBER	0004	
$M_INCLUDE . . . . . . . . . . .  	NUMBER	0000	
$M_INDEX . . . . . . . . . . . .  	NUMBER	0004	
$M_IS_IT_DBCS  . . . . . . . . .  	N PROC	0789	CSEG	Length = 0024
$M_LOAD  . . . . . . . . . . . .  	NUMBER	FFFF	
$M_MAX_2_YEAR  . . . . . . . . .  	NUMBER	0063	
$M_MSGDATA_ONLY  . . . . . . . .  	NUMBER	0000	
$M_MSGSERV_1 . . . . . . . . . .  	N PROC	02C9	CSEG	Global	Length = 000A
$M_MSGSERV_2 . . . . . . . . . .  	N PROC	02EA	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	02F4	CSEG	Global
$M_SECOND_THOU . . . . . . . . .  	NUMBER	0006	
$M_SERVICE . . . . . . . . . . .  	NUMBER	FFFF	
$M_SET_LEN_IN_CX . . . . . . . .  	N PROC	05FE	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	
$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	0513	CSEG	Length = 002F
$M_WORD  . . . . . . . . . . . .  	NUMBER	0020	
??0000 . . . . . . . . . . . . .  	L NEAR	05F6	CSEG
@CPU . . . . . . . . . . . . . .  	TEXT  0101h		
Microsoft (R) Macro Assembler Version 5.10                  8/26/25 23:16:24
GRTABSM.SAL - GRAFTABL SYSTEM MESSAGES ;AN000;              Symbols-8


@FILENAME  . . . . . . . . . . .  	TEXT  grtabsm		
@VERSION . . . . . . . . . . . .  	TEXT  510		


  10890 Source  Lines
  14009 Total   Lines
    564 Symbols

  44196 + 172861 Bytes symbol space free

      0 Warning Errors
      0 Severe  Errors
