]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/COMP/COMPSM.ASM
2 TITLE COMPSM
.SAL - COMP SYSTEM MESSAGES
3 ;****************** START OF SPECIFICATIONS *****************************
4 ; MODULE NAME: COMPSM.SAL
6 ; DESCRIPTIVE NAME: Include the DOS system MESSAGE HANDLER in the SEGMENT
7 ; configuration expected by the modules of COMP.
9 ;FUNCTION: The common code of the DOS SYSTEM MESSAGE HANDLER is made a
10 ; part of the COMP module by using INCLUDE to bring in the
11 ; common portion, in SYSMSG.INC. This included code contains
12 ; the routines to initialize for message services, to find
13 ; where a particular message is, and to display a message.
15 ; ENTRY POINT: SYSDISPMSG:near
21 ; BX = HANDLE TO DISPLAY TO (-1 means use DOS functions 1-12)
22 ; SI = OFFSET IN ES: OF SUBLIST, OR 0 IF NONE
23 ; CX = NUMBER OF %PARMS, 0 IF NONE
24 ; DX = CLASS IN HIGH BYTE, INPUT FUNCTION IN LOW
25 ; CALL SYSDISPMSG ;DISPLAY THE MESSAGE
27 ; If carry set, extended error already called:
28 ; AX = EXTENDED MESSAGE NUMBER
30 ; BL = SUGGESTED ACTION
32 ; _ _ _ _ _ _ _ _ _ _ _ _
35 ; DH = MESSAGE CLASS (1=DOS EXTENDED ERROR, 2=PARSE ERROR, -1=UTILITY MSG)
36 ; CALL SYSGETMSG ;FIND WHERE A MSG IS
39 ; CX = 0, MESSAGE NOT FOUND
40 ; If carry NOT set, ok, and resulting regs are:
42 ; DS:SI = MESSAGE TEXT
43 ; _ _ _ _ _ _ _ _ _ _ _ _
45 ; CALL SYSLOADMSG ;SET ADDRESSABILITY TO MSGS, CHECK DOS VERSION
47 ; CX = SIZE OF MSGS LOADED
49 ; If carry is set, regs preset up for SYSDISPMSG, as:
50 ; AX = ERROR CODE IF CARRY SET
51 ; AX = 1, INCORRECT DOS VERSION
52 ; DH =-1, (Utility msg)
54 ; AX = 1, Error loading messages
55 ; DH = 0, (Message manager error)
60 ; EXIT-NORMAL: CARRY is not set
62 ; EXIT-ERROR: CARRY is set
63 ; Call Get Extended Error for reason code, for SYSDISPMSG and
66 ; INTERNAL REFERENCES:
67 ; ROUTINES: (Generated by the MSG_SERVICES macro)
73 ; INCLUDED "COMPMS.INC" - message defining control blocks
74 ; INCLUDED "MSGHAN.INC" - Define STRUCs for msg control blocks
75 ; INCLUDE SYSMSG.INC ;Permit System Message handler definition
77 ; EXTERNAL REFERENCES:
80 ; DATA AREAS: control blocks pointed to by input registers.
83 ; This module should be processed with the SALUT preprocessor
84 ; with the re-alignment not requested, as:
88 ; To assemble these modules, the alphabetical or sequential
89 ; ordering of segments may be used.
91 ; For LINK instructions, refer to the PROLOG of the main module,
94 ; REVISION HISTORY: A000 Version 4.0 : add PARSER, System Message Handler,
95 ; Add compare of code page extended attribute, if present.
97 ; COPYRIGHT: "The DOS COMP Utility"
98 ; "Version 4.0 (C)Copyright 1988 Micorsoft "
99 ; "Licensed Material - Property of Microsoft "
101 ;PROGRAM AUTHOR: DOS 3.20 Dave L.
102 ; DOS 3.30 modifications by Russ W.
103 ; DOS 4.0 modifications by Edwin M. K., Bill L.
104 ;****************** END OF SPECIFICATIONS *****************************
107 %
OUT COMPONENT
=COMP
, MODULE
=COMPSM
.SAL... ;AN000;
109 ; = = = = = = = = = = = = ;AN000;
111 HEADER
MACRO TEXT
;AN000;
117 ; = = = = = = = = = = = = ;AN000;
118 INCLUDE SYSMSG
.INC ;PERMIT SYSTEM MESSAGE HANDLER DEFINITION ;AN000;
119 MSG_UTILNAME
<COMP
> ;IDENTIFY THE UTILITY ;AN000;
120 ; = = = = = = = = = = = = ;AN000;
121 HEADER
<DEFINITION OF MESSAGES
> ;AN000;
122 ; $SALUT (4,12,18,36) ;AN000;
123 CSEG
SEGMENT PARA
PUBLIC 'CODE' ;AN000;
124 ASSUME
CS:CSEG
,DS:CSEG
,ES:CSEG
,SS:CSEG
;AN000;
126 PUBLIC COPYRIGHT
;AN000;
127 COPYRIGHT
DB "The DOS COMP Utility" ;AN000;
128 INCLUDE MSGHAN
.INC ;DEFINE THE MESSAGE HANDLER CONTROL BLOCKS ;AN000;
129 INCLUDE COMPMS
.INC ;DEFINE THE MESSAGES, AND CONTROL BLOCKS ;AN000;
130 MSG_SERVICES
<MSGDATA
> ;AN000;
131 ; = = = = = = = = = = = = ;AN000;
132 HEADER
<SYSTEM MESSAGE HANDLER
> ;AN000;
133 PUBLIC SYSLOADMSG
;AN000;
134 PUBLIC SYSDISPMSG
;AN000;
135 PUBLIC SYSGETMSG
;AN000;
137 ; MSG_SERVICES <LOADmsg,GETmsg,DISPLAYmsg,CHARmsg,INPUTmsg,NUMmsg> ;AN000;
138 ;DEFAULT=CHECK DOS VERSION ;AN000;
139 ;DEFAULT=NEARmsg ;AN000;
140 ;DEFAULT=INPUTmsg ;AN000;
141 ;DEFAULT=NUMmsg ;AN000;
142 ;DEFAULT=NO TIMEmsg ;AN000;
143 ;DEFAULT=NO DATEmsg ;AN000;
146 MSG_SERVICES
<LOADmsg
> ;AN000;
147 MSG_SERVICES
<GETmsg
> ;AN000;
148 MSG_SERVICES
<DISPLAYmsg
,CHARmsg
,INPUTmsg
,NUMmsg
> ;AN000;
152 MSG_SERVICES
<COMP
.CLA
,COMP
.CL1
,COMP
.CL2
> ;TEXTS OF MESSAGES ;AN000;
153 ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ;AN000;