11 START ;K R E F --CROSS REFERENCE PROGRAM 21 31 ;DIGITAL EQUIPMENT CORPORATION 41 ;MAYNARD, MASS. 01754 51 61 ;THIS SOFTWARE IS FURNISHED TO PURCHASER UNDER A LICENSE FOR USE 71 ;ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED (WITH INCLUSION 81 ;OF DEC'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH SYSTEM, EXCEPT 91 ;AS MAY OTHERWISE BE PROVIDED IN WRITING BY DEC. 101 111 ;THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT 121 ;NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT 131 ;BY DIGITAL EQUIPMENT CORPORATION. 141 151 ;DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF 161 ;ITS SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. 171 START ;FLOWCHART CROSS REFERENCE PROGRAM 181 ;... TITLE ;FLOWCHART CROSS REFERENCE PROGRAM 191 RECORD INPUT 201 SRTLBL, A6 211 SRTPGE, D3 221 DEFREF, A1 231 241 RECORD OUT 251 LABEL, A6 261 , A2 271 REF, 14A5 281 291 BLOCK 301 OLDLBL, A6 311 CTR, D2 321 LNECTR, D2,99 331 MAXCTR, D2,54 341 351 BLOCK 361 SRTPGA, A3 371 DFRF, A1 381 , A1 391 BLOCK ,X 401 RF, A5 411 PROC 1 ;MAIN KREF LOOP 421 ;... SBTTL ;MAIN KREF LOOP 431 441 ;... DISK ;OPEN $KREF FOR INPUT 451 ;... LOOP, DISK ;READ A KREF RECORD 461 ;... IF YES:EOF ;END OF FILE? 471 ;... IF YES:SAMELB ;SAME AS LAST LABEL? 481 ;... CALL PRINT ;PRINT CURRENT LINE 491 ;... PROC ;SET UP NEW LABEL AS OLD LABEL 501 ;... SAMELB, IF NO:SAMELN ;IS THIS LINE FULL? 511 ;... CALL PRINT ;PRINT CURRENT LINE 521 ;... SAMELN, IF NO:LOOP ;IS PAGE # NUMERIC? 531 ;... PROC ;ADD REFERENCE TO PRINT LINE 541 ;... GOTO LOOP 551 INIT(1,I,'$KREF',2) 561 LOOP, XMIT(1,INPUT,EOF) 571 IF(SRTLBL.EQ.OLDLBL)GO TO SAMELB 581 CALL PRINT 591 OLDLBL=SRTLBL 601 LABEL=SRTLBL 611 SAMELB, IF(CTR.LT.14)GO TO SAMELN 621 CALL PRINT 631 SAMELN, ON ERROR LOOP 641 SRTPGA=SRTPGE 651 DFRF=DEFREF 661 INCR CTR 671 REF(CTR)=RF 681 GO TO LOOP 691 701 ;... EOF, IF YES:DONE ;LAST LINE PRINTED? 711 ;... CALL PRINT ;PRINT LAST LINE 721 ;... DONE, DISK ;CLOSE $KREF 731 ;... STOP ;END OF PGM 741 EOF, IF(CTR.EQ.0)GO TO DONE 751 CALL PRINT 761 DONE, FINI(1) 771 STOP 781 START ;SUBROUTINES 791 ;... SBTTL ;SUBROUTINES 801 811 ;... START ;PRINT LINE 821 ;... PRINT, IF NO:SAMEPG ;IS PAGE FULL? 831 ;... I/O ;OUTPUT A FORM FEED 841 ;... PROC ;RESET LINE COUNT 851 ;... SAMEPG, I/O ;PRINT THE LINE 861 ;... PROC ;CLEAR THE PRINT BUFFER 871 ;... PROC ;RESET REFERENCE COUNTER 881 ;... PROC ;INCREMENT LINE COUNT 891 ;... STOP ;RETURN 901 PRINT, IF(LNECTR.LT.MAXCTR)GO TO SAMEPG 911 FORMS(6,0) 921 LNECTR= 931 SAMEPG, XMIT(6,OUT) 941 OUT= 951 CTR= 961 INCR LNECTR 971 RETURN