diff options
| author | 2024-04-25 21:24:10 +0100 | |
|---|---|---|
| committer | 2024-04-25 22:32:27 +0000 | |
| commit | 2d04cacc5322951f187bb17e017c12920ac8ebe2 (patch) | |
| tree | 80ee017efa878dfd5344b44249e6a241f2a7f6e2 /v4.0/src/CMD/DISKCOPY/DCOPYSM.ASM | |
| parent | Merge pull request #430 from jpbaltazar/typoptbr (diff) | |
| download | ms-dos-main.tar.gz ms-dos-main.tar.xz ms-dos-main.zip | |
Diffstat (limited to 'v4.0/src/CMD/DISKCOPY/DCOPYSM.ASM')
| -rw-r--r-- | v4.0/src/CMD/DISKCOPY/DCOPYSM.ASM | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/v4.0/src/CMD/DISKCOPY/DCOPYSM.ASM b/v4.0/src/CMD/DISKCOPY/DCOPYSM.ASM new file mode 100644 index 0000000..035fa73 --- /dev/null +++ b/v4.0/src/CMD/DISKCOPY/DCOPYSM.ASM | |||
| @@ -0,0 +1,153 @@ | |||
| 1 | PAGE 90,132 ;AN000;A2 | ||
| 2 | TITLE DCOPYSM.SAL - DISKCOPY SYSTEM MESSAGES | ||
| 3 | ;****************** START OF SPECIFICATIONS ***************************** | ||
| 4 | ; MODULE NAME: DCOPYSM.SAL | ||
| 5 | |||
| 6 | ; DESCRIPTIVE NAME: Include the DOS system MESSAGE HANDLER in the SEGMENT | ||
| 7 | ; configuration expected by the modules of DISKCOPY. | ||
| 8 | |||
| 9 | ;FUNCTION: The common code of the DOS SYSTEM MESSAGE HANDLER is made a | ||
| 10 | ; part of the DISKCOPY 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 | ; INCLUDED "DCOPYMS.INC" - message defining control blocks | ||
| 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 | ; This module should be processed with the SALUT preprocessor | ||
| 83 | ; with the re-alignment not requested, as: | ||
| 84 | |||
| 85 | ; SALUT DCOPYSM,NUL | ||
| 86 | |||
| 87 | ; To assemble these modules, the alphabetical or sequential | ||
| 88 | ; ordering of segments may be used. | ||
| 89 | |||
| 90 | ; For LINK instructions, refer to the PROLOG of the main module, | ||
| 91 | ; DISKCOPY.SAL. | ||
| 92 | |||
| 93 | ; COPYRIGHT: "Version 4.00 (C)Copyright 1988 Microsoft" | ||
| 94 | ; "Licensed Material - Property of Microsoft " | ||
| 95 | ; | ||
| 96 | ;****************** END OF SPECIFICATIONS ***************************** | ||
| 97 | IF1 ;AN000; | ||
| 98 | %OUT COMPONENT=DISKCOPY, MODULE=DCOPYSM.SAL... ;AN000; | ||
| 99 | ENDIF ;AN000; | ||
| 100 | ; = = = = = = = = = = = = | ||
| 101 | INCLUDE PATHMAC.INC ;AN015;PATHGEN MACRO | ||
| 102 | ; = = = = = = = = = = = = | ||
| 103 | HEADER MACRO TEXT ;;AN000; | ||
| 104 | .XLIST ;;AN000; | ||
| 105 | SUBTTL TEXT ;;AN000; | ||
| 106 | .LIST ;;AN000; | ||
| 107 | PAGE ;;AN000; | ||
| 108 | ENDM ;;AN000; | ||
| 109 | ; = = = = = = = = = = = = | ||
| 110 | INCLUDE SYSMSG.INC ;AN000;PERMIT SYSTEM MESSAGE HANDLER DEFINITION | ||
| 111 | MSG_UTILNAME <DISKCOPY> ;AN000;IDENTIFY THE COMPONENT | ||
| 112 | ; = = = = = = = = = = = = | ||
| 113 | HEADER <DEFINITION OF MESSAGES> ;AN000; | ||
| 114 | ; $SALUT (4,12,18,36) ;AN000; | ||
| 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 | ;(deleted ;AN010;) PUBLIC COPYRIGHT ; | ||
| 122 | ;(deleted ;AN010;) COPYRIGHT DB "MS DOS DISKCOPY Utility " | ||
| 123 | ;(deleted ;AN010;) INCLUDE COPYRIGH.INC ;(this is now being done my MSG_SERVICES) | ||
| 124 | HEADER <MESSAGE HANDLER CONTROL BLOCKS> ;AN000; | ||
| 125 | INCLUDE MSGHAN.INC ;AN000;DEFINE THE MESSAGE HANDLER CONTROL BLOCKS | ||
| 126 | INCLUDE DCOPYMS.INC ;AN000;DEFINE THE MESSAGES, AND CONTROL BLOCKS | ||
| 127 | HEADER <MESSAGE DATA AREAS> ;AN000; | ||
| 128 | MSG_SERVICES <MSGDATA> ;AN000;WORKAREAS FOR SYSTEM MESSAGE HANDLER | ||
| 129 | ; = = = = = = = = = = = = | ||
| 130 | HEADER <SYSTEM MESSAGE HANDLER> ;AN000; | ||
| 131 | PUBLIC SYSLOADMSG ;AN000; | ||
| 132 | PUBLIC SYSDISPMSG ;AN000; | ||
| 133 | |||
| 134 | MSG_SERVICES <DISKCOPY.CL1,DISKCOPY.CL2,DISKCOPY.CLA> ;AN000;MSG TEXT | ||
| 135 | |||
| 136 | PATHLABL DCOPYSM ;AN015; | ||
| 137 | ;DEFAULT=CHECK DOS VERSION | ||
| 138 | ;DEFAULT=NEARmsg | ||
| 139 | ;DEFAULT=INPUTmsg | ||
| 140 | ;DEFAULT=NUMmsg | ||
| 141 | ;DEFAULT=NO TIMEmsg | ||
| 142 | ;DEFAULT=NO DATEmsg | ||
| 143 | ; MSG_SERVICES <LOADmsg,DISPLAYmsg,CHARmsg,NUMmsg,INPUTmsg> | ||
| 144 | .xlist ;AN000; | ||
| 145 | .xcref ;AN000; | ||
| 146 | MSG_SERVICES <LOADmsg,DISPLAYmsg,CHARmsg,NUMmsg,INPUTmsg> ;AN000; | ||
| 147 | .cref ;AN000; | ||
| 148 | .list ;AN000; | ||
| 149 | ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | ||
| 150 | PATHLABL DCOPYSM ;AN015; | ||
| 151 | CSEG ENDS ;AN000; | ||
| 152 | END ;AN000; | ||
| 153 | \ No newline at end of file | ||