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

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / TREE / TREESYSM.ASM
1 PAGE 90,132 ;AN000;\ f\eA\b\e2
2 TITLE TREESYSM.SAL - INCLUDES THE COMMON SYSTEM MESSAGE HANDLER ;AN000;
3 ;****************** START OF SPECIFICATIONS *****************************
4 ; MODULE NAME: TREESYSM.SAL
5
6 ; DESCRIPTIVE NAME: Include the DOS system MESSAGE HANDLER in the SEGMENT
7 ; configuration expected by the modules of TREE.
8
9 ;FUNCTION: The common code of the DOS SYSTEM MESSAGE HANDLER is made a
10 ; part of the TREE 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 ; INCLUDE TREEMS.INC ;message defining control blocks
74 ; INCLUDE SYSMSG.INC ;Permit System Message handler definition
75 ; INCLUDE COPYRIGH.INC ;Standard copy right notice
76 ; INCLUDE MSGHAN.INC ;Defines message control blocks STRUCs
77 ; INCLUDE VERSIONA.INC ;INCLUDEd by code generated by SYSMSG.INC
78 ; INCLUDE PATHMAC.INC - PATHGEN MACRO
79
80 ; EXTERNAL REFERENCES:
81 ; ROUTINES: none
82
83 ; DATA AREAS: control blocks pointed to by input registers.
84
85 ; NOTES:
86 ; This module should be processed with the SALUT preprocessor
87 ; with the re-alignment not requested, as:
88
89 ; SALUT TREESYSM,NUL
90
91 ; To assemble these modules, the alphabetical or sequential
92 ; ordering of segments may be used.
93
94 ; For LINK instructions, refer to the PROLOG of the main module,
95 ; TREE.SAL.
96
97 ; Label: The following notice is found in the OBJ code:
98 ;
99 ; "Version 4.00 (C)Copyright 1988 Microsoft
100 ; "Licensed Material - Program Property of Microsoft
101 ;
102 ;****************** END OF SPECIFICATIONS *****************************
103 IF1 ;AN000;
104 %OUT COMPONENT=TREE, MODULE=TREESYSM.SAL... ;AN000;
105 ENDIF ;AN000;
106 INCLUDE PATHMAC.INC ;AN013;
107
108 ; INCLUDE SYSMSG.INC
109 .XLIST ;AN000;
110 INCLUDE SYSMSG.INC ;AN000;PERMIT SYSTEM MESSAGE HANDLER DEFINITION
111 .LIST ;AN000;
112 MSG_UTILNAME <TREE> ;AN000;IDENTIFY THE COMPONENT
113 ; = = = = = = = = = = = =
114
115 CSEG SEGMENT PARA PUBLIC 'CODE' ;AN000;
116 ASSUME CS:CSEG ;AN000;ESTABLISHED BY CALLER
117 ASSUME SS:CSEG ;AN000;ESTABLISHED BY CALLER
118 ASSUME DS:CSEG ;AN000;ESTABLISHED BY CALLER
119 ASSUME ES:CSEG ;AN000;ESTABLISHED BY CALLER
120
121 INCLUDE MSGHAN.INC ;AN000;DEFINE MESSAGE HANDLER CONTROL BLOCKS
122 INCLUDE TREEMS.INC ;AN000;DEFINE THE MESSAGES, AND CONTROL BLOCKS
123 MSG_SERVICES <TREE.CLA,TREE.CL1,TREE.CL2> ;AN000;MESSAGE TEXTS
124 MSG_SERVICES <MSGDATA> ;AN000;SYS MSG HANDLER WORKAREAS
125 ; = = = = = = = = = = = =
126 PUBLIC SYSLOADMSG ;AN000;
127 PUBLIC SYSDISPMSG ;AN000;
128 PUBLIC SYSGETMSG ;AN002;
129 ; INCLUDE COPYRIGH.INC ;TO BE INCLUDED BY THE MSG_SERVICES ;AN011;
130 PATHLABL TREESYSM ;AN013;
131 ;DEFAULT=CHECK DOS VERSION
132 ;DEFAULT=NEARmsg
133 ;DEFAULT=NO INPUTmsg
134 ;DEFAULT=NO TIMEmsg
135 ;DEFAULT=NO DATEmsg
136 ; MSG_SERVICES <LOADmsg,DISPLAYmsg,GETmsg,CHARmsg,NUMmsg> ;AN027;
137 .xlist ;AN000;
138 .xcref ;AN000;
139 MSG_SERVICES <LOADmsg,DISPLAYmsg,GETmsg,CHARmsg,NUMmsg> ;AN027; ;AC002;
140 .cref ;AN000;
141 .list ;AN000;
142 ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
143 PATHLABL TREESYSM ;AN013;
144 LAST_BYTE EQU $ ;AN000;START OF AREA AVAIL FOR STACK
145 PUBLIC LAST_BYTE ;AN000;
146
147 include msgdcl.inc
148
149 CSEG ENDS ;AN000;
150 END ;AN000;
151 \1a