RGDFS. VIF FORM 5,7,6,18 $(1). . PROCESS F60 ITEM VI003150 VI400* TZ,S6 VI00 TEST ITEM WAITING VI003160 J VI410 BYPASS READ-IN VI003170 VI402 RFF60 VI05,VI710. VI410 SZ,S6 VI00 SAY ITEM NOT WAITING VI003190 SZ NCSPC TP VISICT . TEST FOR SIR$ CONTROL WORD J VISOP TP VI05 J VI410A VI410B L,S1 A1,VI05 LOAD ID TZ VIPS2 TEST FOR SECOND PASS ON F60 J VIPSA TG,M A1,15 NUMBER OF ID'S J VI410Z POSSIBLY UNASSIGNED J VI412,A1 VI003230 VI410A L,S1 A1,VI05 TNE,M A1,060 J VIZ4 S A1,NCSPC . DO NOT BUMP LINE NUMBER ON THESE AN,M A1,040 J VI410B+1 VIZ4 L,M A1,0 J VI410B+1 VI410Z . TNE,M A1,034 J DMPF60 SLJ VI100 WAS UNASSIGNED VI418 L,S2 A1,VI05 START OR STOP FLAG TNE,M A1,3 PAGE EJECT J VI410P L,S3 A2,VI05 SOURCE(1) OR CODE(2) JZ A1,VI410Y TE,M A2,2 J VI410W SOURCE S,S3 A2,VI00 S A2,CRLIST S A2,SVI00 . SAVE CURRENT VI00 LIST FLAG J VI400 VI410W L A1,CRLIST TNE,M A1,2 . TEST FOR COMPLETE LISTING J VI400 . IGNORE EDIT STATEMENT S A2,CRLIST . TURN ON SOURCE J VI410H+1 VI410Y TNZ CRLIST STOP ALREADY J VI400 IN STOP STATUS TE,M A2,2 J VI410H L,M A1,1 L,M A2,2 TNE A2,CRLIST S A1,CRLIST . SET TO SOURCE ONLY J VI410H+1 VI410H SZ CRLIST SZ,S3 VI00 L,M A0,07777 . INITIALIZE SAVED VI00 LIST FLAG S A0,SVI00 J VI400 VI410P TZ CRLIST LMJ B11,PGJECT J VI400 VI430 L,H2 A2,VI05 LOC(SYM) L,S5 A10,2,A2 . SIMULATE L,T3 LSSL A10,6 A,S6 A10,2,A2 . LENGTH OF ARGUMENT L,M B4,VI05 INITIALIZE FETCH L,M A14,14 L,H2 A12,1,A2 RSA L A1,CRSTC9 . CONSTANTS S,S6 A1,VI523 SSL A1,6 S,S5 A1,VI523 . SIMULATE S,T3 VI432 JGD A10,VI434 J VI400 EXIT VI434 S,H2 A12,VI522 RSA A,M A12,1 +1 LMJ B11,VN370 FETCH WORD TNZ,S1 VI05 J VI434A L A1,0,B4 S A1,VI521 L,M A0,VI520 LMJ B11,MV6Q RELOCATABLE OUTPUT LMJ B11,EMROR J VI432 VI434A L,H1 A0,VI05 TEST FOR END OF STMT IN HOLLERITH ARG. TE,M A0,07777 SLJ VI100 J VI410B VI412 J VI420 SOURCE LINE VI003240 J VI430 FORMAT VI003250 J VI430 J VI450 DATA STATEMENT VI003270 J VI710 END F60 VI003280 J VI419 J VI400 J NMLST J VI418 8 START OR STOP EDIT J VIMCDG 9 7ACRO DIAGNOSTIC J VIMCGN 10 GENERATED SOURCE J VIMFTB 11 FILE TABLE FOR MACRO WRITE J VISOP 12 CONTROL LINES FOR SOURCE OUT J VIMCUR 13 MACRO WRITE STATEEMNTS J VIDMPT RESET DIMENSION POINTERS VI419 L,M A1,1 S A1,NCSPC . PROCESS SOURCE LINE VI003290 VI420 . VI420B L,H2 A1,VI05 SSC A1,15 SSL A1,21 AN,M A1,1 TZ,S2 VI05 . TEST FOR MACRO LINES J VI423 TG,H2 A1,VI10 J VI705 GO TAG AS WAITING VI003320 VI423. EXEC8C . PROCESS ERROR FILE VI003350 L,M A1,VILTST S,H2 A1,VI4EXT VI421 TNZ,H2 VI02 J *VI4EXT . ERRT EXHAUSTED L,H2 A1,VI05 F60 SEQ NO. VI003380 SSC A1,15 SSL A1,21 L A2,0,B3 . TEST ERROR SEQ SSA A2,18 . SIMULATE TNG,XH1 TNG A1,A2 J *VI4EXT A,M B3,2 . POINT TO NEXT ERRT ENTRY. GBFORT LMJ B11,N6EMW . CALL DIAGNOSTIC EDITOR. GBFORT +0 GBFORT J VI421 . GO FOR NEXT MESSAGE. GBFORT VI420A . L A1,VISICT . CONTROL WORD AN A1,(0100,0) . CORRECT COUNT FOR F60 CONTROL WORD LXM,H1 A1,VI60ID+2 . CYCLE INFO S A1,ICW LMJ B11,SDFO SLJ VIMOER OUTPUT ERROR J VI702 VISOP L,M A0,VIFT+SYLFT TNZ BCW TEST FOR INSERTING CONTROL WORD J VI400 NO WRITE IN SO THIS PASS L A1,VISICT . CONTROL WORD AN A1,(0100,0) . CORRECT FOR SDFF CONTROL WORD LXM,H1 A1,VI60ID+2 . CYCLE INFO L,S1 A2,VISICT TNE,M A2,052 J VI400 . DO NOT PUT INTO OUTPUT FILE TNE,M A2,053 . TEST FOR DELETED IMAGES L A1,VI60ID . TRUE CONTROL WORD L,M A3,0 FIELDATA FLAG TZ FDASCZ L,M A3,1 . ASCII FLAG TNE,M A2,050 LXM,M A1,0,A3 S A1,ICW ITEM CONTROL WORD LMJ B11,SDFO SLJ VIMOER OUTPUT ERROR J VI400 VIPSA TG,M A1,15 J VIPSZ J VIPST,A1 VIPST J VIP420 SOURCE J VI400 FORMAT J VI400 HOLERITH CONSTANT J VI400 DATA J VI710 END F60 J VI400 J VI400 J VI400 NAMELIST J VI400 J VI400 MACRO DIAGNOSTIC J VI400 GENERATED SOURCE J VI400 FILE TABLE J VISOP CONTROL LINES FOR SOURCE OUT J VIMCUR MACRO WRITE J VI400 VIPSZ TE,M A1,034 DIAGNOSTIC STATEMENT SLJ VI100 J VI400 DIAGNOSTIC STATEEMNT VIP420 L,M A0,VIFT+SYLFT TN VI05 TNZ BCW J VI400 L A1,VISICT . CONTROL WORD AN A1,(0100,0) L A3,(' ') L,M R1,12 L A2,(-1,VI05+14) TE A3,0,*A2 J $+3 AN A1,(0100,0) . CORRECT LENGTH OF IMAGE JGD R1,$-3 LXM,H1 A1,VI60ID+2 . CYCLE INFO S A1,ICW LMJ B11,SDFO SLJ VIMOER J VI400 VIMCUR L,S3 A0,VI05 GET MACRO WRITE UNIT A,M A0,2 ALLOW FOR RB AND SO MSI,M A0,SYLFT COMPUTE START OF FILE TABLE A,M A0,VIFT TZ,S2 VI05 J VICURF TNZ BCW J VI400 NO WRITTING THIS PASS L,M A1,VI05+1 LXI,S2 A1,VI60ID LMJ B11,SORF COMPRESS IMAGE AND ADD TO FILE J VI400 VICURF L,H2 A6,VI05 TOTAL LENGTH OF IMGE VICURG L,M A2,VI05+1 L,M A3,14 TG A3,A6 L A3,A6 LXI A2,A3 FIX ACCESS WORD FOR TRANSFER AN A6,A3 LMJ B11,MWFL60 JZ A6,VI400 RFF60 VI05,VI710 J VICURG VI702X TZ NCSPC J VI702J L A1,VI07 A,M A1,1 S A1,VI07 S A1,LINE NULINE J VI702J . OUTPUT SOURCE LINE VI004450 VILTST L,H2 A1,VI05 NULINE S A1,VI20 NULINE TNZ CRLIST . LET N6EMW BE ENTERED FOR EACH ERRT NULINE J VI702X . ITEM TO MAKE DIAG COUNT VALID. EXEC8C VI700 TZ NCSPC J VI701 L A1,VI07 A,M A1,1 INCREMENT VI004470 S A1,VI07 TRANSFER VI004480 S A1,LINE NULINE VI701 L,H2 A1,VI05 S A1,VI20 TRANSFER VI004500 LMJ B11,N6SRC . CALL FORTRAN LIST ROUTINE. VI702J L,M A0,VIFT+SYLFT L,S6 A1,VI05+1 . COL. 6 OF SOURCE LINE TNE,M A1,'0' J VI703 TE,M A1,' ' J VI704 VI703 L,H2 A1,VI05+14 . LINE NUMBER AT FIRST S,H2 A1,CTSLNB . CARD OF STATEMENT L A1,LINE S,H1 A1,CTSLNB VI704 . L,M A1,0505 S,S4 A1,VI05+14 . SIMULATE S,T2 S,S5 A1,VI05+14 S,S6 A1,VI05+14 TP VI05 . DO NOT ADD IMAGES FROM INCLUDE J VI702 . OR MACRO TZ BCW J VI420A VI702 TZ,S2 VI00 TEST END F60 VI004560 J VI115 YES, TRY F61 VI004570 J VI402 NO, GET NEXT F60 VI004580 VI705 TZ,S1 VI00 TEST END F61 VI004590 J VI423 YES, PROCESS SOURCE LINE VI004600 L,M A1,1 NO, VI004610 S,S6 A1,VI00 SAY ITEM WAITING VI004620 J VI123 READ F61 VI004630 VI710* TZ VIPS2 TEST FOR PASS TWO READING J N6TEN2 L,M A1,1 S,S2 A1,VI00 SAY SO VI004650 J VI115 TRY F61 VI004660 . FORT VIMCGN L,M A1,VIMCGA S,H2 A1,VI4EXT J VI421 VIMCGA S B3,('SVB3GL') E$DIT ED$PKT L A2,VI05 . SEQUENCE # SLJ OCTAL . CONVERT S A1,LINE$ . SAVE DL A0,(' *GENER* ') S,S1 A1,LINE$ . SET ONE BLANK DS A0,LINE$+1 L A0,VI60ID GENERATED LABEL S,S2 A0,LINE$+3 . SIMULATE S,T1 SSL A0,6 S,S1 A0,LINE$+3 SSL A0,6 S,H2 A0,LINE$+2 L A0,VI05+1 CONTINUATION CHARACTER S,S3 A0,LINE$+3 L,M A0,VI4GL S,H2 A0,SRCEXT . SET FOR POSSIBLE INDENTATION L A0,PARTBZ TEP,M A0,0100 . TEST FOR INDENTATION J TINDENT . TEST ASCII OR FD INDENT E$COL 21 L,M A0,VI05+2 MACRO GENERATED STMT. L,M A1,78 LMJ B11,ECOPY$ E$DITX LMJ B11,PRINT8 J VI400 FORT TINDENT TZ VIASCI . TEST FOR ASCII IMAGE J INDENQ . ASCII INDENTION J INDENT . FIELDATA INDENTION VI4GL L B3,('SVB3GL') J VI400 VIMCDG L,M R1,14 L A0,(1,VI05+1) L A1,(1,VIMCDM+1) BT A1,0,*A0 L,H2 A4,VI05 . GET SEQUENCE NUMBER S,H1 A4,MACDG . SAVE AWAY L,H2 A4,VI60ID . GET CHARACTER LENGTH AN,M A4,84 JN A4,VIMCDA ALL MESSAGE TRANSFERED RFF60 VI05,VI710 L,M R1,4 L A0,(1,VI05+1) L A1,(1,VIMCDM+15) BT A1,0,*A0 VIMCDA L,S3 A0,VI05 S,S4 A0,MACDG SEVERITY TYPE L,H2 A0,VI60ID . GET CHARACTER LENGTH DSL A0,36 COMPUTE MESSAGE LENGTH IN WORDS DI,M A0,6 TZ A1 A,M A0,1 S A0,VIMCDM LMJ B11,N6MDG EDIT DIAGNOSTIC MESSAGE FROM MACRO +300,0 DUMMY WALKBACK J VI400 . RESET THE DIMENSION POINTERS INTO SYMBOL TABLE VIDMPT L,S3 A2,VI05 NUMBER OF ENTRIES JZ A2,VI400 . NOTHING TO DO TZ CRFL . IF FATAL ERROR POINTERS ARE NOT VALID J VI400 AN,M A2,1 . ADJUST FOR JGD L A1,(1,1) L,H1 A0,VI05,A1 L,H2 A4,VI05,*A1 S,H2 A4,3,A0 REPLACE DIMENSION POINTER JGD A2,$-3 J VI400 GET NEXT F60 ITEM VIMFTB . PROCESS A FILE TABLE L,S3 A0,VI05 FILE TABLE NUMBER A,M A0,2 CORRECT FOR RO AND SO S A0,R2 MSI,M A0,SYLFT COMPUTE LOCATION OF FILE TABLE A A0,(1,VIFT) S A0,A5 L A1,(1,VI05+1) L,M R1,10 A,M A0,SYOUTL BT A0,0,*A1 MOVE FILE TABLE TO PFI TABLE L A0,A5 DL A1,VI05+1 DS A1,0,A0 SET FILE NAME IN SDFO TABLE DL A3,VI05+3 ELEMENT NAME . NEXT A TEST IS MADE TO SEE IF ANY LOWER NUMBERED . FILE HAS THE SAME FILE NAME. IF THE SAME FILE NAME IS FOUND . THEN A TEST IS MADE TO SEE IF ELEMENT NAME IS THE SAME L A6,R2 NUMBER OF TABLES TO SEARCH THRU AN,M A6,1 L,M A7,1 FLAG FOR FIND VIMB AN,M A0,SYLFT TE A1,0,A0 J VIMA NO MATCH ON FILE NAME TE A2,1,A0 J VIMA TZ,S2 VI05 J VIMC . FILE TABLE MATCHES ELEMENT NAME TE A3,2,A0 J VIMA NO MATCH IN ELEMENT NAME TE A4,3,A0 J VIMA SZ A7 VIMC . L B11,A6 S,S6 R2,VIFTLK,B11 L R2,A6 SET TO LINK TO NEXT VIMA AN,M A6,1 JP A6,VIMB VIMD L,S3 A0,VI05 A,M A0,2 CORRECT FOR RO AND SO MSI,M A0,SYLFT A,M A0,VIFT TZ,S2 VI05 J VIMDD L,M A1,0 NO BUFFER INDICATES NO WRITE THIS PASS TZ A7 OLY REQUEST BUFFERS IN IF NO EARLIER FILE SLJ N6BUFQ USES SAME FILE S A1,BCW SET BUFFER ADDRESS AS FLAG FOR WRITING LMJ B11,SSORF OPEN ELEMENT TYPE FILE J VI400 PROCESS NEXT F60 ITEM VIMDD LMJ B11,MWFLOP J VI400 SSORF* . THIS ROUTINE OPENS AN ELEMENT TYPE FILE . ON ENTRY A0 CONTAINS ADDRESS OF SDFO TABLE. THE PFI TABLE . IS THEN 11 WORDS FURTHER IN MEMORY S,H2 B11,SAVB11 L,M A5,1 SYMBOLLIC ELEMENT TYPE L,M A5,5 S,S2 A5,PFILC SET CYCLE LIMIT S,H1 A0,SAVB11 ER PFWL$ GET NEXT WRITE LOCATION JZ A2,$+2 SLJ VIMOER WRITE ERROR L,H1 A0,SAVB11 RESTORE FILE TABLE ADDRESS S A1,BNWL NEXT WRITE LOCATION S A1,PFISWL STARTING LOCATION FOR ELEMENT LMJ B11,SDFOO OPEN FILE L A5,SORSDF S A5,VI05+1 L,M A5,1 LENGTH OF LABEL IMAGE S,S2 A5,ICW L,M A5,050 LABEL IMAGE INDICATOR S,S1 A5,ICW TNE,M A0,VIFT+SYLFT . TEST FOR SOURCE OUT PUT FILE J $+3 LMJ B11,SDFO SLJ VIMOER L B11,SAVB11 J 0,B11 SORF* . THIS SECTION PRODUCES AN SDF CONTROL IMAGES FOR A . SYMBOLLIC ELEMENT ON ENTRY A1 CONTAINS ACCESS WORD FOR IMAGE WHILE . A0 CONTAINS LOCATION OF SDFO TABLE S B11,SAVB11 L A2,A1 SSL A2,18 SZ ICW S,S2 A2,ICW LMJ B11,SDFO SLJ VIMOER L B11,SAVB11 J 0,B11 ESORF . THIS SECTION CLOSES OUT A SYMBOLLIC ELEMENT S B11,SAVB11 S,H1 A0,SAVB11 . ON ENTRANCE A0 CONTAINS ADDRESS OF SDFO FILE TABLE LMJ B11,SDFOC SLJ VIMOER ERROR IN OUTPUT FILE L,H1 A0,SAVB11 L A1,BNWL CURRENT FILE ADDRESS AN A1,PFISWL STARTING FILE ADDRESS S A1,PFILTX SET TEXT LENGTH L A1,BNWL PLACE NEXT WRITE LOCATION IN A1 BEFORE ER SZ PFITD CLEAR TIME DATE FILED LN,M A0,SYOUTL,A0 START OF PFI TABLE ER PFI$ INSERT ELEMENT INTO PROGRAM FILE LX B11,SAVB11 L,H1 A0,SAVB11 JZ A5,0,B11 SLJ VIMOER ERROR IN WRITING . THIS PIECE OF CODE IS ENTERED AT THE END OF A PASS THRU PHASE VI . IT CLOSES OUT WRITES ON MACRO FILES UNLESS MORE THAN ONE MACRO . FILE IS ASSIGNED TO THE SAME UNIT N6TEND* L,M A0,1 SZ VIFT SHOW RO COMPLETE S A0,VIPS2 SET SECOND PASS ON N6TEN2 L,M A0,VIFT SZ A13 FLAG FOR FURTHER PASSES L,M B1,1 A,M A0,SYLFT N6PSC TNZ BCW J N6PSA NO BUFFERS ASSIGNED TZ,S6 VIFTLK,B1 TEST IF MORE THAN ONE MACRO FILE PER ELEMENT J $+2 LMJ B11,ESORF CLOSE OUT ELEMENT SZ,S1 VIFTLK,B1 SHOW MACRO FILE COMPLETE L A1,BCW INHIBIT FURTHER IO SZ BCW SLJ N6BUFL RETURN BUFFER PAIR SZ BNAME KEEP FROM BEING FOUND ON FURTHER PASSES N6PSB A,M A0,SYLFT A,M B1,1 L,M A1,0,B1 TLE,M A1,33 J N6PSC TNZ A13 J POSTY BCLOSE F60 OFF60 . OPEN TO READ FORWARD SZ,S6 VI00 J VI400 N6PSA TNZ BNAME J N6PSB NO FILE THIS UNIT TNZ,S1 VIFTLK,B1 J N6PSB FILE IS COMPLETE L A6,A0 SAVE CURRENT FILE POINTER L R1,B1 NUMBER TO SEARCH JGD R1,$+1 DL A2,BNAME N6PSD AN,M A0,SYLFT TE A2,BNAME J $+3 AN EARLIER UNIT HAS SAME NAME TNE A3,BNAME+1 J N6PSG JGD R1,N6PSD L A0,A6 SLJ N6BUFQ S A1,BCW A,M A13,1 SHOW ONE MORE OPERATION AT LEAST TNZ,S6 VIFTLK,B1 FILE LINKED SO OPENED EARLIER LMJ B11,SSORF J N6PSB N6PSG L A0,A6 J N6PSB MWFLOP . THIS SECTION OPENS A FILE FOR WRITING. IT FIRST CREATES A MCE8WR EQU 1 DO MCE8WR , PROC . FILE TABLE. THEN DOES AN OPEN COMMAND TO THE BLOCK BUFFERING . PACKAGE. EACH FILE WILL HAVE TWO BUFFERS AND THE POOL WORD WILL . BE SET IN THE FILE TABLE AREA . THE NAME OF THE FILE WILL BE IN THE TABLE FROM BLOCK TRANSFERING . THE FILE TABLE SENT BY PHASE 1 L,M A1,0,A0 A A1,(1,0) L,M R1,25 SZ 2,*A1 INITIALIZE MOST OF FILE TABLE JGD R1,$-1 L,M A1,020100 S,H1 A1,6,A0 OPEN FLAG ECT L,M A1,010000 S,H2 A1,7,A0 FILE FLAG L,M A1,MWBFL-3 S,H1 A1,7,A0 SET BUFFER SIZE L,M A1,VIMXXX DEVICE AND ABNORMAL EXITS S,H1 A1,8,A0 S,H2 A1,8,A0 S,H2 A1,9,A0 L,M A1,1 S A1,10,A0 SENTINEL VALUE TNZ A7 FILE WILL BE CONCATENATED TO ANOTHER DO NOT . WRITE OR REQUEST BUFFERS AT THIS TIME J 0,B11 SLJ N6BUFQ GET PAIR OF BUFFERS SSL A1,18 S,H2 A1,MWPOOL L,M A1,MWBFL BUFFER LENGTH S,H1 A1,MWPOOL SSC A1,35 S,H2 A1,MWPOOL+1 L A1,A0 S,H2 A0,MWSA0 SAVE TABLE POINTER S B11,MWSB11 SAVE EXIT L,M A0,MWPOOL S,H1 A0,11,A1 SET ADDRESS OF BUFFER POOL INTO PACKET LMJ B11,BPOOL$ SET UP BUFFER POOL L,M A0,MWSA0 LMJ B11,BOPEN$ SET FIRST BUFFER L A0,MWSA0 RESTORE FILE TABLE POINTER L,H1 A1,14,A0 ADDRESS OF BUFFER A A1,(1,0) S A1,WFLIX SET INDEX INTO BUFFER L,M A1,MWBFL-3 S A1,WFCLT SET COUNT OF BUFFER L B11,MWSB11 J 0,B11 DO MCE8WR-1 , PROC END MWFL60 . THIS SECTION IS CALLED TO PROCESS MACRO WRITES TO FILE . STRUCTURES AS OPPOSED TO ELEMENTS . WHEN CALLED A0 IS POINTING AT FILE TABLE . A2 HAS AN ACCESS WORD OF ITEMS TO ADD TO FILE DO MCE8WR , PROC L A1,WFLIX INDEX OF WHERE TO STORE L A5,WFCLT COUNT OF SPACE LEFT IN L,M A3,0,A2 PLACE TO TRANSFER FROM L A4,A2 SSL A4,18 EXTRACT COUNT L R1,A4 TG A4,A5 TRANSFER WHOLE ITEM OR AS MUCH AS WILL FIT L R1,A5 MWFLA AN A4,R1 A A3,(1,0) BT A1,0,*A3 TRANSFER PART/WHOLE RECORD TO BUFFER S A1,WFLIX S A5,WFCLT JZ A4,0,B11 ITEMS ALL TRANSFERED SKI OUT S B11,MWSV S A0,MWSV+1 S A3,MWSV+2 S A4,MWSV+3 L A5,MWBFL LENGTH OF BUFFER DO EX2=1 , L,H2 A3,3,A0 BUFFER LOCATION DO EX8=1 , L,H1 A3,14,A0 S A5,WFCLT SET NEW COUNT FOR BUFFER L,M A0,MWSV+1 LMJ B11,BWRIT$ L A0,MWSV+1 LMJ B11,BWRIT$ L A0,MWSV+1 DO EX2=1 , L,H2 A1,3,A0 DO EX8=1 , L,H1 A1,14,A0 A A1,(1,0) L A5,WFCLT L B11,MWSV L A0,MWSV+1 L A3,MWSV+2 L A4,MWSV+3 J MWFLA MWFLCL . THIS SECTION CLOSES A FILE FOR WRITING S B11,MWSB11 SZ MWSA0 S,H2 A0,MWSA0 L,M A0,MWSA0 LMJ B11,BWRIT$ L,M A0,MWSA0 LMJ B11,BCLOF$ L B11,MWSB11 J 0,B11 DO MCE8WR-1 , PROC END $(2) . VIMOER* . THIS ROUTINE IS ENTERED WHEN AN IO ERROR OCCURS ON . A MACRO OUTPUT FILE. WHEN ENTERED A0 IS POINTING AT FILE TABLE J $-$ J VIMXXX $(1) . VIMXXX . ANU,M A0,VIFT DSL A1,36 DI,M A1,SYLFT GET FILE NUMBER L B1,A1 SAVE FOR ADDRESSING ARGUMENTS WITH FORTRAN IO SZ,S1 VIFTLK,B1 MARK FILE COMPLETE L,M A5,1 S,S3 A5,VIFTLK,B1 SHOW ERROR ON FILE L B1,A0 L A1,BCW SZ BCW INHIBIT FURTHER IO ON THIS FILE SLJ N6BUFL GIVE BUFFER BACK DL A0,VIMFT DS A0,LINE$ L A0,VIMFT+2 S A0,LINE$+2 L A0,0,B1 L A1,1,B1 DS A0,LINE$+3 LMJ B11,PRINT8 J VI400 GO GET NEXT ITEM FROM F60 VIMFT 'IO ERROR ON FILE ' . . INTERFACE WITH N6DSP (FORTRAN) VI450 LMJ B11,N6DSP +0 J VI102 RFF60I* S B11,F60ISV RFF60 VI05,RFF60J SZ,S6 VI00 . FORCE NEW READ ON NEXT F60 ACCESS. L B11,F60ISV J 2,B11 RFF60J L B11,F60ISV J 0,B11 VN370 JGD A14,VN371 GET NEXT ITEM VI008280 J VN372 VI008290 VN371 A,M B4,1 STEP SCANNER VI008300 J 0,B11 EXIT VI008310 VN372 S,H2 B11,VN378 S A0,SVA0 S A2,SVA2 LMJ B10,VN380 L A0,SVA0 L A2,SVA2 L,M B4,VI05+1 RESET SCAN VI008360 L,M A14,13 RESET COUNT VI008370 J *VN378 VN380 TZ,S6 VI00 TEST ITEM WAITING VI008390 J VN384 VI008400 RFF60 VI05,VI710. VN384 SZ,S6 VI00 SAY ITEM NOT WAITING VI008420 J 0,B10 EXIT VI008430 RFF60E S,H2 B11,RF60E DS A2,RF60E+1 DS A4,RF60E+3 B$READ F60,VI710 L,H2 A1,F60+6 . LOC OF CURRENT BUFFER L B11,RF60E L,M A0,BUFN-1 S A0,F60I A A1,(1,NBCW) DL A2,RF60E+1 DL A4,RF60E+3 AN,M B11,2 J 0,B11 $(2) . RF60E J $ RES 4 $(1) . DMPF60 . L,S6 A1,VI05 SSC A1,3 SSL A1,33 TE,M A1,6 J DMPF62 NOT SPECIFIED RIGHT L,S5 A1,VI05 TE,M A1,060 J DMPF61 L,S6 A1,VI05 SSL A1,3 S A1,DMPFLG+1 SET FOR F60 J VI400 DMPF61 TE,M A1,061 J DMPF66 L,S6 A1,VI05 SSL A1,3 S A1,DMPFLG SET FOR F61 J VI400 DMPF66 TE,M A1,066 J DMPF62 NOT SPECIFIED RIGHT L,S6 A1,VI05 SSL A1,3 S A1,DMPFLG+1 SET FOR F60 S A1,DMPFLG SET FOR F61 J VI400 DMPF62 SZ DMPFLG TURN F60,61 OFF SZ DMPFLG+1 J VI400 $(2) VI4EXT +0 F60ISV +0 VN378 J $-$ SAVB11 +0 MWSA0 +0404000,0 MWSB11 +0 SAVE B11 MACRO FILE OPEN MWSV RES 4 SAVES REGISTERS FOR MACRO WRITE SORSDF +'*SDFF*' +' ' . VIFTLK HAS ONE ENTRY FOR EACH MACRO FILE . S1 IS SET TO ZERO WHEN FILE IS COMPLETE . S2 IS ZERO FOR ELEMENTS AND NON ZERO FOR FILES . S3 IS NON ZERO IF IO ERROR OCCURRED ON FILE . S4 IS NOT USED . S5 IS NOT USED . S6 IS NON ZERO IF LINK OCCURS TO OTHER MACRO FILE $(3) VI54 + 1,0 XW FOR INPUT MESSAGE VI010040 VI55 + 1,VI05 DATA STATEMENT XW VI010050 VI02* RES 1 COUNT OF DIAGNOSTICS LEVT IN ERRT. GBFORT VI05* RES 24 . F60 ITEM DIAG* RES 1 VI00* RES 1 GBFORT . (S1) END OF F61. GBFORT . (S2) END OF F60. GBFORT . (S3) FULL LISTING. GBFORT . (S4) EJECT PAGE. GBFORT . (S5) LABEL WORKING. GBFORT . (S6) F60 WAITING. GBFORT VSER1* RES 1 LAST ERRT ITEM GBFORT VSER2* RES 1 PLAYED WITH. GBFORT VIETP* RES 1 FORT INDX OF NXT ERRT ENTRY. GBFORT LINE* +0 . LINE NUMBER FOR OUTPUT EDIT MAXERR* +0 . MAX ERROR LEVEL (1,2 OR 3) CTSLNB* +0 . SEQUENTIAL AND CTS LINE NUMBERS SVA0 RES 1 SVA2 RES 1 VIPS2* +0 . SET NON ZERO FOR SECOND PASS THRU PHASE VI NCSPC RES 1 N6FSZZ INFO 2 3 MACDG +0 DIAGNOSTIC INFO FROM MACRO +0 VIMCDM RES 20 DIAGNOSTIC TEXT FROM MACRO VIASCI* +0 . ASCII FIELDATA INDICATOR VISICT* +0 . ID FROM SIR$ CONTROL WORD END