.ONERR ERXIT .ENABLE SUBSTITUTION .ENABLE GLOBAL .; .; Generate FCSRS1BLD.CMD .; .SETF $UTYP1 .OPEN '$CL'FCSRS1BLD.CMD .DATA ; .DATA ; TKB BUILD FILE FOR VECTORED/PLAS OVERLAYED FCSRES .DATA ; '$COM' .DATA ; USING '$DFLIB' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA /-HD/LI/PI,'$MP'FCSRESSTB/MA/-SP,'$TK'FCSRES='$OD'FCSSTBBLD.ODL/MP .DATA ; .DATA STACK=0 .DATA ; .DATA PAR=FCSRES:0:40000 .DATA ; .DATA GBLINC=.FSRCA .DATA ; .DATA ; Register saving routines $SAVAL, .SAVR1, $SAVVR, and $SAVRG should .DATA ; never be made accessable from a memory resident overlayed library. .DATA ; .DATA ; Routines ARITH (entry points $DIV and $MUL), CAT5, and C5TA are present .DATA ; in the executive. If they were accessable from FCSRES, then a privileged .DATA ; task which calls any of them in system state would crash, because apr7 .DATA ; is mapped to the I/O page then. Thus, these routines are not accessable .DATA ; fron FCSRES. .DATA ; .DATA ; OPEN OVERLAY ENTRY POINTS FROM OPEN, PARSE, CLOSE .DATA ; .DATA GBLREF=.OPEN,.OPFNB,.OPFID,.ASCPP,.PPASC,.FINIT,.CLOSE,$RQCB,$RLCB .DATA GBLREF=.PARSE,.PRSDI,.PRSDV,.PRSFN,.ODCVT,.DCCVT,.VRCVT,.ASLUN .DATA GBLREF=.HXCVT .DATA ;GBLREF=.PARSE,.PRSDI,.PRSDV,.PRSFN,.ASLUN .DATA ; FROM GETDID: .DATA GBLREF=.GTDID .DATA ; FROM GETDIR: .DATA GBLREF=.GTDIR .DATA ; FROM EXTEND: .DATA GBLREF=.EXTND .DATA ; FROM PPNR50: .DATA GBLREF=.PPR50 .DATA ; FROM UDIREC: .DATA GBLREF=.ENTER,.FIND,.REMOV .DATA ; FROM TRNCLS: .DATA GBLREF=.TRNCL .DATA ; FROM MRKDL: .DATA GBLREF=.MRKDL .DATA ; FROM DELETE AND DELJMP, SIMULATING DLFNB: .DATA GBLREF=.DELET,.DLFNB .DATA ; FROM RENAME: .DATA GBLREF=.RENAM .DATA ; FROM $PRINT: .DATA GBLREF=.PRINT .DATA ; FROM DSPAT: .DATA GBLREF=$DSPAT .DATA ; .DATA ; GET-PUT OVERLAY - ENTRY POINTS FROM GET, PUT, READ, WRITE, ETC. .DATA ; .DATA GBLREF=.GET,.PUT,.READ,.WRITE,$DMUL,$DDIV,.CTRL,.GETSQ .DATA GBLREF=.POSIT,.POSRC,.PUTSQ,.FCTYP,.CSI1,.CSI2,.OD2CT,.DD2CT .DATA GBLREF=.HD2CT .DATA ; .DATA ; FROM PNTMRK: .DATA GBLREF=.POINT,.MARK .DATA ; FROM FLUSH: .DATA GBLREF=.FLUSH .DATA ; FROM WAITU: .DATA GBLREF=.WAIT .DATA ; FROM XQIOU: .DATA GBLREF=.XQIO .DATA ; FROM RWFSR2: .DATA GBLREF=.RDFDR,.RDFFP,.RDFUI,.RFOWN,.WDFDR,.WDFFP,.WDFUI,.WFOWN .DATA ; .DATA ; .DATA ; FROM EXST: .DATA GBLREF=$EXST .DATA ; .DATA ; FROM EDTMG: .DATA GBLREF=$EDMSG .DATA ; .DATA ; FROM CATB: .DATA GBLREF=$COTB,$CDTB .DATA GBLREF=$CHTB .DATA ; .DATA ; FROM CBTA: .DATA GBLREF=$CBDAT,$CBDMG,$CBDSG,$CBOSG,$CBTA,$CBTMG,$CBVER,$CBOMG .DATA GBLREF=$CBHSG,$CBGMG,$CBHMG .DATA ; .DATA ; FROM EDDAT: .DATA GBLREF=$DAT,$TIM .DATA ; .DATA ; FROM CDDMG: .DATA GBLREF=$CDDMG .DATA ; .DATA / .DATA '$TK'FCSRES/-HD/LI/PI,'$MP'FCSRES/MA/-SP='$OD'FCSVECBLD.ODL/MP .DATA ; .DATA STACK=0 .DATA ; .DATA PAR=FCSRES:0:40000 .DATA ; .DATA ; The following EXTSCT must expand the length of the first segment .DATA ; to exactly 4KW. Build the library first with a value of 0 and .DATA ; then compute the real value by subtracting the base of $$$$$$ .DATA ; from 20000. .DATA ; .IF $DFLIB NE "ANSLIB" .DATA EXTSCT=$$$$$1:2756 .IF $DFLIB EQ "ANSLIB" .DATA EXTSCT=$$$$$2:1162 .DATA ; .DATA / .CLOSE .; .; Generate FCSSTBBLD.ODL .; .OPEN '$CL'FCSSTBBLD.ODL .DATA ; .DATA ; TKB ODL FILE FOR VECTORED/PLAS OVERLAYED STB FOR FCSRES .DATA ; USING '$DFLIB' .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA .NAME FCSROT .DATA .ROOT FCSROT-*!(RESTRE,OPNTRE) .DATA ; .DATA ; OVERLAY FOR FILE OPEN, CLOSE, AND ASSOCIATED USER ACCESSABLE ROUTINES .DATA ; .DATA .NAME OPEN .DATA OPNTRE: .FCTR OPEN-LB:[1,1]'$DFLIB'/LB:FCSST2 .DATA ; .DATA ; OVERLAY CONTAINING GET, PUT, READ, WRITE AND ASSOCIATED ROUTINES .DATA ; .DATA .NAME REST .DATA RESTRE: .FCTR REST-LB:[1,1]'$DFLIB'/LB:FCSST1 .DATA ; .DATA .END .CLOSE .; .; Generate FCSVECBLD.ODL .; .OPEN '$CL'FCSVECBLD.ODL .DATA ; .DATA ; TKB ODL FILE FOR VECTORED/PLAS OVERLAYED FCSRES .DATA ; USING '$DFLIB' .DATA ; '$COM' .DATA ; CREATED BY '$BLDID' .DATA ; .DATA .NAME FCSROT .DATA .ROOT FCSROT-*!(RESTRE,OPNTRE) .DATA ; .DATA ; .DATA ; OVERLAY FOR FILE OPEN, CLOSE, AND ASSOCIATED USER ACCESSABLE ROUTINES .DATA ; .DATA ; .DATA .NAME OPEN .DATA OPNTRE: .FCTR LB:[1,1]'$DFLIB'/LB:FCSLB2-OPEN-DEFALT-OPEN1-OPEN2-OPEN3-OPEN4-OPEN5-OPEN6-OPEN7 .DATA DEFALT: .FCTR LB:[1,1]'$DFLIB'/DL .DATA OPEN1: .FCTR LB:[1,1]'$DFLIB'/LB:OPNJMP:OPENR .DATA OPEN2: .FCTR LB:[1,1]'$DFLIB'/LB:FINIT:.ODCVT:ASSLUN:ASCPPN:PPNASC:MKDL .DATA OPEN3: .FCTR LB:[1,1]'$DFLIB'/LB:PARSE:PARSDI:PARSDV:PARSFN:DIRECT:DEL .DATA OPEN4: .FCTR LB:[1,1]'$DFLIB'/LB:RQLCB:CLOSE .DATA OPEN5: .FCTR LB:[1,1]'$DFLIB'/LB:UDIREC:EXTEND:TRNCLS:$PRINT:DSPAT:PPNR50 .DATA ;OPEN5: .FCTR LB:[1,1]'$DFLIB'/LB:UDIREC:EXTEND:TRNCLS:$PRINT:DSPAT .DATA OPEN6: .FCTR LB:[1,1]'$DFLIB'/LB:GETDID:GETDIR:RENAME .DATA OPEN7: .FCTR LB:[1,1]'$DFLIB'/LB:MRKDL:DELETE:DELJMP .DATA ; .DATA ; .DATA ; OVERLAY CONTAINING GET, PUT, READ, WRITE, AND ASSOCIATED .DATA ; USER ACCESSABLE ROUTINES .DATA ; .DATA .NAME REST .DATA .PSECT $$$$$1,GBL .DATA .PSECT $$$$$2,GBL .DATA RESTRE: .FCTR LB:[1,1]'$DFLIB'/LB:FCSLB1-REST-GETPT-OTHER1-OTHER2-GPOPT1-GPOPT2-CSI-$$$$$1-$$$$$2 .DATA GETPT: .FCTR LB:[1,1]'$DFLIB'/LB:GPTJMP:GET:PUT:FLUSH .DATA OTHER1: .FCTR LB:[1,1]'$DFLIB'/LB:READ:WRITE:FCSTYP .DATA OTHER2: .FCTR LB:[1,1]'$DFLIB'/LB:ARITH:DARITH:CONTRL:POSIT:POSREC .DATA GPOPT1: .FCTR LB:[1,1]'$DFLIB'/LB:PNTMRK:RWFSR2:WAITU:XQIOU .DATA GPOPT2: .FCTR LB:[1,1]'$DFLIB'/LB:EDTMG:EDDAT:CDDMG:CBTA:CATB:EXST .DATA CSI: .FCTR LB:[1,1]'$DFLIB'/LB:.CSI1:.CSI2:OD2CT .DATA ; .DATA ; .DATA .END .CLOSE .EXIT 1 .; .; Exit for error encountered by IND .; .ERXIT: .EXIT 4