summaryrefslogtreecommitdiff
path: root/v4.0/src/CMD/CHKDSK/CHKDISP.ASM
diff options
context:
space:
mode:
Diffstat (limited to 'v4.0/src/CMD/CHKDSK/CHKDISP.ASM')
-rw-r--r--v4.0/src/CMD/CHKDSK/CHKDISP.ASM139
1 files changed, 139 insertions, 0 deletions
diff --git a/v4.0/src/CMD/CHKDSK/CHKDISP.ASM b/v4.0/src/CMD/CHKDSK/CHKDISP.ASM
new file mode 100644
index 0000000..e4d6ebc
--- /dev/null
+++ b/v4.0/src/CMD/CHKDSK/CHKDISP.ASM
@@ -0,0 +1,139 @@
1page ,132 ; ;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
20include pathmac.inc ;an040;bgb
21include chkseg.inc ;an000;bgb
22INCLUDE CPMFCB.INC ;an000;bgb
23INCLUDE CHKEQU.INC ;an000;bgb
24.list ;an000;bgb
25INCLUDE CHKMSG.INC ;an000;bgb
26.xlist ;an000;bgb
27INCLUDE SYSMSG.INC ;an000;bgb
28.list ;an000;bgb
29 ; ;an000;bgb
30cstack segment para stack 'STACK' ;an000;bgb
31 db 62 dup ("-Stack!-") ; (362-80h) is the additional IBM ROM ;an000;bgb
32cstack ends ;an000;bgb
33 ;an000;bgb
34 ;an000;bgb
35;***************************************************************************** ;an000;bgb
36; Message Services ;an000;bgb
37;***************************************************************************** ;an000;bgb
38MSG_UTILNAME <CHKDSK> ;an000;bgb
39 ;an000;bgb
40;.xlist ;an000;bgb
41data segment public para 'DATA' ;an000;bgb
42Msg_Services <MSGDATA> ;an000;bgb
43data ends ;an000;bgb
44 ;an000;bgb
45code segment public para 'CODE' ;an000;bgb
46pathlabl msgret ;an040;bgb
47Msg_Services <NEARmsg> ;an000;bgb
48Msg_Services <LOADmsg> ;an000;bgb
49Msg_Services <DISPLAYmsg,CHARmsg,NUMmsg,TIMEmsg,DATEmsg> ;an000;bgb
50pathlabl msgret ;an040;bgb
51Msg_Services <CHKDSK.CLA,CHKDSK.CLB,CHKDSK.CLC,CHKDSK.CLD,CHKDSK.CL1,CHKDSK.CL2,CHKDSK.CTL> ;an037;bgb
52code 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
67Message_Table struc ; ;an000;bgb;AN000;
68Entry1 dw 0 ; ;an000;bgb;AN000;
69Entry2 dw 0 ; ;an000;bgb;AN000;
70Entry3 dw 0 ; ;an000;bgb;AN000;
71Entry4 dw 0 ; ;an000;bgb;AN000;
72Entry5 db 0 ; ;an000;bgb;AN000;
73Entry6 db 0 ; ;an000;bgb;AN000;
74Entry7 dw 0 ; ;an000;bgb;AN000;
75Message_Table ends ; ;an000;bgb;AN000;
76 ;an000;bgb
77code 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
106Public Display_Interface ;an000;bgb
107Display_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;
134Display_Interface endp ; ;an000;bgb;AN000;
135 ;an000;bgb
136include msgdcl.inc
137
138code ends ;an000;bgb
139 end ;an000;bgb