/ / / / / / / / / / /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 FLDBLD /THIS PROGRAM BUILDS A CORE RESIDENT TABLE "TFLD" /WHICH HAS DISPLACEMENT ORIENTED ENTRIES OF STARTING BLOCK /VERSUS PSEUDOFIELD (MAPPED RECORD SECTIONS) .DISABL FILL .ENABLE SIXBIT .NOLIST CND,ME,MEB .ENTRY FLDBLD .EXTERNAL TABLE1,TREC,TFLD,ENTR1,PAGEFG,LOGNUM .EXTERNAL RECPTR,FLDPTR,TEMP1,TEMP2,TEMP3,ERR1 .EXTERNAL TEMP4,TEMP5,TEMP6,TEMP7,TEMP10,MAIN .EXTERNAL DEV2,DEV1,DEVNO,BLKST,LENGTH,DIRBLK .RSECT TBLBLD .NOLIST LN XLIST .INCLUDE MACLIB.MA XLIST .MCALL USERV,HANDL FIELD 1 FLDBLD, 0 TAD (CIF CDF) RDF CDF .FLD DCA EXIT CDF TABLE1 USERV ,12,DEV1,DEV2,A1,ERR10,DUMMY,DEVNO /DO AN INQUIRE CALL TO USR /UPON RETURN ENTR1 SHOULD BE ZERO USERV DEVNO,1,A3,,,ERR2,ENTR1, /BRING HANDLER INTO CORE AND GET /ENTR1 POINT USERV DEVNO,2,FILE,A1,,ERR3,BLKST,LENGTH /DO A LOOKUP CALL, AND GET STARTING /BLOCK AND LENGTH OF SCRIPT TAD ENTR1 DCA ETRY CLA TAD (7760-1) TAD DEVNO DCA FSD CDF 10 TAD I FSD SMA JMP ERR10 /USER HAS SPECIFIED A NON- /FILE STRUCURED DEVICE CDF TABLE1 HANDL A4,TRC,BLKST,ERR4,ETRY JMP AHEAD /GO TO SECOND PAGE OF ROUTINE /GET CCB BLOCK OF SCRIPT FILE INTO CORE ERR, CIF MAIN JMP I ERT1 ERT1,MAIN ETRY,0 ERR10, JMP ERR ERR2, JMP ERR ERR3, JMP ERR ERR4, JMP ERR FIL, FILENAME SCRIPT.SV FILE,FIL A1,0 A2,1 A3,7201 A4,0220 DUMMY,0 TRC,TREC FSD,0 /STORAGE FOR HANDLER CHECK PAGE AHEAD, CDF TABLE1 /TFLD LOCATED IN FIELD 2 CLA DCA TEMP5 DCA TEMP6 /INITIALIZE TEMP6 TAD RECPTR /GET POINTER TO RECORD TABLE START /AND STORE IT IN AUTOINDEX 14 DCA 14 TAD I 14 RAL CLL CML RAR /FORCE AC0=1 DCA TEMP1 /SAVE NEGATIVE NUM. OF DOULBLEWORDS /POINT TO THE SECOND WORD OF THE /FIRST DOUBLEWORD ENTRY TAD 14 TAD (4 DCA 14 BACK, TAD I 14 DCA TEMP3 /GET AND SAVE IT TAD TEMP3 CLL AND (3700 RTR;RTR;RTR /MOVE BITS 1-5 TO 7-11 /ISOLATE THEM SNA /CHECK FOR MAXIMUM BLOCKS TAD (37 IAC /MAKE EVEN IF ODD NUMBER RAR CLL /DIVIDE BY TWO DCA TEMP4 TAD TEMP4 /INCREMENT TOTAL BLOCKS TALLY TAD TEMP5 DCA TEMP5 TAD TEMP3 /GET SECOND WORD AGAIN AND (76 CLL RTR SZL TAD (40 CLL RAR SZL TAD (10 /REARRANGE 5 FIELD BITS (>32K) DCA TEMP10 TAD FLDPTR TAD (-1 /GET CORRECT DISPLACEMENT INTO TFLD /AND STORE PSEUDOFIELD STARTING /BLOCK THERE. TAD TEMP10 DCA 15 TAD TEMP6 TAD (1 /ADD 1 TO ACCOUNT FOR CCB TAD BLKST /ADD FILE STARTING BLOCK DCA I 15 ISZ TEMP1 SKP /TEMP1 HAS NUMBER OF DOUBLEWORDS TO PROCESS JMP DONE ISZ 14 TAD TEMP5 DCA TEMP6 /SETUP NUMBER OF BLOCKS FOR NEXT PASS JMP BACK DONE, CLA CLL TAD TEMP4 DCA DIRBLK /SAVE DIRECTORY LENGTH FOR /FUTURE USE TAD TFLD DCA TEM1 /BRING IN FIRST TWO BLOCKS OF /RECORD DIRECTORY TAD ENTR1 /FORM ADDRRESS FOR HANDLER CALL DCA ENTRY HANDL TEM2,TRC1,TEM1,ERR5,ENTRY CDF TABLE1 CLA TAD (200 DCA PAGEFG /INITIALIZE FOR FIRST THREE PAGES /OF TREC TO BE USED. CDF .FLD TAD FLDBLD DCA RETURN EXIT, 0 BACK1, JMP I RETURN /LINK FROM SECOND PAGE FOR RETURN TRC1,TREC ENTRY,0 ERR5, CLA TAD (5 CDF .FLD CIF ERR1 JMS I RETU 2 /OUTPUT ERROR MESSAGE AND RETURN TO MONITOR RETU,ERR1 RETURN, 0 TEM1,0 TEM2,0420