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

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / CHKDSK / CHKDISP.ASM
1 page ,132 ;\ f ;an000;bgb
2 ;***************************************************************************** ;an000;bgb
3 ;***************************************************************************** ;an000;bgb
4 ;UTILITY NAME: FORMAT.COM ;an000;bgb
5 ; ;an000;bgb
6 ;MODULE NAME: DISPLAY.ASM ;an000;bgb
7 ; ;an000;bgb
8 ; ;an000;bgb
9 ; Designed: Mark T. ;an000;bgb
10 ; ;an000;bgb
11 ; Change List: AN000 - New code DOS 3.3 spec additions ;an000;bgb
12 ; AC000 - Changed code DOS 3.3 spec additions ;an000;bgb
13 ;***************************************************************************** ;an000;bgb
14 ;an000;bgb
15 EXTRN command_line_buffer:byte ;an000;bgb;an005;bgb
16 ;***************************************************************************** ;an000;bgb
17 ; Include Files ;an000;bgb
18 ;***************************************************************************** ;an000;bgb
19 .xlist ;an000;bgb
20 include pathmac.inc ;an040;bgb
21 include chkseg.inc ;an000;bgb
22 INCLUDE CPMFCB.INC ;an000;bgb
23 INCLUDE CHKEQU.INC ;an000;bgb
24 .list ;an000;bgb
25 INCLUDE CHKMSG.INC ;an000;bgb
26 .xlist ;an000;bgb
27 INCLUDE SYSMSG.INC ;an000;bgb
28 .list ;an000;bgb
29 ; ;an000;bgb
30 cstack segment para stack 'STACK' ;an000;bgb
31 db 62 dup ("-Stack!-") ; (362-80h) is the additional IBM ROM ;an000;bgb
32 cstack ends ;an000;bgb
33 ;an000;bgb
34 ;an000;bgb
35 ;***************************************************************************** ;an000;bgb
36 ; Message Services ;an000;bgb
37 ;***************************************************************************** ;an000;bgb
38 MSG_UTILNAME <CHKDSK> ;an000;bgb
39 ;an000;bgb
40 ;.xlist ;an000;bgb
41 data segment public para 'DATA' ;an000;bgb
42 Msg_Services <MSGDATA> ;an000;bgb
43 data ends ;an000;bgb
44 ;an000;bgb
45 code segment public para 'CODE' ;an000;bgb
46 pathlabl msgret ;an040;bgb
47 Msg_Services <NEARmsg> ;an000;bgb
48 Msg_Services <LOADmsg> ;an000;bgb
49 Msg_Services <DISPLAYmsg,CHARmsg,NUMmsg,TIMEmsg,DATEmsg> ;an000;bgb
50 pathlabl msgret ;an040;bgb
51 Msg_Services <CHKDSK.CLA,CHKDSK.CLB,CHKDSK.CLC,CHKDSK.CLD,CHKDSK.CL1,CHKDSK.CL2,CHKDSK.CTL> ;an037;bgb
52 code ends ;an000;bgb
53 .list ;an000;bgb
54 ;an000;bgb
55 ; ;an000;bgb
56 ;***************************************************************************** ;an000;bgb
57 ; Public Declarations ;an000;bgb
58 ;***************************************************************************** ;an000;bgb
59 Public SysLoadMsg ;an000;bgb
60 Public SysDispMsg ;an000;bgb
61 ;an000;bgb
62 ;an000;bgb
63 ; ;an000;bgb
64 ;*************************************************************************** ;an000;bgb
65 ; Message Structures ;an000;bgb
66 ;*************************************************************************** ;an000;bgb
67 Message_Table struc ; ;an000;bgb;AN000;
68 Entry1 dw 0 ; ;an000;bgb;AN000;
69 Entry2 dw 0 ; ;an000;bgb;AN000;
70 Entry3 dw 0 ; ;an000;bgb;AN000;
71 Entry4 dw 0 ; ;an000;bgb;AN000;
72 Entry5 db 0 ; ;an000;bgb;AN000;
73 Entry6 db 0 ; ;an000;bgb;AN000;
74 Entry7 dw 0 ; ;an000;bgb;AN000;
75 Message_Table ends ; ;an000;bgb;AN000;
76 ;an000;bgb
77 code segment public para 'CODE' ; ;an000;bgb;AN000;
78 ;***************************************************************************** ;an000;bgb
79 ;Routine name&gml Display_Interface ;an000;bgb
80 ;***************************************************************************** ;an000;bgb
81 ; ;an000;bgb
82 ;DescriptioN&gml Save all registers, set up registers required for SysDispMsg ;an000;bgb
83 ; routine. This information is contained in a message description ;an000;bgb
84 ; table pointed to by the DX register. Call SysDispMsg, then ;an000;bgb
85 ; restore registers. This routine assumes that the only time an ;an000;bgb
86 ; error will be returned is if an extended error message was ;an000;bgb
87 ; requested, so it will ignore error returns ;an000;bgb
88 ; ;an000;bgb
89 ;Called Procedures: Message (macro) ;an000;bgb
90 ; ;an000;bgb
91 ;Change History&gml Created 4/22/87 MT ;an000;bgb
92 ; ;an000;bgb
93 ;Input&gml ES&gmlDX = pointer to message description ;an000;bgb
94 ; ;an000;bgb
95 ;Output&gml None ;an000;bgb
96 ; ;an000;bgb
97 ;Psuedocode ;an000;bgb
98 ;---------- ;an000;bgb
99 ; ;an000;bgb
100 ; Save all registers ;an000;bgb
101 ; Setup registers for SysDispMsg from Message Description Tables ;an000;bgb
102 ; CALL SysDispMsg ;an000;bgb
103 ; Restore registers ;an000;bgb
104 ; ret ;an000;bgb
105 ;***************************************************************************** ;an000;bgb
106 Public Display_Interface ;an000;bgb
107 Display_Interface proc ; ;an000;bgb;AN000;
108 push ds ;an000;bgb
109 push ax ;an000;bgb
110 push bx ;an000;bgb
111 push cx ;an000;bgb
112 push dx ;an000;bgb
113 push si ;an000;bgb
114 push di ;an000;bgb
115 mov di,dx ;Change pointer to table ;an000;bgb;AN000;
116 mov dx,dg ;Point to group ;an000;bgb
117 mov ds,dx ; ;an000;bgb
118 mov ax,[di].Entry1 ;Message number ;an000;bgb;AN000;
119 mov bx,[di].Entry2 ;Handle ;an000;bgb;AN000;
120 mov si,[di].Entry3 ;Sublist ;an000;bgb;AN000;
121 mov cx,[di].Entry4 ;Count ;an000;bgb;AN000;
122 mov dh,[di].Entry5 ;Class ;an000;bgb;AN000;
123 mov dl,[di].Entry6 ;Function ;an000;bgb;AN000;
124 mov di,[di].Entry7 ;Input ;an000;bgb;AN000;
125 call SysDispMsg ;Display the message ;an000;bgb;AN000;
126 pop di ;an000;bgb
127 pop si ;an000;bgb
128 pop dx ;an000;bgb
129 pop cx ;an000;bgb
130 pop bx ;an000;bgb
131 pop ax ;an000;bgb
132 pop ds ;an000;bgb
133 ret ;All done ;an000;bgb;AN000;
134 Display_Interface endp ; ;an000;bgb;AN000;
135 ;an000;bgb
136 include msgdcl.inc
137
138 code ends ;an000;bgb
139 end ;an000;bgb