SPL,L,M,O,T,C 
      NAME DINIT(8) "REV G 770323"
! 
!       MAY BE KEPT IN A SEGMENT IF DESIRED.
      LET PD BE INTEGER(1),EXTERNAL 
      LET EXEC,.XEC BE SUBROUTINE,EXTERNAL
      LET MIN BE FUNCTION,EXTERNAL
      LET MOVE. BE SUBROUTINE,EXTERNAL
      LET LUCNT,FRLST,ZZZ,LPAGE,FIRST,EXBAS,SYSIZ,\ 
          LAST,WKTOP,LINKF,TSIZE,SESIZ,FETRK,LID,PDSIZ,\
          SYMT,FREE4 BE INTEGER,EXTERNAL
! 
DINIT:SUBROUTINE GLOBAL 
! 
!     INITIALIZES ALL OF WORKSPACE/SYMBOL TABLE MECHANISM 
!     "SGINT" MUST BE CALLED FIRST TO ESTABLISH "EXBAS"=
!     LARGEST+1 ADDRESS OF SXL'S SEGMENTS.
! 
      LET WATG BE INTEGER(14) 
      INITIALIZE WATG TO " SXL WAITING FOR DISC TRACKS" 
      MOVE.($SYMT,$EXBAS,[J_(SYSIZ+1)-<7])!MOVE SYMT TO EXTENSION AREA. 
      FOR I_0 TO SYSIZ-<7 BY 200K DO$(EXBAS+I+3)_1 ! MARK PAGES CHANGED 
      FOR I_1 TO 240 DO PD(I)_-1
      FREE4,LUCNT,FRLST_0 
      ZZZ_EXBAS 
      FOR LPAGE_0 TO SYSIZ  DO PD(LPAGE+1)_LPAGE<-7 
      LPAGE_SYSIZ ! ASSIGN LARGEST PAGE REFERENCED
      FIRST_EXBAS+J ! ASSIGN FIRST AVAILABLE WORKSPACE ADDRESS. 
      LAST,WKTOP_($1777K-7)OR 7!ASSIGN LAST AVAIL WKSPC ADDR
!THE PAGE DIRECTORY *PD* NOW LOOKS LIKE THE FOLLOWING:
!    PD(1) 000000K
!    PD(2) 000200K
!    PD(3) 000400K
!      .      . 
!      .      . 
!      .      . 
!    PD(N) 00XX00K      WHERE XX::=2*(NUMBER OF PAGES - 1)
!    PD(N+1)  -1
!    PD(N+2)  -1
!      .      . 
!      .      . 
!      .      . 
!    PD(240)  -1
! 
!      IF THIS IS A SEGMENT INITIALIZATION, TRACKS HAVE ALREADY BEEN
!      ALLOCATED. 
! 
       IF LINKF AND 60000K THEN RETURN
! 
!     ALLOCATE TRACKS FROM RTE
RT3:   SESIZ_5    !MAKE A GUESS 
RT2:  CALL EXEC(4,SESIZ+100000K,FETRK,LID,TSIZE)!TRY TO GET THEM
        IF FETRK= -1 THEN[SESIZ_SESIZ-1; GOTO RT2]
       TSIZE_TSIZE>-1  !ASSIGN # PAGES / TRACK
      IFNOT SESIZ THEN\ NO TRACKS AVAILABLE.PRINT WAITING MSG & 
        [CALL .XEC(2,WATG,14); CALL EXEC(7);\ SUSPEND 
               GOTO RT3]                   !RETRY ON OPERATOR "GO"
RT1:  PDSIZ_MIN(240, TSIZE*SESIZ) 
      RETURN
      END 
      END 
END$
                                                                                                                                                            