File FLOW2.AS (Source fil)

Directory of image this file is from
This file as a plain text file

12 	PROC	3	;INITIALIZATION FOR PASS 1
22 ;...		SBTTL	;INITIALIZATION FOR PASS 1
32   
42 ;...		I/O		;DISPLAY VERSION MESSAGE
52 ;...		DISK		;OPEN $PASS1 FOR OUTPUT
62 ;...		DISK		;OPEN SYS FILE FOR INPUT
72 ;...		DISK		;OPEN $KREF FOR OUTPUT
82 ;...		IF NO:NOIN	;IS THERE A SYS FILE?
92 ;...		PROC		;BUILD A TAB CHARACTER
102 ;...		PROC		;SET UP OPTION FLAGS
112 ;...		GOTO NEXT
122 ;...	NOIN,	I/O		;DISPLAY 'NO INPUT?'
132 ;...		STOP		;END OF PGM
142 	XMIT(8,"FLOW  V 8.00')
152 	INIT(2,O,'$PASS1',1)
162 	INIT(3,O,'$KREF',2)
172 	ON ERROR NOIN
182 	INIT(1,SYS)
192 	INCR DTAB
202 	D2=TAB
212 OPTLP, INCR CTR
222 	IF(OPT(CTR,CTR).EQ.'P')CALL FIXP
232 	IF(OPT(CTR,CTR).EQ.'L')CALL FIXL
242 	IF(CTR.LT.2)GO TO OPTLP
252 	GO TO NEXT
262 FIXP,	OPTP=OPT(CTR,CTR)
272 	RETURN
282 FIXL,	OPTL=OPT(CTR,CTR)
292 	RETURN
302   
312 NOIN,	XMIT(8,"NO INPUT?')
322 	STOP
332 	START	;MAIN LOOP FOR PASS 1
342 ;...		SBTTL	;MAIN LOOP FOR PASS 1
352   
362 ;...	NEXT,	DISK		;READ AN INPUT RECORD
372 ;...		IF YES:MORE	;END OF FILE?
382 ;...		IF NO:THIS1	;IS INPUT A DIBOL PROGRAM?
392 ;...		IF NO:NEXT	;PROCESS THIS RECORD?
402 ;...		PROC		;ADJUST RECORD FORMAT
412 NEXT,	XMIT(1,INREC,MORE)	;READ A SYS RECORD
422 	LAST=(4096-64*#TRICK1(3)-#TRICK1(4))*2
432 	IF(OPTP.NE.'P')GO TO THIS1	;IS INPUT A PROGRAM?
442 	IF(CHR(1,2).NE.';.')GO TO NEXT	;YES--IS THIS A FLOWCHART LINE?
452 	CTR=2
462 FIXLP, INCR CTR
472 	IF(CHR(CTR).EQ.SPACES)GO TO FIXFND
482 	IF(CHR(CTR).NE.TAB)GO TO FIXLP
492 FIXFND,	CHR(1,LAST-CTR)=CHR(1+CTR,LAST)
502 	LAST=LAST-CTR
512   
522 ;...	THIS1,	PROC		;INITIALIZE FIELDS FOR NEW LINE
532 ;...		PROC		;FIND LABEL
542 ;...		PROC		;FIND COMMAND
552 ;...		IF NO:ERROR	;IS COMMAND IN LIST?
562 THIS1,	BGN=
572 	DELIMS=D2
582 	CALL GETFLD		;GET LABEL
592 	LABEL=TXT
602 	DELIMS=D1
612 	CALL GETFLD		;GET COMMAND
622 	COMAND=TXT
632 	CTR=
642 COMLP, INCR CTR
652 	IF(COMAND.EQ.COMLST(CTR))GO TO FOUND
662 	IF(CTR.LT.MAXCOM)GO TO COMLP
672 	GO TO ERROR
682  
692 ;...	FOUND,	PROC		;GET PARAMETERS FOR COMMAND
702 ;...		IF NO:NOHOF	;PAGE FULL?
712 ;...		CALL HOF	;OUTPUT PAGE MARKER
722 ;...	NOHOF,	PROC		;BUMP LINE COUNTER
732 ;...		PROC		;BRANCH BASED ON COMMAND NUMBER
742 ;...		CGOTO PROCES,DISK,IF,CALL,STRT,STOP,GOTO,CGOTO,IO,TITLE,SBTTL,PAGE
752 FOUND,	PARAM=COMLST(CTR)
762 	IF(LNECTR.LT.MAXLNE)GO TO NOHOF
772 	CALL HOF
782 NOHOF,	LNECTR=LNECTR+LNBUMP
792 	GO TO(PROCES,DISK,IF,CALL,STRT,STOP,GOTO,CGOTO,IO,TITLE),CTR
802 	GO TO(SBTTL,PAGE),CTR-10
812   
822 ;...	ERROR,	I/O		;DISPLAY 'ERROR'
832 ;...		I/O		;DISPLAY OFFENDING LINE
842 ;...		GOTO NEXT
852 ERROR, XMIT(8,"ERROR')
862 	LINENO=
872 	XMIT(8,INREC)
882 	GO TO NEXT
892   
902 ;...	MORE,	DISK		;OPEN NEXT SYS FILE
912 ;...		IF NO:END1	;IS THERE ONE?
922 ;...		GOTO NEXT
932 ;...	END1,	I/O		;CLOSE FILES
942 ;...		GOTO PASS2
952 MORE,	FINI(1)
962 	ON ERROR END1
972 	INIT(1,SYS)		;OPEN NEXT SYS FILE
982 	GO TO NEXT
992 END1,	FINI(1)
1002 	FINI(2)
1012 	FINI(3)
1022 	GO TO PASS2



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search