summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/TREE/TREESYSM.ASM
diff options
context:
space:
mode:
authorGravatar Mark Zbikowski2024-04-25 21:24:10 +0100
committerGravatar Microsoft Open Source2024-04-25 22:32:27 +0000
commit2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch)
tree80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/CMD/TREE/TREESYSM.ASM
parentMerge pull request #430 from jpbaltazar/typoptbr (diff)
downloadms-dos-main.tar.gz
ms-dos-main.tar.xz
ms-dos-main.zip
MZ is back!HEADmain
Diffstat (limited to 'v4.0/src/CMD/TREE/TREESYSM.ASM')
-rw-r--r--v4.0/src/CMD/TREE/TREESYSM.ASM151
1 files changed, 151 insertions, 0 deletions
diff --git a/v4.0/src/CMD/TREE/TREESYSM.ASM b/v4.0/src/CMD/TREE/TREESYSM.ASM
new file mode 100644
index 0000000..98c0871
--- /dev/null
+++ b/v4.0/src/CMD/TREE/TREESYSM.ASM
@@ -0,0 +1,151 @@
1 PAGE 90,132 ;AN000;A2
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
115CSEG 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;
144LAST_BYTE EQU $ ;AN000;START OF AREA AVAIL FOR STACK
145 PUBLIC LAST_BYTE ;AN000;
146
147include msgdcl.inc
148
149CSEG ENDS ;AN000;
150 END ;AN000;
151 \ No newline at end of file