.TITLE ASKERR ; ; .IDENT /X01.02/ ; ; ; .ENABL LC ; ; ; Copyright (C) Shell Research Ltd. 1979 ; ; ; The copyright in this computer program and associated user ; instructions contained in this document is the property of ; Shell Research Ltd.. No guarantee is given or may be implied ; as to the adequacy of the program or its suitability for any ; particular purpose and no liability is accepted for any loss ; or damage arising out of its use. ; ; ; ; Version: X01 ; ; ; Original author:R J Carpenter 6-Nov-79 ; ; ; This versmon: R J Carpenter 9-Nov-79 ; ; .PAGE .SBTTL DESCRIPTION ; ; ;++ ; This FORTRAN calleable module prints the errors involved in the ; use of the ASKx subroutines ;-- ; ; .PAGE .SBTTL MACROS AND DEFINITIONS ; ; .PSECT ASK ; ; .MCALL .PRINT ; ; MXASK == 3 ; ; .PAGE .SBTTL CODE ; ; FORTRAN ENTRY POINT ; ASKERR:: MOV @2(R5),R1 ;GET ERROR CODE INTO R1 BR AE1 ;JOIN COMMON CODE ; ; MACRO ENTRY POINT (WITH ERROR CODE IN R0) ; ASKERM:: MOV R0,R1 ;GET ERROR CODE INTO R1 ; ; REST OF CODE IS COMMON ; AE1: BGT 1$ ;BR IF > 0 CLR R1 ;ELSE CLEAR IT 1$: CMP R1,#MXASK ;ERROR CODE EXCEEDED ? BLE 2$ ;BR IF NOT CLR R1 ;CLEAR IT 2$: ASL R1 ;WORD OFFSET .PRINT #ASKMS0 ;PRINT HEADER MOV ASKLST(R1),R0 ;GET START ADDR. INTO R0 .PRINT ;PRINT IT .PRINT #ASKMS1 ;ASK FOR NEW INPUT RETURN ;RETURN TO CALLER ; ; .PAGE .SBTTL ERROR MESSAGES ; ; .NLIST BEX ; ; ASKLST: .WORD ASKER0,ASKER1,ASKER2,ASKER3 ; ; ASKMS0: .ASCII /?ASK-F-/<200> ASKMS1: .ASCII / Please try again./<15><12>/ ? /<200> ASKER0: .ASCII /ASK Failure./<200> ASKER1: .ASCII /Invalid input./<200> ASKER2: .ASCII /Input not in range./<200> ASKER3: .ASCII /String length not in range./<200> ; ; .EVEN ; ; .END