]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/FASTOPEN/FASTSM.ASM

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / FASTOPEN / FASTSM.ASM
1 PAGE 90,132 ;\ f\eA\b\e2
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
101 HEADER 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;
112 CSEG_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;
118 COPYRIGHT 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 ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
144 CSEG_INIT ENDS ;
145 END ; ;AN000;