<< LINES .001/.009 ARE RESERVED FOR SYSTEMS INTEGRATION>>               00000001
ARRAY PROMPT (0:0) := "? ";                                             00066000
ARRAY MSG2 (0:4) := "SL FILE?  ";                                       00068000
ARRAY MSG3 (0:6) := "SEGMENT NAME? ";                                   00070000
ARRAY MSG6 (0:9) := "ILLEGAL SEGMENT NAME";                             00076000
ARRAY MSG8 (0:6) := "ILLEGAL RANGE ";                                   00080000
ARRAY MSG9 (0:6) := "ILLEGAL NUMBER";                                   00082000
BYTE ARRAY DELIMS (0:1) := ",",%15;  <<COMMAND DELIMITERS>>             00096000
       SLFORMATA  = 3,     <<FILE ID, FILE FORMAT A>>                   00138000
       SLFORMATB  = 4;     <<FILE ID, FILE FORMAT B>>                   00139000
INTEGER ARRAY RTLIST (0:255);  <<SL FILE RECORD 1 AND 2>>               00144000
INTEGER SLVERSION;  <<SL VERSION NUMBER>>                               00145000
INTEGER RTPERREC;  <<NR. OF RT ENTRIES PER FILE RECORD>>                00155000
INTEGER RTSIZE;  <<SIZE IN WORDS OF AN RT ENTRY>>                       00155100
DOUBLE DRECD := 0D;                                                     00176000
   @STRING := @STRING-1;                                                00274000
   STRING := "%";  <<FORCE OCTAL CONVERSION>>                           00276000
   LENGTH := LENGTH+1;                                                  00278000
   NUM := BINARY(STRING,LENGTH);                                        00280000
PROCEDURE GETREFTABENTRY (RTNUM);                                       00298000
   VALUE RTNUM;                                                         00300000
   INTEGER RTNUM;                                                       00302000
   INTEGER RTREC,RTENTRY,RTOFFSET;                                      00305000
   RTREC := RTLIST( RTNUM / RTPERREC );                                 00306000
   RTENTRY := RTNUM MOD RTPERREC;                                       00308000
   RTOFFSET := RTENTRY * RTSIZE;                                        00310000
   @RTP := RTOFFSET + @RTBUF;                                           00312000
   IF RTREC <> RTRECD THEN  <<DIFFERENT RECORD?>>                       00314000
      RTRECD := RTREC;                                                  00318000
   SEGLEN := RTP.(2:14);  <<SEGMENT LENGTH>>                            00326000
   SEGRECD := RTP(1)  <<STARTING RECORD NR.>>                           00328000
   WHILE >= DO  <<LOOP THROUGH ALL REFERENCE TABLE ENTRIES.>>           00338000
         TOS := @RTP(8)&LSL(1); <<BYTE PTR TO SL SEG NAME>>             00348000
TOS := READ(TTY,-72);  <<READ SL FILE NAME>>                            00426000
FREADDIR(SLFNUM,SLREC0,384,0D);  <<READ RECORDS 0,1,2>>                 00458000
SLVERSION := SLREC0;  <<SL VERSION NUMBER IN WORD 0>>                   00461000
IF TOS <> SLFILECODE OR                                                 00466000
  ((SLVERSION <> SLFORMATA) LAND                                        00467000
   (SLVERSION <> SLFORMATB)) THEN                                       00468000
   BEGIN                                                                00469000
SLNRT := SLREC0(9);  <<NR. REFERENCE TABLE ENTRIES>>                    00478000
IF SLVERSION = SLFORMATA THEN                                           00478100
   BEGIN                                                                00478200
   RTPERREC := 4;  <<FORMAT A HAS FOUR 32 WORD REFERENCE>>              00478300
   RTSIZE := 32;   <<TABLE ENTRIES PER RECORD.          >>              00478400
   END                                                                  00478500
ELSE  <<SLVERSION = SLFORMATB>>                                         00478600
   BEGIN                                                                00478700
   RTPERREC := 2;  <<FORMAT B HAS TWO 64 WORD REFERENCE>>               00478800
   RTSIZE := 64;   <<TABLE ENTRIES PER RECORD.         >>               00478900
   END;                                                                 00479000
   ELSE COUNT := 1;  <<DEFAULT COUNT = 1>>                              00606000
   RECD := SEGRECD+ADR.(0:9);  <<STARTING RECORD NR.>>                  00622000
   DISP := ADR.(9:7);  <<STARTING RECORD DISPLACEMENT>>                 00624000
   TOS := COUNT;  <<WORD COUNTER>>                                      00628000
         MOVE BTTY(6) := " _ ";                                         00642000
            BUF(DISP) := I  <<MODIFY CONTENTS>>                         00676000
      DISP := (DISP+1).(9:7);                                           00692000
         RECD := RECD+1;                                                00700000
