.MCALL .MODULE .MODULE INDASK,VERSION=01,COMMENT=,GLOBAL=.IASK ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .ENABL GBL,LC .SBTTL Macro definitions and internal data .MCALL DEFIN$ DEFIN$ ;Definitions for IND files .PSECT INDASK .SBTTL ASK directives ;+ ;The following are entry points for the ask directives (.ASK, .ASKN, and ;.ASKS). Upon entering the appropriate symbol type is set for the symbol. ;Then the routine calls INDAS1 to construct the prompt string and recieve ;the response. After recieving the response, INDAS2 is called to process ;interpret the response. If the c-bit is set upon return from INDAS2 an ;error occured and a response is again requested. ;- .ENABL LSB ASK:: CLRB R5 ;Set symbol type to logical .ASSUME EQ 0 MOV #1,DEF ;Logical default is FALSE .ASSUME EQ 1 BR 1$ ;Goto common code ASKN:: MOVB #,R5 ;Set symbol type to numeric CLR DEF ;Default is 0 MOV #-1,HIGH ;Default high limit is 177777 BR 1$ ;Goto common code ASKS:: MOVB #,R5 ;Set symbol type to string CLR DEF ;Default is 0 MOV #ASKBL-3,HIGH ;Default high limit is 132 1$: MOV R0,CLPTR ;Save command line pointer MOVB R5,SYMTP ;Save symbol type CLR TIMBLK ;Clear first word of timeout block CLR TIMBLK+2 ;Clear second word of timeout block CLR LOW ;Clear low limit area CLR TMOUT ;Assume no timeout value specified CLRB ARG ;Assume no argument is specified ; CLC ;C-bit should be clear from previous CLR inst. 2$: CALL INDAS1 ;Generate message, prompt and get response 3$: CALL INDAS2 ;Read answer and store result BCS 2$ ;Illegal response - retry JMP INDRD ;Valid response - process next line .DSABL LSB .END