/ / / / / / / / / / /COPYRIGHT (C) 1978,1979 BY DIGITAL EQUIPMENT CORPORATION / / / / / / / / / / /THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE /AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT /CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY /FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. / /THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER /UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED /(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH /SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL. / /DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE /OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY /DIGITAL. / / / / / / / / / /VERSION=1 / .TITLE SUBROUTINE ERROR /This program handles error calls /from the various other subroutines. It /saves DIRLOC and QUES, outputs the /error message and takes the return /to the caller if indicated. / / /The calling sequence is: / / / CLA / TAD ENUM / CDF FLD / CIF ERROR / JMS I ERR / ACTION / . / . /ENUM,XXX /WHERE XXX = ERROR NUMBER /ERR,ERR1 /ENTRY POINT TO ERROR.MA / /Action is a parameter passed to ERROR /indicating as follows: / /0 - Return to caller. /1 - Return to QUESTION. / (DIRLOC-3 to DIRLOC). /2 - Fatal error, return to monitor. /3 - Halt after error message. />3- Return to XXX / (Question number to CQUES, IFLAG / Set, and Lognum set to zero.) / /ERROR always resets EXITFG since error /records are located beyond the normal /script questions. / / .FSECT ERROR .ENTRY ERR1 .EXTERNAL DIRLOC,IFLAG,CQUES,QUES,LOGNUM,EREC .EXTERNAL GETR,TABLE1,TTYIO,MAIN,MAIN11 .EXTERNAL EXITFG,PASS3,TYPE,PAGEFG,TFG ERR1, 0 DCA ERR40 TAD F1 RDF DCA ERR20 /setup for return to caller. TAD I ERR1 DCA ERR41 CDF TABLE1 /get the action parameter /and store. TAD I F2 TAD F3 DCA 10 /SET AUTOINDEX TO POINT TO CURRENT QUESTION TAD QUES DCA ERR42 TAD I F4 DCA ERR43 TAD I F2 DCA ERR51 /Preserve current question /number and record /directory segment. TAD ERR40 TAD F5 DCA I F6 ISZ I F7 STA DCA I F4 TAD (200 DCA I F16 /get error number plus /1000 equals ERROR /record number, and /setup system for branch /to search. CDF .FLD CIF GETR JMS I ERR2 /GO GET the error record /into TOVER. CDF TABLE1 TAD F10 DCA I F11 /SIMULATE R-TYPE RECORD CDF .FLD CIF TTYIO JMS I ERR44 /output the error message. CLA CDF TABLE1 TAD PASS3 /IF WE ARE IN PASS3, ALL ARE FATAL SZA CLA /SKIP IF NOT IN PASS 3 JMP ERR5 /GO BACK TO MONITOR TAD ERR42 TAD F12 SPA CLA JMP ERR61 /IF QUESTION NUMBER LESS THAN THREE /ALWAYS RETURN TO QUESTION VIA EXCESS THREE /FEATURE TAD ERR41 TAD F12 SPA JMP ERR3 /check if action parameter is /less than 3. ERR61, CLA TAD ERR41 DCA I F6 STA DCA I F4 TAD F17 DCA I F16 DCA I F22 ERR50, ISZ I F7 /setup to branch to requested /question. ERR6, DCA I F13 /RESET EXIT FLAG CDF TABLE1 CIF MAIN11 JMP I ERR45 /get the requested question /and return to the /mainline routine. ERR3, TAD F14 /IS IS ZERO? SNA JMP ERR10 /if action parameter is /zero, return to caller. TAD F15 SNA /equal to one JMP ERR4 /return to current question. TAD F15 SNA /equal to two? JMP ERR5 /return to monitor; fatal /error. HLT /caller wants to HALT. ERR4, CLA TAD ERR42 DCA I F6 TAD F15 DCA I F4 TAD F17 DCA I F16 JMP ERR50 /setup to return to current /question and go to /mainline exit. ERR5, CDF 0 CIF 0 JMP I ERR46 ERR10, CLA ISZ ERR1 DCA I F13 TAD ERR42 DCA I F6 ISZ I F7 STA DCA I F4 TAD F20 DCA I F2 CDF .FLD CIF GETR JMS I ERR2 CDF TABLE1 ERR20, 0 JMP I ERR1 ERR2, GETR /link to GETREC routine. ERR40, 0 /storage for error number. ERR41, 0 /storage for action parameter. ERR42, 0 /storage for current question. ERR43, 0 /storage for current record /directory segment. ERR44, TTYIO /link to record output module. ERR45, MAIN11 /entry to mainline routine. ERR46, 7600 ERR51,0 /SAVE AREA FOR DIRLOC F1, CIF F2, DIRLOC F3, -3 F4, LOGNUM F5, 1000 F6, CQUES F7, IFLAG F10, 322 F11, TYPE F12, -4 F13, EXITFG F14, 4 F15, -1 F16, PAGEFG F17, 200 F20, EREC F22, TFG