diff options
Diffstat (limited to 'v4.0/src/CMD/FASTOPEN/FASTSM.ASM')
| -rw-r--r-- | v4.0/src/CMD/FASTOPEN/FASTSM.ASM | 145 |
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 | |||
| 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; | ||