*DECK     QCGLINK            QCG MODE LINKAGE ROUTINES
          IDENT  QCGLINK
 QCGLINK  SECT   (QCG MODE LINKAGE ROUTINES.) 
 QCGLINK  SPACE  4,10 
*         IN FEC
          EXT    FEC,OIL
  
*         IN FTN
          EXT    F.PB 
  
*         IN PUC
          EXT    BINIO,PASS,CO.QC 
  
*         IN QCGC 
          EXT    CAI
  
*         IN REC
          EXT    REC
  
*         IN UTILITY
          EXT    CIO= 
 FEL      TITLE  FRONT END LOADER 
 FEL      SPACE  4,10 
**        FEL - FRONT END LOADER. 
* 
*         THE QCG FRONT END RESIDES IN THE SAME OVERLAY 
*         AS THE PROGRAM UNIT CONTROLLER. 
  
  
 FEL      SUBR   =           ...ENTRY/EXIT... 
          EQ     FEC         TRANSFER TO FRONT END CONTROLLER 
 FEL.RTN  BSSENT 0           ...RETURN FROM FRONT END CONTROLLER
          EQ     EXIT.       THATS ALL FOLKS... 
 CGE      SPACE  4,10 
**        CGE -  CHECK (CODE) GENERATOR ERRORS
* 
*         THIS IS A STUB FOR OPT=0 PROCESSING.  NO ACTION 
  
  
 CGE      SUBR   =           ...ENTRY/EXIT... 
          EQ     EXIT.
 DER      SPACE  4,10 
**        DER -  DETECT EXTENDED RANGE DO LOOPS.
* 
*         THIS IS A STUB FOR OPT = 0 PROCESSING. NO ACTION
  
  
 DER      EQUENT CGE
 LPE      SPACE  4,10 
**        LPE -  LINK POSSIBLE ENTRY DO LOOPS.
* 
*         THIS IS A STUB FOR OPT = 0 PROCESSING. NO ACTION. 
  
  
 LPE      EQUENT CGE
 MDD      SPACE  4,10 
**        MDD -  MARK DO PARAMETERS DEFINED.
* 
*         THIS IS A STUB FOR OPT = 0 PROCESSING.
  
  
 MDD      EQUENT CGE
 PDC      SPACE  4,10 
**        PDC - PROCESS DIVIDE BY CONSTANT. 
* 
*         THIS IS A STUB FOR OPT=0 PROCESSING.
  
 PDC      EQUENT CGE
 BCT      SPACE  4,8
**        BCT - BLANCH CONSTANT TABLE.  DUMMY FOR OPT=0.
  
 BCT      EQUENT CGE
 MAL      SPACE  4,8
**        MAL - MARK LOOPS POSSIBLY ENTERED VIA ASSIGNED GOTO.
  
 MAL      EQUENT CGE
 PCA      SPACE  4,8
**        PCA - PROCESS *CAC* TABLE.  DUMMY FOR OPT=0.
  
 PCA      EQUENT CGE
 PAT      SPACE  4,8
**        PAT - PREPROCESS APLIST TABLE.  DUMMY FOR OPT=0.
  
 PAT      EQUENT CGE
 CGL      TITLE  CODE GENERATOR LOADER
 CGL      SPACE  4,10 
**        CGL - CODE GENERATOR LOADER.
* 
*         IN QCG MODE EVERYTHING RESIDES IN ONE OVERLAY.
*         THE FRONT END CONTROLLER *FEC* HAS BEEN PASSING 
*         IL OFF TO THE CODE GENERATOR A LITTLE AT A
*         TIME. THE CODE GENERATOR THEREFORE HAS BEEN LOADED
*         AND ALL THAT IS LEFT IS A LITTLE CLEANUP. 
  
  
 CGL      EQUENT CGE
 REL      TITLE  REAR END LOADER
 REL      SPACE  4,10 
**        REL - REAR END LOADER.
* 
*         THIS IS THE LOADER FOR THE END, MAP, OBJECT LIST, 
*         AND ASSEMBLY PROCESSORS.
*         THERE IS ONLY ONE OVERLAY IN QCG MODE. THEREFORE, CONTROL 
*         GOES TO THE REAR END CONTROLLER.
  
  
 REL      SUBR   =           ...ENTRY/EXIT... 
 .RM      IFNE   CP#RM,7
          SA1    F.PB+I.FET  X1 = CODE/STATUS WORD OF F.PB FET
          LX1    59-2 
          =X6    0
          PL     X1,REL5     IF PHYSICAL I/O HAS NOT OCCURED
 .RM      ELSE
          SA1    CO.QC
          MX6    0
          MI     X1,REL5     IF IN *QC* MODE
 .RM      ENDIF 
          WRITER F.PB        FLUSH PRE-BINARY 
          =X6    -1 
 REL5     SA6    BINIO
          EQ     REC
  
 REL.RTN  BSSENT 0           ...RETURN FROM REAR END CONTROLLER 
          EQ     EXIT.       EXIT...
 PDI      SPACE  4,10 
**        PDI - PUBLISH DATA TO IL FILE.
* 
*         LIKE *PIS*, BELOW, THIS ROUTINE EXISTS IN QCG AND CCG.
*         IN QCG MODE, CAI IS CALLED TO COPY (T.DATS) TO (F.PB).
  
  
 PDI      SUBR   =           ENTRY/EXIT...
          CALL   OIL         OUTPUT IL SEGMENT
          EQ     EXIT.
 PIS      SPACE  4,10 
**        PIS - PUBLISH IL SEGMENT. 
* 
*         THERE ARE TWO VERSIONS OF THIS ROUTINE. 
*         IN QCG MODE, CAI IS CALLED TO COMPILE ALL INSTRUCTIONS
*            TO T.PB. 
*         IN CCG MODE, THE IL IS WRITTEN TO A FILE FOR LATER
*            PROCESSING BY THE BRIDGE.
  
  
 PIS      SUBR   =           ENTRY/EXIT...
          =X6    PASS=QCG 
          SA6    PASS 
          CALL   CAI         COMPILE ALL INSTRUCTIONS 
          EQ     EXIT.
  
  
          LIST   D
          END 
