; ; SSA Linker Task Builder Overlay Descriptor ; ; Libraries required: ; ; SSALNK.OLB ; SYSLIB.OLB ; .ROOT OVR1,OVR2 ; ; MAIN OVERLAY REGION ; OVR1: .FCTR ROOT1-(P0-(P1,P2),P3P,INP-(P3,(TSK-(P4,P5T)),P5M,P6)) ; ; RESIDENT ROOT SEGMENT ; ROOT1: .FCTR TASKB-TASK-ARITH-VMOD1-VMOD2-LNC$D .NAME TASKB TASK: .FCTR TASK1-TASK2-RADASC ; ; COMMON ROUTINES AND I/O DATA BASES FOR PHASES 1 AND 2 ; P0: .FCTR P0OVR-P0M-INI-LNB$D-GCM .NAME P0OVR ; ; PHASE 1 - BUILD SEGMENT DESCRIPTORS ; P1: .FCTR P11,P12 ; ; BUILD SINGLE SEGMENT TASK ; P11: .FCTR P11OVR-*BLDS .NAME P11OVR ; ; BUILD MULTI-SEGMENT TASK ; P12: .FCTR MULSG-*MULS-*(MLSG0-MLS0-ODL,MLSG1-MLS1,MLSG2-MLS2) .NAME MULSG .NAME MLSG0 .NAME MLSG1 .NAME MLSG2 ; ; PROCESS OPTION INPUTS ; P2: .FCTR P2OVR-*P2OP-*(P2PRS-P2PR-OPCD$I,P2LBR-P2LB-LBR$D,P2PO) .NAME P2OVR .NAME P2PRS .NAME P2LBR ; ; MAKE PRELIMINARY SYMBOL TABLE AND SECTION TABLE ENTRIES ; P3P: .FCTR *P3PR-ACMO-ALSV-PRCL-SRCS-WSIN ; ; BUILD SYMBOL TABLES ; P3: .FCTR *P3MD-P3LBSR-ACMO-ALSV-P3LB-PRCL-SRCS-WSIN .NAME P3LBSR ; ; ALLOCATE MEMORY AND DISK SPACE ; P4: .FCTR P4OVR-*P4MA-*(P41,P42) .NAME P4OVR P41: .FCTR P41OVR-*ALAL .NAME P41OVR P42: .FCTR P42OVR-*DKAL .NAME P42OVR ; ; BUILD THE TASK IMAGE ON DISK ; P5T: .FCTR P5TOVR-*P5MD1-P5MD2-*(P5EL,P5EO) .NAME P5TOVR ; ; OUTPUT A MAP OF THE TASK ; P5M: .FCTR P5MOVR-*P5MA1-P5MA2-MAP-*(P5MOUT-P5MOU,P5C) .NAME P5MOVR ; ; MAP OUTPUT ; P5MOU: .FCTR *(MPON,MPTW,P5ME) ; ; GLOBAL CROSS REFERENCE OUTPUT ; P5C: .FCTR P5COUT-CRF ; ; OUTPUT THE STB FILE ; P6: .FCTR P6OVR-*P6ST-STB .NAME P6OVR ; ; I/O DATA BASE COMPONENTS: ; ; THE FOLLOWING STATEMENTS DESCRIBE THE I/O DATA ; BASE. THE DATA BASE CONSISTS OF P-SECTIONS ; ALLOCATED IN MODULE 'IODAT' CONTAINING MINIMALY ; AN FDB AND IN SOME CASES ONE OR MORE FCS ; BLOCK BUFFERS ALONG WITH THE WORK AREAS AND TABLES ; NECESSARY TO PARSE EACH FILE SPECIFICATION ; ; ; SECTIONS CONTAINING BLOCK BUFFERS ARE DELIMITED ; BY AN EMPTY SECTION HAVING A'$E' IN ; THE NAME. ; CMI: .FCTR CMI$D CRF: .FCTR CRF$D INI: .FCTR INI$D-INI$E-INID$D INP: .FCTR INP$D-IMG$D ODL: .FCTR ODL$D MAP: .FCTR MAP$D-MAP$E STB: .FCTR STB$D-STB$E TSK: .FCTR TSK$D-TSK$E ; ; I/O DATA BASE SECTIONS: ; .PSECT CMI$D,D,GBL .PSECT CRF$D,D,GBL .PSECT INI$D,D,GBL .PSECT INID$D,D,GBL .PSECT INI$E,D,GBL .PSECT INP$D,D,GBL .PSECT MAP$D,D,GBL .PSECT MAP$E,D,GBL .PSECT ODL$D,D,GBL .PSECT STB$D,D,GBL .PSECT STB$E,D,GBL .PSECT TSK$D,D,GBL .PSECT TSK$E,D,GBL ; ; ERROR MESSAGE TEXT ; .PSECT ETX1$D,D,GBL .PSECT ETX2$D,D,GBL ; ; ERROR MESSAGE TEXT POINTERS ; .PSECT EPT$D,D,GBL ; ; TASK IMAGE HEADER DATA BUFFERS ; .PSECT HEADER,D,GBL ; ; TASK IMAGE OUTPUT IMPURE AREA ; .PSECT IMG$D,D,GBL ; ; RESIDENT LIBRARY STRING DESCRIPTOR ; .PSECT LBR$D,D,GBL ; ; 'GET COMMAND LINE' BUFFER AND LINE DESCRIPTOR SECTION ; .PSECT LNB$D,D,GBL ; ; EDIT MESSAGE LINE COUNTER ; .PSECT LNC$D,D,GBL ; ; MAP OUTPUT TEXT ; .PSECT MTXT$D,D,GBL ; ; PHASE 2 OPTION PROCESSING CODE SECTION ; .PSECT OPCD$I,I,GBL ; ; OVERLAY REGION 2 -- RE-ENTRANT COMMON CODE ; OVR2: .FCTR ROOT2-*(CS,FCS,UT3) ; ; SPECIFY CO-ROOT ; .NAME ROOT2 ; ; COMMAND STRING INTERPRETER AND RELATED SUBROUTINES ; CS: .FCTR CSI-RESL ; ; FILE CONTROL SERVICES ; FCS: .FCTR CLOSE-CLOS,OPEN-OPFNB,GET-GTX-PUTS-RDWR-UT2,FCS2 .NAME CLOSE .NAME GET .NAME OPEN FCS2: .FCTR PARSE-PARSF .NAME PARSE .NAME PUTSQ .NAME READ OPFNB: .FCTR OPFN-FNI PARSF: .FCTR PRFN-PARS RDWR: .FCTR READR-UT1 ; ; RE-ENTRANT UTILITY ROUTINES ; UT1: .FCTR ALBL-CATBN UT2: .FCTR UT2OV-CBTAS-CDDM-EDMS-MTXT$D .NAME UT2OV UT3: .FCTR ERROV-PRCE-EPT$D-(*LM1-ETX1$D,*LM2-ETX2$D) .NAME ERROV ; ; OBJECT MODULES ; ACMO: .FCTR [31,20]SSALNK/LB:ACMOD:GTBYT:PCTRL:STINP ALAL: .FCTR [31,20]SSALNK/LB:ALALO:DSALO:SGALO:SYALO ALBL: .FCTR [31,20]SSALNK/LB:ALBLK:ALELD:ALSGD:RDPAS:SCVTR ALSV: .FCTR [31,20]SSALNK/LB:ALSVB ARITH: .FCTR LB:[1,1]SYSLIB/LB:ARITH:SAVVR:SAVR1 BLDS: .FCTR [31,20]SSALNK/LB:BLDSG:CMLCL:GTCML:INIDM:INITL:INIVS:NXTFL:SNGSG CATBN: .FCTR LB:[1,1]SYSLIB/LB:CATB:CAT5 CBTAS: .FCTR LB:[1,1]SYSLIB/LB:CBTA:EDDAT CLOS: .FCTR LB:[1,1]SYSLIB/LB:CLOSE:TRNCLS CDDM: .FCTR LB:[1,1]SYSLIB/LB:CDDMG CSI: .FCTR LB:[1,1]SYSLIB/LB:.CSI1:.CSI2 DKAL: .FCTR [31,20]SSALNK/LB:DKALO EDMS: .FCTR LB:[1,1]SYSLIB/LB:EDTMG FNI: .FCTR [31,20]SSALNK/LB:FNIT GTX: .FCTR LB:[1,1]SYSLIB/LB:GETSQ:PNTMRK GCM: .FCTR LB:[1,1]SYSLIB/LB:.GCML LM1: .FCTR [31,20]SSALNK/LB:LM1 LM2: .FCTR [31,20]SSALNK/LB:LM2 MLS0: .FCTR [31,20]SSALNK/LB:MLSG0 MLS1: .FCTR [31,20]SSALNK/LB:MLSG1 MLS2: .FCTR [31,20]SSALNK/LB:MLSG2 MPON: .FCTR [31,20]SSALNK/LB:MPONE MPTW: .FCTR [31,20]SSALNK/LB:MPTWO MULS: .FCTR [31,20]SSALNK/LB:MULSG OPFN: .FCTR LB:[1,1]SYSLIB/LB:OPFNB:FINIT:MRKDL:XQIOU PARS: .FCTR LB:[1,1]SYSLIB/LB:PARSE:UDIREC PNTMR: .FCTR LB:[1,1]SYSLIB/LB:PNTMRK PRCE: .FCTR [31,20]SSALNK/LB:PRCER PRCL: .FCTR [31,20]SSALNK/LB:PRCLM PRFN: .FCTR [31,20]SSALNK/LB:PRFND PUTS: .FCTR LB:[1,1]SYSLIB/LB:PUTSQ:PUT P0M: .FCTR [31,20]SSALNK/LB:BCNTL:BLMNT:SCAN P2LB: .FCTR [31,20]SSALNK/LB:P2LBR:GTCML P2OP: .FCTR [31,20]SSALNK/LB:P2OPT:GTPPR P2PO: .FCTR [31,20]SSALNK/LB:P2POP:STOPT:VSECT P2PR: .FCTR [31,20]SSALNK/LB:P2PRS P3LB: .FCTR [31,20]SSALNK/LB:P3LBS P3MD: .FCTR [31,20]SSALNK/LB:P3MDS P3PR: .FCTR [31,20]SSALNK/LB:P3PRE P4MA: .FCTR [31,20]SSALNK/LB:P4MAL:PCTRL P5COUT: .FCTR [31,20]SSALNK/LB:P5CEL:P5CRF:WSRCS P5EL: .FCTR [31,20]SSALNK/LB:P5ELM P5EO: .FCTR [31,20]SSALNK/LB:P5EOS P5MA1: .FCTR [31,20]SSALNK/LB:P5MAP:ADRSM:GTBYT P5MA2: .FCTR [31,20]SSALNK/LB:PCTRL:STINP:WSINI P5MD1: .FCTR [31,20]SSALNK/LB:P5MDS:HEADR:ADRST:PCTRL:P5IMG P5MD2: .FCTR [31,20]SSALNK/LB:STINP:WSINI:WSRCS:GTBYT P5ME: .FCTR [31,20]SSALNK/LB:P5MEL:WSRCS P5MOUT: .FCTR [31,20]SSALNK/LB:MPOUT P6ST: .FCTR [31,20]SSALNK/LB:P6STB:PCTRL:GTBYT:STINP:WSINI:WSRCS RADASC: .FCTR LB:[1,1]SYSLIB/LB:C5TA READR: .FCTR LB:[1,1]SYSLIB/LB:READ:WRITE RESL: .FCTR [31,20]SSALNK/LB:RESLB SGAL: .FCTR [31,20]SSALNK/LB:SGALO:SYALO:ALALO SRCS: .FCTR [31,20]SSALNK/LB:WSRCS:WSRCC TASK1: .FCTR [31,20]SSALNK/LB:TASKB:ERMSG:IODAT:SRCINS:RSRCH:SRCIV TASK2: .FCTR [31,20]SSALNK/LB:SGTBL:STFDB:TABLS VMOD1: .FCTR [31,20]SSALNK/LB:ALVRT:CVRS:EXTSK:FNDPG:GTCOS:MRKPG VMOD2: .FCTR [31,20]SSALNK/LB:VMDAS:RQVCB:VMUTL WSIN: .FCTR [31,20]SSALNK/LB:WSINI .END