diff options
Diffstat (limited to 'v4.0/src/CMD/TREE/TREESYSM.ASM')
| -rw-r--r-- | v4.0/src/CMD/TREE/TREESYSM.ASM | 151 |
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 | |||
| 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 | \ No newline at end of file | ||