*DECK DB$$LDR 
          IDENT  DB$$LDR
          ENTRY  DB$$LDR
*#
* *   DB$$LDR - CDCSBTF/LOADER INTERFACE         PAGE  1
* *   C O GIMBER
* *   J E ESLER                                  3/8/78 
* 
* DC  PURPOSE 
* 
*     CALL THE USER CALL LOADER TO LOAD A USER PROGRAM
* 
* DC  ENTRY CONDITIONS
* 
*     LOADER PARAMETERS, SUCH AS THE FILE LFN, HAVE BEEN INSERTED 
*     INTO THE LOADER REQUESTS AT DB$$LDQ. MAP LIST OPTIONS ARE 
*     CONTROLLED BY SENSE SWITCHES. 
* 
* DC  EXIT CONDITIONS 
* 
*     THE LOADER HAS BEEN CALLED. THE USER PROGRAM HAS BEEN LOADED. 
* 
* DC  CALLING ROUTINES
* 
*     CDCSBTF 
* 
* DC  CALLED ROUTINES 
* 
*     LOADER
* 
*     PASSLOC LISTS PROVIDE OTHER ENTRY POINTS FOR THE USER JOBS IN THE 
*     SIMULATOR ITSELF, CMM, CRM, AND FDL.
*#
  
  
*         WHEN ANY OF THE ENTRY POINTS WITHIN A RELOCATABLE MODULE ARE
*         DEFINED IN PASSLOC ENTRIES, ALL OF THE ENTRY POINTS WITHIN
*         THAT MODULE MUST BE DEFINED.
* 
*         THIS WILL AVOID THE DUPLICATE LOADING OF THE MODULE THAT
*         OCCURS IF A USER REFENCES ONE OF THE ENTRY POINTS THAT IS NOT 
*         INCLUDED IN THE PASSLOC LIST. 
* 
*         DUPLICATE LOADING OF MODULES CAUSES - 
*         ..  LOADER DIAGNOSTICS "DUPLICATE ENTRY POINTS".
*         ..  ERRORS IN EXECUTION (IN SOME CASES).
*         ..  WASTED MEMORY SPACE.
  
  
*         MACRO FOR GENERATING PASSLOC LIST.
  
PL        MACRO  P
L         MICRO 
          IRP    P
          EXT    P
L         MICRO  1,,*"L",(P,,,P)* 
          IRP 
L         MICRO  2,,*"L"* 
          LDREQ  PASSLOC,("L")
          ENDM
  
DB$$LDR   EQ   *+1S17 
          RETURN ZZZZZ17,R
          SA1    B0          MAP OPTIONS
          SA2    MAP           SSW 1   S
          MX0    6             SSW 2   B
          LX0    7             SSW 3  E 
          LX1    -5            SSW 4   X
          BX1    X0*X1
          BX2    -X0*X2 
          IX6    X1+X2
          SA6    A2 
          LOADER  DB$$LDQ,CMM 
          EQ   DB$$LDR
  
          ENTRY  DB$$LDQ
DB$$LDQ   LDREQ  BEGIN
MAP       LDREQ  MAP,N
  
*         THIS DO-NOTHING SUBST REQUEST INHIBITS CROSS-LINKED LIBRARIES 
*         ON NOS.  THIS WAS ADDED WHEN A -DUPLICATE ENTRY POINT- MESSAGE
*         FOR THE ENTRY POINT DB$SSCL WAS RECEIVED WHEN LOADING A USER
*         PROGRAM UNDER NOS.  THE NOS LOADER SATISFIES THE USER PROGRAMS
*         EXTERNAL REFERENCE TO DB$SSCL FROM DMSLIB.  FOR THE BATCH TEST
*         FACILITY, DB$SSCL IS CONTAINED IN THE CDCSBTF ABSOLUTE, AND 
*         THE ADDRESS IS PASSLOC-ED TO THE USER PROGRAM.  NOS 
*         SATISFIES THE EXTERNAL REFERENCE TWICE BECAUSE OF ITS CROSS-
*         LINKED LIBRARY FEATURE. 
  
          LDREQ  SUBST,(DUMMY-DUMMY)
  
  
*         PASSLOC LIST FOR CDCS 
  
          PL     (DB$SSCL,DB$WAIT)
  
  
*         PASSLOC LIST FOR CPU.SYS SUBSTITUTE, DB$$SYS
  
          PL     (SYS=,RCL=,WNB=,MSG=)
  
  
*         PASSLOC LIST FOR CMM
  
*                            CMM.R
  
          PL     (CMM.ALF,CMM.FRF)
          PL     (CMM.AUS,CMM.CFL,CMM.CUL,CMM.ICM,CMM.MEP)
  
  
*         PASSLOC LIST FOR FDL
  
*                            FDL.MMI, LOD=
  
          PL     (FDL.LDC,FDL=PCL,FDL.ULC,FDL=PCU,FDL.ROS,FDL.UGD)
          PL     (FDL=GGD,FDL=SGD,LOD=) 
  
  
*         PASSLOC LIST FOR CRM
  
*                            CTL$RM 
  
          PL     (LOF$RM,RM$PLL,RMP$FE,RM$PL) 
          PL     (RM$PLB,CMMX.AA,RM$CIO,RM$RCLA)
          PL     (OFCT$RM,CHWR$RM,MOVE$RM,RM$ABUF)
          PL     (RM$PD,RM$FAT,RM$FOC,RM$LGO) 
          PL     (RM$BLD,RM$LDC,RM$UTC,RM$TMP)
          PL     (RM$LVL,RM$ULJ,CLOF$RM,OPNM$RM)
          PL     (SFIT$RM,GET$RM,RM$P4G,RM$G1)
          PL     (PUT$RM,RM$EREX,RM$PAR4,RM$P1) 
  
*                            CTL$WR 
  
          PL     (REW$RM,WEOS$RM,WEOP$RM) 
  
*                            ERR$RM, CTL$PTL
  
          PL     (ERR$RM,GETP$RM,PUTP$RM) 
  
*                            CTL$SKP
  
          PL     (SKBF$RM,SKBP$RM,SKFF$RM,SKFP$RM,SKFL$RM,SKBL$RM)
  
*                            CTRL$AA
  
          PL     (RM$APL,RMP$LR,DHASH.2,DHASH.1,CTRL$AA,AAM$GO,AAM$BL)
          PL     (AAM$LOK,DLT$RM,GETN$RM,RM$PARI,GTNR$RM,REPL$RM) 
          PL     (RM$PARO,SEEK$RM,STRT$RM,FLSH$RM)
  
*                            RMKDEF, ER$SRM 
  
          PL     (RMKDEF,RM$KDPT,RM$KDWS,ER$SRM)
  
  
  
*         PASSLOC LIST FOR REPRIEVE PROCESSING
  
          PL     (RECOVR,SETUP.)
  
          ENTRY  DB$$LDF
 DB$$LDF  LDREQ  LOAD,(LOAD)
          LDREQ  SATISFY
          LDREQ  END
  
ZZZZZ17   FILEC  100,100
  
          ENTRY DUMMY 
DUMMY     BSS   1 
          END    CDCSBTF
