]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/EXE2BIN/DISPLAY.ASM
3 CODE SEGMENT PARA
PUBLIC 'CODE'
5 DATA SEGMENT PARA
PUBLIC 'DATA'
7 STACK SEGMENT PARA
STACK 'STACK'
9 ZLOAD
SEGMENT PARA
PUBLIC 'ZLOAD'
12 CODE SEGMENT PARA
PUBLIC 'CODE'
13 assume
cs:code,ds:data
15 ;*****************************************************************************
16 ; External Declarations
17 ;*****************************************************************************
23 ;***************************************************************************
25 ;***************************************************************************
29 Message_Table
struc ; ;AN000;
39 Message_Table ends
; ;AN000;
43 ;*****************************************************************************
44 ;Routine name&gml Display_Interface
45 ;*****************************************************************************
47 ;DescriptioN&gml Save all registers, set up registers required for SysDispMsg
48 ; routine. This information is contained in a message description
49 ; table pointed to by the DX register. Call SysDispMsg, then
50 ; restore registers. This routine assumes that the only time an
51 ; error will be returned is if an extended error message was
52 ; requested, so it will ignore error returns
54 ;Called Procedures: Message (macro)
56 ;Change History&gml Created 4/22/87 MT
58 ;Input&gml ES&gmlDX = pointer to message description
66 ; Setup registers for SysDispMsg from Message Description Tables
70 ;*****************************************************************************
72 Public Display_Interface
73 Display_Interface proc
; ;AN000;
77 push ax ;Save registers ;AN000;
78 push bx ; " " " " ;AN000;
79 push cx ; " " " " ;AN000;
80 push dx ; " " " " ;AN000;
81 push si ; " " " " ;AN000;
82 push di ; " " " " ;AN000;
83 mov di,dx ;Change pointer to table ;AN000;
84 mov dx,SEG
data ;Point to data segment
87 mov ax,[di].Entry1
;Message number ;AN000;
88 mov bx,[di].Entry2
;Handle ;AN000;
89 mov si,[di].Entry3
;Sublist ;AN000;
90 mov cx,[di].Entry4
;Count ;AN000;
91 mov dh,[di].Entry5
;Class ;AN000;
92 mov dl,[di].Entry6
;Function ;AN000;
93 mov di,[di].Entry7
;Input ;AN000;
94 call SysDispMsg
;Display the message ;AN000;
95 pop di ;Restore registers ;AN000;
96 pop si ; " " " " ;AN000;
97 pop dx ; " " " " ;AN000;
98 pop cx ; " " " " ;AN000;
99 pop bx ; " " " " ;AN000;
100 pop ax ; " " " " ;AN000;
103 ret ;All done ;AN000;
105 Display_Interface endp
; ;AN000;