*DECK C$LDCAP 
          IDENT  C$LDCAP
          COMMENT C$LDCAP - LOAD CAPSULE FROM COBOL LIBRARY 
          TITLE  C$LDCAP - LOAD CAPSULE FROM COBOL LIBRARY
          SST 
**        C.LDCAP - LOAD CAPSULE FROM COBOL LIBRARY 
* 
*         UNLOADING IS USERS JOB VIA CALL LDV.ULC 
* 
*         EXPECTS 
*         B2 = 4 WORD PARAM LIST
*                LOC FOR LIB NAME 
*                ZERO WORD
*                GROUP NAME 
*                CAPSULE NAME 
*         B3 = ENTRY ADDR IN PASSLOC/ENTRY TABLE
*         X4 = POINTER ADDR TO PASSLOC/ENTRY TABLE
* 
*         ENTERED WITH A JUMP, NOT AN RJ
* 
          ENTRY  C.LDCAP
 C.LDCAP  BSS    0
          SA2    =XC.LIBNM   GET LIBRARY CONTAINING COMPILER
          SA3    =0LNUCLEUS 
          IX3    X3-X2
          NZ     X3,LDCAP1   JP IF NOT LOADED FROM NUCLEUS
          SA2    COBLIB      GET OBJECT LIBRARY ON SYSTEM 
 LDCAP1  BSS    0 
          MX6    42 
          BX6    X6*X2
          SA6    =SLDLIB     SAVE LIB NAME
          SX7    B3 
          LX7    36 
          SX5    B2 
          LX5    18 
          BX7    X5+X7
          SX4    X4 
          BX7    X7+X4
          SA7    =SSVBR      SAVE B2, B3 AND X4 IN CASE OF LOADER ERROR 
          SA6    B2 
          SX3    A6 
          SA1    B2+2 
          SA2    A1+B1
          RJ     =XFDL.LDC
          NZ     X6,KILLME
          SA2    B3 
          SB7    X2 
          JP     B7          GO TO CAPSULE
 COBLIB   DATA   0L_"COB5LIB" 
 KILLME   BSS    0           THERE WAS A LOADER ERROR 
          SA1    LDLIB       GET LIBRARY LOADED FROM
          SA2    COBLIB      SYSTEM LIB 
          SA3    SVBR        SAVED B2 AND B3
          IX1    X2-X1
          ZR     X1,ABT      JP IF LOADED FROM SYSTEM LIB 
          SX4    X3          RESTORE X4 
          AX3    18 
          SB2    X3          RESTORE B2 AND B3
          AX3    18 
          SB3    X3 
          EQ     LDCAP1      GO TRY LOAD AGAIN - FROM SYSTEM LIB
 ABT      BSS    0
          SX6    X6+33B      CONVERT ERROR CODE TO DISPLAY
          LX6    54 
          MX7    6
          SA1    MSGX+1 
          BX7    -X7*X1 
          BX7    X6+X7
          SA7    A1          ERROR NBR TO MSG 
          AX3    18 
          SA2    X3+3        CAPSULE NAME 
          BX6    X2 
          SA6    MSG
          MESSAGE  MSGX,,RCL  MESSAGE TO DAYFILE
          ABORT  ,ND         BOMB THE JOB 
 MSGX     DATA   30HFDL ERROR N, LOADING CAPSULE
 MSG      DATA   0
          END 
