INTEGER LABEL,MODE,JUMP,FILE,FLAG,ANSWER,IFLAG(99),TARGET REAL TEXT(12),UPDATE(2),SGEN(2) REAL UPDAT2(2),PIP2(2),PIP3(2),MACRO(2),MAC11(2),PATCH(2),CODE(2) DATA UPDAT2,PIP2/'UPDAT','2BAT ','PIP2 ',' BAT '/ DATA PIP3,MACRO/'PIP3 ',' BAT ','MACRO',' BAT '/ DATA MAC11,PATCH/'MAC11',' BAT ','PATCH',' BAT '/ DATA CODE,UPDATE/'CODE ',' SRC ','UPDAT','EBAT '/ DATA BLANK/5H / DATA SGEN/'SGEN ',' BAT '/ CALL SEEK(1,CODE) CALL ENTER(2,UPDAT2) CALL ENTER(3,PIP2) CALL ENTER(4,PIP3) CALL ENTER(5,MACRO) CALL ENTER(6,MAC11) CALL ENTER(7,PATCH) CALL ENTER(8,UPDATE) CALL ENTER(9,SGEN) WRITE(2,12) WRITE(3,13) WRITE(4,14) WRITE(5,15) WRITE(6,16) WRITE(7,17) WRITE(8,18) WRITE(9,19) 10 FORMAT(1X,12A5) 110 FORMAT(1X,'ERROR - UNSATISFIED JUMP TO ',I3) 12 FORMAT('$JOB UPDAT2') 13 FORMAT('$JOB PIP2') 14 FORMAT('$JOB PIP3') 15 FORMAT('$JOB MACRO') 16 FORMAT('$JOB MAC11') 17 FORMAT('$JOB PATCH') 18 FORMAT('$JOB UPDATE') 19 FORMAT('$JOB SGEN') 101 FORMAT(I3,1X,I2,1X,I3,1X,I2,1X,I2,1X,12A5) 201 FORMAT(12A5,20X) CALL SYSDEV(IFLAG(99)) 1001 READ(1,101,END=2001)LABEL,MODE,JUMP,FILE,FLAG,TEXT 20 GOTO(1,2,3,4,5,6,7,8,9,90,91),MODE 30 TARGET=JUMP 3001 READ(1,101,END=4001)LABEL,MODE,JUMP,FILE,FLAG,TEXT IF(LABEL.EQ.TARGET)GOTO 20 GOTO 3001 1 CONTINUE C OUTPUT TEXT TO TTY CALL TTOUT(TEXT,12) GOTO 1001 2 CONTINUE C Y/N ROUTINE (YES PROCEED/NO JUMP) CALL TTOUT(TEXT,12) CALL REPLY(ANSWER) GOTO(1001,30),ANSWER 3 CONTINUE C Y/N ROUTINE (NO PROCEED/YES JUMP) CALL TTOUT(TEXT,12) CALL REPLY(ANSWER) GOTO(30,1001),ANSWER 4 CONTINUE C OUTPUT TEXT TO FILE "FILE" DO 104 I=0,12 IF(TEXT(12-I).NE.BLANK)GOTO 204 104 CONTINUE GOTO 304 204 IF(I.EQ.0)GOTO 304 TEXT(13-I)[0:6]=#15 304 WRITE(FILE,201)TEXT GOTO 1001 5 CONTINUE C JUMP TO LABEL GOTO 30 6 CONTINUE C SET FLAG WITH VALUE 'FILE' IFLAG(FLAG)=FILE GOTO 1001 7 CONTINUE C TEST FLAG AND JUMP IF VALUE NE 'FILE' IF(IFLAG(FLAG).NE.FILE)GOTO 30 GOTO 1001 8 CONTINUE C TEST FLAG AND JUMP IF VALUE EQ 'FILE' IF(IFLAG(FLAG).EQ.FILE)GOTO 30 GOTO 1001 9 CONTINUE C BACK UP TO LABEL REWIND 1 GOTO 30 90 CONTINUE C INCREMENT FLAG "FLAG" AND TEST VALUE "FILE" OUTPUT FILE "JUMP" IF EQ IFLAG(FLAG)=IFLAG(FLAG)+1 IF(IFLAG(FLAG).NE.FILE)GOTO 1001 FILE=JUMP GOTO 4 91 CONTINUE C INCREMENT FLAG "FLAG" AND TEST VALUE "FILE" JUMP TO "JUMP" IF EQ IFLAG(FLAG)=IFLAG(FLAG)+1 IF(IFLAG(FLAG).EQ.FILE)GOTO 30 GOTO 1001 4001 WRITE(10,110)TARGET 2001 ENDFILE 2 ENDFILE 3 ENDFILE 4 ENDFILE 5 ENDFILE 6 ENDFILE 7 ENDFILE 8 ENDFILE 9 STOP END