/ / / / / / / / / / /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 DEFLT /DEFLT CALLS UNPACK TO GET THE LAST TWELVE CHARACTERS /OF THE CURRENT RECORD UNPACKED. DEFLT THEN SEARCHES /FOR THE FIRST LEFT PARENTHESIS AND RETURNS AN ADDRESS /DFPTR IN THE SYSTEM TABLES POINTING TO THE FIRST CHARACTER /OF THE DEFAULT ANSWER. UNPACK MUST BE RESIDENT AT TIME /OF CALL .ENTRY DFLT .EXTERNAL OVRPTR,UNPAC,TABLE1,UNP1,RECLOC,ERR1,IQUES .EXTERNAL PCKPTR,DIRLOC,DFPTR,EOVER,EPACK,UNPACK,QUES .NOLIST BE .FSECT DEFLT DFLT, 0 CLA TAD F1 RDF CDF .FLD DCA DFLT10 CDF TABLE1 /SETUP FOR RETURN TAD I F15 DCA RETU3 /SAVE QUESTION NUMBER FOR ERROR RETURN TAD 10 DCA SAVE /PRESERVE AUTOINDEX TAD I F2 /POINT TO RECORD OVERLAY AREA TAD I F3 /ADD DISPLACEMENT TO RECORD START TAD F4 /BYPASS SYSTEM NUMBER AND TYPE DCA ARGY /PASS POINTER TO UNPACK DFLT3, CDF .FLD CIF UNP1 JMS I UNPA /GO UNPACK FIRST TWENTY-FIVE CHARACTERS ARGY, 0 UNPACK-1 7 /SOURCE ARGUMENT POINTS TO RECORD DEFAULT /IN TOVER /TARGET BUFFER IS UNPACK WORK AREA /NUMBER OS/8 WORDS TO UNPACK IS TWENTY-FIVE CDF TABLE1 TAD I F5 DCA 10 /POINT TO TABLE UNPAC DFLT2, CLA TAD I 10 CIA TAD PAREN /FIND LEFT PARENTHESIS SNA JMP DFLT1 /FOUND IT CLA TAD END1 /GET POINTER TO END OF UNPACK TABLE CIA TAD 10 SPA /CHECK FOR END OF UNPACK TABLE. JMP DFLT2 /NOT END, CONTINUE SEARCH CLA TAD ARGY CIA TAD END2 SPA /NOW CHECK FOR END OF WORK AREA JMP ERR22 /ERROR IF END OF RECORD AREA AND NO DEFAULT CLA TAD ARGY TAD F6 DCA ARGY /END OF UNPACK TABLE. INCREMENT ARGUMENT TO /UNPACK ROUTINE TO FETCH NEXT 25 OCTAL WORDS JMP DFLT3 /CONTINUE LOOP DFLT1, CLA TAD DFLT5 SZA /NOT LAST PASS IF FLAG NOT SET JMP DFLT4 CLA TAD DFLT6 CIA TAD 10 /10 POINTS TO LOCATION IN UNPACK TABLE /WHERE ( OCCURS. UNPACK-10 WILL MOVE /( CHARACTER TO BEGINNING OF TABLE. DFLT7, TAD F7 SPA JMP OUT ISZ CNT JMP DFLT7 OUT, CLA TAD CNT CLL;RAL TAD ARGY DCA ARGY ISZ DFLT5 /SET LAST PASS FLAG JMP DFLT3 /BRING IN DEFAULT ANSWER DFLT4, CLA TAD 10 DCA I F10 /STORE FOR FUTURE REFERENCE DCA CNT DCA DFLT5 /RESET LAST PASS FLAG TAD I 10 TAD F11 SNA CLA JMP ERR23 /CHECK FOR ? DEFAULT, INDICATING NO DEFAULT ALLOWED TAD SAVE DCA 10 /RESTORE 10 DFLT10, 0 JMP I DFLT UNPA,UNP1 /LINK TO UNPACK ROUTINE SAVE,0 /SAVE AREA FOR AUTOINDEX PAREN,250 /ASCII PARENTHESIS END1,EPACK /POINTER TO END OF UNPACK TABLE END2,EOVER /POINTER TO END OF RECORD OVERLAY AREA DFLT5,0 /LAST PASS FLAG DFLT6,UNPACK /POINTER TO BEGINNING OF UNPACK TABLE CNT,0 ERR22, CLA /HERE WHEN RECORD HAS NO DEFAULT TAD F12 CDF .FLD CIF ERR1 JMS I DFLT12 2 /ERROR IS FATAL. EACH QUESTION TYPE MUST HAVE /A DEFAULT SPECIFICATION. ERR23, CLA ISZ I F13 /KEEP SAME USER QUESTION NUMBER TAD F14 CDF .FLD CIF ERR1 JMS I DFLT12 RETU3, 1 /? DAFAULT. NO DEFAULT ALLOWED. /OUTPUT ERROR MESSAGE AND RETURN TO USER DFLT12,ERR1 /LINK TO ERROR ROUTINE F1, CIF CDF F2, OVRPTR F3, RECLOC F4, 4 F5, PCKPTR F6, 16 F7, -3 F10, DFPTR F11, -277 F12, 22 F13, IQUES F14, 23 F15,QUES /POINTER TO CURRENT QUESTION NUMBER (SYSTEM)