*DECK             INITCG
USETEXT   TSOURCE 
USETEXT   TSYMCNS 
USETEXT   TCEXECQ 
USETEXT   TCEXEC
USETEXT   TCOM37Q 
USETEXT   TCOM78Q 
USETEXT   TC7DECS 
PROC INITCG;
# THE FOLLOWING ROUTINE DOES INITIALIZATION FOR PHASE I 
  OF THE CODE GENERATOR # 
    BEGIN 
         XREF PROC CDINIT;
         XREF PROC CDFLSH;
         XREF PROC ICINIT;
         XREF PROC ICFLSH;
         XREF PROC INTRX; 
         XREF FUNC MSKGEN;                                               JANDRE 
         XREF FUNC PLABL; 
         XREF PROC POST;
         XREF FUNC PSICON;
  
  
  
  
*CALL COMEX 
  
  
  
         ITEM I;
         CDINIT;    #IDENTIFY CODE SECTION #
         ICINIT;    #IDENTIFY ICF # 
         INTRX; 
         I=PLABL; 
         BABY[CSLC]=I;
         LENT[CSLC]=I;
         IF XSLC EQ 0 THEN
              BEGIN 
              POST(NONAM,SLC$W,XSLC); 
              CLAS[XSLC]=S"SLC";
              ESDC[XSLC]=S"XTRN"; 
              ASEQ[ESPLC]=XSLC; 
              ESPLC=XSLC; 
              END 
         IF BABY[XSLC] EQ 0 THEN
               BEGIN
               POST(NONAM,PROC$W,XSLCITM);
               CLAS[XSLCITM] = QCLAS"PROC"; 
               BABY[XSLC] = XSLCITM;
               LENT[XSLC] = XSLCITM;
               END
         IF BABY[DSLC] EQ 0 THEN
               BEGIN
               POST(NONAM,DATA$W,DSLCITM);
               CLAS[DSLCITM] = QCLAS"DATA"; 
               BABY[DSLC] = DSLCITM;
               LENT[DSLC] = DSLCITM;
               END
         IF LPLC EQ 0 THEN
              BEGIN 
              POST(NONAM,SLC$W,LPLC); 
              CLAS[LPLC]=S"SLC";
              ESDC[LPLC]=S"LITL"; 
              ASEQ[ESPLC]=LPLC; 
              ESPLC=LPLC; 
              END 
         IF BABY[LPLC] EQ 0 THEN
              BEGIN 
              POST(NONAM,CONS$W,LPLCITM); 
              CLAS[LPLCITM]=S"CONS";
              BABY[LPLC]=LPLCITM; 
              LENT[LPLC]=LPLCITM; 
              END 
         IF APLC EQ 0 THEN
              BEGIN 
              POST(NONAM,SLC$W,APLC); 
              CLAS[APLC]=S"SLC";
              ESDC[APLC]=S"ADCN"; 
              ASEQ[ESPLC]=APLC; 
              ESPLC=APLC; 
              END 
         IF BABY[APLC] EQ 0 THEN
              BEGIN 
              POST(NONAM,ADCN$W,APLCITM); 
              CLAS[APLCITM]=S"ADCN";
              BABY[APLC]=APLCITM; 
              LENT[APLC]=APLCITM; 
              END 
         PZERO = PSICON(0); 
         PONE = PSICON(1);
         PMINUS1=PSICON(-1);                                             JANDRE 
         MASK1=MSKGEN(1);                                                JANDRE 
         SEVENS = LNO 0;
         MZERO=PSICON(SEVENS);
         RETURN;
         ENTRY PROC FINCG1; 
# RESET SLC ITEMS AND FLUSH CODE AND ICF FILES #
         IF XSLCITM NQ 0 THEN 
               BEGIN
               BABY[XSLC] = ASEQ[XSLCITM];
               END
         IF LPLCITM NQ 0 THEN 
               BEGIN
               BABY[LPLC] = ASEQ[LPLCITM];
               END
         IF DSLCITM NQ 0 THEN 
               BEGIN
               # BABY[DSLC] = ASEQ[DSLCITM] # 
               END
         IF APLCITM NQ 0 THEN 
              BEGIN 
              BABY[APLC]=ASEQ[APLCITM]; 
              END 
         CDFLSH;    # FLUSH CODE FILE # 
         ICFLSH;    # FLUSH ICF FILE #
##       $BEGIN 
         IF B<59-",">INTOPS NQ 0 THEN SDUMP(O"777");
##       $END 
         END
         TERM 
