]>
wirehaze git hosting - MS-DOS.git/blob - 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
6 ;MODULE NAME: DISPLAY.ASM ;an000;bgb
9 ; Designed: Mark T. ;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
15 EXTRN command_line_buffer
:byte ;an000;bgb;an005;bgb
16 ;***************************************************************************** ;an000;bgb
17 ; Include Files ;an000;bgb
18 ;***************************************************************************** ;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
25 INCLUDE CHKMSG
.INC ;an000;bgb
27 INCLUDE SYSMSG
.INC ;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
35 ;***************************************************************************** ;an000;bgb
36 ; Message Services ;an000;bgb
37 ;***************************************************************************** ;an000;bgb
38 MSG_UTILNAME
<CHKDSK
> ;an000;bgb
41 data segment public para
'DATA' ;an000;bgb
42 Msg_Services
<MSGDATA
> ;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
56 ;***************************************************************************** ;an000;bgb
57 ; Public Declarations ;an000;bgb
58 ;***************************************************************************** ;an000;bgb
59 Public SysLoadMsg
;an000;bgb
60 Public SysDispMsg
;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;
77 code segment public para
'CODE' ; ;an000;bgb;AN000;
78 ;***************************************************************************** ;an000;bgb
79 ;Routine name&gml Display_Interface ;an000;bgb
80 ;***************************************************************************** ;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
89 ;Called Procedures: Message (macro) ;an000;bgb
91 ;Change History&gml Created 4/22/87 MT ;an000;bgb
93 ;Input&gml ES&gmlDX = pointer to message description ;an000;bgb
95 ;Output&gml None ;an000;bgb
97 ;Psuedocode ;an000;bgb
98 ;---------- ;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
105 ;***************************************************************************** ;an000;bgb
106 Public Display_Interface
;an000;bgb
107 Display_Interface proc
; ;an000;bgb;AN000;
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;
133 ret ;All done ;an000;bgb;AN000;
134 Display_Interface endp
; ;an000;bgb;AN000;