summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/FASTOPEN/FASTSM.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/CMD/FASTOPEN/FASTSM.ASM')
-rw-r--r--v4.0/src/CMD/FASTOPEN/FASTSM.ASM145
1 files changed, 145 insertions, 0 deletions
diff --git a/v4.0/src/CMD/FASTOPEN/FASTSM.ASM b/v4.0/src/CMD/FASTOPEN/FASTSM.ASM
new file mode 100644
index 0000000..b2dad14
--- /dev/null
+++ b/v4.0/src/CMD/FASTOPEN/FASTSM.ASM
@@ -0,0 +1,145 @@
1 PAGE 90,132 ;A2
2 TITLE fastsm.SAL - fastopen SYSTEM MESSAGES
3;****************** START OF SPECIFICATIONS *****************************
4; MODULE NAME: fastsm.SAL
5
6; DESCRIPTIVE NAME: Include the DOS system MESSAGE HANDLER in the SEGMENT
7; configuration expected by the modules of fastopen.
8
9;FUNCTION: The common code of the DOS SYSTEM MESSAGE HANDLER is made a
10; part of the fastopen 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.
14
15; ENTRY POINT: SYSDISPMSG:near
16; SYSGETMSG:near
17; SYSLOADMSG:near
18
19; INPUT:
20; AX = MESSAGE NUMBER
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
26
27; If carry set, extended error already called:
28; AX = EXTENDED MESSAGE NUMBER
29; BH = ERROR CLASS
30; BL = SUGGESTED ACTION
31; CH = LOCUS
32; _ _ _ _ _ _ _ _ _ _ _ _
33
34; AX = MESSAGE NUMBER
35; DH = MESSAGE CLASS (1=DOS EXTENDED ERROR, 2=PARSE ERROR, -1=UTILITY MSG)
36; CALL SYSGETMSG ;FIND WHERE A MSG IS
37
38; If carry set, error
39; CX = 0, MESSAGE NOT FOUND
40; If carry not set, ok, and resulting regs are:
41; CX = MESSAGE SIZE
42; DS:SI = MESSAGE TEXT
43; _ _ _ _ _ _ _ _ _ _ _ _
44
45; CALL SYSLOADMSG ;SET ADDRESSABILITY TO MSGS, CHECK DOS VERSION
46; If carry not set:
47; CX = SIZE OF MSGS LOADED
48
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)
53; OR,
54; AX = 1, Error loading messages
55; DH = 0, (Message manager error)
56; BX = STDERR
57; CX = NO_REPLACE
58; DL = NO_INPUT
59
60; EXIT-NORMAL: CARRY is not set
61
62; EXIT-ERROR: CARRY is set
63; Call Get Extended Error for reason code, for SYSDISPMSG and
64; SYSGETMSG.
65
66; INTERNAL REFERENCES:
67; ROUTINES: (Generated by the MSG_SERVICES macro)
68; SYSLOADMSG
69; SYSDISPMSG
70; SYSGETMSG
71
72; DATA AREAS:
73
74; INCLUDE SYSMSG.INC ;Permit System Message handler definition
75;
76; EXTERNAL REFERENCES:
77; ROUTINES: none
78
79; DATA AREAS: control blocks pointed to by input registers.
80
81; NOTES:
82
83; To assemble these modules, the alphabetical or sequential
84; ordering of segments may be used.
85
86; For LINK instructions, refer to the PROLOG of the main module,
87; fastopen.asm.
88
89; REVISION HISTORY: A000 Version 4.00: add PARSER, System Message Handler,
90;
91; COPYRIGHT: "MS DOS FASTOPEN Utility"
92; "Version 4.00 (C)Copyright 1988 Microsoft "
93; "Licensed Material - Property of Microsoft "
94;
95;****************** END OF SPECIFICATIONS *****************************
96 IF1 ; ;AN000;
97 %OUT COMPONENT=fastopen, MODULE=fastsm.asm...
98 ENDIF ; ;AN000;
99; = = = = = = = = = = = =
100
101HEADER MACRO TEXT ;; ;AN000;
102.XLIST ;;
103 SUBTTL TEXT
104.LIST ;;
105 PAGE ;; ;AN000;
106 ENDM ;; ;AN000;
107; = = = = = = = = = = = =
108 INCLUDE SYSMSG.INC ;PERMIT SYSTEM MESSAGE HANDLER DEFINITION ;AN000;
109 MSG_UTILNAME <fastopen> ;IDENTIFY THE COMPONENT ;AN000;
110; = = = = = = = = = = = =
111 HEADER <DEFINITION OF MESSAGES> ; ;AN000;
112CSEG_INIT SEGMENT PARA PUBLIC 'CODE' ;
113 ASSUME CS:CSEG_INIT ;ESTABLISHED BY CALLER
114 ASSUME DS:CSEG_INIT ;ESTABLISHED BY CALLER
115 ASSUME ES:CSEG_INIT ;ESTABLISHED BY CALLER
116
117 PUBLIC COPYRIGHT ; ;AN000;
118COPYRIGHT DB "MS DOS FASTOPEN Utility " ; ;AN000;
119 INCLUDE COPYRIGH.INC ; ;AN000;
120 HEADER <MESSAGE DATA AREAS> ; ;AN000;
121 MSG_SERVICES <MSGDATA> ;WORKAREAS FOR SYSTEM MESSAGE HANDLER ;AN000;
122; = = = = = = = = = = = =
123 HEADER <SYSTEM MESSAGE HANDLER> ; ;AN000;
124 PUBLIC SYSLOADMSG ; ;AN000;
125 PUBLIC SYSDISPMSG ; ;AN000;
126
127
128 MSG_SERVICES <FASTOPEN.CLA,FASTOPEN.CL1,FASTOPEN.CL2> ;
129
130 ;DEFAULT=CHECK DOS VERSION
131 ;DEFAULT=NEARmsg
132 ;DEFAULT=INPUTmsg
133 ;DEFAULT=NUMmsg
134 ;DEFAULT=NO TIMEmsg
135 ;DEFAULT=NO DATEmsg
136
137.xlist
138.xcref
139 MSG_SERVICES <LOADmsg,GETmsg,DISPLAYmsg,INPUTmsg,CHARmsg,NUMmsg> ;AN000;
140 include msgdcl.inc
141.cref
142.list
143; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
144CSEG_INIT ENDS ;
145 END ; ;AN000;