*DECK INIT14
          IDENT  INIT14 
          TITLE  INIT14 - GENTEXT INITIALIZATION AND SERVICE ROUTINES 
          COMMENT INIT14 - GENTEXT INITIALIZATION AND SERVICE ROUTINES
          SST 
          LIST   F
          SPACE  4
 THISOVL  MICRO  1,, 14      DECK RESIDENCE (FOR CCON MACRO). 
  
*CALL COMSTUF 
          ENTRY  INIT14 
 INIT14   BSS    0
  
          SA4    =XOPTION 
          LX4    59-1RB      IF B OPTION = 0, 
          PL     X4,TXT1     SKIP TO TXT1 TO CALL GENTEXT;
*                            ELSE CONTINUE. 
  
*         BUILD PRFX TABLE. 
  
          SB1    1
          SA3    =XSYSID2 
          BX6    X3 
          SA2    A3+B1
          BX7    X2 
          SA6    LANG 
          SA7    A6+B1
          DATE   DATEM
          CLOCK  TIMEM
          MX0    54 
          SA1    DATEM
          SA2    A1+B1
          LX1    6
          LX2    6
          BX6    X0*X1
          BX7    X0*X2
          BX3    -X0*X1 
          BX4    -X0*X2 
          IX6    X6+X4
          IX7    X7+X3
          SA6    A1 
          SA7    A2 
  
*         STORE B=*FILENAME* INTO FET/FIT.
  
          SA1    =XLGONAM 
 #RM      IFEQ   CP#RM,0
          SX0    3
          BX6    X1+X0       SET MODE AND COMPLETE BITS.
          SA6    F.LGO
 #RM      ELSE
          STORE  FI.LGO,LFN=X1
 #RM      ENDIF 
  
*         SET INITIAL VALUES IN FET/FIT.
  
          SETFIL FILE=F.LGO,MODE=INIT,FWA=LGOBUF
  
*         OPEN B=FILE.
  
          OPEN   F.LGO,WRITENR,R
  
*         CALL GENTEXT. 
  
 TXT1     RJ     =XGENTEXT   GENERATE SYMPL TEXT. 
  
*         CLOSE B=FILE IF IT WAS WRITTEN. 
  
          SA4    =XOPTION 
          LX4    59-1RB      IF B OPTION = 0, 
          PL     X4,TXT3     SKIP TO TXT3 TO RETURN;
          SA4    =XMEL
          SX4    X4-EL.F     IF FATAL ERRORS HAVE OCCURRED, 
          PL     X4,TXT2     SKIP TO TXT2;
*                            ELSE 
 #RM      IFEQ   CP#RM,0
          WRITER F.LGO,R     WRITE EOR
 #RM      ELSE
          WEOR   FI.LGO 
 #RM      ENDIF 
 TXT2     CLOSE  F.LGO,NR,R  AND CLOSE B=FILE.
  
 TXT3     JP     =XAFTPH14   RETURN TO PHASE10. 
          TITLE  WST - WRITE SYMPL TEXT 
**        WST - WRITE SYMPL TEXT ON B=FILE
* 
*         WST IS CALLED FROM GENTEXT TO WRITE A SYMPL TEXT RECORD 
*         ON THE B=FILE.  THE SYMPL CALLING SEQUENCE TO THIS ROUTINE IS 
*           XREF PROC WST;
*         WST (WSA,NWDS,TAB"XXXX"); 
*             WHERE 
*             WSA = ADDRESS OF WORKING STORAGE AREA.
*             NWDS = NUMBER OF WORDS IN WSA.
*             TAB"XXXX" = 0 IF WSA MAY BE IN LCM, = 2 IF LAST CALL. 
*           HENCE THE REGISTER SETUP ON ENTRY IS
*             (A1) = POINTER TO APLIST. 
*             (X1) = FWA OF WSA.
* 
  
 WST      ENTRY. ** 
          SA3    A1+2 
          SA3    X3 
 #LEV     IFNE   SYMTBLV,0
*         IF THIS CALL IS TO WRITE A TEXT TABLE FROM LCM, SET THE UPPER 
*         BIT OF THE WSA FIELD TO TELL CRM IT IS AN LCM ADDRESS.
          NZ     X3,WST.1 
          MX0    1
          LX0    22 
          BX1    X1+X0
 WST.1    BSS    0
 #LEV     ENDIF 
          SA2    A1+1        (X1) = FWA OF WSA. 
          SA2    X2          (X2) = NWDS. 
 #RM      IFEQ   CP#RM,0
          WRITEW F.LGO,X1,X2 WRITE WSA TO B=FILE. 
 #RM      ELSE
          SX3    X3-2        IF LAST CALL TO WST, 
          ZR     X3,WST.2    GO TO WST.2. 
          PUTWP  FI.LGO,X1,X2 
          EQ     WST
 WST.2    PUTWP  FI.LGO,X1,X2,,,,TERM  LAST PUTWP TO B=FILE.
 #RM      ENDIF 
          EQ     WST         RETURN.
          TITLE  INIT14 - DATA AREA 
 LGOBUF   BSS    LC.LGO                I/O BUFFER FOR B=FILE. 
          FET    LGO,LGOBUF,BINARY     FET FOR B=FILE.
 #RM      IFNE   CP#RM,0,1             FIT FOR B=FILE.
 FI.LGO   FILE   LFN="LGO",RT=W,PD=OUTPUT,OF=N,MRL=(LC.LGO*10),CF=N 
  
          ENTRY  PRFX 
 PRFX     DATA   77000016000000000000B PRFX TABLE SKELETON. 
          ENTRY  TXTNAME               .
 TXTNAME  BSS    1                     .
 DATEM    BSS    1                     .
 TIMEM    BSS    1                     .
 SYSTEM   DATA   10H"OS.ID"            .
 LANG     BSS    1                     .
          BSS    1                     .
          DATA   10HT                  .
          DATA   10HSYMPL TEXT         .
          DATA   10H                   .
          DATA   10H                   .
          DATA   10H                   .
          DATA   10H                   .
          DATA   10H                   .
          DATA   10H                   END OF PRFX TABLE. 
  
*         IF THE PRFX TABLE LENGTH IS ALTERED, CHANGE THE VALUE 
*         OF L$PRFX IN *CD CEXEC AND *CD COMSTUF. 
  
          END    INIT14 
