SPL,L,M,O,T,C 
      NAME LDUM4(8) "REV G 770331"
! 
       LET STAK,STYP,SVLU BE PSEUDO,EXTERNAL  
       LET IAILU BE INTEGER,EXTERNAL  ! DEFINE INTERACTIVE FLAG 
       LET INLU BE INTEGER,EXTERNAL   !DEFINE CURRENT INTERACTIVE LU  
       LET ASTAK,EKOLU BE INTEGER,EXTERNAL  
! 
EKOST:     SUBROUTINE     GLOBAL
       LET OFF BE CONSTANT(100404K)     !"OFF"  
! 
       REPEAT 2 TIMES DO ON_STAK(ASTAK)\POP "ECHO ON" 
             ?[EKOLU_[IFNOT IAILU THEN 1, ELSE INLU];\ DEFAULT ECHO LU
               RETURN]
       IF ON = OFF THEN EKOLU_0,\  "ECHO OFF" 
            ELSE EKOLU_SVLU(STAK(ASTAK))
       RETURN 
       END
! 
       LET DNFLG BE INTEGER,EXTERNAL
       LET LINKF BE INTEGER,EXTERNAL
       LET CRTOP BE CONSTANT(60)
       LET CLOP BE CONSTANT(57) 
       LET OTPT BE CONSTANT(47)        !COREIMAGE/ABSOLUTE FORMATTER
       LET TERMF BE CONSTANT(30)
       LET CI BE CONSTANT(100474K)     !"CI" IN SYMBOL TABLE
       LET FGR BE CONSTANT(100520K)    !"FGR" IN SYMBOL TABLE 
       LET DIAG,GETAB,DSUDF,MSTBL BE SUBROUTINE,EXTERNAL
       LET STPRG BE SUBROUTINE,EXTERNAL 
       LET BINY,UNDF1 BE INTEGER,EXTERNAL 
       LET MAXA,MINA,MAXAB,MINAB,DNFLG,ABRTF,LSTLU BE INTEGER,EXTERNAL
       LET  AVALU,DCB,PXFER,XFER BE INTEGER,EXTERNAL
       LET IWP,SMBL BE PSEUDO,EXTERNAL
       LET ISTR BE FUNCTION,EXTERNAL
! 
WDTAV: SUBROUTINE(WDT1)      !PUTS ANOTHER WORD IN POLISH STRING
       IWP(T)_WDT1
       RETURN 
       END
! 
SEGST: SUBROUTINE GLOBAL
       IFNOT XFER THEN CALL DIAG(19,0) !NO MAIN PROGRAM 
       DNFLG_1     !SET DONE FLAG FOR SEGMENTS
       CALL STPRG(UNDF1)
       T_ISTR(AVALU)
! 
!      CHECK FOR "FGR" IN OUTPUT FORMAT 
! 
       IFNOT[SC,CR_SMBL(100005K)] THEN\DEFAULT AN OUTPUT STATEMENT
         [FNAME_PXFER; GOTO AE2]
       CALL GETAB(CR,FMT)        !GET ADDRESS OF OUTPUT FILE PARAM
       IF $FMT=FGR THEN GOTO AE1       !FGR IMPLIES COREIMAGE 
       IF $FMT = CI THEN GOTO AE1      !"COREIMAGE FORMAT 
AE0:   CALL WDTAV(OTPT); CALL WDTAV(CLOP) 
       CALL WDTAV(TERMF)
! 
!      CLEAR "TYPE 4 ENTRY POINTS DEFINED" FLAG 
! 
       LINKF_LINKF AND 175777K
       RETURN 
! 
AE1:   FNAME_$(FMT +1)                 !GET FILE NAME 
       SC_$(FMT +3); CR_$(FMT +2)      !GET CR ID & SECURITY CODE 
       CALL MSTBL(FNAME,DCB,3)         !MOVE FILE NAME TO DCB 
! 
!      CALCULATE NUMBER OF 128-WORD BLOCKS NEEDED FOR COREIMAGE FILE, 
!      INCLUDING BASE PAGE AREA, AND MAKE NEGATIVE FOR PASS TO POLISH 
!      ROUTINE CRTOP(CREATE FILE OPERATOR). 
!      BUILD POLISH CODE
! 
AE2:   SIZE_  (MAXA-MINA+64)>-6 
       IF (LINKF AND 4000K) \ RTE-II. ROUND BP TO EVEN SECTOR 
           THEN SIZE_SIZE +(SIZE AND 1) 
       SIZE_-(((SIZE + ((MAXAB-MINAB+64)>-6)+3)>-1))
       CALL WDTAV(SC); CALL WDTAV(CR); CALL WDTAV(-6) 
       CALL WDTAV(FNAME); CALL WDTAV(SIZE); CALL WDTAV(CRTOP) 
       GOTO AE0 
       END
! 
CNTST:      SUBROUTINE GLOBAL 
       LET ASTAK,AVALU BE INTEGER,EXTERNAL
       AVALU_STAK(ASTAK)?(0)
       RETURN 
       END  
       END  
       END$ 
                                                                                                                                                                                                          