         SYSTEM   SIG9P                                                         
         SYSTEM   OPTIONS                                                       
         DEF      FGL2                                                          
         DEF      FGLBADLM                                                      
         DEF      FGLOKLM                                                       
         DEF      FGL2EX            EXIT POINT                                  
OLAYFLAG EQU      'FGL2'                                                        
         SYSTEM   CPRMON                                                        
         TITLE    '***** UNMAPPED LOAD MODULE INITIATION *****'                 
*                                                                               
*                                                                               
*        FGL2 SELECTS A LOAD MODULE FOR INITIATION, CALLS FGL3                  
*        TO READ IT IN, AND THEN SETS UP OR RELEASES ITS TABLE                  
*        ENTRIES, DEPENDING ON WHETHER THE LOAD WAS                             
*        SUCCESSFUL OR NOT.  FINALLY, IT REPORTS THE RESULTS                    
*        TO THE REQUESTING TASK, IF NECESSARY.                                  
*                                                                               
*                                                                               
CPBIT    EQU      X'10'                                                         
TRIGZERO EQU      X'1700'                                                       
FGL2     RES      0                                                             
FGL2100  RES      0                 BEGIN SEARCH FOR NEXT LM TO LOAD            
         LW,R15   RUN99             GET LMI REENTRANCE COUNT                    
         LB,R2    LMI#              NR OF LMI ENTRIES                           
         LW,R1    FGLSTATM          MASK FOR LMISTAT COMPARISON                 
         DO       #RUNQ                                                         
         LI,R3    0                 BEST LM FOUND YET (NONE)                    
         LW,R8    KLM7FFE           BEST LM'S PRIORITY (LOWEST)                 
         LW,R9    R8                MASK FOR PRIORITY COMPARISON                
         FIN                        #RUNQ                                       
         PAGE                                                                   
*                                                                               
*                                                                               
*                                                                               
FGL2110  RES      0                 LOOP FOR SEARCHING LMI                      
         LH,R0    LMISTAT,R2                                                    
         CS,R0    FGLSTAT                                                       
         BNE      FGL2150           B IF STAT INDICATES NOT LOADABLE            
*                                                                               
         DO       #MAP=0                                                        
         CI,R0    LMIBKG                                                        
         BAZ      FGL2120           B IF NOT BKG                                
         LW,R14   Y3                                                            
         CW,R14   K:JCP1                                                        
         BANZ     FGL2150           B IF BKG MEMORY IS PREEMPTED                
         FIN                        #MAP=0                                      
*                                                                               
FGL2120  RES      0                 LOADABLE LOAD MODULE FOUND                  
         DO       #RUNQ                                                         
         CS,R8    LMIPL,R2          COMPARE SAVED AND CURRENT PRIORITIES        
         BL       FGL2150           B IF BETTER ONE ALREADY FOUND               
         LW,R3    R2                SAVE LMID                                   
         LW,R8    LMIPL,R2          SAVE LM PRIORITY                            
         ELSE                       #RUNQ                                       
         B        FGL2200           B TO LOAD L M FOUND                         
         FIN                        #RUNQ                                       
*                                                                               
FGL2150  RES      0                 CONTINUE LMI SEARCH                         
         BDR,R2   FGL2110                                                       
         DO       #RUNQ                                                         
         LW,R2    R3                GET SAVED LM ID                             
         BNEZ     FGL2200           B IF LOADABLE LM FOUND                      
         FIN                        #RUNQ                                       
         B        FGL2300           NO LOADABLE LM FOUND                        
         PAGE                                                                   
*                                                                               
*                                                                               
*                                                                               
FGL2160  RES      0                 THINGS CHANGED. RESTART LMI SEARCH          
         DISABLE                                                                
         LW,R0    K:CTST            GET CONTROL TASK WORK FLAGS                 
         CW,R0    Y0008                                                         
         BANZ     FGL2400           B IF FOREGROUND RELEASE NEEDED              
         ENABLE                                                                 
         B        FGL2100           B TO RESTART SEARCH                         
         PAGE                                                                   
*                                                                               
*                                                                               
*                                                                               
FGL2200  RES      0                 LOADABLE LM SELECTED                        
         DISABLE                                                                
         CW,R15   RUN99                                                         
         BNE      FGL2160           B IF LMI HAS CHANGED DURING SEARCH          
         LH,R0    LMISTAT,R2        GET SELECTED LM STATUS FLAGS                
         OR,R0    XLMIRUN           SET IT RUNNING                              
         DO       #RUNQ=0                                                       
         EOR,R0   XLMIRUNQ          TAKE IT OFF THE LOAD QUEUE                  
         FIN                        #RUNQ=0                                     
         STH,R0   LMISTAT,R2        PUT ALTERED STATUS IN LMI                   
         MTW,1    RUN99             INDICATE A LMI CHANGE                       
         ENABLE                                                                 
         LD,R10   LMIRTS,R2         GET LOAD CONTROL SPACE (ECB-LESS)           
         DO       #ECB                                                          
         CI,R0    LMIINIT                                                       
         BAZ      FGL2210           B IF FROM RUN CAL (NO ECB)                  
         LW,R1    LMIPL,R2          GET ECB ADDRESS                             
         LW,R10   ECBDATA,R1        GET LOAD CONTROL SPACE (ECB)                
FGL2210  RES      0                                                             
         FIN      #ECB                                                          
         STW,R10  FGLCSP            SAVE CONTROL SPACE POINTER                  
         LI,R0    0                                                             
         STW,R0   FGLPUBL           ZERO THE PUBLIB POINTERS                    
         LH,R0    LMISTAT,R2                                                    
         CI,R0    LMIT                                                          
         BAZ      FGL2220           B IF LM NOT TERMED ALREADY                  
         LI,R3    0                 RUN COMPLETION STATUS                       
         LI,R15   TYC6F             RESPONSIBLE TASK TERMINATION TYC            
         B        B19               NON-LOAD POSTING PATH                       
*                                                                               
FGL2220  RES      0                 LM IS TO BE READ INTO MEMORY                
         LI,R15   1                 TYC NORMAL FOR NOW                          
         LI,R13   FGL3              WHERE TO GO NEXT                            
         B        FGL2EX                                                        
         PAGE                                                                   
*                                                                               
*                                                                               
*                                                                               
FGL2300  RES      0                 NO LOADABLE MODULES FOUND                   
         DISABLE                                                                
         CW,R15   RUN99                                                         
         BNE      FGL2160           B IF LMI CHANGED DURING SEARCH              
*                                                                               
FGL2400  RES      0                 GIVE UP LOADING FOR NOW                     
         LI,R0    0                                                             
         LW,R1    Y0008                                                         
         CW,R1    K:CTST                                                        
         BANZ     %+2               B IF FOREGROUND RELEASER NEEDED             
         OR,R1    FGLD1             ARRANGE TO RESET FGL FLAG                   
         STS,R0   K:CTST            RESET APPROPRIATE CONTROL TASK FLAGS        
         ENABLE                                                                 
         DO       #MAP=0                                                        
         LB,R0    K:CTST                                   /SIG7-2005/*C5732 C01
         CI,R0    X'80'             IS BIT SET TO RUN CKPT                      
         BANZ     B05               YES                                         
         LB,R0    K:JCP1            NO, IS BCKG. IN USE BY FGD                  
         CI,R0    X'30'                                                         
         BAZ      B05               NO                                          
         LW,R8    K:BACKBG          YES, SEE IF BCKG. CAN BE RESTARTED          
         LB,R9    K:FGDBG4          GET FWA OF FGD BEFORE CKPT (MOD 512)        
         SLS,R9   9                                                             
         AI,R9    -1                R9=FWA OF BCKG                              
         BAL,R5   FGLMEMCK          SEE IF BKG MEMORY IS FREE                   
         B        B05                                                           
         LW,R1    KL20              BKG SPACE FREE                              
         STS,R1   K:CTST            FLAG TO RUN RESTART                         
         FIN                                                                    
B05      RES      0                                                             
         LW,R7    FGLBSP            SEE IF FGL BUFFER SPACE WAS OBTAINED        
         BEZ      FGL2X             B IF NOT                                    
         BAL,R8   RELTEMP                                                       
         LI,R7    0                                                             
         STW,R7   FGLBSP            RESET BUFFER SPACE POINTER                  
FGL2X    RES      0                                                             
         LI,R13   CT1               WHERE TO GO NEXT                            
FGL2EX   B        *R13              GO THERE                                    
         PAGE                                                                   
*                                                                               
*        CANT LOAD THE SELECTED LOAD MODULE.                                    
*        SEND AN ERROR MESSAGE.                                                 
*        R2=LM ID                                                               
*        R3=RUN COMPLETION CODE                                                 
*        R5=MESSAGE INDEX (SEE TABLE IN FGL1)                                   
*        R15=TYC                                                                
*                                                                               
FGL2BADX RES      0                                                             
         BAL,R8   FGLMSG            OUTPUT THE ERROR MESSAGE                    
*                                                                               
*        CANT LOAD THE SELECTED LOAD MODULE.                                    
*        LEAVE IT QUEUED FOR LATER IF POSSIBLE.                                 
*        OTHERWISE, SET IT UP FOR RELEASE, AND REPORT                           
*        FAILURE OF ATTEMPT                                                     
*        R2=LMID                                                                
*        R3=RUN COMPLETION CODE                                                 
*        R15=TYC                                                                
*                                                                               
FGLBADLM RES      0                 SELECTED LOAD MODULE CANT BE LOADED         
         LW,R7    FGLCSP                                                        
         AI,R7    1                 POINT AT LAST DCB USED                      
         LCI      2                                                             
         LM,R10   FCLOSE                                                        
         CAL1,1   R10               CLOSE THE DCB IF NECESSARY                  
         DISABLE                                                                
         LH,R6    LMISTAT,R2                                                    
         CI,R6    LMIRUNQ                                                       
         BAZ      B19               B IF LM IS NOT TO STAY QUEUED               
*        NOTE: A LOAD MODULE WHICH IS WAITING FOR BKG CKPT                      
*        REMAINS QUEUED EVEN IN A SYSTEM WITHOUT #RUNQ SET                      
         AND,R6   KXFF7B            RESET 'LOAD' AND 'RUNNING'                  
         STH,R6   LMISTAT,R2                                                    
         MTW,1    RUN99                                                         
         ENABLE                                                                 
         LW,R7    LMIAET,R2                                                     
         BEZ      %+2               B IF NO AET SPACE ALLOTED                   
         BAL,R8   RELTEMP           RELEASE AET SPACE                           
         LW,R0    FGLPUBL           GET INDEXES TO PUBLIBS USED                 
B17      RES      0                                                             
         ENABLE                                                                 
         CI,R0    0                                                             
         BE       B18               NO PUBLIBS LEFT SO EXIT                     
         SLD,R0   -8                                                            
         SLS,R1   -24               GET NEXT INDEX IN R1                        
         CI,R1    0                                                             
         BE       B17               EMPTY ENTRY                                 
         DISABLE                                                                
         MTB,-1   LMIMAXR,R1        REDUCE NO. OF USERS                         
         BNEZ     B17               STILL USERS LEFT                            
         LD,R8    ZEROS                                                         
         STD,R8   LMINAME,R1        CLEAR OUT ENTRY FOR PUB LIB                 
         STW,R8   LMIPL,R1                                                      
         STH,R8   LMISTAT,R1        CLEAR LM FROM TABLE,NO USERS                
         MTW,1    RUN99             INCREMENT REENTRANCY CT.                    
         B        B17                                                           
B18      RES      0                                                             
         ENABLE                                                                 
         B        FGL2160                                                       
*                                                                               
B19      RES      0                 LOAD MODULE CANT BE LOADED EVER.            
         LW,R4    LMIPL,R2                                                      
         LW,R5    LMIFWA,R2                                                     
         LW,R6    LMILWA,R2                                                     
         PUSH     4,R3              SAVE DATA NEEDED FOR POSTING                
         LW,R0    FGLPUBL           GET IDS OF PUBLIBS LOADED                   
         STW,R0   LMIPL,R2          PUT THEM WHERE FGL1 NEEDS THEM              
         LH,R0    LMISTAT,R2                                                    
         AND,R0   KXFF7D            RESET 'LOAD' AND 'QUEUED'                   
         STH,R0   LMISTAT,R2                                                    
         MTW,1    RUN99                                                         
         ENABLE                                                                 
         LW,R5    R2                                                            
         BAL,R8   TMABRTT           PUT OUT A CONTRACT ON THE LM                
         LW,R1    Y0008                                                         
         STS,R1   K:CTST            FORCE FGL1 RERUN                            
         B        B33               GO REPORT HIS INCIPIENT DEMISE              
*                                                                               
         PAGE                                                                   
*                                                                               
*        CONTROL RETURNS HERE FROM FGL3 IF THE SELECTED                         
*        LOAD MODULE AND ALL ITS PUBLIBS WERE LOADED                            
*        SUCCESSFULLY.  RESOURCE CONTROLS FOR THE LM                            
*        WILL NOW BE INITIALIZED.                                               
*                                                                               
*        R2 = LMID                                                              
*                                                                               
FGLOKLM  RES      0                                                             
         LW,R1    FGLBSP            GET BUFFER POINTER (LM HEADER)              
*        R1 MUST BE PRESERVED OR RESTORED UNTIL B31N                            
         AND,R1   M24                                                           
         LW,R4    X'C',R1           GET SPD SKELETON                            
         LW,R5    X'D',R1                                                       
         STD,R4   LMIRTS,R2         SET INTO LMI                                
         DO       #ECB                                                          
         LW,R4    1,R1              GET MAX NO. SECB'S                          
         LB,R4    R4                                                            
         CI,R4    X'FF'                                                         
         BNE      %+2               B IF NOT DEFAULT                            
         LB,R4    IOQ4              SET TO MAX                                  
         STB,R4   LMIMAXS,R2        SET IN LMI                                  
         LW,R4    2,R1              GET MAX NO. RECB'S                          
         LB,R4    R4                                                            
         CI,R4    X'FF'                                                         
         BNE      %+2               B IF NOT DEFAULT                            
         LB,R4    IOQ4                                                          
         STB,R4   LMIMAXR,R2        SET MAX RECBS IN LMI                        
         FIN      #ECB                                                          
         LH,R4    LMISTAT,R2                                                    
         CI,R4    LMISEC            DONT CLEAR SDT FOR SECONDARY                
         BANZ     B31AA                                                         
         LI,R4    0                 ZERO TASK CHAIN FOR PRIMARY                 
         STW,R4   LMISDT,R2                                                     
         DO       #ECB                                                          
B31AA    LW,R7    3,R1              GET AET SPACE REQUIREMENT                   
         LB,R7    R7                                                            
         BEZ      B31C              STORE ZERO IN AET POINTER                   
         CI,R7    KFF               FF IS DEFAULT FOR ZERO TSPACE               
         BNE      B31B              B IF NOT DEFAULT                            
         LI,R7    S:TENQ            DEFAULT NR OF AETS                          
         BEZ      B31C              B IF DEFAULT IS NONE                        
B31B     SLS,R7   1                 TIMES 2 FOR 2 WORDS PER AET ENTRY           
         BAL,R8   GETTEMP                                                       
         B        B50               NOT ENUF TSPACE                             
B31C     STW,R7   LMIAET,R2         SET AET POINTER OR ZERO                     
         ENABLE                                                                 
         CI,R7    0                                                             
         BE       B31CA             B IF NO AET SPACE OBTAINED                  
*   THE AET SPACE MUST BE ZEROED                                                
         LI,R0    0                                                             
         LW,R8    R7                TSPACE POINTER                              
         LB,R7    R8                R7= NO. OF WORDS                            
         AI,R7    -1                ADJUST FOR BDR LOOP                         
         AND,R7   XFF               MAX OF 256                                  
         STW,R0   *R8,R7            ZERO THIS WORD                              
         BDR,R7   %-1               LOOP                                        
         STW,R0   *R8               GET 1ST WORD                                
B31CA    RES      0                                                             
         ELSE     #ECB                                                          
B31AA    RES      0                                                             
         FIN      #ECB                                                          
         DO       #MAP                                                          
         BAL,R8   TIRFT             GET LMIRFT TABLE SPACE                      
         B        B50               ERROR, NO TSPACE                            
         STW,R7   LMIRFT,R2         STORE ADDRESS                               
         ENABLE                     TIRFT RETURNS DISABLED                      
         FIN      #MAP                                                          
         LI,R3    0                 RUN COMPLETION CODE 0 (ALL IS WELL)         
         LW,R4    LMIPL,R2                                                      
         LW,R5    LMIFWA,R2                                                     
         LW,R6    LMILWA,R2                                                     
         PUSH     4,R3              SAVE DATA NEEDED FOR POSTING                
         LB,R0    R6                GET JOB ID IN R0                            
         LW,R8    0,R1                                                          
         AND,R8   M24                                                           
         LW,R9    1,R1              R9=LWA OF TASK                              
         STW,R8   LMIFWA,R2         STORE TASK FWA IN LMI                       
         STB,R0   R9                MOVE TO BYTE 0 OF R9                        
         STW,R9   LMILWA,R2         STORE JOBID AND LWA IN LMI                  
         DISABLE                                                                
         LW,R0    FGLPUBL                                                       
         STW,R0   LMIPL,R2          SET PUBLIB IDS IN LMI                       
         LH,R0    LMISTAT,R2                                                    
         AND,R0   KXFF7D            RESET 'LOAD' AND 'QUEUED'                   
         STH,R0   LMISTAT,R2                                                    
         MTW,1    RUN99                                                         
         ENABLE                                                                 
         DO       #MAP=0                                                        
         CI,R0    LMISEC            SEE IF SECONDARY                            
         BAZ      B31C1             NO                                          
         LW,R4    LMISDT,R2                                                     
         LB,R4    R4                GET TASK ID                                 
         LW,R3    2,R1              GET LM ENTRY ADDRESS                        
         AND,R3   X1FFFF            TRIM TO ADDRESS ONLY                        
         OR,R3    Y008              SLAVE MODE                                  
         LW,R5    STITCB,R4         GET STCB ADR                                
         STW,R3   *R5               STORE ENTRY ADR IN WORD 0 OF STCB           
         LW,R3    Y2                FGD WRITE KEY                               
         CI,R0    LMIBKG                                                        
         BAZ      %+2               B IF NOT BKG                                
         LW,R3    Y1                BKG WRITE KEY                               
         STS,R3   1,R5              STORE IN STCB SAVED PSD WORD 2              
         AND,R8   M17               STORE PCB ADDR                              
         OR,R8    STCBPCB,R5                                                    
         STW,R8   STCBPCB,R5                                                    
B31C1    RES      0                                                             
         FIN                                                                    
*                                                                               
*        TASK IS LOADED                                                         
*                                                                               
         DO       #LOADMSG                                                      
         LI,R5    XMSG3             MESSAGE: PROGRAM LOADED                     
         BAL,R8   FGLMSG                                                        
         LW,R1    FGLBSP            RESTORE BUFFER SPACE POINTER                
         FIN                        #LOADMSG                                    
         PAGE                                                                   
*                                                                               
*        EXECUTE PRIMARY INITIATION CODE                                        
*                                                                               
         DO       #MAP=0                                                        
         LH,R0    LMISTAT,R2        SEE IF SECONDARY LOAD                       
         CI,R0    LMISEC            IF YES, SKIP INIT CODE                      
         BANZ     B33                                                           
         FIN                        #MAP=0                                      
         LW,R3    2,R1              R3=ADR OF INIT ROUTINE                      
         AND,R3   M24                                                           
         BEZ      B33               NO INIT. ROUTINE                            
         PUSH     R2                SAVE USER LMID                              
         LW,R0    PCBPOINT                                                      
         PUSH     R0                SAVE CPR PCBPOINT                           
         LW,R0    0,R1                                                          
         AND,R0   M24                                                           
         OR,R0    Y2                SET SECONDARY TASK BIT                      
*                                 MAKE C.T. LOOK LIKE USER                      
B31N     RES      0                                                             
         DISABLE                                                                
         STW,R0   PCBPOINT          STORE USERS PCB                             
         LI,R1    CTID                                                          
         SLS,R1   24                MOVE C.T. ID TO BYTE 0                      
         STW,R1   LMISDT,R2         PUT C.T. ID IN USER LMISDT                  
         LI,R1    CTID                                                          
         STB,R2   STILMID,R1          SET USER ID IN C.T. STI                   
         LW,R0    LMILWA,R2                                                     
         LB,R0    R0                GET JOB ID                                  
         STB,R0   STIJID,R1         SET IN STI                                  
         LW,R0    R2                USER LMID                                   
         SLS,R0   1                 MAKE DW ADR                                 
         AI,R0    LMIRTS                                                        
         STW,R0   K:RTS             SET SPD                                     
         STW,R0   STIXRTS,R1                                                    
         LI,R1    2                 STORE FGD INIT. ADDR   /SIG7-4986/*C015732  
         STW,R3   *K:INITX,R1        INTO PSD.             /SIG7-4986/*C015732  
         LI,R3    B32                                                           
         STW,R3   *K:INITX          CLOSE WINDOW BETWEEN ENABLE AND XPSD        
         ENABLE                                                                 
         LH,R4    LMISTAT,R2                                                    
         CI,R4    LMIT              IS TERM BIT SET                             
         BANZ     B31E              B IF YES TO SKIP USER INIT CODE             
         XPSD,0   *K:INITX          ENTER USERS INIT ROUTINE/SIG7-4986/*C015732 
*                                   RETURN IS TO B32       /SIG7-4986/*C015732  
B32      RES      0                                                             
*                           RETURN C.T. TO LOOK LIKE C.T.                       
B31E     DISABLE                                                                
         LI,R1    CTID              C.T.ID                                      
         LI,R0    CTLMID                                                        
         STB,R0   STILMID,R1        RESTORE C.T. LMID                           
         LI,R0    RBMJID                                                        
         STB,R0   STIJID,R1         RESTORE C.T.JID                             
         LI,R0    LMIRTS+(CTLMID*2)                                             
         STW,R0   K:RTS             RESTORE SPD                                 
         STW,R0   STIXRTS,R1                                                    
         PULL     R0                RECOVER CPR PCBPOINT                        
         STW,R0   PCBPOINT                                                      
         PULL     R2                RECOVER USER LMID                           
         LI,R0    0                                                             
         STW,R0   LMISDT,R2         RESTORE USER SDT CHAIN HEAD                 
         ENABLE                                                                 
         LI,R15   1                 SET NORMAL TYC                              
         LH,R0    LMISTAT,R2                                                    
         CI,R0    LMIA                                                          
         BAZ      %+2               B IF INIT CODE SUCCESSFUL                   
         LI,R15   TYC6F             RESPONSIBLE TASK TERMINATION TYC            
         PAGE                                                                   
*                                                                               
*        CLEANUP AND POSTING                                                    
*                                                                               
B33      RES      0                                                             
         LW,R0    R2                SAVE LMID                                   
         PULL     4,R2              RECOVER POSTING DATA                        
         XW,R0    R2                R0=RUN STATUS, R2=LMID                      
         DO       #ECB=0                                                        
         LW,R7    FGLCSP                                                        
         BAL,R8   RELTEMP           RELEASE LOAD CONTROL SPACE                  
         FIN      #ECB=0                                                        
         LI,R1    0                 FLAG FOR NO DEBUG INIT                      
         LH,R8    LMISTAT,R2                                                    
         CI,R8    LMIINIT                                                       
         BAZ      B341              B IF FROM RUN CAL, NOT INIT                 
*                                                                               
*        POSTING/CLEANUP FOR INIT REQUEST                                       
*                                                                               
         PUSH     4,R2                                                          
         LW,R6    R15               GET TYC                                     
         SLS,R6   24                LEFT-JUSTIFY                                
         DO       #ECB                                                          
         STW,R3   R2                SET ECB ADDRESS                             
         AND,R2   M17                                                           
         LI,R3    ECBCLASS                                                      
         LH,R3    *R2,R3                                                        
         CI,R3    F4                                                            
         BAZ      %+2               B IF NO DEBUG                               
         LI,R1    1                 SET FLAG FOR DEBUG                          
         PUSH     R1                SAVE R1                                     
         BAL,R8   EMPOST            POST COMPLETION                             
         NOP      0                 IGNORE ERROR RETURN                         
         PULL     R1                RESTORE R1                                  
         ELSE     #ECB                                                          
         LI,R2    9                                                             
         LI,R5    1                                                             
         LW,R0    *BINITFPT,R5      GET BKG INIT FLAG WORD                      
         CI,R0    F4                                                            
         BAZ      %+2               B IF NOT DEBUG                              
         LI,R1    1                 SET FLAG FOR DEBUG                          
         SLS,R0   1                 TEST NEXT PRESENCE BIT                      
         BCR,8    %+2               B IF NOT SET                                
         AI,R5    1                 COUNT THE WORD                              
         BDR,R2   %-3               REPEAT UP TO P9                             
         AI,R5    1                 COUNT FOR P10                               
         STW,R6   *BINITFPT,R5      STORE TYC WORD                              
         FIN      #ECB                                                          
         PULL     4,R2                                                          
         B        B344                                                          
*                                                                               
*        POSTING/CLEANUP FOR RUN REQUEST                                        
*                                                                               
B341     STW,R0   *R3               POST STATUS LOAD SUCCISSFUL                 
         LB,R0    R4                GET FLAGS FROM ORIGINAL LMIPCB              
         CI,R0    1                                                             
         BAZ      %+2               B IF NOT DEBUG                              
         LI,R1    1                 SET FLAG FOR DEBUG                          
         DO       #ECB                                                          
         LW,R7    FGLCSP                                                        
         BAL,R8   RELTEMP           RELEASE LOAD CONTROL SPACE                  
         FIN                        #ECB                                        
         AND,R5   M16               RUN-COMPLETION INTERRUPT LEVEL              
         BEZ      B344              B IF NONE                                   
         LI,R7    2                                                             
         LB,R4    R4,R7             GROUP CODE                                  
         AI,R4    X'1700'           TRIGGER BITS                                
         WD,R5    *R4                                                           
*                                                                               
*        DEBUG CONTROL                                                          
*                                                                               
B344     RES      0                                                             
         LH,R0    LMISTAT,R2                                                    
         CI,R0    LMIT                                                          
         BANZ     B40               B IF LM ALREADY SCREWED UP                  
         DO       #DEBUG                                                        
         CI,R1    1                                                             
         BNE      B36               B IF DEBUG NOT REQUIRED                     
         LCI      FDEBUG%-FDEBUG                                                
         LM,R8    FDEBUG            LOAD DEBUG FPT INTO REGISTERS               
         LD,R10   LMINAME,R2        NAME OF MODULE TO DEBUG                     
         LW,R3    LMIJID,R2                                                     
         LB,R3    R3                GET JOB ID                                  
         LD,R12   SJI2,R3           GET JOB NAME IN FPT                         
         CAL1,7   R8                PUT TASK UNDER DEBUG CONTROL                
B36      RES      0                                                             
         FIN                        #DEBUG                                      
         DO       #MAP=0                                                        
         CI,R0    LMISEC                                                        
         BAZ      B40               B IF PRIMARY LM                             
         LW,R1    LMISDT,R2                                                     
         LB,R1    R1                GET TASK ID                                 
         DISABLE                                                                
         LB,R9    STISTAT,R1                                                    
         AND,R9   XF7               RESET INITIATION BIT                        
         STB,R9   STISTAT,R1                                                    
         ENABLE                                                                 
         CI,R0    LMIBKG                                                        
         BANZ     B38               B IF BKG                                    
         LW,R1    STITCB,R1         GET TCB ADDRESS                             
         LW,R9    STCBRDL,R1        GET DISPATCHER INTERRUPT CONTROLS           
         LH,R1    R9                                                            
         WD,R9    0,R1              TRIGGER THE DISPATCHER                      
         B        B40                                                           
*                                                                               
B38      RES      0                                                             
         LW,R9    XBIT8             SET EXECUTE BCKG LOAD BIT                   
         STS,R9   K:CTST                                                        
         LW,R9    XBIT1             SET BACKGROUND ACTIVE BIT                   
         STS,R9   K:JCP1                                                        
         FIN                        #MAP                                        
B40      RES      0                                                             
         B        FGL2160           GO SCAN LMI AGAIN                           
         PAGE                                                                   
*                                                                               
*        ERROR ROUTINES                                                         
*                                                                               
B50      RES      0                                                             
         LI,R3    7                 RUN COMPLETION CODE                         
         LI,R15   X'66'             TYC:  NOT ENUF TSPACE                       
         LI,R5    XMSG9             NO TSPACE ALARM                             
         B        FGL2BADX                                                      
         PAGE                                                                   
*                                                                               
*                                   DCB'S ,FPT'S, AND CONSTANTS                 
FDEBUG   GEN,8,1,23  X'65',1,0                                                  
         GEN      P3+P4+P11+P12+F7   TASK NAME, JOB NAME, ABORT OVRIDE          
FDEBUG%  RES      0                 END OF DEBUG FPT + 1                        
*                                                                               
FCLOSE   GEN,1,7,24  1,X'15',R7     CLOSE DCB ADDRESSED BY R7                   
         DATA     F7                IGNORE ERRORS                               
*                                                                               
         DO       #LOADMSG                                                      
XMSG3    EQU      9                 MESSAGE INDEX FOR 'LOADED PROGRAM'          
         FIN                         #LOADMSG                                   
XMSG9    EQU      5                 NO TSPACE ALARM                             
KXFF7D   DATA     X'FF7D'           RESET LOAD, QUEUED IN LMISTAT               
KXFF7B   DATA     X'FF7B'           RESET LOAD, RUNNING IN LMISTAT              
KL20     EQU      Y2                2000 0000                                   
KLM7FFE  DATA     X'7FFE0000'                                                   
KZEROS   EQU      ZEROS             0000 0000 0000 0000                         
FGLD1    EQU      Y4                4000 0000                                   
FGLSTATM DATA     LMILOAD+;         LMISTAT FLAGS OF INTEREST TO                
                  LMIRUNQ+;         THE LOADABLE LOAD MODULE SELECTION          
                  LMIRUN+;          PROCESS                                     
                  #MAP*LMISEC                                                   
FGLSTAT  DATA     LMILOAD+;         VALUES FOR ABOVE                            
                  LMIRUNQ                                                       
*                                                                               
         OLAYEND                                                                
         END                                                                    
