1 TITLE CHKPRMT
- Procedures called
from chkdsk which prompt
;an000;bgb
2 page
,132 ;\ f ;an000;bgb
5 include chkseg
.inc ;an000;bgb
6 INCLUDE CHKCHNG
.INC ;an000;bgb
7 INCLUDE SYSCALL.INC ;an000;bgb
8 INCLUDE CHKEQU
.INC ;an000;bgb
9 INCLUDE CHKMACRO
.INC ;an000;bgb
10 include pathmac
.inc ;an000;bgb
14 CONST
SEGMENT PUBLIC PARA
'DATA' ;an000;bgb
15 EXTRN YES_BYTE
:BYTE,NO_BYTE
:BYTE ;an000;bgb
16 EXTRN YN_ARG
:WORD ;an000;bgb
17 EXTRN HECODE
:byte,CONBUF
:byte ;an000;bgb
21 CODE SEGMENT PUBLIC PARA
'CODE' ;an000;bgb
22 ASSUME
CS:DG
,DS:DG
,ES:DG
,SS:DG
;an000;bgb
23 EXTRN PRINTF_CRLF
:NEAR,DOCRLF
:NEAR ;an000;bgb
25 pathlabl chkprmt
;an000;bgb
26 ;***************************************************************************** ;an000;bgb
27 ;Routine name:PromptYN ;an000;bgb
28 ;***************************************************************************** ;an000;bgb
30 ;description: Validate that input is valid Y/N for the country dependent info ;an000;bgb
31 ; Return Z flag if 'Y' entered ;an000;bgb
32 ;Called Procedures: Message (macro) ;an000;bgb
33 ; User_String ;an000;bgb
35 ;Change History: Created 5/10/87 MT ;an000;bgb
37 ;Input: DX = offset to message ;an000;bgb
39 ;Output: Z flag if 'Y' entered ;an000;bgb
41 ;Psuedocode ;an000;bgb
42 ;---------- ;an000;bgb
45 ; Display prompt and input character ;an000;bgb
46 ; IF got character ;an000;bgb
47 ; Check for country dependent Y/N (INT 21h, AX=6523h Get Ext Country;an000;bgb)
48 ; IF NC (Yes or No) ;an000;bgb
49 ; Set Z if Yes, NZ if No ;an000;bgb
51 ; ELSE (nothing entered) ;an000;bgb
56 ;***************************************************************************** ;an000;bgb
57 Procedure PromptYN
; ;an000;bgb;AN000;
58 push si ;Save reg ;an000;bgb
59 ; $DO ; ;an000;bgb;AC000;
61 Call Display_Interface
;Display the message ;an000;bgb;AC000;
62 MOV DX,OFFSET DG
:CONBUF
;Point at input buffer ;an000;bgb
63 DOS_Call Std_Con_String_Input
;Get input ;an000;bgb;AC000;
64 CALL DOCRLF
; ;an000;bgb
65 MOV SI,OFFSET DG
:CONBUF
+2 ;Point at contents of buffer ;an000;bgb
66 CMP BYTE PTR [SI-1],0 ;Was there input? ;an000;bgb
67 ; $IF NE ;Yep ;an000;bgb;AC000;
69 mov al,23h
;See if it is Y/N ;an000;bgb;AN000;
70 mov dl,[si] ;Get character ;an000;bgb;AN000;
71 DOS_Call GetExtCntry
;Get country info call ;an000;bgb;AN000;
72 ; $IF NC ;Yes or No entered ;an000;bgb;AN000;
74 cmp ax,Yes_Found
;Set Z if Yes, NZ if No ;an000;bgb;AN000;
75 clc ;CY=0 means Y/N found ;an000;bgb
76 ; $ENDIF ;CY set if neither ;an000;bgb;AN000;
78 ; $ELSE ;No characters input ;an000;bgb
81 stc ;CY means not Y/N ;an000;bgb
84 ; $ENDDO NC ; ;an000;bgb;AN000;
88 PromptYN endp
; ;an000;bgb;AN000;
89 pathlabl chkprmt
;an000;bgb