File: RALF5.LS of Disk: V50/Source/Source-Listing-PAL-3
(Source file text) 


/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 1

		/ RALF, V50A
		/
		/
		/	RELOCATABLE ASSEMBLER FOR OS/8 FORTRAN IV
		/
		/
		/	FPPASM BY HANK MAURER
		/	RALF MODS BY JUD LEONARD
		/	OS/8 FORTRAN MODS BY RICHIE LARY + MARTY HURLEY
		/	NEW DATE ALGORITHUM PUT IN BY ED STEINBERGER
		/
		/	THE FOLLOWING FORMULA GIVES THE NUM
		/	OF USER SYMBOLS:
		/	-(FREE+200[BASE8])/6[BASE10]
		/	WHERE THE VALUE OF FREE IS FROM THE
		/	RALF SYMBOL MAP
		/
		/
		IFNDEF	RALF	<RALF=1	/GO RELOCATABLE THEN>
		/
		/	ASSEMBLE WITH PAL8-V9 WITH W SWITCH
		/	SAVE AS:
		/	.SAVE SYS RALF.SV ;200=2000

		/
		/ CHANGES FOR OS/78 AND OS/8 V3D BY P.T.
		/ .CHANGED VERSION NUMBER TO 62
		/ .RALF NO LONGER GENERATES FAULTY RELOCATABLE IF:
		/  1.) THE ESD IS LONGER THAN ONE BLOCK, AND
		/  2.)LIST OUTPUT IS DIRECTED TO A 2-PAGE NON-SYSTEM HANDLER
		/  3.)SYMBIONT HOOK WVDM
		/  4.)ADAPTED TO CCL-DEVICE WVDM

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 2




	0000		FLD0=0
	0010		FLD1=10
	7757		MREAD=7757
	7776		SBLOCK=7776
	0050		VNUM=50
	0301		PATCH="A	/PATCH LEVEL A

	0001		*1
000001  6232		CIF	30
000002  5001		JMP	1

000003  0050	VERS,	VNUM	/VERSION NUMBER
000004  0000	OLDN3,	0	/TEMP FOR LOOKUP
000005  0000	OTEMP,	0	/A COUPLE OF TEMPS THAT
000006  0000	OCNT,	0	/DIDNT FIT INTO THEIR PAGE
000007  0000	CHNSW,	0	/-1 TO ENABLE CHAIN LOADER
000010  0000	X10,	0
000011  0000	X11,	0
000012  0000	X12,	0
000013  0000	X13,	0
000014  0000	X14,	0
000015  6377	OUTPTR,	OUBUF-1
000016  1604	NEXT,	FREE-1
000017  6777	CHRPTR,	LINE-1
000020  7777	NCHARS,	-1	/CHARACTER INPUT STUFF
000021  0000	CPTMP,	0
000022  0000	NCTMP,	0	/USED TO SAVE CHAR POSITION
000023  0000	LINSIZ,	0	/SIZE OF LINE FOR PRINTING
		STYPE,		/SYMBOL TYPE CODE
000024  0000	CHKSUM,	0	/FOR BINARY OUTPUT
			IFZERO	RALF	<
		LOCTR1,	0	/INITIAL LOCN CNTR FOR ABSOLUTE ASM
		LOCTR2,	200	>
			IFNZRO	RALF	<
000025  0002	ESDNO,	2	/LAST ESD #. (#MAIN & BLANK COMMON DEFAULT)
000026  0020	LOCTR1,	20	/HIGH LOCN CNTR WITH ESD (STARTS IN #MAIN)
000027  0000	LOCTR2,	0	
000030  0000	DPFLG,	0	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 3




000031  4000	BASER,	4000	/BASE REGISTER SETTING
000032  0000		0
000033  0000	INDXR,	0	/INDEX LOCS: MUST FOLLOW BASER
000034  0000		0
000035  0000	EXPVAL,	0	/EXPRESSION VALUE
000036  0000		0
000037  0000		0
000040  0000	EXPDEF,	0	/=0 IF EXPR IS UNDEFINED
000041  0000	EXPSW,	0	/FLAG=1 IF NO EXPR
000042  0000	WORD1,	0	/TEMPORARY 2 WORD OPERAND
000043  0000	WORD2,	0
000044  0000	FPPADR,	0	/ADDRESS FIELD FOR FPP INDEX INSTR
000045  0000		0
000046  0000	OPCODE,	0	/OPCODE OR PSEUDO-OP POINTER
000047  0000	XFLAG,	0	/INDEX FLAG = 1 IF INDEX PRESENT
000050  0001	XINCR,	1	/FLAG = 0 IF + LEGAL IN INDEX EXPR
000051  0000	BUCKET,	0	/FIRST CHAR OF NAME
000052  0000	NAME1,	0	/CHARS 2 AND 3 OF NAME
000053  0000	NAME2,	0	/CHARS 4 AND 5 OF NAME
000054  0000	NAME3,	0	/CHAR 6 OF NAME AND TYPE
000055  0000	LASTOP,	0	/LAST OPERATOR ENCOUNTERRED IN EXPR
000056  7777	PASSNO,	-1	/PASS NUMBER
000057  0000	ASMOF,	0	/SET NEGATIVE WHEN ASSEMBLY OFF
000060  0000	PNCHOF,	0	/NON-ZERO TO SUPPRESS BINARY OUTPUT
000061  0001	LISTSW,	1	/LIST SWITCH (1 ENABLES LISTING)
000062  0000	OUTSWT,	0	/OUT SWITCH, =1 IF LINE ALREADY LISTED
000063  0000	REPCNT,	0	/REPEAT COUNTER
000064  0000	SCSWT,	0	/SEMICOLON SWITCH
000065  0000	RADIX,	0	/RADIX FOR INTEGERS (0 IS OCTAL)
000066  7601	LTEMP,	-177	/TEMP USED BY LOOKUP
000067  0000	EXTMP,	0	/TEMPS USED BY EXPR AND OTHERS
000070  0000	EXTMP2,	0
000071  0000	EQUN,	0;0;0;0	/NAME ON LEFT OF EQUAL SIGN
000072  0000
000073  0000
000074  0000
				/NEXT TWO LOCS USED WITH EQUN BY DMPESD
000075  0000	FPPSWT,	0	/1 WHHEN FINDING FPP ADR EXPR
000076  0000	FPP2WD,	0	/SET BY EXPR TO FORCE 2 WD FMT
000077  0000	FPPWD2,	0	/SET BY FPP2WD.OR.EXPTYP.EQ.0
000100  0000	LITRL,	0	/SET = 1 FOR LITERAL
000101  0177	P0LIT,	177
000102  0177	CPLIT,	177
000103  0000	PAGEN,	0
000104  0000	ERRORS,	0		/ERROR COUNT
000105  1542	PC,	TTYOUT		/OUTPUT ROUTINE
000106  7573	OUFILE,	7573		/OUTPUT FILE LIST POINTER
000107  0001	BFILE,	1

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 4




000110  0001	LPAGE1,	1	/INPUT FORMFEED COUNT
000111  0000	LPAGE2,	0	/OUTPUT PAGE WITH RESPECT TO ABOVE
000112  7777	LINPAG,	-1	/LINES/PAGE COUNTER
000113  0000	LINKSW,	0	/1 IF LINK GENERATED ON THIS LINE
		LINKS,		/NO OF LINKS GENERATED
000114  0000	ABREFS,	0	/NO OF ABSOLUTE REFERENCES
000115  0000	ABSOP,	0	/POINTER-SWITCH FOR BINARY OUTPUT
000116  0200	USR,	200	/CURRENT CALL ADDRESS FOR USR
000117  0000	SYONLY,	0	/=0=LIST ONLY SMAP WHEN LIST FILE
				/IS SPECIFIED. ITS SET VIA SLASH S
				/=1=REGULAR
000120  0017	NP17,	17	/**
000121  7700	NP7700,	7700
000122  0000	OPX,	0
000123  0000	OP,	ZBLOCK 6
000131  0000	ACX,	0
000132  0000	AC,	ZBLOCK 6
000140  7775	M3,	-3
000141  6777	BLINE,	LINE-1
		/
	0200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 5




		/
		/	CORE ALLOCATION IN HIGH FIELD 0
		/
	5100		CPLBUF=5100	/ACTUALLY AT 5200
	5200		P0LBUF=5200	/AND 5300, 1/2 PAGE EACH
			IFZERO	RALF	<
			INBUF=5400	>
			IFNZRO	RALF	<
	6000		INBUF=6000	/AFTER PASS 1, MOVES TO 5400>
	6400		OUBUF=6400
	7000		LINE=7000	/CURRENT INPUT LINE IN ASCII
	7200		INDEVH=7200	/TENTATIVE INPUT DEVICE HANDLR ADDR
	7400		OUDEVH=7400	/TENTATIVE OUTPUT HANDLER ADDR
	0002		INRECS=2
	0400		INCTL=400
	4200		OUCTL=4200
		/
		/	COLLECT THE NEXT STATEMENT
		/
000200  2202		ISZ	.+2
000201  5602	REPLEN,	JMP I	.+1
000202  6000	REPLST,	BEGIN		/START AT 6000 IF CHAINED ELSE 6001
000203  6201	NEXTST, CDF	FLD0	/JUST PRECAUTION
000204  1062		TAD	OUTSWT	/IF NO OUTPUT FROM THIS LINE,
000205  7650		SNA CLA
000206  1056		TAD	PASSNO	/AND LISTING PASS
000207  7740		SMA SZA CLA
000210  1061		TAD	LISTSW	/AND LISTING ENABLED
000211  7650		SNA CLA		/PRINT THIS LINE NOW
000212  5222		JMP	START	/ELSE GET NEXT
000213  4577		JMS I	[CRLF	/PRINT CR/LF
000214  1377		TAD	(-6
000215  3066		DCA	LTEMP	/SPACE OVER
000216  4576		JMS I	[PRINT2 /12 SPACES
000217  2066		ISZ	LTEMP
000220  5216		JMP	.-2
000221  4776		JMS I	(PRNTLN /THEN PRINT LINE
000222  4575	START,	JMS I	[GETCHR /ANY MORE CHARS ?
000223  5226		JMP	NOTEG
000224  4574		JMS I	[ERMSG	/EXTRA GARBAGE ON LAST LINE
000225  0507		0507		/*EG*
000226  1064	NOTEG,	TAD	SCSWT	/DID LAST LINE END WITH SEMICOLON ?
000227  7650		SNA CLA
000230  5235		JMP	.+5	/NO
000231  3064		DCA	SCSWT	/KILL SC SWITCH
000232  2017		ISZ	CHRPTR	/SKIP OVER SEMICOLON
000233  2020		ISZ	NCHARS
000234  5310		JMP	ASMBL	/DON'T READ A NEW LINE
000235  1063		TAD	REPCNT	/IS THIS LINE TO BE REPEATED?
000236  7710		SPA CLA
000237  5352		JMP	AGAIN	/DO IT
000240  1141	NEWLIN, TAD	BLINE /RESET POINTER

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 5-1

000241  3017		DCA	CHRPTR
000242  1173		TAD	[-200	/LIMIT LINE SIZE
000243  3066		DCA	MAXLIN
000244  3062		DCA	OUTSWT	/CLEAR OUTPUT SWITCH

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 6




000245  4775	RDLOOP, JMS I	(ICHAR	/READ A CHAR
000246  1374		TAD	(-212
000247  7450		SNA
000250  5245		JMP	RDLOOP	/IGNORE LINE FEEDS
000251  1373		TAD	(212-215 /END ON CR
000252  7450		SNA
000253  5271		JMP	ENDLIN
000254  7001		IAC
000255  7450		SNA		/FORM FEED?
000256  5324		JMP	FORMFD
000257  1372		TAD	(214	/FIX CHAR
000260  3417		DCA I	CHRPTR	/SAVE IT
000261  2066		ISZ	MAXLIN	/TEST FOR LINE TOO LONG
000262  5245		JMP	RDLOOP	/PUT CHAR AWAY AND GET NEXT 1
000263  4775		JMS I	(ICHAR	/IGNORE ANOTHER CHAR
000264  1371		TAD	(-215	/UNLESS CR
000265  7640		SZA CLA
000266  5263		JMP	.-3
000267  4574		JMS I	[ERMSG	/EXCESS LENGTH LINE
000270  1424		1424		/*LT*
000271  1017	ENDLIN, TAD	CHRPTR	/FIND - NUMBER OF CHARS - 1
000272  7040		CMA
000273  1141		TAD	BLINE
000274  3020		DCA	NCHARS
000275  1063		TAD	REPCNT	/0 BECOMES 0,
000276  7041		CIA		/BUT POS REP COUNT
000277  3063		DCA	REPCNT	/ENABLES REPEAT
000300  1020		TAD	NCHARS	/SAVE LENGTH
000301  3201		DCA	REPLEN
000302  1061		TAD	LISTSW	/SAVE LISTING SWITCH DURING REPEAT
000303  3202		DCA	REPLST
000304  1020	REASM,	TAD	NCHARS	/SAVE SIZE OF LINE FOR PRINT
000305  3023		DCA	LINSIZ
000306  1141		TAD	BLINE
000307  3017		DCA	CHRPTR	/SET POINTER
000310  1057	ASMBL,	TAD	ASMOF	/ARE WE INSIDE A CONDITIONAL
000311  7640		SZA CLA
000312  5334		JMP	OFFIT	/YES, AND THE COND WAS FALSE
000313  4575		JMS I	[GETCHR /LOOK FOR A CHARACTER
000314  5203		JMP	NEXTST
000315  1370		TAD	(-257	/IS IT SLASH ?
000316  7450		SNA
000317  5336		JMP	NOASM	/YES, COOL IT
000320  1172		TAD	[257-240 /IS IT BLANK OR TAB ?
000321  7640		SZA CLA		/YES, IGNORE
000322  4571		JMS I	[BACK1	/NO, PUT IT BACK
000323  5767		JMP I	(LUNAME /ASSEMBLE STMT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 7




000324  2110	FORMFD,	ISZ	LPAGE1	/BUMP FORM FEED COUNT
000325  3111		DCA	LPAGE2	/CLEAR SUB-PAGE COUNT
000326  7240		CLA CMA
000327  3112		DCA	LINPAG	/FORCE EJECT ON CRLF
000330  5245		JMP	RDLOOP
000331  7240	OPENIT,	CLA CMA		/DECR COUNT, ANOTHER OPEN ANGLE
000332  1057		TAD	ASMOF
000333  3057		DCA	ASMOF
000334  2020	OFFIT,	ISZ	NCHARS	/MORE TO GO?
000335  5341		JMP	GETIT	/YES
000336  7240	NOASM,	CLA CMA
000337  3020		DCA	NCHARS	/DONT ASSEMBLE THIS LINE
000340  5203		JMP	NEXTST	/(PREVENTING *EG* MESSAGE)
000341  1417	GETIT,	TAD I	CHRPTR	/PICK UP THE CHARACTER
000342  1366		TAD	(-274	/OPEN ANGLE BRACKET?
000343  7450		SNA
000344  5331		JMP	OPENIT	/YES, PUSH ONE LEVEL DOWN
000345  7112		CLL RTR
000346  7650		SNA CLA
000347  2057		ISZ	ASMOF	/IF CLOSE, CHECK LEVEL
000350  5334		JMP	OFFIT	/TRY FOR NEXT
000351  5310		JMP	ASMBL	/RESUME WORK
000352  1201	AGAIN,	TAD	REPLEN	/WE NOW REPEAT THE SAME LINE
000353  3020		DCA	NCHARS
000354  3061		DCA	LISTSW	/NO LISTING DURRING REPEAT
000355  2063		ISZ	REPCNT
000356  5304		JMP	REASM	/ASSUMING COUNT STILL OK
000357  1202		TAD	REPLST	/RESTORE LISTING
000360  3061		DCA	LISTSW
000361  5240		JMP	NEWLIN	/GET NEXT LINE
	0066		MAXLIN=LTEMP
		/
000362  4005	TXERR,	TEXT	" ERRORS"
000363  2222
000364  1722
000365  2300
	0004	TXELN=	.-TXERR
000366  7504
000367  0600
000370  7521
000371  7563
000372  0214
000373  7775
000374  7566
000375  4212
000376  1400
000377  7772
	0400		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 8




		/
		/	DIVIDE AC BY 3
		/	USEFUL IN FPP REFERENCES TO BASE
		/
000400  0000	OVER3,	0		/DIVIDE AC BY THREE
000401  3070		DCA	EXTMP2	/MQ
000402  1377		TAD	(-15	/SET SHIFT COUNT
000403  3066		DCA	LTEMP
000404  7100	DIVLUP,	CLL		/ZERO LINK
000405  1376		TAD	(-3	/SUBTRACT DIVISOR FROM AC
000406  7430		SZL		/IF AC>=3 SET LINK TO 1
000407  5212		JMP	.+3	/OK, DONT RESTORE
000410  1375		TAD	(3	/TOO SMALL, RESTORE AC
000411  7100		CLL		/SET LINK BACK TO 0
000412  3067		DCA	EXTMP	/SAVE AC
000413  1070		TAD	EXTMP2	/ROTATE MQ-AC LEFT, PUT LINK IN MQ
000414  7004		RAL
000415  3070		DCA	EXTMP2	/SAVE MQ
000416  1067		TAD	EXTMP	/GET BACK AC
000417  7004		RAL		/COMPLETE SHIFT
000420  2066		ISZ	LTEMP	/TEST COUNT
000421  5204		JMP	DIVLUP	/KEEP GOING
000422  3067		DCA	EXTMP	/THIS IS REMAINDER
000423  1070		TAD	EXTMP2	/RETURN QUOTIENT
000424  5600		JMP I	OVER3
		/
		/	INITIALIZE FOR OUTPUT
		/
000425  0000	OUSETP,	0
000426  1374		TAD	(OUCTL&3700	/BUFFER SIZE IN DBL WORDS
000427  7041		CIA		/NEGATE IT (PAL10 BLOWS)
000430  3313		DCA	OUDWCT
000431  1236		TAD	NOUBUF
000432  3311		DCA	OUPTR	/INITIALIZE WORD POINTER
000433  1312		TAD	OUJMPE
000434  3247		DCA	OUJMP	/INITIALIZE 3-WAY CHARACTER SWITCH
000435  5625		JMP I	OUSETP
000436  6400	NOUBUF,	OUBUF
		/
		/	STORE CHARACTERS IN OUTPUT BUFFER
		/	IN PS8 FORMAT (YOU KNOW, 3 CHARS
		/	IN 2 WORDS THE WRONG WAY)
		/
000437  0000	OCHAR,	0
000440  0373		AND	(377
000441  3307		DCA	OUTEMP
000442  1314		TAD	OUTINH
000443  7640		SZA CLA		/IS THERE AN OUTPUT FILE?
000444  5637		JMP I	OCHAR	/NO - EXIT
000445  6201		CDF OUFLD	/SET DATA FIELD TO BUFFER'S FIELD
000446  2247		ISZ	OUJMP	/BUMP THE CHARACTER SWITCH
000447  7402	OUJMP,	HLT		/THREE WAY CHARACTER SWITCH

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 8-1

000450  5303		JMP	OCHAR1
000451  5300		JMP	OCHAR2
000452  1307		TAD	OUTEMP
000453  7106		CLL RTL
000454  7006		RTL
000455  0372		AND	(7400
000456  1710		TAD I	OUPOLD
000457  3710		DCA I	OUPOLD	/UPDATE FIRST WORD OF TWO WITH HIGH
					/ORDER 4 BITS OF THIRD CHAR
000460  1307		TAD	OUTEMP
000461  7112		CLL RTR
000462  7012		RTR
000463  7010		RAR
000464  0372		AND	(7400
000465  1711		TAD I	OUPTR
000466  3711		DCA I	OUPTR	/UPDATE 2ND WORD FROM LO 4 BITS
000467  1312		TAD	OUJMPE
000470  3247		DCA	OUJMP	/RESET SWITCH
000471  2311		ISZ	OUPTR
000472  2313		ISZ	OUDWCT	/BUMP COUNTER EVERY 3 CHARS
000473  5305		JMP	OUCOMN
000474  1371		TAD	(OUCTL	/LOAD CONTROL WORD FOR A FULL WRITE
000475  4770		JMS I	(OUTDMP	/DUMP THE BUFFER
000476  4225		JMS	OUSETP	/RE-INITIALIZE THE POINTERS
000477  5305		JMP	OUCOMN
000500  1311	OCHAR2,	TAD	OUPTR
000501  3310		DCA	OUPOLD	/SAVE POINTER TO FIRST WORD OF TWO
000502  2311		ISZ	OUPTR	/BUMP WORD POINTER TO SECOND WORD
000503  1307	OCHAR1,	TAD	OUTEMP
000504  3711		DCA I	OUPTR
000505  6201	OUCOMN,	CDF
000506  5637		JMP I	OCHAR
000507  0000	OUTEMP,	0
000510  0000	OUPOLD,	0
000511  0000	OUPTR,	0
000512  5247	OUJMPE,	JMP	OUJMP
000513  0000	OUDWCT,	0
000514  0000	OUTINH,	0
		/
		/	MOVE OUTPUT FILE NAME TO FIELD 0
		/
000515  0000	OFNAME,	0
000516  1106		TAD	OUFILE
000517  3010		DCA	X10
000520  1367		TAD	(OUFNAM-1
000521  3011		DCA	X11
000522  1366		TAD	(-4
000523  3066		DCA	LTEMP
000524  6211		CDF	10
000525  1410		TAD I	X10
000526  6201		CDF	0
000527  3411		DCA I	X11
000530  2066		ISZ	LTEMP
000531  5324		JMP	.-5
000532  5715		JMP I	OFNAME

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 9




		/
		/	GET OUTPUT DEVICE CHARISTICS
		/
000533  0000	OTYPE,	0
000534  6211		CDF	10
000535  1765		TAD I	(7600
000536  0172		AND	[17
000537  1364		TAD	(DCB-1
000540  3315		DCA	OTYPP
000541  1715		TAD I	OTYPP
000542  6201		CDF	0
000543  5733		JMP I	OTYPE
	0515	OTYPP=	OFNAME
		/
		/	BASIC TITLE INFO
		/
		TITBUF,
			IFZERO	RALF	<
			TEXT	"FLAP V"	>
			IFNZRO	RALF	<
000544  2201		TEXT	"RALF V"	>
000545  1406
000546  4026
000547  0000
	0547	*.-1
000547  0000	VMTXT,	0;0;0
000550  0000
000551  0000
000552  0000	TITDAT,	ZBLOCK	6
000560  4020		TEXT	" PAGE"
000561  0107
000562  0500
	0017	TITLEN=	.-TITBUF
000564  7757
000565  7600
000566  7774
000567  4361
000570  4444
000571  4200
000572  7400
000573  0377
000574  0200
000575  0003
000576  7775
000577  7763
	0600		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 10




		/
		/	PROCESS A STATEMENT
		/
000600  1017	LUNAME, TAD	CHRPTR	/SAVE CHAR STUFF
000601  3021		DCA	CPTMP
000602  1020		TAD	NCHARS
000603  3022		DCA	NCTMP
000604  3113		DCA	LINKSW	/CLEAR SWITCH
000605  4570		JMS I	[GETNAM /LOOK FOR NAME
			IFZERO	RALF	<
			JMP I	(TRYSTR	/COULD BE AN ORG>
			IFNZRO	RALF	<
000606  5777		JMP I	(GETEXP	/NOT ONE OF OURS, I GUESS>
000607  4575		JMS I	[GETCHR /LOOK FOR COMMA
000610  5334		JMP	JSTONE	/ITS JUST ONE SYMBOL
000611  1376		TAD	(-254	/COMMA TEST
000612  7440		SZA
000613  5245		JMP	TRYEQU	/NO COMMA, CHECK FOR EQUAL
000614  4567		JMS I	[LOOKUP /LOOK UP SYMBOL
000615  5236		JMP	DEFLBL	/ITS UNDEFINED
000616  7110		CLL RAR		/VERIFY ADDR TYPE
000617  7640		SZA CLA
000620  5233		JMP	MDERR	/THAT'S A NO-NO
000621  1410		TAD I	X10	/CHECK LOCCTR AGAINST OLD DEFINITION
000622  7041		CIA
000623  1026		TAD	LOCTR1	/FIRST UPPERR HALF
000624  7640		SZA CLA
000625  5233		JMP	.+6
000626  1410		TAD I	X10
000627  7041		CIA
000630  1027		TAD	LOCTR2	/THEN LOWER HALF
000631  7650		SNA CLA
000632  5243		JMP	DEFIND
000633  4574	MDERR,	JMS I	[ERMSG	/MULTIPLY DEFINED
000634  1504		1504		/*MD*
000635  5775		JMP I	(ASMBL	/FIELD IS OK
000636  2466	DEFLBL, ISZ I	LTEMP	/SET TYPE TO 1 (USER ADDR)
000637  1026		TAD	LOCTR1	/PUT LOCATION COUNTER
000640  3410		DCA I	X10	/INTO VALUE
000641  1027		TAD	LOCTR2
000642  3410		DCA I	X10
000643  6201	DEFIND, CDF	FLD0	/GO LOOK FOR ANOTHER TAG
000644  5775		JMP I	(ASMBL

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 11




000645  1374	TRYEQU, TAD	(-21	/CHECK FOR EQUAL SIGN
000646  7440		SZA
000647  5321		JMP	TRYBLK	/NO, TRY BLANK
000650  1052		TAD	NAME1
000651  3071		DCA	EQUN	/SAVE 6 CHARACTER NAME
000652  1053		TAD	NAME2
000653  3072		DCA	EQUN+1
000654  1054		TAD	NAME3
000655  3073		DCA	EQUN+2
000656  1051		TAD	BUCKET
000657  3074		DCA	EQUN+3
000660  4575		JMS I	[GETCHR /ALLOW BLANK AFTER =
000661  5316		JMP	EQUERR
000662  1166		TAD	[-240
000663  7640		SZA CLA
000664  4571		JMS I	[BACK1	/ANYTHING ELSE GOES BACK
000665  4565		JMS I	[EXPR	/GET VALUE RIGHT OF EQUALS
000666  5316		JMP	EQUERR	/BAD EQU
000667  1071		TAD	EQUN	/RESTORE NAME
000670  3052		DCA	NAME1
000671  1072		TAD	EQUN+1
000672  3053		DCA	NAME2
000673  1073		TAD	EQUN+2
000674  3054		DCA	NAME3
000675  1074		TAD	EQUN+3
000676  3051		DCA	BUCKET
000677  4567		JMS I	[LOOKUP /LOOKUP SYMBOL
000700  5304		JMP	PUTVAL	/A NEW SYMBOL
000701  7110		CLL RAR
000702  7640		SZA CLA
000703  5316		JMP	EQUERR	/TYPE CONFLICT
000704  1036	PUTVAL, TAD	EXPVAL+1 /SAVE ADDRESS TYPE
000705  3410		DCA I	X10
000706  1037		TAD	EXPVAL+2
000707  3410		DCA I	X10
000710  1466		TAD I	LTEMP	/NOW GET TYPE WORD
000711  0373		AND	(7740	/ZERO OLD TYPE, PRESERVING FORCE BIT
000712  1040		TAD	EXPDEF	/DEFINED BY RIGHT HAND SIDE
000713  3466		DCA I	LTEMP	/RESTORE WORD
000714  6201		CDF	FLD0
000715  5564		JMP I	[NEXTST /GO GET NEXT STMT
000716  4574	EQUERR, JMS I	[ERMSG	/BAD EQU
000717  0205		0205		/*BE*
000720  5564		JMP I	[NEXTST

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 12




000721  1372	TRYBLK,	TAD	(35	/CHECK FOR BLANK
000722  7450		SNA		/MATCH BLANK?
000723  5334		JMP	JSTONE	/YES
000724  0163		AND	[77
000725  4562		JMS I	[R6L
000726  3054		DCA	NAME3	/MAKE MODIFIED NAME OF IT
000727  4575		JMS I	[GETCHR	/MODIFIER MUST BE FOLLOWED BY BLANK
000730  5777		JMP I	(GETEXP	/LOOKS BAD
000731  1166		TAD	[-240	/GOT IT?
000732  7640		SZA CLA
000733  5777		JMP I	(GETEXP	/LET EXPR TELL HIM IF ITS WRONG
000734  1371	JSTONE,	TAD	(33	/USE OUR INTERNAL SYMBOL TABLE
000735  4561		JMS I	[FIND	/IS IT THERE?
000736  5777		JMP I	(GETEXP	/NO, LOOK IN USER'S
000737  1345		TAD	OPCTBL	/CREATE JUMP THRU TABLE
000740  3344		DCA	OPCJMP	/SAVE IT
000741  1410		TAD I	X10	/PICK UP FIRST WORD OF VALUE
000742  3046		DCA	OPCODE	/ITS AN OPCODE-MAYBE?
000743  6201		CDF	FLD0
000744  0000	OPCJMP,	0		/JUMP SOMEWHERE
000745  5741	OPCTBL,	JMP I	.-4
000746  1200		PSEUDO		/PSEUDO OPS
000747  1215		PDP8MR		/PDP8 MRI
000750  1027		FPPMR		/FPPMR
000751  1125		FPPS1		/OTHER FPP OPCODES
000752  1046		FPPS2
000753  1122		FPPS3
000754  1201		FPPS4
000755  1134		FPPS5
000756  1105		FPMRI		/INDIRECT FPP MEM REF
000757  1066		FPMRS		/SHORT DIRECT MEM REF
000760  1060		FPMRL		/LONG DIRECT REF
000761  2115		PDPOPR		/8-MODE OPERATES
000762  4770	REPETX,	JMS I	(ADRGET	/EVALUATE REPEAT EXPR
000763  7150		CLL CMA RAR	/3777
000764  0037		AND	EXPVAL+2
000765  3063		DCA	REPCNT
000766  5564		JMP I	[NEXTST
000770  1210
000771  0033
000772  0035
000773  7740
000774  7757
000775  0310
000776  7524
000777  1000
	1000		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 13




		/
001000  6201	GETEXP, CDF	FLD0
001001  1021		TAD	CPTMP	/RESTORE CHARACTER POINTER
001002  3017		DCA	CHRPTR
001003  1022		TAD	NCTMP	/TO JUST AFTER TAG (IF ANY)
001004  3020		DCA	NCHARS
001005  3046	SX,	DCA	OPCODE
001006  4565		JMS I	[EXPR	/TRY FOR AN EXPRESSION
001007  5300		JMP	BADEXP	/IF NONE, ERROR
			IFNZRO	RALF	<
001010  4214		JMS	RELERR	/BOMB IF NOT ABSOLUTE EXP>
001011  1037		TAD	EXPVAL+2
001012  4560		JMS I	[OUTWRD
001013  5564		JMP I	[NEXTST /GO DO NEXT STMT
			IFNZRO	RALF	</IF EXPVAL IS RELOCATABLE,
001014  0000	RELERR, 0		/GIVE ERROR MESSAGE
001015  1036		TAD	EXPVAL+1 /CAUTION: THIS ROUTINE IS
					/SOMETIMES CALLED WITH NON-ZERO AC
001016  0157		AND	[7770	/JUST ESD BITS
001017  7650		SNA CLA
001020  5614		JMP I	RELERR	/ITS ABSOLUTELY FINE
001021  1036		TAD	EXPVAL+1
001022  0156		AND	[7	/REMOVE ESD
001023  3036		DCA	EXPVAL+1
001024  4574		JMS I	[ERMSG
001025  2205		2205		/*RE*
001026  5614		JMP I	RELERR	>
		/
001027  2075	FPPMR,	ISZ	FPPSWT	/SET FORCE ENABLE
001030  4355		JMS	FPADR
001031  1042		TAD	WORD1	/IF WAY OFF BASE,
001032  7450		SNA
001033  1077		TAD	FPPWD2	/OR IF FORCED
001034  7450		SNA
001035  1047		TAD	XFLAG	/OR IF INDEXED
001036  7640		SZA CLA
001037  5261		JMP	FORMT1	/USE LONG FORM
001040  1043		TAD	WORD2
001041  7100		CLL
001042  1377		TAD	(-600	/COMPLETE OFF-BASE CHECK
001043  7630		SZL CLA
001044  5261		JMP	FORMT1	/USE LONG
001045  5317		JMP	FORMT2
001046  4776	FPPS2,	JMS I	(GETADR /COLLECT ADDRESS EXPR
001047  4251		JMS	IXMES	/BUT DISALLOW INDEX
001050  5262		JMP	F2WD	/PUT TWO WORDS OUT
		/
001051  0000	IXMES,	0
001052  1047		TAD	XFLAG	/NO INDEX ALLOWED
001053  7650		SNA CLA
001054  5651		JMP I	IXMES	/HE'S COOL
001055  4574		JMS I	[ERMSG

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 13-1

001056  1130		1130		/*IX*
001057  5651		JMP I	IXMES

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 14




001060  4355	FPMRL,	JMS	FPADR
001061  4775	FORMT1, JMS I	(FIXOPC
001062  1044	F2WD,	TAD	FPPADR
001063  0156		AND	[7	/FIELD BITS
001064  1046		TAD	OPCODE	/IN FIRST WORD
		FPDMP,	IFZERO	RALF	<
			JMS I	[OUTWRD
			TAD	FPPADR+1 /LOW ADDRESS
			JMS I	[OUTWRD
			JMP I	[NEXTST /NEXT!>
			IFNZRO	RALF	<
001065  5774		JMP I	(OUTREL /DUMP TWO RELOCATABLE>
001066  4355	FPMRS,	JMS	FPADR	/COLLECT OPERAND
001067  4251		JMS	IXMES	/ERROR IF INDEX GIVEN
001070  1042		TAD	WORD1
001071  7640		SZA CLA
001072  5300		JMP	BADEXP
001073  1043		TAD	WORD2
001074  7100		CLL
001075  1377		TAD	(-600	/DOES IT FIT?
001076  7620		SNL CLA
001077  5317		JMP	FORMT2
001100  4574	BADEXP, JMS I	[ERMSG
001101  0230		0230		/*BX*
001102  1046		TAD	OPCODE	/BEST GUESS OF THE DESIRED OUTPUT
001103  4560		JMS I	[OUTWRD
001104  5564		JMP I	[NEXTST
001105  4355	FPMRI,	JMS	FPADR
001106  1042		TAD	WORD1
001107  7640		SZA CLA
001110  5300		JMP	BADEXP	/NOT EVEN CLOSE
001111  1043		TAD	WORD2
001112  7100		CLL
001113  1373		TAD	(-30
001114  7630		SZL CLA
001115  5300		JMP	BADEXP	/GOTTA BE IN THE FIRST 10
001116  4775	FORMT3, JMS I	(FIXOPC
001117  1043	FORMT2, TAD	WORD2
001120  4772		JMS I	(OVER3	/BY 3 FOR BASE ADDRESS
001121  1155		TAD	[200
001122  1046	FPPS3,	TAD	OPCODE
001123  4560		JMS I	[OUTWRD /WHEW!
001124  5564		JMP I	[NEXTST
001125  4776	FPPS1,	JMS I	(GETADR /GET ADDR, AND INDEX
001126  4775		JMS I	(FIXOPC /PUT OPCODE TOGETHER
001127  1044		TAD	FPPADR	/GET ADDR EXTENSION
001130  0156		AND	[7
001131  1046		TAD	OPCODE	/WITH TOGETHER OPCODE
001132  0371		AND	(7377	/WITHDRAW ONE BIT
001133  5265		JMP	FPDMP	/PUT IT OUT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 15




001134  7201	FPPS5,	CLA IAC		/DISALLOW INDEX INCR
001135  4776		JMS I	(GETADR	/COLLECT ADDRESS AND INDEX
			IFNZRO	RALF	<
001136  1044		TAD	FPPADR
001137  0157		AND	[7770	/MUST BE ABSOLUTE
001140  7650		SNA CLA
001141  5344		JMP	.+3	/OK
001142  4574		JMS I	[ERMSG
001143  2205		2205		/*RE*>
001144  1047		TAD	XFLAG
001145  7640		SZA CLA		/ANY INDEX?
001146  1037		TAD	EXPVAL+2
001147  0156		AND	[7	/STRIP OFF ESD BITS
001150  1046		TAD	OPCODE
001151  4560		JMS I	[OUTWRD	/DUMP THAT
001152  1045		TAD	FPPADR+1
001153  4560		JMS I	[OUTWRD	/NOW LOW 12 BITS
001154  5564		JMP I	[NEXTST
		/
001155  0000	FPADR,	0
001156  4776		JMS I	(GETADR	/COLLECT ADDRESS AND INDEX
001157  1032		TAD	BASER+1
001160  7161		CIA STL
001161  1045		TAD	FPPADR+1
001162  3043		DCA	WORD2	/GET ADDRESS RELATIVE TO BASE
001163  7004		RAL
001164  1031		TAD	BASER
001165  7041		CIA
001166  1044		TAD	FPPADR
001167  3042		DCA	WORD1
001170  5755		JMP I	FPADR
001171  7377
001172  0400
001173  7750
001174  3000
001175  2600
001176  1217
001177  7200
	1200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 16




		/
001200  5446	PSEUDO,	JMP I	OPCODE	/DISPATCH TO APPROPRIATE HNDLR
		/
			IFZERO	RALF	<
		/
		/	ASSEMBLE VARIOUS INSTRUCTION TYPES
		/
		PDP8MR,	TAD	CHRPTR	/SAVE POSITION
			DCA	CPTMP
			TAD	NCHARS
			DCA	NCTMP	/SAVE COUNT
			JMS I	[GETCHR	/LOOK FOR SPACE "I"
			JMP	GETMR	/WILL GIVE BX ERROR
			TAD	(-"I	/IS IT I?
			SNA CLA		/IF NOT, FORGET IT
			JMS I	[GETCHR	/MUST BE FOLLOWED BY SPACE
			JMP	NOTIND
			TAD	[-240
			SZA CLA
			JMP	NOTIND	/SOMETHING ELSE
			TAD	OPCODE	/PUT INDIRECT INTO OPCODE
			TAD	(400
			DCA	OPCODE
		GETMR,	JMS	ADRGET	/PICK UP ADDRESS FIELD
			TAD	EXPVAL+2 /CHECK PAGE OF ADDRESS
			AND	[7600
			SNA
			JMP	PAGEZ	/ITS IN PAGE 0
			CIA
			TAD	LOCTR2	/COMPARE WITH CURRENT PAGE
			AND	[7600
			SNA CLA
			JMP	THSPAG	/OK, ITS THIS PAGE
			TAD	OPCODE	/CAN WE USE A LINK ?
			AND	(400	/IS INDIRECT BIT OFF ?
			SNA CLA
			JMP I	(MAKLNK /YES, GO MAKE LINK
			JMS I	[ERMSG	/NOPE, ITS AN ILLEGAL REFERENCE
			1122		/*IR*
		THSPAG, TAD	EXPVAL+2 /GET ADDRESS
			AND	[177	/LOWER 7 BITS
			TAD	[200	/PUT IN PAGE BIT
			SKP
		PAGEZ,	TAD	EXPVAL+2 /GET ADDRESS (UPPER 5 BITS ZERO)
			TAD	OPCODE	/PLUS OPCODE
			JMS I	[OUTWRD /OUTPUT WORD
			JMP I	[NEXTST
		NOTIND,	TAD	CPTMP	/RESTORE CHAR POINTER
			DCA	CHRPTR
			TAD	NCTMP
			DCA	NCHARS
			JMP	GETMR	/NOT AN INDIRECT>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 17




001201  4210	FPPS4,	JMS	ADRGET	/GET INDEX REG EXPRESSION
			IFZERO	RALF	<
			JMS	LITERR	/CAN'T ALLOW LITERAL>
001202  4251		JMS	SUBX	/GET RELATIVE INDEX VALUE
001203  1037		TAD	EXPVAL+2 /GET LOWER 3 BITS
001204  0156		AND	[7	/OF INDEX REG EXPR
001205  1046		TAD	OPCODE	/WITH OPCODE
001206  4560		JMS I	[OUTWRD /OUT
001207  5564		JMP I	[NEXTST
001210  0000	ADRGET, 0		/GET ADDRESS EXPR AND CHECK TYPE
001211  4565		JMS I	[EXPR	/GET EXPR
001212  4574		JMS I	[ERMSG	/BAD ADDR EXPR
001213  0230		0230		/*BX*
001214  5610		JMP I	ADRGET
			IFZERO	RALF	<
		LITERR,	0		/GIVE ERROR IF LITERAL
			TAD	LITRL
			SNA CLA
			JMP I	LITERR
			JMS I	[ERMSG
			1114		/*IL*
			JMP I	LITERR	>
			IFNZRO RALF <
001215  4210	PDP8MR,	JMS	ADRGET
001216  5777		JMP I	(CHCKMR	/V.56
			>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 18




001217  0000	GETADR,	0		/GET ADDR, INDEX
001220  3251		DCA	XITEMP	/SAVE INDEX INCREMENT SWITCH
001221  4210		JMS	ADRGET	/GET ADDR
001222  3075		DCA	FPPSWT	/KILL FPP SWITCH
			IFZERO	RALF	<
			JMS	LITERR	/DISALLOW LITERALS>
001223  1040		TAD	EXPDEF	/IF EXPR WAS UNDEFINED
001224  7650		SNA CLA
001225  7001		IAC		/OR FORCE BIT WAS SET
001226  1076		TAD	FPP2WD
001227  3077		DCA	FPPWD2	/FORCE 2 WORD FORMAT
001230  3047		DCA	XFLAG	/ZERO INDEX SWT
001231  1036		TAD	EXPVAL+1	/SAVE ADDRESS VALUE
001232  3044		DCA	FPPADR
001233  1037		TAD	EXPVAL+2
001234  3045		DCA	FPPADR+1
001235  4575		JMS I	[GETCHR	/LOOK FOR COMMA
001236  5617		JMP I	GETADR	/NO INDEX
001237  1376		TAD	(-254
001240  7640		SZA CLA
001241  4571		JMS I	[BACK1	/WILL CAUSE A BX ERROR
001242  2047		ISZ	XFLAG	/SET INDEX SWITCH
001243  1251		TAD	XITEMP	/SET INDEX INCREMENT SWITCH
001244  3050		DCA	XINCR
001245  4210		JMS	ADRGET
001246  2050		ISZ	XINCR	/CLEAR INDEX INCREMENT SWITCH
			IFZERO	RALF	<
			JMS	LITERR	>
001247  4251		JMS	SUBX	/CALCULATE INDEX NO
001250  5617		JMP I	GETADR
		XITEMP,
001251  0000	SUBX,	0
001252  1034		TAD	INDXR+1	/CHECK FOR INDEX IN RANGE
001253  7161		STL CIA
001254  1037		TAD	EXPVAL+2
001255  3037		DCA	EXPVAL+2
001256  7004		RAL
001257  1033		TAD	INDXR
001260  7041		CIA
001261  1036		TAD	EXPVAL+1
001262  7640		SZA CLA
001263  5270		JMP	BIERR
001264  1037		TAD	EXPVAL+2
001265  7100		CLL
001266  1157		TAD	[-10
001267  7630		SZL CLA
001270  4574	BIERR,	JMS I	[ERMSG
001271  0211		0211		/*BI*
001272  5651		JMP I	SUBX

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 19




			IFNZRO	RALF	<
		/
		/	AT END OF PASS,
		/	CLEAR LENGTHS OF ALL SECTIONS
		/
001273  0000	CLRSCT,	0
001274  1375		TAD	(PNDL+3
001275  3066		DCA	LTEMP	/POINT TO USER SYMBOL SPACE
001276  6211		CDF	FLD1
001277  1466	CSLOOP,	TAD I	LTEMP	/GET TYPE
001300  0154		AND	[37	/STRIP TO TYPE ONLY
001301  1374		TAD	(-3
001302  7710		SPA CLA		/IS IT COMMON OR SECTION?
001303  5313		JMP	NOTSCT	/NO, PASS IT
001304  2066		ISZ	LTEMP	/BUMP POINTER TO VALUE
001305  1466		TAD I	LTEMP
001306  0157		AND	[7770	/SAVE ESD NUMBER
001307  3466		DCA I	LTEMP
001310  2066		ISZ	LTEMP
001311  3466		DCA I	LTEMP	/CLEAR LOW ORDER
001312  7344		CLA CLL CMA RAL	/-2
001313  1373	NOTSCT,	TAD	(6	/BUMP POINTER
001314  1066		TAD	LTEMP	/TO NEXT SYMBOL
001315  3066		DCA	LTEMP
001316  1016		TAD	NEXT	/COMPARE END OF SYMBOL TABLE
001317  7141		CIA CLL
001320  1066		TAD	LTEMP
001321  7620		SNL CLA
001322  5277		JMP	CSLOOP	/MORE TO GO
001323  6201		CDF	FLD0
001324  5673		JMP I	CLRSCT	/THAS ALL>
		/
		/
			IFNZRO RALF	<
		/
		/	ENSURE BOTH SYMBOL AND SUB-EXPR ARE ABSOLUTE
		/
001325  0000	NOREL,	0
001326  1042		TAD	WORD1	/IS SYMBOL RELOCATABLE?
001327  0157		AND	[7770	/TEST ESD BITS
001330  7640		SZA CLA
001331  7130		STL RAR		/IF SO, FORCE ERROR
001332  4772		JMS I	(RELERR	/TEST SUB EXPR
001333  5725		JMP I	NOREL
001334  7330	DPCHKX,	CLA CLL CML RAR	/SET DPFLG, MODULE NEEDS
001335  3030		DCA DPFLG	/DP HARDWARE
001336  5564		JMP I [NEXTST	
		/	SET BASE AND INDEX LOCS
001337  7326	INDXX,	CLA STL RTL	/INDXR MUST JUST FOLLOW BASER
001340  1371	BASEX,	TAD	(BASER-1	/POINT TO VALUE TO BE SET
001341  3012		DCA	X12	/HOPEFULLY UNUSED XR
001342  4770		JMS I	(ADRGET	/COLLECT EXPRESSION

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 19-1

001343  1036		TAD 	EXPVAL+1
001344  3412		DCA I	X12	/HIGH ORDER AND ESD
001345  1037		TAD	EXPVAL+2
001346  3412		DCA I	X12	/LOW ORDER
001347  5564		JMP I	[NEXTST	>/THIS CONDITIONAL SASSEMBLY WAS
		/EXPANDED TO INCLUDE INDXX ON THIS PAGE. IT IS ALSO 
		/COND. ASSEMBLED ON ANOTHER PAGE FOR FLAP.
001350  0000	DELFIL,	0
001351  1173		TAD	[7600
001352  3106		DCA	OUFILE
001353  4553		JMS I	[OFNAME
001354  7201		CLA IAC
001355  6212		CIF	10
001356  4516		JMS I	USR
001357  0004		4
001360  4362		OUFNAM
001361  0000		0
001362  7000		NOP
001363  5750		JMP I	DELFIL
001370  1210
001371  0030
001372  1014
001373  0006
001374  7775
001375  1574
001376  7524
001377  3236
	1400		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 20




		/
		/	PRINT THE CURRENT LINE IF NOT ALREADY DONE
		/
001400  0000	PRNTLN,	0		/PRINT THE LINE
001401  1062		TAD	OUTSWT	/HAS THE LINE BEEN PRINTED YET?
001402  7640		SZA CLA
001403  5600		JMP I	PRNTLN	/YES, COOL IT
001404  2062		ISZ	OUTSWT	/SET SWITCH
001405  1141		TAD	BLINE	/POINTER TO LINE
001406  3013		DCA	X13
001407  3233		DCA	CRLF	/CLEAR POSITION COUNT
001410  5220		JMP	PRLTST	/IN CASE OF EMPTY LINE
001411  1413	PRLNXT,	TAD I	X13	/GET A CHAR
001412  1377		TAD	(-211	/WATCH OUT FOR TAB
001413  7450		SNA
001414  5223		JMP	TABIT	/CONVERT TO BLANKS
001415  1376		TAD	(211	/RESTORE
001416  2233		ISZ	CRLF	/BUMP POSITION COUNT
001417  4505		JMS I	PC	/PRINT IT
001420  2023	PRLTST,	ISZ	LINSIZ	/CHECK COUNT
001421  5211		JMP	PRLNXT
001422  5600		JMP I	PRNTLN
001423  1152	TABIT,	TAD	[240	/REPLACE TAB WITH BLANKS
001424  2233		ISZ	CRLF
001425  4505		JMS I	PC
001426  1233		TAD	CRLF
001427  0156		AND	[7
001430  7640		SZA CLA
001431  5223		JMP	TABIT
001432  5220		JMP	PRLTST
		/
		/	GO TO NEXT LINE
		/
001433  0000	CRLF,	0
001434  7200		CLA
001435  1375		TAD	(215
001436  4505		JMS I	PC	/PRINT A CHAR
001437  1374		TAD	(212
001440  4505		JMS I	PC
001441  2112		ISZ	LINPAG	/FULL PAGE?
001442  5633		JMP I	CRLF	/NO
001443  7240		CLA CMA
001444  3112		DCA	LINPAG
		/
		/	NEW PAGE, WITH HEADING AND PAGE NO
		/
001445  1056		TAD	PASSNO	/IF NOT LISTING PASS
001446  7740		SMA SZA CLA
001447  1061		TAD	LISTSW	/OR IF NOT LISTING,
001450  7650		SNA CLA
001451  5633		JMP I	CRLF	/DO NOT EJECT
001452  1303		TAD	RFORMF

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 20-1

001453  7440		SZA		/DON'T F.F. FIRST TIME
001454  4505		JMS I	PC	/TOP OF PAGE
001455  1373		TAD	(214
001456  3303		DCA	RFORMF
001457  4772		JMS I	(PRTXT	/PRINT HEADING
001460  0543		TITBUF-1
001461  7761		-TITLEN
001462  1110		TAD	LPAGE1	/FORM FEED COUNT
001463  4771		JMS I	(DECOUT
001464  1111		TAD	LPAGE2
001465  7650		SNA CLA
001466  5273		JMP	.+5	/NO SUB PAGE IF 0
001467  1370		TAD	(255
001470  4505		JMS I	PC
001471  1111		TAD	LPAGE2
001472  4771		JMS I	(DECOUT
001473  2111		ISZ	LPAGE2
001474  1375		TAD	(215	/FOR BH
001475  4505		JMS I	PC
001476  1374		TAD	(212
001477  4505		JMS I	PC
001500  1367		TAD	(-71	/RESET LINE COUNTER
001501  3112		DCA	LINPAG
001502  5234		JMP	CRLF+1	/GIVE ANOTHER CRLF
001503  0000	RFORMF,	0
		/
		/	PRINT TEXT
		/
001504  0000	PRTXT,	0
001505  1704		TAD I	PRTXT
001506  3013		DCA	X13
001507  2304		ISZ	PRTXT
001510  1704		TAD I	PRTXT
001511  3200		DCA	PRTTMP
001512  2304		ISZ	PRTXT
001513  1413		TAD I	X13
001514  4320		JMS	PRINT2
001515  2200		ISZ	PRTTMP
001516  5313		JMP	.-3
001517  5704		JMP I	PRTXT
	1400	PRTTMP=	PRNTLN
		/
001520  0000	PRINT2,	0
001521  3355		DCA	P2
001522  1355		TAD	P2
001523  4551		JMS I	[R6R
001524  4330		JMS	P1
001525  1355		TAD	P2
001526  4330		JMS	P1
001527  5720		JMP I	PRINT2
		/
001530  0000	P1,	0
001531  0163		AND	[77
001532  7450		SNA
001533  5337		JMP	.+4	/PRINT ZERO AS BLANK

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 20-2

001534  1366		TAD	(-40	/TEST ABOVE OR BELOW 300
001535  7510		SPA
001536  1150		TAD	[100	/ABOVE, MAKE 301 TO 337
001537  1152		TAD	[240	/IF BELOW, MAKE 240 TO 277
001540  4505		JMS I	PC	/PRINT IT, WHATEVER IT IS
001541  5730		JMP I	P1

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 21




		/
001542  0000	TTYOUT,	0
001543  6046		TLS
001544  6041		TSF
001545  5344		JMP	.-1
001546  4765	TTYCLA,	JMS I	(CKCTC	/CHECK FOR ^C - AC CONTAINS DIFFERENCE
001547  1364		TAD	(-14	/CTRL/O
001550  7640		SZA CLA
001551  5742		JMP I	TTYOUT
001552  1354		TAD	.+2
001553  3343		DCA	TTYOUT+1
001554  5742		JMP I	TTYOUT
		/
001555  0000	P2,	0
		/
			IFZERO	RALF	<
		TXLNK,	TEXT	" LINKS"
		TXLLN=	.-TXLNK	>
			IFNZRO	RALF	<
001556  4001	TXABR,	TEXT	" ABS REFS"
001557  0223
001560  4022
001561  0506
001562  2300
	0005	TXALN=	.-TXABR	>
001564  7764
001565  1674
001566  7740
001567  7707
001570  0255
001571  2673
001572  1504
001573  0214
001574  0212
001575  0215
001576  0211
001577  7567
	1600		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 22




		/
		/	GET AND EVALUATE AN EXPRESSION
		/
001600  0000	EXPR,	0		/GET EXPRESSION
001601  3035		DCA	EXPVAL	/ZERO EXPR VALUE
001602  3036		DCA	EXPVAL+1
001603  3037		DCA	EXPVAL+2
001604  7201		CLA IAC
001605  3040		DCA	EXPDEF	/AND TYPE
001606  7201		CLA IAC		/SET EXPR SWITCH TO NO EXPR
001607  3041		DCA	EXPSW
001610  3076		DCA	FPP2WD	/SET FORCE SWITCH OFF
001611  7201		CLA IAC		/SET LASTOP TO +
001612  3055		DCA	LASTOP
			IFZERO	RALF	<
			JMS I	(CHKLIT /GO CHECK FOR LITERAL>
001613  4777		JMS I	(GETSGN /IGNORE +, BUMP LASTOP IF -
001614  4570	SYMBOL, JMS I	[GETNAM /NOW PICK UP NAME
001615  5256		JMP	NOSYM	/NONE, TRY OTHER
001616  4567		JMS I	[LOOKUP /LOOK IT UP
001617  5334		JMP	UNDEF	/A NEW ONE
			IFZERO RALF	<
			JMP	ADR	/YES >
			IFNZRO	RALF	<
001620  7110		CLL RAR
001621  7450		SNA
001622  5306		JMP	ADR
001623  1466	SCTN,	TAD I	LTEMP	/GET TYPE
001624  0376		AND	(40	/FORCE BIT
001625  7640		SZA CLA
001626  2076		ISZ	FPP2WD	/SET FORCE EXPR SW
001627  1410		TAD I	X10	/GET ESD FROM SYMBOL
001630  0157		AND	[7770	/ESD ONLY
001631  3042		DCA	WORD1	/INTERNALLY, SYMBOL VAL IS ZERO
001632  5315		JMP	CLR2	/SO CLEAR WORD 2>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 23




001633  1375	NOTDOT, TAD     (256-242        /IS IT DBL QUOTE?
001634  7640	        SZA CLA
001635  5240	        JMP     ENDEXP
001636  2020	        ISZ     NCHARS  /IS THERE ANOTHER CHAR?
001637  5271	        JMP     ISQUOT  /YES, USE IT
001640  4571	ENDEXP, JMS I   [BACK1  /PUT IT BACK
001641  1041	        TAD     EXPSW   /WAS THERE ANY EXPRESSION AT ALL?
001642  7640	        SZA CLA
001643  5253	        JMP     BAD     /NO, DON'T SKIP
		        IFZERO  RALF    <
		        TAD     LITRL   /WAS IT A LITERAL REF?
		        SZA CLA
		        JMS I   (CRLIT  /YES, STICK IT IN THE POOL>
001644  1055	        TAD     LASTOP  /TRAILING OPERATOR?
001645  7450	        SNA
001646  5252	        JMP     OKEXP   /NO, ALL IS FINE
001647  7110	        CLL RAR 	/IF PLUS OPERATOR
001650  1050	        TAD     XINCR   /AND THATS LEGAL
001651  7650	        SNA CLA
001652  2200	OKEXP,  ISZ     EXPR    /GOOD EXPR, BUMP RETURN
001653  4274	BAD,	JMS	CKCTC
001654  7200		CLA
001655  5600		JMP I	EXPR	/AND RETURN
		/
001656  4774	NOSYM,  JMS I   (NUMBER /LOOK FOR A NUMBER
001657  5317	        JMP     ADREXP  /USE NUMBER
001660  4575	        JMS I   [GETCHR /NOT A NUMBER, GET A CHAR
001661  5241	        JMP     ENDEXP+1 /NONE LEFT, END
001662  1373	        TAD     (-256   /IS IT "." ?
001663  7440	        SZA
001664  5233	        JMP     NOTDOT  /NO, TRY FOR QUOTE
001665  1026	        TAD     LOCTR1  /THIS WAS LOC SYMBOL
001666  3042	        DCA     WORD1   /PUT VALUE INTO WORD1,2
001667  1027	        TAD     LOCTR2
001670  5315	        JMP     CLR2	  /AND USE VALUE
001671  3042	ISQUOT,	DCA WORD1
001672  1417		TAD I	CHRPTR
001673  5315		JMP	CLR2
001674  0000	CKCTC,	0
001675  7200	    CLA
001676  6031		KSF		/IF NOTHING AT THE KEYBOARD,
001677  5674	        JMP I   CKCTC    /RETURN
001700  1155		TAD	[200
001701  6034		KRS		/ELSE, LOOK AT IT
001702  1372		TAD	(-203	/IS IT CTRL/C?
001703  7450		SNA
001704  5573		JMP I	[7600	/GO TO MOMMA
001705  5674		JMP I	CKCTC

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 24




001706  1466	ADR,    TAD I   LTEMP   /CHECK FORCE BIT FOR THIS SYMBOL
001707  0376	        AND     (40
001710  7640	        SZA CLA
001711  2076	        ISZ     FPP2WD  /AND SET SWITCH IF BIT ON
001712  1410	        TAD I   X10     /GET FIRST WORD OF VALUE
001713  3042	ONE,    DCA     WORD1   /SINGLE WORD SYMBOL, HIGH=0
001714  1410	        TAD I   X10     /GET REST OF SYMBOL
001715  3043	CLR2,   DCA     WORD2
001716  6201	        CDF     FLD0    /FIX FIELD
001717  3041	ADREXP, DCA     EXPSW   /KILL FIRST TIME SWITCH
001720  1055	        TAD     LASTOP  /PICK UP LAST OPERATOR
001721  1324	        TAD     ADROP   /MAKE A JMP I
001722  3323	        DCA     .+1
001723  0000	        0               /DO IT
001724  5724	ADROP,	JMP I	.
001725  2000		ADRADD
001726  2013		ADRSUB
001727  2064		ADRMUL	
001730  2073		ADRDIV
001731  2040		ADRAND
001732  2047		ADROR
001733  2047		ADROR

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 25




001734  1075	UNDEF,	TAD	FPPSWT	/IS THIS AN FPP ADDR ?
001735  7650		SNA CLA
001736  5343		JMP	.+5	/NO, SKIP AROUND
001737  1466		TAD I	LTEMP	/TURN ON FORCE BIT
001740  0371		AND	(7737	/FOR THIS SYMBOL
001741  1376		TAD	(40
001742  3466		DCA I	LTEMP
001743  3040		DCA	EXPDEF	/SET TYPE TO UNDEFINED
001744  6201		CDF	FLD0	/FIX FIELD
001745  3041		DCA	EXPSW	/KILL FIRST TIME SWITCH
001746  4574		JMS I	[ERMSG
001747  2523		2523		/*US*
001750  1370	OPR8R,	TAD	(OPR8RS-1 /SET POINTER
001751  3011		DCA	X11	/TO OPERATOR TABLE
001752  3055		DCA	LASTOP	/ZERO LASTOP
001753  4575		JMS I	[GETCHR /GET CHAR
001754  5241		JMP	ENDEXP+1 /NONE, DONE
001755  3067		DCA	EXTMP	/SAVE IT
001756  2055	FINDOP, ISZ	LASTOP
001757  1411		TAD I	X11	/GET NEXT LIST ENTRY
001760  7450		SNA
001761  5366		JMP	NOOPR	/ZERO IS END OF LIST
001762  1067		TAD	EXTMP	/COMPARE
001763  7640		SZA CLA
001764  5356		JMP	FINDOP	/LOOP
001765  5214		JMP	SYMBOL	/LOOK FOR OPERAND
001766  3055	NOOPR,	DCA	LASTOP	/NO MATCH FOUND
001767  5240		JMP	ENDEXP	/PUT IT BACK
001770  2621
001771  7737
001772  7575
001773  7522
001774  2277
001775  0014
001776  0040
001777  4617
	2000		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 26




		ADRADD,	IFNZRO	RALF	<
002000  1042		TAD	WORD1
002001  0157		AND	[7770	/IF THIS SYMBOL IS RELOCATABLE,
002002  7640		SZA CLA		/CHECK FOR EXPR VALIDITY
002003  4777		JMS I	(RELERR	>
002004  1037		TAD	EXPVAL+2 /ADD FOR 15 BIT ADDRESS
002005  7100		CLL		/ZERO LINK
002006  1043		TAD	WORD2	/ADD LOW WORDS
002007  3037		DCA	EXPVAL+2 /SAVE RESULT
002010  7004		RAL		/PUT CARRY INTO BIT 11
002011  1042		TAD	WORD1	/ORDER WORDS
002012  5234		JMP	ADRASX	/LOOK FOR OPERATOR
		ADRSUB,	IFNZRO	RALF	<
002013  1042		TAD	WORD1	/IF SYMBOL IS RELOCATABLE
002014  0157		AND	[7770	/WE MUST COMPARE SECTIONS
002015  7041		CIA		/IF EQUAL, EXPR BECOMES ABSOLUTE
002016  7450		SNA		/ELSE, EXPR IS ILLEGAL
002017  5224		JMP	.+5	/OK, USE EXPVAL ESD
002020  4777		JMS I	(RELERR /COMPARE: AC DELIBERATELY NON-ZERO
002021  1036		TAD	EXPVAL+1
002022  0156		AND	[7	/IF WORD RELOCATABLE, EXP IS ABS
002023  3036		DCA	EXPVAL+1	>
002024  1043		TAD	WORD2	/SUBTR LOW 12 BITS
002025  7161		CLL CML CIA
002026  1037		TAD	EXPVAL+2
002027  3037		DCA	EXPVAL+2 /SAVE LOW HALF
002030  7004		RAL
002031  1042		TAD	WORD1	/SUBTRACT HIGH HALF
002032  7041		CIA
002033  0156		AND	[7	/DO NOT SUBTR ESD'S
002034  1036	ADRASX,	TAD	EXPVAL+1
002035  0376		AND	(7767	/PREVENT CARRY INTO BIT 8
002036  3036	ADRASY,	DCA	EXPVAL+1 /SAVE HIGH HALF
002037  5775		JMP I	(OPR8R	/GET OPERATOR
		/INDXX HERE FOR FLAP
			IFZERO	RALF	<
		/	SET BASE AND INDEX LOCS
		INDXX,	CLA STL RTL	/INDXR MUST JUST FOLLOW BASER
		BASEX,	TAD	(BASER-1	/POINT TO VALUE TO BE SET
			DCA	X12	/HOPEFULLY UNUSED XR
			JMS I	(ADRGET	/COLLECT EXPRESSION
			TAD 	EXPVAL+1
			DCA I	X12	/HIGH ORDER AND ESD
			TAD	EXPVAL+2
			DCA I	X12	/LOW ORDER
			JMP I	[NEXTST	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 27




002040  1042	ADRAND,	TAD	WORD1	/AND
002041  0036		AND	EXPVAL+1 /HIGH
002042  0156		AND	[7	/3 BITS
002043  3036		DCA	EXPVAL+1 /HALF
002044  1043		TAD	WORD2	/THEN
002045  0037		AND	EXPVAL+2 /LOW
002046  5261		JMP	ADRAOX
002047  1042	ADROR,	TAD	WORD1	/OR IS PERFORMED BY
002050  7040		CMA		/SETTING THE BITS
002051  0036		AND	EXPVAL+1 /THAT ARE ON IN B AND NOT ON IN A
002052  1042		TAD	WORD1	/AND THEN SETTING THE BITS
002053  0156		AND	[7
002054  3036		DCA	EXPVAL+1 /THAT ARE ON IN A
002055  1043		TAD	WORD2
002056  7040		CMA
002057  0037		AND	EXPVAL+2
002060  1043		TAD	WORD2
002061  3037	ADRAOX,	DCA	EXPVAL+2
			IFNZRO	RALF	<
002062  4774		JMS I	(NOREL	/**>
002063  5775		JMP I	(OPR8R	/GET NEXT OPERATOR
		/

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 28




002064  1043	ADRMUL,	TAD	WORD2	/**RL CODE
002065  7041		CIA
002066  3036		DCA	EXPVAL+1	/MULT BY 
002067  1037		TAD	EXPVAL+2	/REPEATED ADDITIONS
002070  2036		ISZ	EXPVAL+1
002071  5267		JMP	.-2
002072  5261		JMP	ADRAOX
002073  3042	ADRDIV,	DCA	WORD1
002074  3036		DCA	EXPVAL+1
002075  1043		TAD	WORD2
002076  7650		SNA	CLA
002077  5312		JMP	DIVERR
002100  1037		TAD	EXPVAL+2
002101  7141		CIA	CLL
002102  1043		TAD	WORD2
002103  7430		SZL
002104  5307		JMP	.+3	/DIVIDE BY
002105  2042		ISZ	WORD1	/COUNTING SUBTRACTIONS
002106  5302		JMP	.-4
002107  7200		CLA
002110  1042		TAD	WORD1
002111  5261		JMP	ADRAOX

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 29




002112  4574	DIVERR, JMS I   [ERMSG
002113  0626	        0626            /*DV*
002114  5775	        JMP I   (OPR8R  /CONTINUE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 30




002115  1017	PDPOPR,	TAD	CHRPTR
002116  3021		DCA	CPTMP
002117  1020		TAD	NCHARS
002120  3022		DCA	NCTMP
002121  4570		JMS I	[GETNAM	/LOOK FOR ANOTHER MICRO-INST
002122  5347		JMP	TRYEXP	/NONE
002123  1373		TAD	(33	/USE INTERNAL TABLE
002124  4561		JMS I	[FIND	/IS IT THERE ?
002125  5347		JMP	TRYEXP	/NO
002126  1372		TAD	(-PDPOP	/IS IT AN OPERATE ?
002127  7640		SZA CLA
002130  5347		JMP	TRYEXP	/NO
002131  1410		TAD I	X10	/GET VALUE
002132  6201		CDF	FLD0
002133  3037		DCA	EXPVAL+2
002134  1037	PDPOR,	TAD	EXPVAL+2
002135  7040		CMA		/OR THEM TOGETHER
002136  0046		AND	OPCODE
002137  1037		TAD	EXPVAL+2
002140  3046		DCA	OPCODE
002141  4575		JMS I	[GETCHR	/MORE CHARS ?
002142  5771		JMP I	(FPPS3	/NO-DONE
002143  1166		TAD	[-240	/BLANK ?
002144  7650		SNA CLA
002145  5315		JMP	PDPOPR	/YES-PROCESS NEXT
002146  5770		JMP I	(BADEXP
002147  6201	TRYEXP,	CDF	FLD0
002150  1021		TAD	CPTMP
002151  3017		DCA	CHRPTR
002152  1022		TAD	NCTMP
002153  3020		DCA	NCHARS
002154  2022		ISZ	NCTMP
002155  7410		SKP
002156  5771		JMP I	(FPPS3
002157  4565		JMS I	[EXPR
002160  5770		JMP I	(BADEXP
002161  5334		JMP	PDPOR
002162  4023	TXSYM,	TEXT " SYMBOLS,"
002163  3115
002164  0217
002165  1423
002166  5400
	0005		TXSLN=.-TXSYM
002170  1100
002171  1122
002172  7760
002173  0033
002174  1325
002175  1750
002176  7767
002177  1014
	2200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 31




		        IFZERO  RALF    <
		/
		/       LITERAL THINGS
		/
		CHKLIT, 0               /CHECK FOR LITERAL
		        DCA     PAGENO  /ZERO PAGE NUMBER
		        DCA     LITRL
		        JMS I   [GETCHR /GET CHARACTER
		        JMP I   CHKLIT  /NO LITERAL
		        TAD     (-250   /CHECK FOR (
		        SNA
		        ISZ     PAGENO  /CURRENT PAGE LITERAL
		        SZA             /SKIP IF ALREADY ZERO
		        TAD     (-63    /CHECK FOR [
		        SNA
		        ISZ     LITRL   /SET SWITCH
		        SZA CLA
		        JMS I   [BACK1  /PUT BACK NON ([
		        JMP I   CHKLIT
		/
		/       CREATE A LINK FOR OFF-PAGE REFERENCE
		/
		MAKLNK, TAD     (THSPAG /PROPER RETURN ADDR
		        DCA     CRLIT
		        TAD     OPCODE  /SET INDIRECT BIT
		        TAD     (400
		        DCA     OPCODE
		        CLA IAC
		        DCA     PAGENO  /SET INDICATOR
		        ISZ     LINKS   /COUNT ANOTHER LINK GENERATED
		        ISZ     LINKSW  /SET SWITCH FOR APOSTROPHE OUTPUT
		        JMP     NOTP0
		CRLIT,  0               /CREATE LITERAL
		                        /VALUE:EXPVAL, IN PAGE:PAGENO
		        TAD     PAGENO  /CHECK FOR PAGE 0
		        SNA CLA
		        JMP     ISP0    /PAGE 0 LITERAL
		NOTP0,  TAD     (CPLBUF /SET PTR TO LITERAL BUFFER
		        DCA     LITBAS
		        TAD     LOCTR2  /CHECK FOR LIT BUFFER FULL
		        AND     [100
		        SNA CLA
		        JMP     DOLIT-1 /USE 77 AS LIMIT
		        TAD     LOCTR2
		        AND     [177
		        JMP     DOLIT   /USE CURRENT ADDR AS LIMIT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 32




		ISP0,   TAD     (P0LBUF /USE PAGE 0 LIT BUFFER
		        DCA     LITBAS
		        TAD     [77     /ASSUME FIRST 64 WORDS USED
		DOLIT,  DCA     NWUSED
		        TAD     PAGENO  /GET POINTER TO
		        TAD     [P0LIT  /LITERAL BOUNDARY
		        DCA     XPAGE
		        TAD I   XPAGE   /DISPLACEMENT OF LIT BUFR - 1
		        DCA     LITPTR  /INTO LITPTR
		NOTIT,  TAD     LITPTR  /POINTER+SIZE
			TAD	(-177    /SHOULD BE LESS THAN 177
		        SMA CLA
		        JMP     NEWLIT  /ENTER NEW LITERAL
		        TAD     LITPTR  /NOW GET POINTER
		        TAD     LITBAS  /TO TABLE
		        DCA     X11     /FOR COMPARISON
		        ISZ     LITPTR  /INCREMENT POINTER
		        TAD I   X11     /GET WORD OF LITERAL
		        CIA
		        TAD     EXPVAL+2 /COMPARE PROTOTYPE
		        SZA CLA
		        JMP     NOTIT   /NOT IT, SLIDE POINTER AND RETRY
		LITADR, TAD     PAGENO  /PAGE 0 ?
		        SZA CLA
		        TAD     LOCTR2  /NO, CURRENT PAGE, GET ADDRESS
		        AND     [7600
		        TAD     LITPTR  /PLUS PAGE DISPLACEMENT
		        DCA     EXPVAL+2        /INTO VALUE
		        TAD     LOCTR1
		RETLIT, DCA     EXPVAL+1
		        JMP I   CRLIT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 33




		NEWLIT,	CLA CMA
			TAD I	XPAGE	/MOVE LITERAL BOUNDARY DOWN
			DCA	X10	/ADDRESS OF NEW LITERAL
			TAD	NWUSED	/CHECK FOR PAGE OVERFULL
			CIA
			TAD	X10
			SMA CLA
			JMP	.+5	/NOT FULL
			JMS I	[ERMSG	/*PO*
			2017
			DCA	EXPVAL+2	/ZERO ADDRESS
			JMP	RETLIT
			TAD	X10
			DCA I	XPAGE
			TAD I	XPAGE	/SET UP POINTER FOR MOVE
			TAD	LITBAS
			DCA	X10
			TAD	EXPVAL+2 /MOVE LITERAL IN
			DCA I	X10
			TAD I	XPAGE	/SET UP LITERAL ADDRESS
			IAC
			DCA	LITPTR
			JMP	LITADR	/RETURN LITERAL ADDRESS
		LITBAS,	0
		NWUSED,	0
		LITPTR,	0
		PAGENO,	0
		XPAGE,	0
			PAGE	/>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 34




		/
		/	FIND SYMBOL TABLE ENTRY
		/	FOR THE SYMBOL IN BUCKET AND NAME 1, 2, 3
		/	SKIP IF FOUND WITH TYPE IN AC
		/
002200  0000	FIND,	0		/SYMBOL TABLE LOOKUP
002201  1051		TAD	BUCKET	/GET BUCKET ADDRESS
002202  6211		CDF	FLD1	/GO TO FIELD 1
002203  3004	LOOK,	DCA	OLDN3	/THIS IS PTR OF PREV ENTRY
002204  1404		TAD I	OLDN3	/THIS IS ADR OF NEXT ENTRY
002205  7450		SNA		/IF ZERO, THEN
002206  5600		JMP I	FIND	/IT AIN'T HERE
002207  3010		DCA	X10	/SAVE NEXT NAME PTR
002210  1052		TAD	NAME1	/COMPARE NAMES
002211  7141		CIA CLL
002212  1410		TAD I	X10	/WORD 1
002213  7640		SZA CLA
002214  5236		JMP	NOTSAM
002215  1053		TAD	NAME2
002216  7141		CIA CLL
002217  1410		TAD I	X10	/WORD2
002220  7640		SZA CLA
002221  5236		JMP	NOTSAM
002222  1054		TAD	NAME3
002223  7141		CIA CLL
002224  1410		TAD I	X10	/COMPARE LAST CHAR
002225  0121		AND	NP7700	/HIGH HALF ONLY
002226  7640		SZA CLA
002227  5236		JMP	NOTSAM
002230  2200		ISZ	FIND	/IF FOUND BUMP RETURN
002231  1010		TAD	X10
002232  3066		DCA	LTEMP	/ADDR OF TYPE WORD
002233  1466		TAD I	LTEMP	/GET TYPE INTO AC
002234  0154		AND	[37	/WITHOUT FORCE BIT
002235  5600		JMP I	FIND	/RETURN
002236  7630	NOTSAM,	SZL CLA		/IS NAME 1,2,3 .LT. ENTRY
002237  5600		JMP I	FIND	/YES, IT ISN'T HERE
002240  1404		TAD I	OLDN3	/GET ADDR OF LINK INTO AC
002241  5203		JMP	LOOK	/LOOP

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 35




		/
		/	FIND SYMBOL, OR IF NOT THERE, CREATE ENTRY FOR IT
		/
002242  0000	LOOKUP, 0
002243  4200		JMS	FIND
002244  5250		JMP	.+4
002245  7440		SZA
002246  2242		ISZ	LOOKUP	/SKIP RETURN IF DEFINED
002247  5642		JMP I	LOOKUP	/RETURN TYPE CODE
002250  1404		TAD I	OLDN3	/GET FORWARD LINK TO
002251  3416		DCA I	NEXT	/NEXT ENTRY INTO NEW ENTRY
002252  1016		TAD	NEXT	/PUT FORWARD LINK TO NEW
002253  3404		DCA I	OLDN3	/ENTRY INTO PREVIOUS ENTRY
002254  1052		TAD	NAME1	/PUT IN NAME
002255  3416		DCA I	NEXT
002256  1053		TAD	NAME2
002257  3416		DCA I	NEXT
002260  1054		TAD	NAME3
002261  3416		DCA I	NEXT
002262  1016		TAD	NEXT	/X10=NEXT
002263  3010		DCA	X10
002264  1016		TAD	NEXT	/LTEMP=NEXT
002265  3066		DCA	LTEMP
002266  3416		DCA I	NEXT	/INITIAL VALUE IS ZERO
002267  3416		DCA I	NEXT
002270  1016		TAD	NEXT	/CHECK FOR TABLE FULL
002271  7100		CLL
002272  1155		TAD	[200	/GONNA OVERFLO PS8?
002273  7620		SNL CLA
002274  5642		JMP I	LOOKUP	/NO PROBLEMS, RETURN (NO SKIP)
002275  4547		JMS I	[ERMSG1
002276  2324		2324		/*ST*

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 36




		/
		/	COLLECT AN INTEGER IN THE CURRENT RADIX
		/
002277  0000	NUMBER,	0		/GET INTEGER NUMBER (NO SIGN)
002300  3364		DCA	NSWTCH	/CLEAR SWITCH
002301  3242		DCA	NOFLO	/CLEAR OVRFLO SW
002302  3042		DCA	WORD1	/CLEAR 24 BIT NUMBER
002303  3043		DCA	WORD2
002304  4777	NUMLUP,	JMS I	(DIGIT
002305  5350		JMP	NODGT	/TOO BAD
002306  3200		DCA	NUM	/YES, SAVE IT
002307  1042		TAD	WORD1	/SAVE CURRENT VALUE
002310  3067		DCA	NUM1	/OF NUMBER
002311  1043		TAD	WORD2
002312  3070		DCA	NUM2
002313  4364		JMS	SHIFT	/SHIFT WORD1,2, LEFT 1 (MULT BY 2)
002314  4364		JMS	SHIFT	/DO IT AGAIN (MULT BY 4)
002315  1065		TAD	RADIX	/LOOK AT RADIX (1=DECIMAL)
002316  7650		SNA CLA
002317  5331		JMP	OCTNUM	/ITS OCTAL
002320  7100		CLL		/DECIMAL, ADD IN NUMBER
002321  1070		TAD	NUM2
002322  1043		TAD	WORD2	/THUS MULTIPLYING BY 5
002323  3043		DCA	WORD2
002324  7004		RAL
002325  1067		TAD	NUM1
002326  1042		TAD	WORD1
002327  3042		DCA	WORD1
002330  5335		JMP	ADDDGT
002331  1200	OCTNUM,	TAD	NUM
002332  0157		AND	[7770	/CHECK FOR 8 OR 9
002333  7640		SZA CLA
002334  2242		ISZ	NOFLO	/SET ERROR FLAG
002335  4364	ADDDGT,	JMS	SHIFT	/SHIFT LEFT 1 AGAIN, THUS
002336  1043		TAD	WORD2	/MULTIPLYING BY 8 OR 10
002337  7100		CLL		/THEN ADD IN NEW DIGIT
002340  1200		TAD	NUM
002341  3043		DCA	WORD2
002342  7004		RAL
002343  1042		TAD	WORD1
002344  3042		DCA	WORD1
002345  7430		SZL		/BEWARE OF OVERFLO
002346  2242		ISZ	NOFLO
002347  5304		JMP	NUMLUP	/LOOP

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 37




002350  1364	NODGT,	TAD	NSWTCH	/WAS THERE A NUMBER
002351  7650		SNA CLA
002352  2277		ISZ	NUMBER	/NO, SKIP
002353  1042		TAD	WORD1
002354  0157		AND	[7770	/CHECK FOR MORE THAN 15 BITS
002355  7450		SNA
002356  1242		TAD	NOFLO	/OR GROSS OVERFLOW
002357  7650		SNA CLA
002360  5677		JMP I	NUMBER	/ALL GREEN
002361  4574		JMS I	[ERMSG
002362  1605		1605		/*NE*
002363  5677		JMP I	NUMBER	/RETURN
	2242	NOFLO=	LOOKUP		/ZERO IF NO ERRORS
	2200	NUM=	FIND
	0067	NUM1=	EXTMP
	0070	NUM2=	EXTMP2
		NSWTCH,			/ZERO IF NO DIGITS
002364  0000	SHIFT,	0		/SHIFT DOUBLE WORD LEFT 1
002365  1043		TAD	WORD2
002366  7104		CLL RAL
002367  3043		DCA	WORD2
002370  1042		TAD	WORD1
002371  7004		RAL
002372  3042		DCA	WORD1
002373  7430		SZL		/IF BIT SHIFTED FROM HI WORD,
002374  2242		ISZ	NOFLO	/SET ERROR FLAG
002375  5764		JMP I	SHIFT
002377  2534
	2400		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 38




		/
		/	BACK UP GETCHR POINTERS,
		/	WE DON'T WANT THIS ONE
		/
002400  0000	BACK1,	0
002401  7240		CLA CMA		/BACKUP COUNT
002402  1020		TAD	NCHARS
002403  3020		DCA	NCHARS
002404  7240		CLA CMA		/AND POINTER
002405  1017		TAD	CHRPTR
002406  3017		DCA	CHRPTR
002407  5600		JMP I	BACK1
		/
		/	GET NEXT CHAR FROM LINE BUFFER
		/	FOR ASSEMBLY PURPOSES ONLY
		/	SKIP UNLESS END OF LINE (CR, ;, OR /)
		/
002410  0000	GETCHR,	0
002411  4226		JMS	GETAC
002412  2210	GETSKP,	ISZ	GETCHR	/SKIP RETURN
002413  5610		JMP I	GETCHR
002414  4226	BLANK,	JMS	GETAC	/COME HERE IF BALNK OR TAB
002415  1377		TAD	(-257	/END OF LINE ON SLASH AFTER BLANK
002416  7650		SNA CLA
002417  5231		JMP	GETCND
002420  4200		JMS	BACK1	/PUT IT BACK
002421  1152		TAD	[240	/AND RETURN A SINGLE BLANK
002422  5212		JMP	GETSKP	/SKIP OUT
002423  2064	SEMICL,	ISZ	SCSWT
002424  4200		JMS	BACK1	/PUT BACK SEMI COLON
002425  5610		JMP I	GETCHR
002426  0000	GETAC,	0
002427  2020		ISZ	NCHARS	/END OF LINE?
002430  5234		JMP	.+4	/NO, GET IT
002431  7240	GETCND,	CLA CMA		/YES, RESET IN CASE OF 
002432  3020		DCA	NCHARS	/ANOTHER CALL
002433  5610		JMP I	GETCHR	/RETURN END OF LINE
002434  1417		TAD I	CHRPTR	/PICK UP NEXT
002435  1166		TAD	[-240	/CHECK FOR BLANK
002436  7440		SZA
002437  1376		TAD	(240-211 /OR TAB
002440  7450		SNA
002441  5214		JMP	BLANK	/THEY GET SPECIAL HANDLING
002442  1375		TAD	(211-273 /LOOKOUT FOR SEMICOLON
002443  7450		SNA
002444  5223		JMP	SEMICL	/ALSO SPECIAL
002445  1374		TAD	(273-276 /IGNORE CLOSE ANGLE BRACKET
002446  7450		SNA
002447  5227		JMP	GETAC+1	/GET ANOTHER
002450  1373		TAD	(276	/ELSE, RESTORE CHAR
002451  5626		JMP I	GETAC	/AND PASS IT BACK

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 39




		/
		/	COLLECT A SYMBOL IN BUCKET, NAME 1,2, & 3
		/	NO SKIP ON RETURN IF NO SYMBOL
		/
002452  0000	GETNAM,	0
002453  3052		DCA	NAME1	/CLEAR SYMBOL SPACE
002454  3053		DCA	NAME2
002455  3054		DCA	NAME3
002456  4321		JMS	LETTER	/GET A LETTER
002457  5267		JMP	ISSYM
002460  4210		JMS	GETCHR	/CHECK FOR #
002461  5652		JMP I	GETNAM	/NOPE
002462  1372		TAD	(-"#
002463  7650		SNA CLA
002464  5267		JMP	ISSYM
002465  4200		JMS	BACK1
002466  5652		JMP I	GETNAM
002467  3051	ISSYM,	DCA	BUCKET
002470  2252		ISZ	GETNAM	/ONE LETTER DOTH A SYMBOL MAKE
002471  4312		JMS	GNC	/FRIENDLY LOCAL SUBR
002472  4350		JMS	R6L
002473  3052		DCA	NAME1
002474  4312		JMS	GNC
002475  1052		TAD	NAME1
002476  3052		DCA	NAME1
002477  4312		JMS	GNC
002500  4350		JMS	R6L
002501  3053		DCA	NAME2
002502  4312		JMS	GNC
002503  1053		TAD	NAME2
002504  3053		DCA	NAME2
002505  4312		JMS	GNC
002506  4350		JMS	R6L
002507  3054		DCA	NAME3
002510  4312		JMS	GNC	/AFTER 6, WE IGNORE
002511  7610		SKP CLA
002512  0000	GNC,	0
002513  4321		JMS	LETTER
002514  5712		JMP I	GNC	/RETTURN LETTER
002515  4334		JMS	DIGIT
002516  5652		JMP I	GETNAM	/EMPTY HANDED, RETURN TO CALLER
002517  1371		TAD	(60
002520  5712		JMP I	GNC

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 40




		/
		/	IF NEXT CHAR IS A LETTER, RETURN 6 BITS
		/	IF NOT, REPLACE CHAR AND SKIP.
		/
002521  0000	LETTER,	0
002522  4210		JMS	GETCHR
002523  5332		JMP	NLETR	/NO LETTER, SKIP
002524  1370		TAD	(-333
002525  7120		CLL CML
002526  1367		TAD	(33
002527  7460		SZA SNL		/DON'T ALLOW 300
002530  5721		JMP I	LETTER
002531  4200		JMS	BACK1
002532  2321	NLETR,	ISZ	LETTER
002533  5721		JMP I	LETTER
		/
		/	IF NEXT CHAR IS A DIGIT (0-9) RETURN VALUE AND SKIP
		/
002534  0000	DIGIT,	0
002535  4210		JMS	GETCHR
002536  5734		JMP I	DIGIT
002537  1366		TAD	(-272
002540  7100		CLL
002541  1365		TAD	(12
002542  7420		SNL
002543  5346		JMP	NDIGT
002544  2334		ISZ	DIGIT
002545  5734		JMP I	DIGIT
002546  4200	NDIGT,	JMS	BACK1
002547  5734		JMP I	DIGIT
		/
002550  0000	R6L,	0
002551  7106		CLL RTL
002552  7006		RTL
002553  7006		RTL
002554  5750		JMP I	R6L
		/
002555  0000	R6R,	0
002556  7012		RTR
002557  7012		RTR
002560  7012		RTR
002561  0163		AND	[77
002562  5755		JMP I	R6R
002565  0012
002566  7506
002567  0033
002570  7445
002571  0060
002572  7535
002573  0276
002574  7775
002575  7716

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 40-1

002576  0027
002577  7521
	2600		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 41




		/
		/	BUILD AN INSTRUCTION
		/
002600  0000	FIXOPC,	0		/COMBINE OPCODE PARTS
002601  1047		TAD	XFLAG	/CHECK INDEX SWITCH
002602  7650		SNA CLA
002603  5216		JMP	ZRONDX	/IF ZERO, NO INDEX REG
002604  7240		CLA CMA
002605  1055		TAD	LASTOP	/IF INDEX, CHECK FOR INCR
002606  7650		SNA CLA
002607  1150		TAD	[100	/YES, PUT + BIT ON
002610  1046		TAD	OPCODE	/COMBINE WITH OPCODE
002611  3046		DCA	OPCODE
002612  1037		TAD	EXPVAL+2 /GET INDEX REG. EXPR
002613  0156		AND	[7	/ONLY 3 BITS
002614  7106		CLL RTL		/SHIFT INTO POSITION
002615  7004		RAL
002616  1046	ZRONDX,	TAD	OPCODE	/ADD OPCODE
002617  1377		TAD	(400	/TURN ON TYPE BIT
002620  3046		DCA	OPCODE	/SAVE OPCODE
002621  5600		JMP I	FIXOPC	/RETURN
		/
		OPR8RS,
002622  7525		-253		/PLUS
002623  7523		-255		/MINUS
002624  7526		-252		/STAR (MULTIPLY) **
002625  7521		-257		/SLASH (DIVIDE)
002626  7532		-246		/AMPERSAND (AND)
002627  7540		-240		/SPACE (OR)
002630  7537		-241		/EXCLAMATION (OR)
002631  0000		0		/END OF LIST

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 42




		/
		/	FATAL ERRORS
		/
002632  0000	ERMSG1, 0		/PASS 1 (FATAL) MESSAGES
002633  6201		CDF
002634  1632		TAD I	ERMSG1	/GET CODE
002635  3240		DCA	.+3
002636  3056		DCA	PASSNO
002637  4244		JMS	ERMSG	/DO THE MSG THING
002640  0000		0
			IFZERO	RALF	<
		RETSYS, 	>
002641  6041		TSF		/FINISH TYPING
002642  5241		JMP	.-1
002643  5573		JMP I	[7600	/EXIT TO PS8
		/
		/	GENERAL GARBAGE TYPE ERRORS
		/
002644  0000	ERMSG,	0
002645  6201		CDF	FLD0	/FIX FIELD
002646  7200		CLA		/NO MESSAGE ON PASS 1
002647  1056		TAD	PASSNO
002650  7540		SMA SZA		/IF PASS 3, OUTPUT LEADING CRLF
002651  4577		JMS I	[CRLF
002652  7710		SPA CLA
002653  5271		JMP	MSGDUN
002654  1376		TAD	(5555	/MINUSES
002655  4576		JMS I	[PRINT2
002656  1644		TAD I	ERMSG	/2-CHAR CODE
002657  4576		JMS I	[PRINT2 /PRINT THE MESSAGE
002660  1376		TAD	(5555
002661  4576		JMS I	[PRINT2
002662  1056		TAD	PASSNO
002663  7640		SZA CLA
002664  5270		JMP	.+4
002665  4576		JMS I	[PRINT2
002666  4775	PLINE,	JMS I	(PRNTLN
002667  4577		JMS I	[CRLF
002670  2104		ISZ	ERRORS	/BUMP COUNT
002671  2244	MSGDUN, ISZ	ERMSG
002672  5644		JMP I	ERMSG

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 43




		/
		/	OUTPUT DECIMAL
		/	SUPPRESS LEADING ZEROS
		/	PRINT "NO" INSTEAD OF "0"
		/
002673  0000	DECOUT,	0
002674  7450		SNA		/ZERO IS SPECIAL
002675  5311		JMP	DECNO	/NO INSTEAD OF 0
002676  3005		DCA	OTEMP
002677  3006		DCA	OCNT
002700  4314		JMS	DEC2	/GET THOUSANDS
002701  6030		-1750
002702  4314		JMS	DEC2	/HUNDREDS
002703  7634		-144
002704  4314		JMS	DEC2	/TENS
002705  7766		-12
002706  1005		TAD	OTEMP	/UNITS (NO ZERO SUPPRESS HERE)
002707  4351		JMS	PDIG	/PRINT LAST DIGIT
002710  5673		JMP I	DECOUT	/EASY, WHEN YOU KNOW HOW
		/
002711  1374	DECNO,	TAD	(1617	/NO
002712  4576		JMS I	[PRINT2
002713  5673		JMP I	DECOUT
		/
		/	LAZY MAN'S DIVISION
		/
002714  0000	DEC2,	0
002715  6201		CDF	FLD0	/JUST TO MAKE SURE
002716  7300	DEC3,	CLA CLL
002717  1005		TAD	OTEMP
002720  7450		SNA
002721  5330		JMP	DEC4
002722  1714		TAD I	DEC2	/SUBTRACT DIVISOR
002723  7420		SNL		/TOO MUCH?
002724  5330		JMP	DEC4	/YES, STOP NOW
002725  3005		DCA	OTEMP	/NO, SAVE NEW REMAIN
002726  2006		ISZ	OCNT	/BUMP QUOTIENT
002727  5316		JMP	DEC3	/DO IT AGAIN
002730  7200	DEC4,	CLA
002731  2314		ISZ	DEC2	/SKIP RETURN
002732  1006		TAD	OCNT	/CHECK FOR SIGNIFICANCE
002733  7450		SNA
002734  5714		JMP I	DEC2	/NONE
002735  4351		JMS	PDIG
002736  7330		CLA STL RAR	/FORCE SIGNIFICANCE
002737  3006		DCA	OCNT
002740  5714		JMP I	DEC2

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 44




		/
002741  7667	TENTH,	-111
002742  1463		1463;1463;1463
002743  1463
002744  1463
002745  1463		1463;1463;1463
002746  1463
002747  1463
002750  0001	TEN,	1
002751  0000	PDIG,	0
002752  1355		TAD	P260
002753  4505		JMS I	PC
002754  5751		JMP I	PDIG
002755  0260	P260,	260
002756  0005		5
		/
		/	OCTAL CONVERSION, THE HARD WAY
		/
002757  0000	OCTOUT,	0
002760  3005		DCA	OTEMP
002761  7130		STL RAR		/NO ZERO SUPPRESS
002762  3006		DCA	OCNT
002763  4314		JMS	DEC2
002764  7000		-1000
002765  4314		JMS	DEC2
002766  7700		-100
002767  4314		JMS	DEC2
002770  7770		-10
002771  1005		TAD	OTEMP
002772  4351		JMS	PDIG
002773  5757		JMP I	OCTOUT
002774  1617
002775  1400
002776  5555
002777  0400
	3000		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 45




		/
		/	OUTPUT ONE WORD
		/
			IFNZRO	RALF	<
		/
		/	TEXT TYPE CODES:
	0400	TTABS=	0400
	1000	TTORG=	1000
	1400	TTREL=	1400
		/
003000  3311	OUTREL, DCA	WRD	/HOLD FIRST WORD
003001  3113		DCA	LINKSW	/CLEAR ABSOLUTE REF INDICATOR
003002  1044		TAD	FPPADR	/GET ESD CODE
003003  7012		RTR
003004  7012		RTR		/RIGHT IN AC
003005  0146		AND	[177	/STRIP TO ESD ONLY
003006  7450		SNA		/CHECK FOR ABSOLUTE
003007  5232		JMP	PUTABS
003010  3044		DCA	FPPADR	/SAVE ESD
003011  1056		TAD	PASSNO	/CHECK FOR PASS 2
003012  7640		SZA CLA
003013  5234		JMP	PRNTRL	/IF NOT, TREAT NORMALLY
003014  3115		DCA	ABSOP
003015  7326		CLA STL RTL
003016  4777		JMS I	(FULCHK	/ENSURE 3 WORDS LEFT
003017  1044		TAD	FPPADR	/GET ESD AGAIN
003020  1376		TAD	(TTREL	/INSERT CONTROL CODE
003021  3415		DCA I	OUTPTR
003022  1311		TAD	WRD	/FIRST DATUM
003023  3415		DCA I	OUTPTR
003024  1045		TAD	FPPADR+1
003025  3415		DCA I	OUTPTR
003026  4777		JMS I	(FULCHK	/IS IT FULL?
003027  4311		JMS	BMPLOC	/TWO WORDS OUT
003030  4311		JMS	BMPLOC	/SO LOCCTR +2
003031  5564		JMP I	[NEXTST
003032  2114	PUTABS,	ISZ	ABREFS	/COUNT IT
003033  2113		ISZ	LINKSW	/SET FLAG
003034  1311	PRNTRL,	TAD	WRD	/GET FIRST WORD
003035  4241		JMS	OUTWRD
003036  1045		TAD	FPPADR+1
003037  4241		JMS	OUTWRD
003040  5564		JMP I	[NEXTST	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 46




		/
003041  0000	OUTWRD, 0	       /OUTPUT ROUTINE
003042  3311	        DCA     WRD     /SAVE WORD
		        IFZERO  RALF    <
		        TAD     LOCTR2  /GET LOW 12 BITS OF LOCATION
		        JMS I   [R6L
		        AND     [37     /GET PAGE NUMBER (WITHIN FIELD)
		        DCA     OTEMP   /SAVE PAGE NUMBER
		        TAD     OTEMP
			SZA CLA		/POINTER TO LITERAL POINTER
		        IAC
		        TAD     [P0LIT
		        DCA     OWTEMP
		        TAD     LOCTR2  /GET CURRENT ADDRESS DISPLACEMENT
		        AND     [177
			CIA		/COMPARE WITH LITERAL BOUNDARY
		        TAD I   OWTEMP
		        SMA CLA
		        JMP     .+3     /NO PAGE OVER FLOW
		        JMS I   [ERMSG
			2017		/*PO*>
003043  1056		TAD	PASSNO	/CHECK PASS
003044  7440		SZA
003045  5263		JMP	PRNTST	/ITS NOT PASS 2
			IFZERO	RALF	<
		        TAD     WRD     /NOW OUTPUT WORD
		        JMS I   [R6R
		        JMS     OOCHAR
		        TAD     WRD
		        AND     [77
		        JMS     OOCHAR  >
		        IFNZRO  RALF    <
003046  1115	        TAD     ABSOP   /CHECK FOR ALREADY IN ABS OUTPUT
003047  7640	        SZA CLA
003050  5257	        JMP     INABS   /NO PROBLEM
003051  7201	        CLA IAC
003052  4777	        JMS I   (FULCHK
003053  1375	        TAD     (TTABS  /SET ABS CONTROL CODE
003054  3415	        DCA I   OUTPTR
003055  1015	        TAD     OUTPTR  /SAVE POINTER FOR FUTRUE REF
003056  3115	        DCA     ABSOP
003057  2515	INABS,  ISZ I   ABSOP   /BUMP COUNT
003060  1311	        TAD     WRD
003061  3415	        DCA I   OUTPTR
003062  4777	        JMS I   (FULCHK /GOOD!>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 47




003063  7740	PRNTST, SMA SZA CLA
003064  1061		TAD	LISTSW	/IS LIST ON ?
003065  7650		SNA CLA
003066  5307		JMP	ENDOUT	/NO, DONT PRINT
003067  4577		JMS I	[CRLF	/NEW LINE
003070  1026		TAD	LOCTR1	/PRINT LOCATION COUNTER
003071  0156		AND	[7
003072  4774		JMS I	(PDIG
003073  1027		TAD	LOCTR2	/NEXT FOUR DIGITS
003074  4545		JMS I	[OCTOUT
003075  1152		TAD	[240
003076  4505		JMS I	PC
003077  1311		TAD	WRD	/NOW WORD
003100  4545		JMS I	[OCTOUT
003101  1113		TAD	LINKSW	/LINK GENERATED ON THIS LINE?
003102  7640		SZA CLA
003103  1373		TAD	(4700	/IF SO, GIVE APOSTROPHE SPACE
003104  4576		JMS I	[PRINT2
003105  3113		DCA	LINKSW	/CLEAR SW
003106  4776		JMS I	(PRNTLN /PRINT LINE IF NECESSARY
003107  4311	ENDOUT,	JMS	BMPLOC	/BUMP LOC CNTR
003110  5641		JMP I	OUTWRD	/RETURN
		/
		WRD,
003111  0000	BMPLOC,	0
003112  2027		ISZ	LOCTR2	/BUMP LOW ORDER
003113  5711		JMP I	BMPLOC
003114  7201		CLA IAC
003115  1026		TAD	LOCTR1
003116  0372		AND	(7767	/STOP CARRY INTO BIT 8
003117  3026		DCA	LOCTR1
003120  5711		JMP I	BMPLOC

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 48




			IFZERO	RALF	<
		/
		/	PUNCH CONTROL
		/
		NOPNCX,	CLA IAC
		ENPNCX,	DCA	PNCHOF
			JMP I	[NEXTST
		/
		/	OUTPUT AN ORIGIN
		/
		PUTORG, 0
			TAD	PASSNO	/CHECK FOR PASS 2
			SZA CLA
			JMP I	PUTORG	/ELSE FORGET IT
			TAD	LOCTR2	/OUTPUT FIRST CHAR
			JMS I	[R6R
			TAD	[100
			JMS	OOCHAR	/OUTPUT CHAR
			TAD	LOCTR2	/NOW LOWER HALF OF ORIGIN
			AND	[77
			JMS	OOCHAR
			JMP I	PUTORG
		OWTEMP,
		CHAROO, 0
		OOCHAR, 0		/OUTPUT CHAR AND COMPUTE CHKSUM
			DCA	CHAROO
			TAD	PNCHOF	/PUNCHING?
			SZA CLA
			JMP I	OOCHAR	/NOPE
			TAD	CHAROO
			TAD	CHKSUM
			DCA	CHKSUM
			TAD	CHAROO
			JMS I	[OCHAR
			JMP I	OOCHAR	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 49




		/
		/	BEGIN NEXT PASS
		/	WITH APPROPRIATE THINGS RESET
		/	TO DEFAULT VALUES
		/
003121  4771	RESET,	JMS I	(IOPEN	/RE-SELECT FIRST INPUT FILE
003122  1116		TAD	USR	/EITHER 200 OR 7700
003123  7710		SPA CLA		/IS USR IN CORE?
003124  5332		JMP	.+6	/NO
003125  6212		CIF	10	/YES, DISMISS IT
003126  4516		JMS I	USR
003127  0011		11		/USROUT
003130  1121		TAD	NP7700
003131  3116		DCA	USR	/ITS GONE
			IFNZRO	RALF	<
003132  7326		CLA STL RTL	/COUNTING FROM 2,
003133  3025		DCA	ESDNO	/RESET ESD COUNT
003134  4770		JMS I	(CLRSCT	/ZERO ALL SECTION LENGTHS>
003135  3057		DCA	ASMOF	/ZERO CONDITIONAL SWITCH
003136  3064		DCA	SCSWT	/ZERO SEMICOLON SWITCH
003137  1117		TAD	SYONLY	/IF NOT SYM MAP ONLY
003140  3061		DCA	LISTSW	/FORCE LIST ENABLE
003141  7201		CLA IAC
003142  3110		DCA	LPAGE1
003143  3111		DCA	LPAGE2
003144  7240		CLA CMA
003145  3112		DCA	LINPAG
			IFZERO	RALF	<
			TAD	[177
			DCA	P0LIT	/RESET LITERAL BUFFER POINTERS
			TAD	[177
			DCA	CPLIT
			TAD	[200	>
003146  3027		DCA	LOCTR2	/LOCATION COUNTER
			IFNZRO	RALF	<
003147  1367		TAD	(20	>
003150  3026		DCA	LOCTR1
003151  7130		CLL CML RAR	/4000
003152  3031		DCA	BASER	/SET BASE BEYOND BELIEF
003153  3033		DCA	INDXR
003154  3034		DCA	INDXR+1
003155  3065		DCA	RADIX	/RESET DEFAULT OCTAL
003156  3104		DCA	ERRORS	/ZERO ERROR COUNT
003157  3114		DCA	LINKS
003160  2056		ISZ	PASSNO	/BUMP PASS NUMBER
003161  5766		JMP I	(NEWLIN
003162  5766		JMP I	(NEWLIN	/DO NEXT PASS
003166  0240
003167  0020
003170  1273
003171  4203
003172  7767

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 49-1

003173  4700
003174  2751
003175  0400
003176  1400
003177  4600
	3200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 50




		/
		/	END OF A PASS
		/
		ENDX,	IFZERO	RALF	<
			DCA	PNCHOF	/RE-ENABLE PUNCH>
			IFNZRO	RALF	<
003200  4777		JMS I	(BORG	/SET MAX LEN OF CURRENT SECT>
003201  1056		TAD	PASSNO
003202  7700		SMA CLA		/WHAT PASS WAS THIS?
003203  5212		JMP	EOP2	/NOT THE FIRST
			IFNZRO	RALF	<
003204  1376		TAD	(INBUF-400
003205  3775		DCA I	(INBUFP	/MOVE INPUT BUFFER OVER DMPESD>
003206  1107		TAD	BFILE
003207  7650		SNA CLA
003210  5217		JMP	START3	/NO BINARY, START PASS 3
			IFZERO	RALF	<
			TAD	[200	/START BIN OUT WITH L/T
			JMS I	[OCHAR
			JMP I	(RESET	>
			IFNZRO	RALF	<
003211  5774		JMP I	(DMPESD	/OUTPUT EXT SYM TABLE>
		/
		EOP2,	IFZERO	RALF	<
			CLA IAC		/DUMP CURRENT PAGE LITERALS
			JMS I	(DMPLIT
			JMS I	(DMPLIT	/THEN DUMP PAGE 0 LITERALS>
003212  1056		TAD	PASSNO
003213  7740		SMA SZA CLA
003214  5225		JMP	EOP3	/YES, PRINT SYMBOL TABLE
			IFZERO	RALF	<
			TAD	CHKSUM	/OUTPUT CHECKSUM
			JMS I	[R6R
			JMS I	[OCHAR
			TAD	CHKSUM
			AND	[77
			JMS I	[OCHAR	/LOWER HALF
			TAD	[200	/TRAILER CHAR
			JMS I	[OCHAR	>
			IFNZRO	RALF	<
003215  3415		DCA I	OUTPTR	/SET OUTPUT END INDICATOR>
003216  4773		JMS I	(OCLOSE	/CLOSE THE BINARY FILE
003217  3056	START3,	DCA	PASSNO	/SKIP PASS TWO
003220  4772		JMS I	(OOPEN	/OPEN LISTING FILE
			IFZERO	RALF	<
			JMP	NOP3	/NO LISTING, GIVE INFO ON TTY>
			IFNZRO	RALF	<
003221  5771		JMP I	(RETSYS	>
003222  1144		TAD	[OCHAR	/CHANGE PRINT ROUTINE
003223  3105		DCA	PC
003224  5770		JMP I	(RESET	/NO,RESET EVERYTHING

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 51




		/
		/       END OF LAST PASS
		/       GIVE SOME STATISTICS
		/
003225  7240	EOP3,   CLA CMA
003226  3112	        DCA     LINPAG
003227  4577		JMS I   [CRLF
003230  4767	NOP3,	JMS I	(7607	/READ IN OVERLAY
003231  0100		0100
003232  5000	OVERLY,	OVBUFR
003233  0040		40		/USE SYS SCRATCH BLK
003234  5766		JMP I	(7605
003235  5632		JMP I	OVERLY

003236  0000	CHCKMR,	0
003237  1046		TAD	OPCODE	/BE SURE ALL REFS ARE
003240  0155		AND	[200	/ARE ON SAME PG
003241  7640		SZA CLA
003242  1027		TAD	LOCTR2
003243  0173		AND	[7600
003244  7041		CIA
003245  1037		TAD	EXPVAL+2
003246  0173		AND	[7600
003247  7640		SZA	CLA
003250  4574	ADRERR,	JMS I	[ERMSG
003251  0201		0201		/**BA**
003252  1037		TAD	EXPVAL+2
003253  0146		AND	[177
003254  1046		TAD	OPCODE
003255  4560		JMS I	[OUTWRD
003256  5564		JMP I	[NEXTST

003257  1263	IOERR,	TAD	INOP		/REMOVE JMS PRNTLN
003260  3765		DCA I	(PLINE
003261  4547		JMS I	[ERMSG1
003262  1117		1117			/**IO**
003263  7000	INOP,	NOP

003365  2666
003366  7605
003367  7607
003370  3121
003371  3425
003372  4400
003373  4474
003374  5600
003375  4242
003376  5400
003377  3514
	3400		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 52




		        IFZERO  RALF    <
		/       ORG THINGS FOR ABSOLUTE ASSEMBLIES
		/
		TRYSTR, JMS I   [GETCHR
		        JMP I   [NEXTST /WHAT CAN YOU DO?
		        TAD     (-252   /IS IT AN ORG
		        SZA CLA
		        JMP I   (GETEXP /NO, SOME FUNNY EXPR, MAYBE
		ORGX,   JMS I   (ADRGET
		        TAD     LOCTR1  /CHECK FOR NEW FIELD
		        CIA
		        TAD     EXPVAL+1
		        SNA CLA
		        JMP     SAMFLD  /NOT A DIFFERENT FIELD
		        CLA IAC
		        JMS     DMPLIT  /DUMP CURRENT PAGE LITERALS
		        JMS     DMPLIT  /DUMP PAGE 0 LITERALS
		        TAD     EXPVAL+1
		        AND     [7
		        DCA     LOCTR1
		        TAD     PNCHOF  /PUNCHING ENABLED?
		        SNA
		        TAD     PASSNO  /PASS 2?
		        SZA CLA
		        JMP     SAMPAG  /NO, DON'T OUTPUT CHANGE FIELD
		        TAD     LOCTR1  /NEW FIELD BITS
		        RTL CLL
		        RAL
		        TAD     (300    /TURN ON THE LEFT TWO BITS
		        JMS I   [OCHAR  /PUT IT OUT (NOT IN CHECK SUM)
		        JMP     SAMPAG  /DO THE SAME FOR CURRENT PAGE
		SAMFLD, TAD     LOCTR2
		        AND     [7600   /CHECK FOR SAME PAGE
		        DCA     LTEMP
		        TAD     EXPVAL+2
		        AND     [7600
		        CIA
		        TAD     LTEMP
		        SNA CLA
		        JMP     SAMPAG  /PAGE IS THE SAME
		        CLA IAC
		        JMS     DMPLIT  /DUMP CURRENT PAGE LITERALS
		SAMPAG, TAD     EXPVAL+2
		        DCA     LOCTR2
		        JMS I   (PUTORG
		        JMP I   [NEXTST /DONE
		PAGEX,  TAD     LOCTR2  /ADVANCE TO NEXT PAGE
		        CLL
		        TAD     [177
		        AND     [7600
		        DCA     EXPVAL+2
		        RAL

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 52-1

		        TAD     LOCTR1
		        DCA     EXPVAL+1
		        JMP     ORGX+1  /DO ORG THINGS

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 53




		DMPLIT, 0
			DCA	PAGEN	/SAVE PAGE INDICATOR
			TAD	OUTSWT	/SAVE OUTPUT SWITCH
			DCA	SWTOUT
			ISZ	OUTSWT	/DONT PRINT LINE WITH LITERALS
			TAD	PAGEN
			TAD	[P0LIT	/GET BOUNDARY POINTER
			DCA	LTEMP
			TAD	PAGEN	/WHICH LITERAL BUFFER ?
			SNA CLA
			TAD	(P0LBUF-CPLBUF	/PAGE 0 BUFFER
			TAD	(CPLBUF /CURRENT PAGE BUFFER
			TAD I	LTEMP	/PLUS	PAGE ADDRESS
			DCA	X10	/GIVES START OF LITERALS -1
			TAD	PAGEN
			SZA CLA
			TAD	LOCTR2	/UPPER FIVE BITS OF ADDRESS
			AND	[7600
			TAD I	LTEMP	/PLUS LOWER SEVEN
			IAC		/PLUS ONE
			DCA	LOCTR2	/GIVES LOCATION COUNTER
			TAD	LOCTR2
			AND	[177	/ANYTHING TO DUMP?
			SNA CLA
			JMP	DMPFIN	/NO
			TAD	PASSNO
			SMA SZA CLA
			JMS I	[CRLF	/ONLY IF PASS 3
			JMS I	(PUTORG
			TAD	[177	/STORE SPURIOUS LITERAL BOUNDARY
			DCA I	LTEMP	/TO PREVENT FALLACIOUS *PO* MESSAGES
		LITLUP, TAD I	X10	/NO, GET NEXT LITERAL
			JMS I	[OUTWRD /OUTPUT WORD AND BUMP LC
			TAD	X10	/DONE?
			IAC
			AND	[77
			SZA CLA
			JMP	LITLUP	/LOOP
		DMPFIN, TAD	SWTOUT	/RESTORE OUTPUT SWITCH
			DCA	OUTSWT
			JMP I	DMPLIT	/ALL DONE
		SWTOUT, 0 >

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 54




003400  1055	EXPON,	TAD	LASTOP
003401  3224		DCA	TMP
003402  3055		DCA	LASTOP
003403  4777		JMS I	(GETSGN		/GET SIGN OF EXPONENT
003404  1065		TAD	RADIX
003405  3005		DCA	OTEMP
003406  2065		ISZ	RADIX		/SET RADIX TO DECIMAL
003407  4776		JMS I	(NUMBER		/GET EXPONENT
003410  7000		NOP
003411  1005		TAD	OTEMP
003412  3065		DCA	RADIX		/RESTORE RADIX
003413  1224		TAD	TMP
003414  7110		CLL RAR
003415  1055		TAD	LASTOP
003416  7010		RAR		/LASTOP TO LINK,
003417  3055		DCA	LASTOP	/TMP TO SIGN OF LASTOP
003420  1043		TAD	WORD2
003421  7430		SZL
003422  7041		CIA			/PUT SIGN ON EXP
003423  5775		JMP I	(OVER
003424  0000	TMP,	0
			IFZERO RALF	<	PAGE /	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 55




			IFNZRO	RALF	<
		/
		/	IF ALL CONDITIONS ARE RIGHT, CALL THE LOADER
		/
003425  4774	RETSYS,	JMS I	(DELFIL	/THIS LOCATION USED BY INIT CODE
		/MAY BE ZEROED BY IT. USED TO DELETE F4 OUTPUT FILE WHEN CHAINING
		/FROM COMPILER + OUTPUT DEV IS NOT SYS
003426  6211		CDF	10
003427  1373		TAD	(7604	/POINT TO 2ND OUT FILE THING
003430  3011		DCA	X11
003431  1372		TAD	(7611	/POINTER TO 3RD
003432  3010		DCA	X10
003433  1371		TAD	(-5	/LENGTH OF SUCH THINGS
003434  3066		DCA	LTEMP
003435  1410		TAD I	X10	/MOVE 3RD TO 2ND
003436  3411		DCA I	X11	/FOR LOADER MAP FILE
003437  2066		ISZ	LTEMP
003440  5235		JMP	.-3
003441  1573		TAD I	[7600	/WAS THERE A FIRST OUT FILE
003442  0120		AND	NP17	/(BINARY OUT)*
003443  3066		DCA	LTEMP
003444  1272		TAD	OUTBLK	/GET FILE LENGTH
003445  0370		AND	(377
003446  7106		CLL RTL
003447  7006		RTL
003450  7041		CIA
003451  1066		TAD	LTEMP	/COMBINE UNIT AND LEN
003452  3410		DCA I	X10	/FOR FIRST INPUT FILE TO LOADER
003453  1271		TAD	PASBLK	/STARTING BLOCK
003454  3410		DCA I	X10
003455  3410		DCA I	X10	/THAT'S THE END OF INPUT
003456  6201		CDF	0
003457  1104		TAD	ERRORS	/IF NO ERRORS
003460  7650		SNA CLA
003461  2007		ISZ	CHNSW	/SHOULD WE CHAIN?
003462  5767		JMP I	(7605	/NO!!!
003463  2766		ISZ I	(7746	/**
003464  1765		TAD I	(MREAD-1	/ON CCL-DEVICE
003465  6212		CIF	10
003466  4516		JMS I	USR
003467  0006		6		/CHAIN
003470  0000	LDRBLK,	0		/FIRST BLOCK OF LOADER
		/
003471  0000	PASBLK,	0		/FIRST BLOCK OF FILE PASSED

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 56




		/
		/	OUTPUT A BLOCK OF BINARY
		/
003472  0000	OUTBLK,	0		/AT END OF PASS2, BECOMES
					/LENGTH OF BINARY FILE
003473  1364		TAD	(OUCTL	/DEV HNDLR CONTROL WORD
003474  4763		JMS I	(OUTDMP	/CALL THE HANDLER
003475  1301		TAD	MOUBUF
003476  3015		DCA	OUTPTR	/RESET BUFFER POINTER
003477  3115		DCA	ABSOP	/FORCE NEW ABS OUTPUT CONTROL
003500  5672		JMP I	OUTBLK
003501  6377	MOUBUF,	OUBUF-1
		/
003502  2500	TYPCOD,	2500	/UNDEFINED
003503  0000		0000	/ADDRESS
003504  3000		3000	/XTERNAL
003505  0300		0300	/COMMON
003506  2300		2300	/SECTION
003507  7777		-1	/?
003510  7777		-1	/?
003511  7000		7000	/8-M0DE SECTION
003512  3200		3200	/8-MODE PAGE0 COMMON SECTION
003513  0600		0600	/8-MODE FIELD1 SECTION

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 57




003514  0000	BORG,	0
003515  6201		CDF	FLD0
003516  1026		TAD	LOCTR1
003517  7012		RTR
003520  7012		RTR
003521  0146		AND	[177
003522  1362		TAD	(ESDBUF-1 /POINT INTO 
003523  3066		DCA	LTEMP
003524  7307		CLA CLL IAC RTL	/4 = ADDRESS VALUE
003525  1466		TAD I	LTEMP
003526  3066		DCA	LTEMP
003527  6211		CDF	FLD1
003530  1026		TAD	LOCTR1
003531  0156		AND	[7	/GET ADDR BITS ONLY
003532  3067		DCA	BOTMP	/SAVE EM
003533  1466		TAD I	LTEMP	/OLD HIGH VALUE BITS
003534  0156		AND	[7
003535  7041		CIA
003536  1067		TAD	BOTMP	/COMPARE THEM
003537  7510		SPA
003540  5357		JMP	BOXIT	/NO UPDATE REQUIRED
003541  7650		SNA CLA
003542  5347		JMP	BOCHKL	/NO DIFFERENCE YET
003543  1026		TAD	LOCTR1
003544  3466		DCA I	LTEMP	/RESET TO NEW HIGH
003545  2066		ISZ	LTEMP
003546  5355		JMP	BOSETL	/SKIP OVER TEST
003547  2066	BOCHKL,	ISZ	LTEMP	/POINT TO LO-ORDER
003550  1466		TAD I	LTEMP
003551  7141		CIA CLL
003552  1027		TAD	LOCTR2	/COMPARE LOW ORDERS
003553  7620		SNL CLA
003554  5357		JMP	BOXIT	/NO REPLACE
003555  1027	BOSETL,	TAD	LOCTR2
003556  3466		DCA I	LTEMP
003557  7200	BOXIT,	CLA
003560  6201		CDF	FLD0
003561  5714		JMP I	BORG	/WHEW!
	0067	BOTMP=	EXTMP
003562  5177
003563  4444
003564  4200
003565  7756
003566  7746
003567  7605
003570  0377
003571  7773
003572  7611
003573  7604
003574  1350
003575  4677
003576  2277

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 57-1

003577  4617
	3600		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 58




003600  0000	NEWESD,	0
003601  1025		TAD	ESDNO
003602  1377		TAD	(-177	/CHECK LIMIT
003603  7710		SPA CLA
003604  5207		JMP	.+3
003605  4547		JMS I	[ERMSG1	/TOO MANY
003606  3023		3023		/*XS*
003607  2025		ISZ	ESDNO	/BUMP COUNT
003610  1056		TAD	PASSNO	/DON'T CHANGE TABLE AFTER PASS 1
003611  7700		SMA CLA
003612  5600		JMP I	NEWESD
003613  1025		TAD	ESDNO
003614  1376		TAD	(ESDBUF-1 /INDEX BUFFER
003615  3067		DCA	ESDTMP
003616  6211		CDF	FLD1
003617  1404		TAD I	OLDN3	/GET POINTER TO THIS SYMBOL
003620  6201		CDF	FLD0
003621  3467		DCA I	ESDTMP
003622  1067		TAD	ESDTMP
003623  1155		TAD	[200
003624  3067		DCA	ESDTMP	/NOW ADDRESS CHAR TABLE
003625  1051		TAD	BUCKET
003626  3467		DCA I	ESDTMP
003627  5600		JMP I	NEWESD
	0067	ESDTMP=	EXTMP
		/
		/	RELOCATION CONTROL PSEUDO-OPS
		/
003630  4570	ENTRX,	JMS I	[GETNAM	/NAME OF ENTRY POINT
003631  5256		JMP	ESDERR
003632  4567		JMS I	[LOOKUP	/FIND IT
003633  5242		JMP	QENT	/UNDEFINED
003634  7110		CLL RAR		/MUST BE USER ADDR TYPE
003635  7650		SNA CLA
003636  1410		TAD I	X10	/LOOK AT ESD
003637  0157		AND	[7770
003640  7640		SZA CLA		/IS IT RELOCATABLE?
003641  5244		JMP	OKENT	/YES
003642  4574	QENT,	JMS I	[ERMSG	/NO MESSAGE ON PASS 1
003643  1105		1105		/*IE*
003644  4200	OKENT,	JMS	NEWESD	/CREATE AN ENTRY FOR IT
003645  5564		JMP I	[NEXTST

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 59




		/
003646  7326	EXTRNX,	CLA STL RTL
003647  3024		DCA	STYPE	/EXTERNS ARE TYPE 2
003650  4570		JMS I	[GETNAM
003651  5256		JMP	ESDERR
003652  4567		JMS I	[LOOKUP
003653  4301		JMS	CRESD	/IF UNDEFINED, DEFINE IT
003654  7112		CLL RTR		/IF DEFINED, CHECK LEGALITY
003655  7640		SZA CLA
003656  4574	ESDERR,	JMS I	[ERMSG
003657  0523		0523		/*ES*
003660  5564		JMP I	[NEXTST
		/
003661  7201		CLA IAC		/FIELD1 SECT=11
003662  7001		IAC		/COMMZ SECT=10
003663  1156	SECT8X,	TAD 	[7
003664  5267		JMP	COMMX+1
003665  7201	SECTX,	CLA IAC
003666  1375	COMMX,	TAD	(COMMN	/GET DESIRED CODE
003667  3024		DCA	STYPE	/FOR SECTION TYPE
003670  4570		JMS I	[GETNAM
003671  3051		DCA	BUCKET	/IF NO NAME, BLANK COMMON
003672  4567		JMS I	[LOOKUP
003673  5317		JMP	NEWSCT	/UNDEFINED
003674  7041		CIA		/OLD FRIEND
003675  1024		TAD	STYPE	/SAME?
003676  7650		SNA CLA
003677  5320		JMP	SETSCT	/YUP, DO IT
003700  5256		JMP	ESDERR
		/
003701  0000	CRESD,	0
003702  4200		JMS	NEWESD	/CREATE NEW ESD ENTRY
003703  6211		CDF	FLD1
003704  1466		TAD I	LTEMP	/SET TYPE CODE
003705  0121		AND	NP7700
003706  1024		TAD	STYPE
003707  3466		DCA I	LTEMP
003710  2066		ISZ	LTEMP
003711  1025		TAD	ESDNO
003712  7106		CLL RTL		/ESD NO TO SYMBOL VLAUE
003713  7006		RTL
003714  3466		DCA I	LTEMP	
003715  6201		CDF	FLD0
003716  5701		JMP I	CRESD
		/
003717  4301	NEWSCT,	JMS	CRESD	/CREATE AN ESD
003720  4774	SETSCT,	JMS I	(BORG	/ADJUST LOC CTR'S
003721  6211		CDF	FLD1
003722  1410		TAD I	X10	/GET NEW LOC CTR VALUE
003723  3026		DCA	LOCTR1
003724  1410		TAD I	X10
003725  3027		DCA	LOCTR2	/LOW LOC CTR

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 59-1

003726  6201		CDF	FLD0
003727  5343		JMP	PUTORG

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 60




		/
003730  4773	ORGX,	JMS I	(ADRGET	/GET ORG EXPR
003731  4774		JMS I	(BORG
003732  1036		TAD	EXPVAL+1
003733  0157		AND	[7770	/DOES IT HAVE AN ESD?
003734  7650		SNA CLA
003735  1026		TAD	LOCTR1	/IF NOT, KEEP CURRENT ESD
003736  0157		AND	[7770
003737  1036		TAD	EXPVAL+1
003740  3026		DCA	LOCTR1	/RESET PC
003741  1037		TAD	EXPVAL+2
003742  3027		DCA	LOCTR2
003743  1056	PUTORG,	TAD	PASSNO	/OUTPUT ON PASS 2 ONLY
003744  7640		SZA CLA
003745  5564		JMP I	[NEXTST
003746  3115		DCA	ABSOP	/CLEAR ABS OUTPUT SW
003747  7326		CLA STL RTL
003750  4772		JMS I	(FULCHK	/ROOM FOR MORE?
003751  1026		TAD	LOCTR1
003752  7012		RTR
003753  7012		RTR		/GET ESD
003754  0146		AND	[177
003755  1371		TAD	(TTORG
003756  3415		DCA I	OUTPTR
003757  1026		TAD	LOCTR1
003760  0156		AND	[7	/FIELD BITS
003761  3415		DCA I	OUTPTR
003762  1027		TAD	LOCTR2	/ADDRESS
003763  3415		DCA I	OUTPTR
003764  4772		JMS I	(FULCHK
003765  5564		JMP I	[NEXTST
003771  1000
003772  4600
003773  1210
003774  3514
003775  0003
003776  5177
003777  7601
	4000		PAGE	/>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 61




		/
		/	VARIOUS PSEUDO-OP HANDLERS
		/
004000  1117	LSTONX,	TAD	SYONLY		/ENABLE LISTING UNLESS SYM MAP ONLY
004001  3061	LSTOFX,	DCA	LISTSW
004002  5564		JMP I	[NEXTST
		/
004003  7201	DECX,	CLA IAC
004004  3065	OCTALX,	DCA	RADIX
004005  5564		JMP I	[NEXTST
		/
004006  4575	TEXTX,	JMS I	[GETCHR	/GET DELIMITER
004007  5564		JMP I	[NEXTST	/NULL STMT
004010  7041		CIA
004011  3067		DCA	EXTMP	/SAVE - DELIM
004012  4226	LOOP6B,	JMS	GETCHT	/GET HIG ORDER CHAR
004013  5564		JMP I	[NEXTST
004014  4562		JMS I	[R6L	/SHIFT IT UP
004015  3066		DCA	LTEMP	/SAVE HALF
004016  4226		JMS	GETCHT	/GET LOWER CHAR
004017  5223		JMP	OUTTXT	/GO PUT LAST
004020  1066		TAD	LTEMP	/PUT 2 CHARS TOGETHER
004021  4560		JMS I	[OUTWRD	/OUTPUT WORD
004022  5212		JMP	LOOP6B	/LOOP
004023  1066	OUTTXT,	TAD	LTEMP	/PUT OUT HALF WORD
004024  4560		JMS I	[OUTWRD	/OR ZERO WORD
004025  5564		JMP I	[NEXTST
004026  0000	GETCHT,	0		/GET CHAR FOR TEXT STMT
004027  2020		ISZ	NCHARS	/BUMP COUNT
004030  7410		SKP
004031  5626		JMP I	GETCHT	/END OF TEXT
004032  1417		TAD I	CHRPTR	/GET CHAR
004033  3051		DCA	BUCKET	/SAVE IT
004034  1051		TAD	BUCKET	/IS IT THE DELIM ?
004035  1067		TAD	EXTMP
004036  7650		SNA CLA
004037  5626		JMP I	GETCHT	/YES, RETURN NO SKIP
004040  2226		ISZ	GETCHT	/BUMP RETURN
004041  1051		TAD	BUCKET	/GET CHAR
004042  0163		AND	[77	/LOW 6 BITS
004043  5626		JMP I	GETCHT	/RETURN

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 62




		/
		/	CONDITIONAL ASSEMBLY HANDLERS
		/
004044  7240	IFNZRX,	CLA CMA
004045  4272	IFZROX,	JMS	GETCON	/GET CONDITION EXPR
004046  1036		TAD	EXPVAL+1 /HIGH ORDER
004047  0156		AND	[7
004050  7450		SNA
004051  1037		TAD	EXPVAL+2 /LOW ORDER
004052  7650	SWTCH,	SNA CLA
004053  5257		JMP	TRUE	/PRESENT CONDITION OF ASMOF IS OK
004054  1057	FALSE,	TAD	ASMOF	/GOTTA REVERSE IT
004055  7040		CMA
004056  3057		DCA	ASMOF	/THAT DOES IT
004057  6201	TRUE,	CDF	FLD0
004060  4575		JMS I	[GETCHR
004061  5276		JMP	BADCND	/FORGOT THE ANGLE
004062  1166		TAD	[-240	/IGNORE BLANK, IF ANY
004063  7450		SNA
004064  5257		JMP	TRUE	/TRY AGAIN
004065  1377		TAD	(240-274
004066  7650		SNA CLA
004067  5776		JMP I	(ASMBL	/GO FROM HERE
004070  4571		JMS I	[BACK1	/LET SOMEONE ELSE WORRY ABOUT IT
004071  5276		JMP	BADCND
		/
004072  0000	GETCON,	0
004073  3057		DCA	ASMOF	/SET INITIAL TRUTH
004074  4565		JMS I	[EXPR	/COLLECT EXPR
004075  5302		JMP	OKCND	/BAD MAY MEAN GOOD
004076  4574	BADCND,	JMS I	[ERMSG	/BUT GOOD MEANS BAD
004077  1103		1103		/*IC*
004100  3057		DCA	ASMOF	/ENABLE ASSEMBLY
004101  5776		JMP I	(ASMBL
004102  1041	OKCND,	TAD	EXPSW	/WAS THERE AN EXPR, AT LEAST?
004103  7650		SNA CLA
004104  5672		JMP I	GETCON	/YES
004105  5276		JMP	BADCND
		/
004106  7240	IFNEGX,	CLA CMA
004107  4272	IFPOSX,	JMS	GETCON
004110  7307		CLA CLL IAC RTL	/4
004111  0036		AND	EXPVAL+1 /SIGN OF EXPR
004112  5252		JMP	SWTCH	/GO FROM THERE
		/
004113  7240	IFNDFX,	CLA CMA
004114  3057	IFREFX,	DCA	ASMOF
004115  4570		JMS I	[GETNAM	/GET SYMBOL NAME
004116  5276		JMP	BADCND	/GOTTA GIVE SOMETHING
004117  4561		JMS I	[FIND	/IS IT KNOWN TO US?
004120  5254		JMP	FALSE	/NOT REFERENCED YET
004121  7650		SNA CLA		/SKIP IF DEFINED

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 62-1

004122  3057		DCA	ASMOF	/ELSE ASSEMBLE
004123  5257		JMP	TRUE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 63




004124  7240	IFSWX,	CLA CMA
004125  3057	IFNSWX,	DCA	ASMOF
004126  1375		TAD	(7642	/ADDRESS OF OPTION WORDS
004127  3043		DCA	WORD2	/A TEMP
004130  4774		JMS I	(LETTER	/ALLOW LETTER
004131  5335		JMP	.+4	/AC BETWEEN 1 AND 32
004132  4773		JMS I	(DIGIT	/OR NUMBER
004133  5276		JMP	BADCND	/ALL ELSE IS BAD
004134  1372		TAD	(33	/MAKE 0 = Z+1
004135  2043		ISZ	WORD2	/BUMP POINTER
004136  1371		TAD	(-14	/IS IT IN THIS WORD?
004137  7540		SMA SZA
004140  5335		JMP	.-3	/NO, POINT TO NEXT
004141  7041		CIA
004142  7160		CMA STL		/BIT COUNT AWAY FROM LINK
004143  3042		DCA	WORD1
004144  7004		RAL		/SHIFT
004145  2042		ISZ	WORD1	/COUNT
004146  5344		JMP	.-2
004147  6211		CDF	10	/OPTIONS FIELD
004150  0443		AND I	WORD2	/GET SELECTED BIT
004151  5252		JMP	SWTCH	/AND TEST IT
		/
004152  4770	ZBLKX,	JMS I	(ADRGET	/EVALUATE EXPR
004153  1037		TAD	EXPVAL+2
004154  7041		CIA
004155  3067		DCA	ZBCNT	/HOLD COUNT
004156  1061		TAD	LISTSW	/SAVE LISTSWITCH
004157  3070		DCA	ZBTMP
004160  4560		JMS I	[OUTWRD	/PUT A WORD
004161  3061		DCA	LISTSW	/NO LIST AFTER FIRST
004162  2067		ISZ	ZBCNT	/COUNT THEM
004163  5360		JMP	.-3	/MORE
004164  1070		TAD	ZBTMP	/RESTORE
004165  3061		DCA	LISTSW	/LISTING
004166  5564		JMP I	[NEXTST
	0067	ZBCNT=	EXTMP
	0070	ZBTMP=	EXTMP2
004170  1210
004171  7764
004172  0033
004173  2534
004174  2521
004175  7642
004176  0310
004177  7744
	4200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 64




	0020		PTP=20
	7760		DCB=7760
	0000		INFLD=INCTL&70	/GET FIELD OF INPUT BUFFER
	0000		OUFLD=OUCTL&70	/DITTO OUTPUT BUFFER
004200  7400	IN7400,	7400
004201  0401	NINCTL,	INCTL+1
004202  0002	NINREC,	INRECS
004203  0000	IOPEN,	0
004204  1377		TAD	(7617
004205  3322		DCA	INFPTR	/RESET FILE POINTER
004206  4324		JMS	INNEWF	/FETCH NEW HNDLR, ETC
					/WHILE USR IS STILL IN CORE
004207  7240		CLA CMA
004210  3324		DCA	INCHCT	/FORCE A READ ON NEXT CHAR
004211  5603		JMP I	IOPEN
004212  0000	ICHAR,	0
004213  7600	IN7600,	7600
004214  6201	INCHAR,	CDF INFLD
004215  2270		ISZ	INJMP	/BUMP THREE-WAY UNPACK SWITCH
004216  2324		ISZ	INCHCT
004217  5270	INJMPP,	JMP	INJMP
004220  1323		TAD	INEOF
004221  7640		SZA CLA		/DID LAST READ GIVE EOF ?
004222  4324	GETNEW,	JMS	INNEWF	/OPEN A NEW INPUT FILE
004223  1360		TAD	INCTR
004224  7100		CLL
004225  1202		TAD	NINREC
004226  7420		SNL
004227  3360		DCA	INCTR	/RESTORE INCR IF NOT OVERFLOWED
004230  7430		SZL		/IS THIS THE LAST READ?
004231  2323		ISZ	INEOF	/YES - SET END-OF-FILE FLAG
004232  7172		CLL CML CMA RTR	/MAKE CONTROL WORD
004233  7012		RTR		/FROM THE AMOUNT OF THE OVERFLOW
004234  7012		RTR		/(IF ANY) AND THE STANDARD CNTRL WD
004235  1201		TAD	NINCTL
004236  3241		DCA	INCTLW
004237  6201		CDF
004240  4737		JMS I	INHNDL	/CALL THE DEVICE HANDLER
004241  0000	INCTLW,	0
004242  6000	INBUFP,	INBUF
004243  0000	INREC,	0
004244  5264		JMP	INERRX	/SOME KIND OF HANDLER ERROR
004245  1243	INBREC,	TAD	INREC
004246  1202		TAD	NINREC
004247  3243		DCA	INREC	/UPDATE THE RECORD NUMBER
004250  1241		TAD	INCTLW
004251  0213		AND	IN7600
004252  7104		CLL RAL
004253  1241		TAD	INCTLW
004254  0213		AND	IN7600
004255  7040		CMA
004256  3324		DCA	INCHCT	/COMPUTE THE NEW CHARACTER COUNT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 64-1

004257  1217		TAD	INJMPP
004260  3270		DCA	INJMP	/RESET THE CHARACTER SWITCH
004261  1242		TAD	INBUFP
004262  3361		DCA	INPTR	/AND THE WORD POINTER
004263  5214		JMP	INCHAR	/MAKE BELIEVE THIS NEVER HAPPENED
004264  2323	INERRX,	ISZ	INEOF	/EITHER AN END-OF-FILE OR A BADDIE
004265  7700		SMA CLA		/WHICH TYPE WAS IT ?
004266  5245		JMP	INBREC	/END OF FILE - RESUME PROCESSING
004267  5543		JMP I	[IOERR	/BADDIE, GIVE ERROR MESSAGE
004270  7402	INJMP,	HLT		/THIS IS THE 3 WAY CHARACTER SWITCH
004271  5312		JMP	ICHAR1
004272  5306		JMP	ICHAR2
004273  1217		TAD	INJMPP
004274  3270		DCA	INJMP
004275  1761		TAD I	INPTR
004276  0200		AND	IN7400
004277  7112		CLL RTR
004300  7012		RTR		/COMBINE HIGH-ORDER FOUR BITS OF
004301  1241		TAD	INCTLW
004302  7012		RTR		/THE 2 WORD TO FORM THE 3RD CHAR
004303  7012		RTR
004304  2361		ISZ	INPTR
004305  5313		JMP	INCOMN
004306  1761	ICHAR2,	TAD I	INPTR
004307  0200		AND	IN7400
004310  3241		DCA	INCTLW	/SAVE THE HI ORDER BITS FOR THE 3RD
004311  2361		ISZ	INPTR	/BUMP THE WORD POINTER
004312  1761	ICHAR1,	TAD I	INPTR
004313  0376	INCOMN,	AND	(377
004314  1375		TAD	(-232
004315  7450		SNA		/IS THE CHARACTER A ^Z?
004316  5222		JMP	GETNEW	/YES - GET A NEW FILE
004317  1374		TAD	(232	/RESTORE THE CHARACTER
004320  6201		CDF
004321  5612		JMP I	ICHAR	/AND RETURN
004322  7617	INFPTR,	7617
004323  0001	INEOF,	1		/PARAMETERS ARE SET UP SO THAT
		INCHCT,			/IOPEN IS UNNECESSARY.
004324  7777	INNEWF,	-1
004325  1366		TAD	NINDEV
004326  3337		DCA	INHNDL	/INITIALIZE HANDLER ADDRESS
004327  6211		CDF	10
004330  1722		TAD I	INFPTR	/GET NEXT CD INPUT FILE ENTRY
004331  6201		CDF
004332  7450		SNA		/ANY MORE?
004333  5773		JMP I	(ENDX	/NO MORE INPUT
004334  6212		CIF 10
004335  4516		JMS I	USR
004336  0001		1		/ASSIGN, FETCH HANDLER
004337  0000	INHNDL,	0
004340  5543		JMP I	[IOERR	/HUH?
004341  6211		CDF 10
004342  1722		TAD I	INFPTR
004343  0372		AND	(7760	/GET LENGTH PART OF WORD
004344  7440		SZA		/LENGTH OF 0 MEANS LENGTH GE 256

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 64-2

004345  1172		TAD	[17		/ADD HIGH ORDER BITS
004346  7132		CLL CML RTR
004347  7012		RTR
004350  3360		DCA	INCTR	/STORE LENGTH OF FILE
004351  2322		ISZ	INFPTR
004352  1722		TAD I	INFPTR
004353  6201		CDF
004354  3243		DCA	INREC	/STARTING RECORD NUMBER OF FILE
004355  2322		ISZ	INFPTR
004356  3323		DCA	INEOF	/ZERO END-OF-FILE FLAG
004357  5724		JMP I	INNEWF
004360  0000	INCTR,	0
004361  0000	INPTR,	0
004362  0000	OUFNAM,	0;0;0;0		/OUTPUT FILE NAME
004363  0000
004364  0000
004365  0000
004366  7200	NINDEV,	INDEVH
004372  7760
004373  3200
004374  0232
004375  7546
004376  0377
004377  7617
	4400		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 65




004400  0000	OOPEN,	0
004401  1106		TAD	OUFILE	/INCR OUTPUT FILE POINTER
004402  1377		TAD	(5
004403  3106		DCA	OUFILE
004404  6211		CDF	10
004405  1506		TAD I	OUFILE	/GET DEVICE CODE, LEN
004406  3233		DCA	OUELEN	/HOLD IT A MO
004407  4776		JMS I	(OFNAME	/GET FILE NAME INTO FIELD 0
004410  1233		TAD	OUELEN	/CHECK FOR NULL FILE
004411  7650		SNA CLA
004412  5242		JMP	ONOFIL	/INHIBIT OUTPUT
004413  4344		JMS	GETUSR	/LOAD USR IF NOT ALREADY IN
004414  1337		TAD	OUNAME	/RESET ENTER CALL
004415  3232		DCA	OUBLK
004416  1343		TAD	NOUDEV
004417  3224		DCA	OUHNDL
004420  1233		TAD	OUELEN	/THE UNIT
004421  6212		CIF 10
004422  4516		JMS I	USR
004423  0001		1		/ASSIGN, FETCH HANDLER
004424  0000	OUHNDL,	0		/OUTPUT DEVICE HANDLER ENTRY
004425  5543		JMP I	[IOERR	/HUH?
004426  1233		TAD	OUELEN	/UNIT AGAIN
004427  6212		CIF	10
004430  4516		JMS I	USR
004431  0003		3		/ENTER OUTPUT FILE
004432  4362	OUBLK,	OUFNAM		/REPLACED WITH STARTING BLOCK
004433  0000	OUELEN,	0		/REPLACED WITH LENGTH OF HOLE
004434  5543		JMP I	[IOERR	/YOU BLEW IT!!!
004435  3340		DCA	OUCCNT
004436  3775		DCA I	(OUTINH	/ZERO OUTPUT INHIBIT FLAG
004437  4774		JMS I	(OUSETP
004440  2200		ISZ	OOPEN
004441  5600		JMP I	OOPEN
004442  2775	ONOFIL,	ISZ I	(OUTINH
004443  5600		JMP I	OOPEN
004444  0000	OUTDMP,	0
004445  3267		DCA	OUCTLW	/STORE THE CONTROL WORD
004446  1340		TAD	OUCCNT
004447  7450		SNA
004450  2267		ISZ	OUCTLW
004451  1232		TAD	OUBLK
004452  3271		DCA	OUREC	/COMPUTE STARTING BLOCK
004453  1267		TAD	OUCTLW
004454  4562		JMS I	[R6L
004455  0172		AND	[17	/COMPUTE THE NUMBER OF RECORDS
004456  1340		TAD	OUCCNT	/UPDATE SIZE OF FILE
004457  3340		DCA	OUCCNT
004460  1340		TAD	OUCCNT
004461  7120		CLL CML
004462  1233		TAD	OUELEN
004463  7660		SNL SZA CLA	/EXCEED GIVEN LENGTH ?

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 65-1

004464  5543		JMP I	[IOERR	/YES - ERROR
004465  6201		CDF
004466  4624		JMS I	OUHNDL
004467  0000	OUCTLW,	0
004470  6400	LOUBUF,	OUBUF
004471  0000	OUREC,	0
004472  5543		JMP I	[IOERR
004473  5644		JMP I	OUTDMP
004474  0000	OCLOSE,	0
004475  4344		JMS	GETUSR	/ENSURE USR IN CORE
			IFNZRO	RALF	<
004476  1056		TAD	PASSNO
004477  7640		SZA CLA
004500  5306		JMP	.+6
004501  1373		TAD	(377
004502  4772		JMS I	(FULCHK	/DUMP LAST BLOCK
004503  1340		TAD	OUCCNT	/SAVE FILE LENGTH
004504  3771		DCA I	(OUTBLK	/FOR CHAIN
004505  5332		JMP	NODUMP	>
004506  4770		JMS I	(OTYPE
004507  0367		AND	(770
004510  1366		TAD	(-PTP	/CHECK FOR PAPER TAPE PUNCH OUTPUT
004511  7640		SZA CLA		/AND SKIP ^Z OUTPUT IF TRUE
004512  1365		TAD	(232	/OUTPUT A ^Z
004513  4544		JMS I	[OCHAR
004514  4544	FILLLP,	JMS I	[OCHAR
004515  4770		JMS I	(OTYPE	/GET TYPE OF OUTPUT DEVICE
004516  7710		SPA CLA
004517  1150		TAD	[100
004520  1163		TAD	[77
004521  0764		AND I	(OUDWCT
004522  7640		SZA CLA		/UP TO THE BOUNDARY YET?
004523  5314		JMP	FILLLP	/NO - FILL WITH ZEROS
004524  1764		TAD I	(OUDWCT	/GET DOUBLEWORD COUNT LEFT
004525  1363		TAD	(OUCTL&3700
004526  7450		SNA		/A FULL WRITE LEFT?
004527  5332		JMP	NODUMP	/YES DON'T DO IT
004530  1362		TAD	(4000+OUFLD /PUT IN FIELD AND WRITE BITS
004531  4244		JMS	OUTDMP
004532  6213	NODUMP,	CIF CDF 10
004533  1506		TAD I	OUFILE
004534  6201		CDF
004535  4516		JMS I	USR
004536  0004		4		/CLOSE THE OUTPUT FILE
004537  4362	OUNAME,	OUFNAM		/POINTER TO OUTPUT FILE NAME
004540  0000	OUCCNT,	0
004541  5543		JMP I	[IOERR	/ERROR WHILE CLOSING - BAD!!
004542  5674		JMP I	OCLOSE	/ALL DONE
004543  7400	NOUDEV,	OUDEVH

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 66




		/
		/	LOAD USR IF NOT IN CORE ALREADY
		/
004544  0000	GETUSR,	0
004545  1116		TAD	USR	/CURRENT CALL ADDR
004546  7700		SMA CLA
004547  5744		JMP I	GETUSR	/WE GOT IT
004550  6212		CIF	10
004551  4516		JMS I	USR	/THE ANSWERING SERVICE
004552  0010		10		/CALLS THE SR
004553  1155		TAD	[200
004554  3116		DCA	USR	/RESET THE CALL ADDRESS
004555  5744		JMP I	GETUSR	/JES FINE
004562  4000
004563  0200
004564  0513
004565  0232
004566  7760
004567  0770
004570  0533
004571  3472
004572  4600
004573  0377
004574  0425
004575  0514
004576  0515
004577  0005
	4600		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 67




004600  0000	FULCHK,	0
			IFNZRO	RALF	<
		/
		/	IF THE RELOCATABLE BINARY OUTPUT
		/	BLOCK IS FULL (WITHIN THE CONTENTS OF THE AC)
		/	FILL THE REST WITH NOP CODES AND OUTPUT THE
		/	BLOCK.
		/
004601  1015		TAD	OUTPTR
004602  1216		TAD	KOUBUF
004603  7710		SPA CLA
004604  5600		JMP I	FULCHK
004605  1015	FULLUP,	TAD	OUTPTR
004606  1216		TAD	KOUBUF
004607  7700		SMA CLA
004610  5214		JMP	.+4
004611  7201		CLA IAC
004612  3415		DCA I	OUTPTR
004613  5205		JMP	FULLUP
004614  4777		JMS I	(OUTBLK
004615  5600		JMP I	FULCHK	
004616  1001	KOUBUF,	-OUBUF-377	>
		/
		/
		/	GET SIGN CHARACTER IF ANY
		/	BUMP LASTOP IF MINUS
		/
004617  0000	GETSGN,	0
004620  4575		JMS I	[GETCHR
004621  5617		JMP I	GETSGN
004622  1376		TAD	(-255	/MINUS?
004623  7450		SNA
004624  2055		ISZ	LASTOP
004625  7440		SZA
004626  7150		CLL CMA RAR	/IF IT WAS PLUS, BECOMES 0
004627  7640		SZA CLA		/SKIP IF PLUS OR MINUS
004630  4571		JMS I	[BACK1	/OTHERWISE PUT IT BACK
004631  5617		JMP I	GETSGN

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 68




		/	AS PER RICHIE LARY
		/
		/	SINGLE AND DOUBLE PRECISION
		/	FLOATING POINT INPUT
		/
		/
004632  1140	EX,	TAD	M3
004633  1140	FX,	TAD	M3
004634  3046		DCA	DESW	/STORE LENGTH
004635  1375		TAD	(-7
004636  4351		JMS	CLEAR	/CLEAR FAC+OP
004637  3055		DCA	LASTOP
004640  4217		JMS	GETSGN	/GET SIGN
004641  7240		STA		/CLA CMA
004642  3022		DCA	DPSW	/SET NO DP
004643  3200	GETD,	DCA	DCNT
004644  4774		JMS I	(DIGIT	/GET A DIGIT
004645  5260		JMP	LOOKP	/NO
004646  3005		DCA	OTEMP	/SAVE IT
004647  4773		JMS I	(FMPTEN	/MULT FAC*10
004650  4351		JMS	CLEAR
004651  1005		TAD	OTEMP
004652  7440		SZA
004653  4772		JMS I	(FAD	/ADD DIGIT TO FAC IF NOT= 0
004654  1022		TAD	DPSW
004655  7040		CMA
004656  1200		TAD	DCNT	/BUMP IF FP SEEN
004657  5243		JMP	GETD

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 69




004660  4575	LOOKP,	JMS I	[GETCHR
004661  5277		JMP	OVER	/DONE
004662  1371		TAD	(-256
004663  7450		SNA
004664  5274		JMP	DECPT
004665  1370		TAD	(256-304
004666  7110		CLL RAR
004667  7650		SNA CLA
004670  5767		JMP I	(EXPON	/E OR D
004671  4574	DEXERR,	JMS I	[ERMSG
004672  0620		0620		/FP
004673  5343		JMP	NOTNEG
004674  2022	DECPT,	ISZ	DPSW
004675  5271		JMP	DEXERR	/2 PERIODS
004676  5243		JMP	GETD
		/
004677  1200	OVER,	TAD	DCNT	/EXPON COMES HERE W EXP IN AC
004700  7450		SNA
004701  5315		JMP	NOSCAL	/NO SCALING NEEDE
004702  7100		CLL
004703  7500		SMA
004704  7061		CIA	CML	/SIGN IN LINK,MAGNITUDE IN AC
004705  3200		DCA	DCNT	/AS A COUNT
004706  7420		SNL
004707  1375		TAD	(TENTH-TEN	/OFFSET KLUDGE
004710  3005		DCA	OTEMP
004711  1005	SCALUP,	TAD	OTEMP
004712  4773		JMS I	(FMPTEN	/MULT BY 10.0 OR 0.1
004713  2200		ISZ	DCNT
004714  5311		JMP	SCALUP
004715  4351	NOSCAL,	JMS	CLEAR
004716  7130		STL RAR
004717  3130		DCA	OP+5	/ROUNDING CONSTANT
004720  4766		JMS I	(ADD
004721  1132		TAD	AC
004722  7640		SZA CLA
004723  4765		JMS I	(NORM	/WATCH IT!
004724  3137		DCA	AC+5
004725  1055		TAD	LASTOP
004726  7650		SNA CLA		/SIGN -?
004727  5343		JMP	NOTNEG	/NO
004730  1364		TAD	(AC+5
004731  4763		JMS I	(SETUP
004732  7004	ACNGLP,	RAL
004733  1467		TAD I	P	/NEGATE FAC
004734  7141		CLL CIA
004735  3467		DCA I	P
004736  7240		STA
004737  1067		TAD	P
004740  3067		DCA	P
004741  2021		ISZ	CT
004742  5332		JMP	ACNGLP

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 69-1

004743  4351	NOTNEG,	JMS	CLEAR	/SET UP X10
004744  1410		TAD I	X10
004745  4560		JMS I	[OUTWRD
004746  2046		ISZ	DESW	/OUTPUT #
004747  5344		JMP	.-3
004750  5564		JMP I	[NEXTST

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 70




004751  0000	CLEAR,	0		/AC MAY NOT BE 0
004752  1375		TAD	(-7
004753  3021		DCA	CT
004754  1362		TAD	(OPX-1
004755  3010		DCA	X10
004756  3410		DCA I	X10
004757  2021		ISZ	CT
004760  5356		JMP	.-2
004761  5751		JMP I	CLEAR
	4600		DCNT=FULCHK
	0022		DPSW=NCTMP
	0046		DESW=OPCODE
004762  0121
004763  5146
004764  0137
004765  5055
004766  5033
004767  3400
004770  7752
004771  7522
004772  5000
004773  5103
004774  2534
004775  7771
004776  7523
004777  3472
	5000		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 71




	5000		OVBUFR=.
005000  0000	FAD,	0		/FLOATING ADD DIGIT IN AC
005001  3123		DCA	OP
005002  1377		TAD	(13
005003  3122		DCA	OPX
005004  1122	ALNLP,	TAD	OPX
005005  7041		CIA
005006  1131		TAD	ACX
005007  7450		SNA		/ALIGNED?
005010  5215		JMP	GOADD	/YES
005011  7700		SMA CLA
005012  1376		TAD	(OPX-ACX
005013  4220		JMS	RSHFT	/NO-SHIFT 1 OF THEM RIGHT 1
005014  5204		JMP	ALNLP	/TRY AGAIN
005015  4233	GOADD,	JMS	ADD	/ADD FRACTIONS
005016  4255		JMS	NORM	/NORMALIZE RESULT
005017  5600		JMP I	FAD	/RETURN
		/
005020  0000	RSHFT,	0		/SHIFT RIGHT
005021  1375		TAD	(ACX	/DEFAULT IS FAC
005022  4346		JMS	SETUP
005023  2467		ISZ I	P	/BUMP EXPONENT
005024  2067	RSLP,	ISZ	P
005025  1467		TAD I	P
005026  7010		RAR
005027  3467		DCA I	P
005030  2021		ISZ	CT
005031  5224		JMP	RSLP
005032  5620		JMP I	RSHFT
		/
005033  0000	ADD,	0		/ADD TO FAC
005034  1374		TAD	(OP+5
005035  3103		DCA	PP2
005036  1373		TAD	(AC+5
005037  4346		JMS	SETUP
005040  7004	ADDLP,	RAL		/CARRY
005041  1503		TAD I	PP2
005042  1467		TAD I	P
005043  3467		DCA I	P	/ADD ONE WORD
005044  7240		STA
005045  1067		TAD	P	/COMPLEMENT LINK
005046  3067		DCA 	P
005047  7240		STA
005050  1103		TAD	PP2	/COMPLEMENT LINK
005051  3103		DCA	PP2
005052  2021		ISZ	CT
005053  5240		JMP	ADDLP
005054  5633		JMP I	ADD

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 72




005055  0000	NORM,	0		/NORMALIZE FAC
005056  1132		TAD	AC
005057  7710		SPA CLA		/CHECK FOR OVERNORMALIZATION
005060  4220		JMS	RSHFT	/AND CORRECT
005061  7132	NORMLP,	STL	RTR
005062  0132		AND	AC
005063  7640		SZA	CLA	/NORMALIZED?
005064  5655		JMP I	NORM	/YES
005065  1373		TAD	(AC+5
005066  4346		JMS	SETUP
005067  1467	LSLP,	TAD I	P
005070  7004		RAL		/LEFT SHIFT
005071  3467		DCA I	P	/FAC 1 BIT
005072  7260		STA	CML	/COMPLEMENT LINK
005073  1067		TAD	P
005074  3067		DCA	P
005075  2021		ISZ	CT
005076  5267		JMP	LSLP
005077  7240		STA
005100  1131		TAD	ACX	/BUMP EXP
005101  3131		DCA	ACX	/DOWN 1
005102  5261		JMP	NORMLP

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 73




005103  0000	FMPTEN,	0		/FLTG MULTIPLY BY 10.0 OR .1
005104  1372		TAD	(TEN
005105  4346		JMS	SETUP
005106  1132		TAD	AC
005107  7650		SNA	CLA	/AC=0 MEANS RESULT=0
005110  5703		JMP I	FMPTEN
005111  1467		TAD I	P
005112  1131		TAD	ACX	/FUDGE FAC
005113  3131		DCA	ACX	/EXPONENT
005114  1371		TAD	(MUX
005115  3011		DCA	X11
005116  1375		TAD	(ACX
005117  3346		DCA	SETUP
005120  1370		TAD	(OPX
005121  3010		DCA	X10
005122  3354		DCA	MUX	/CLEAR MULT TEMP EXP
005123  2346	MPLP1,	ISZ	SETUP
005124  1746		TAD I	SETUP	/MOVE FAC
005125  3410		DCA I	X10	/TO OP
005126  3746		DCA I	SETUP	/CLEAR FAC
005127  2067		ISZ	P
005130  1467		TAD I	P	/MOVE MULTIPLIER
005131  3411		DCA I	X11	/TO MULT TEMP
005132  2021		ISZ	CT
005133  5323		JMP	MPLP1
		/
005134  1367	MPLP2,	TAD	(MUX-ACX
005135  4220		JMS	RSHFT	/SHIFT MULT TEMP RIGHT 1
005136  7430		SZL
005137  4233		JMS	ADD	/ADD IF LOW ORDER BIT WAS 1
005140  4220		JMS	RSHFT	/SHIFT FAC RIGHT
005141  1362		TAD	MU+5
005142  7640		SZA CLA		/12 SUCCESSIVE 0 BITS
005143  5334		JMP	MPLP2	/IN MULTIPLIER MEANS DONE
005144  4255		JMS	NORM
005145  5703		JMP I	FMPTEN
		/
005146  0000	SETUP,	0		/COMMON CODE
005147  3067		DCA	P
005150  1366		TAD	(-6
005151  3021		DCA	CT
005152  7100		CLL
005153  5746		JMP I	SETUP
		/
005154  0000	MUX,	0		/MULT TEMP
005155  0000	MU,	ZBLOCK 6
	0021		CT=CPTMP
	0067		P=EXTMP
	0103		PP2=PAGEN

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 74




005166  7772
005167  5023
005170  0122
005171  5154
005172  2750
005173  0137
005174  0130
005175  0131
005176  7771
005177  0013
	5200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 75




			IFNZRO	RALF	<
005200  1577	ESDBUF,	PNDL+6		/ESD ENTRY FOR SECTION #MAIN
005201  1571		PNDL		/DITTO FOR BLANK COMMON
005202  0000		ZBLOCK	376	/FILL TO 400 LOCS
		/
		/	BEGIN OF PASS 2:
		/	DUMP EXTERNAL SYMBOL DICTIONARY
		/	DURING PASSES 2 AND 3, THIS IS INPUT BUFFER
		/
005600  7344	DMPESD,	CLA CLL CMA RAL	/-2
005601  3070		DCA	EXTMP2	/PASS CONTROL
005602  1377		TAD	(3	/RALF OUTPUT IDENTIFIER
005603  3415		DCA I	OUTPTR
005604  1003		TAD	VERS
005605  3415		DCA I	OUTPTR	/THIS MAKES 6-WORD ENTRIES
005606  1030		TAD DPFLG	/4000=NEED DP HARDWARE
005607  3415		DCA I	OUTPTR	/EXACTLY FILL A BLOCK
005610  3415		DCA I	OUTPTR
005611  1376	ESDSCN,	TAD	(ESDBUF-1
005612  3010		DCA	X10	/POINT TO POINTERS
005613  1375		TAD	(ESDBUF+177
005614  3012		DCA	X12	/POINT TO INITAIL CHARS
005615  1025		TAD	ESDNO
005616  7041		CIA
005617  3067		DCA	EXTMP
005620  1374	ESDLUP,	TAD	(-3
005621  3066		DCA	LTEMP	/NAME LENGTH COUNT
005622  1373		TAD	(EQUN-1	/WHERE WE'LL KEEP THE NAME
005623  3013		DCA	X13
005624  1410		TAD I	X10	/GET POINTER
005625  3011		DCA	X11
005626  1412		TAD I	X12	/GET FIRST CHAR
005627  7450		SNA		/BLANK BECOMES #
005630  1372		TAD	(43
005631  4562	ESDNLP,	JMS I	[R6L
005632  3073		DCA	EQUN+2
005633  6211		CDF	FLD1
005634  1411		TAD I	X11	/GET NEXT PAIR FROM SYMBOL TABLE
005635  3074		DCA	EQUN+3	/HOLD IT
005636  6201		CDF	FLD0
005637  1074		TAD	EQUN+3
005640  4551		JMS I	[R6R	/GET LEFT CHAR
005641  1073		TAD	EQUN+2	/COMBINE THEM
005642  3413		DCA I	X13
005643  1074		TAD	EQUN+3	/GET RIGHT HALF OF PAIR
005644  0163		AND	[77
005645  2066		ISZ	LTEMP
005646  5231		JMP	ESDNLP
005647  0154		AND	[37	/DROP FORCE BIT FROM TYPE
005650  3074		DCA	EQUN+3
005651  6211		CDF	FLD1
005652  1411		TAD I	X11	/HIGH VALUE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 75-1

005653  3075		DCA	EQUN+4
005654  1411		TAD I	X11	/LOW VALUE
005655  3076		DCA	EQUN+5
005656  6201		CDF	FLD0
005657  1070		TAD	EXTMP2	/WHAT PASS IS THIS?
005660  7010		RAR		/LINK 0 IF FIRST, 1 IF SECOND
005661  7620		SNL CLA
005662  5271		JMP	NOENTS	/FIRST, ENTRYS NOT OUTPUT
005663  1074		TAD	EQUN+3	/OUTPUT ENTRIES ONLY ON 2ND
005664  7110		CLL RAR
005665  7650		SNA CLA
005666  7420		SNL
005667  5330		JMP	ESDLND	/NO GO
005670  5306		JMP	ESDOUT	/YES, PUT IT
005671  1074	NOENTS,	TAD	EQUN+3	/EXT, COMM, OR SCTN
005672  7110		CLL RAR
005673  7450		SNA		/SKIP IF OK
005674  5330		JMP	ESDLND	/UNDEFINED OR ENTRY
005675  7010		RAR
005676  7650		SNA CLA
005677  5306		JMP	ESDOUT	/IF EXTERN, DO IT
005700  1075		TAD	EQUN+4	/IF SECTION, CHECK
005701  0156		AND	[7	/THAT LENGTH
005702  7450		SNA		/IS NON-ZERO
005703  1076		TAD	EQUN+5
005704  7650		SNA CLA
005705  5330		JMP	ESDLND	/ZERO LEN JUST GETS IN THE WAY
005706  1373	ESDOUT,	TAD	(EQUN-1
005707  3013		DCA	X13
005710  1371		TAD	(-6
005711  3066		DCA	LTEMP
005712  1413		TAD I	X13	/GET OUTPUT WORD
005713  3415		DCA I	OUTPTR
005714  2066		ISZ	LTEMP
005715  5312		JMP	.-3	/6-WORD ENTRIES
005716  1015		TAD	OUTPTR
005717  1360		TAD	OUTBUF
005720  7710		SPA CLA
005721  5330		JMP	ESDLND	/NOT END OF BLOCK YET
005722  4770		JMS I	(OUTBLK
005723  1377		TAD	(3
005724  3415		DCA I	OUTPTR
005725  3415		DCA I	OUTPTR
005726  3415		DCA I	OUTPTR
005727  3415		DCA I	OUTPTR
005730  2067	ESDLND,	ISZ	EXTMP	/GO THRU ESD LIST
005731  5220		JMP	ESDLUP
005732  2070		ISZ	EXTMP2	/WHOLE LIST TWO PASSES
005733  5211		JMP	ESDSCN
005734  1371		TAD	(-6	/THEN STORE END-OF-ESD
005735  3066		DCA	LTEMP
005736  3415		DCA I	OUTPTR
005737  2066		ISZ	LTEMP
005740  5336		JMP	.-2
005741  1367		TAD	(377	/FORCE BLOCK OUTPUT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 75-2

005742  4766		JMS I	(FULCHK
005743  6211		CDF	FLD1	/THEN DEFAULT ORG
005744  1765		TAD I	(LMAIN	/IF MAIN LEN .NE. 0
005745  0156		AND	[7
005746  7450		SNA
005747  1764		TAD I	(LMAIN+1
005750  6201		CDF	FLD0
005751  7650		SNA CLA
005752  5763		JMP I	(RESET	/FIRST SECTION WILL GET IT
005753  1362		TAD	(TTORG+1 /ORG TO ZERO OF MAIN
005754  3415		DCA I	OUTPTR
005755  3415		DCA I	OUTPTR
005756  3415		DCA I	OUTPTR
005757  5763		JMP I	(RESET
005760  1001	OUTBUF,	1001
005762  1001
005763  3121
005764  1604
005765  1603
005766  4600
005767  0377
005770  3472
005771  7772
005772  0043
005773  0070
005774  7775
005775  5377
005776  5177
005777  0003
	6000		PAGE	/>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 76




		/
		/       INITIALIZATION CODE
		/
006000  5206	BEGIN,  JMP     CHNIN   /IF ENTERED BY CHAIN
006001  6212	GCMND,  CIF     10	/IF ENTERED BY .R, ETC
006002  4516	        JMS I   USR     /USR IS LEFT OVER
006003  0005	        5               /DECODE
			IFZERO	RALF	<
		        620             /DEFAULT EXT = .FP>
			IFNZRO	RALF	<
006004  2201		2201		/DEFAULT EXT = .RA>
006005  3777		DCA I	(RETSYS		/NO NEED FOR IT IF NOT CHAINED
006006  4776	CHNIN,	JMS I	(7607
006007  4100		4100		/TEMP WRITE OUT OVERLAY
006010  6600		6600		/NOW AT 6600
006011  0040		40		/TO SYS SCRATCH BLK 40
006012  5775		JMP I	(7605	/ERROR
006013  6211		CDF	10
		        IFNZRO  RALF    <
006014  1573	        TAD I   [7600   /BIN FILE UNIT
006015  0120	        AND     NP17
006016  7450	        SNA             /IS THERE ONE?
006017  5233		JMP	DEFBIN	/NO, SET DEFAULT
006020  1374	        TAD     (7757   /POINT TO DEV CTRL WORD
006021  3042	        DCA     WORD1
006022  1442	        TAD I   WORD1
006023  7710	        SPA CLA
006024  5250	        JMP     OKBIN   /FILE-STRUCTURED, OK
006025  6201	        CDF     0
006026  4773	        JMS I   (PRTXT  /TYPE MESSAGE
006027  6303	        TXBBIN-1
006030  7762	        -TXBLN
006031  4577	        JMS I   [CRLF
006032  5201	        JMP     GCMND   /TRY AGAIN
		/
006033  7201	DEFBIN,	CLA IAC		/DEFAULT BIN UNIT IS SYS
006034  3573		DCA I	[7600	/SET UNIT
006035  1173		TAD	[7600
006036  3010		DCA	X10	/SET POINTER
006037  1372		TAD	(0617	/FO
006040  3410		DCA I	X10
006041  1371		TAD	(2224	/RT
006042  3410		DCA I	X10
006043  1370		TAD	(2216	/RN
006044  3410		DCA I	X10	/FORTRN.
006045  3410		DCA I	X10
006046  6201		CDF	0
006047  5767		JMP I	(NOEXT	/NOW, OPEN THE FILE>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 77




006050  6201	OKBIN,	CDF 0		/HAVE TO GO TO ANOTHER PAGE
006051  5766		JMP I	(NOKBIN		/ONLY SO MANY PATCHES TO A PAGE
006052  6211	GBIN,	CDF	10
006053  1765		TAD I (7644
006054  0364		AND (20
006055  7650		SNA CLA
006056  2117		ISZ SYONLY	/=NO SLASH T
006057  6201		CDF	0
006060  4763		JMS I	(NEW	/**SEE IF NEED 2 PG HANDLER
006061  7600		7600
006062  4762		JMS I	(OOPEN
006063  3107		DCA	BFILE
			IFNZRO	RALF	<
006064  1277		TAD	R41	/L OR G SWITCH**
006065  6211		CDF	10
006066  0761		AND I	(7643	/TEST /L  OR /G SWITCH
006067  6201		CDF	0
006070  7650		SNA CLA		/**
006071  5306		JMP	KCHN	/KILL CHAIN, IT'S SET
006072  1760		TAD I	(SBLOCK	/FROM CCL-DEVICE
006073  6212		CIF	10
006074  4516		JMS I	USR
006075  0002		2		/LOOKUP
006076  6277	LBLK,	LDRNAM		/LOADER.SV
006077  0041	R41,	41		/**
006100  5306		JMP	KCHN	/NO FIND, NO CALL
006101  1276		TAD	LBLK	/STARTING BLOCK
006102  3757		DCA I	(LDRBLK	/FOR CHAIN
006103  1756		TAD I	(OUBLK	/OUTPUT STARTING BLOCK
006104  3755		DCA I	(PASBLK	/SAVED FOR CHAIN TO LOADER
006105  7240		CLA CMA		/ENABLE CHAIN
006106  3754	KCHN,	DCA I	(CHNSW	/OR KILL IT, WHATEVER>
006107  4753		JMS I	(INCHK	/NOW CHECK INPUT DEVICES FOR 2 PG HANDLERS
006110  4752		JMS I	(INNEWF	/GET INPUT HANDLER
006111  7240		CLA CMA
006112  3752		DCA I	(INCHCT	/SET INITIAL COUNT
006113  1121		TAD	NP7700
006114  3116		DCA	USR	/FROM NOW ON, USE THE HIGH CALL

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 78




006115  4763		JMS I	(NEW
006116  7605		7605		/CHECK LIST DEV TOO**
006117  6211		CDF	10
006120  1751		TAD I	(7611	/LST FILE EXT
006121  7450		SNA
006122  1350		TAD	(1423	/LS DEFAULT
006123  3751		DCA I	(7611
006124  1747		TAD I	(7666	/GET DATE
006125  3042		DCA	WORD1
		/
		/	MOVE SYMBOL TABLE TO ITS PROPER LOCATION
		/
006126  1346		TAD	(1777
006127  3010		DCA	X10	/LOADED ADDRESS OF SYMBOL TABLE
006130  7240		CLA CMA
006131  3011		DCA	X11	/WE MOVE IT TO ASSEMBLED ADDRESS
006132  1345		TAD	(-FREE	/LENGTH OF SYMBOL TABLE
006133  3043		DCA	WORD2	/SET COUNT
006134  1410		TAD I	X10
006135  3411		DCA I	X11	/THIS SAVES SWAPS OF USR
006136  2043		ISZ	WORD2
006137  5334		JMP	.-3
006140  6201		CDF	0
006141  5744		JMP I	(GDATE	/CHECK FOR FPP PRESENCE**
006144  6200
006145  6173
006146  1777
006147  7666
006150  1423
006151  7611
006152  4324
006153  6463
006154  0007
006155  3471
006156  4432
006157  3470
006160  7776
006161  7643
006162  4400
006163  6400
006164  0020
006165  7644
006166  6505
006167  6523
006170  2216
006171  2224
006172  0617
006173  1504
006174  7757
006175  7605
006176  7607
006177  3425

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 78-1

	6200		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 79




		/
		/	PUT THE DATE INTO THE PAGE HEADING
		/
006200  1377	GDATE,	TAD	(1000
006201  3776		DCA I	(7746	/SET NO-RESTART BIT
					/PUT VERNUM IN TITLE LINE
006202  1275		TAD VMSG
006203  3775		DCA I (VMTXT
006204  1276		TAD	VMSG+1	/PATCH LEVEL
006205  3774		DCA I	(VMTXT+1
006206  3006		DCA	OCNT	/CLEAR OCNT
006207  1042		TAD	WORD1	/RE-GET DATE
006210  7450		SNA
006211  5773		JMP I	(NEWLIN	/GOLLY, AND ALL THIS CODE WASTED
006212  0372		AND	(370
006213  7112		CLL RTR
006214  7010		RAR
006215  4264		JMS	TODEC
006216  1371		TAD	(TITDAT-1
006217  3011		DCA	X11
006220  1006		TAD	OCNT
006221  4770		JMS I	(R6L
006222  7440		SZA
006223  1367		TAD	(6000
006224  1005		TAD	OTEMP
006225  3411		DCA I	X11
006226  1042		TAD	WORD1
006227  0366		AND	(7400	/MONTH
006230  4770		JMS I	(R6L
006231  1365		TAD	(MONTHS-3
006232  3010		DCA	X10
006233  1410		TAD I	X10
006234  3411		DCA I	X11
006235  1410		TAD I	X10
006236  3411		DCA I	X11
006237  3006		DCA	OCNT
006240  1042		TAD	WORD1
006241  0156		AND	[7
006242  3005		DCA	OTEMP
006243  1764		TAD I	(7777
006244  0363		AND	(1600	/WAS 600
006245  7112		RTR CLL
006246  7012		RTR
006247  1005		TAD	OTEMP
006250  1362		TAD	(-36	/70-100
006251  7510		SPA
006252  1361		TAD	(144	/100
006253  4264		JMS	TODEC
006254  1360		TAD	(5560
006255  1006		TAD	OCNT
006256  3411		DCA I	11
006257  1005		TAD	OTEMP

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 79-1

006260  4770		JMS I	(R6L
006261  1357		TAD	(40
006262  3411		DCA I	X11
006263  5773		JMP I	(NEWLIN

006264  0000	TODEC,	0
006265  1356		TAD	(-12
006266  7510		SPA
006267  5272		JMP	.+3
006270  2006		ISZ	OCNT
006271  5265		JMP	.-4
006272  1355		TAD	(72	/60+12
006273  3005		DCA	OTEMP
006274  5664		JMP I	TODEC

006275  6560	VMSG,	VNUM&70^10+VNUM&707+6060
006276  0140		PATCH&77^100+40
			IFNZRO	RALF	<
006277  1417	LDRNAM,	TEXT	"LOAD@@SV"
006300  0104
006301  0000
006302  2326
006303  0000
006304  1725	TXBBIN,	TEXT	"OUT DEV NOT FILE-STRUCTURED"
006305  2440
006306  0405
006307  2640
006310  1617
006311  2440
006312  0611
006313  1405
006314  5523
006315  2422
006316  2503
006317  2425
006320  2205
006321  0400
	0016	TXBLN=	.-TXBBIN	>
006322  5512	MONTHS,	TEXT	"-JAN-FEB-MAR-APR-MAY-JUN-JUL-AUG-SEP-OCT-NOV-DEC"
006323  0116
006324  5506
006325  0502
006326  5515
006327  0122
006330  5501
006331  2022
006332  5515
006333  0131
006334  5512
006335  2516
006336  5512
006337  2514
006340  5501
006341  2507
006342  5523

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 79-2

006343  0520
006344  5517
006345  0324
006346  5516
006347  1726
006350  5504
006351  0503
006352  0000

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 80




006355  0072
006356  7766
006357  0040
006360  5560
006361  0144
006362  7742
006363  1600
006364  7777
006365  6317
006366  7400
006367  6000
006370  2550
006371  0551
006372  0370
006373  0240
006374  0550
006375  0547
006376  7746
006377  1000
	6400		PAGE
		/PAGE FOR NEW CODE REQUIRED FOR OS/8 FORTRAN
006400  0000	NEW,	0
006401  1262		TAD	NT2	/CHECK IF ALREADY CHECKED
006402  7640		SZA	CLA
006403  5256		JMP 	NEWDON
006404  1600		TAD I	NEW	/NO. GET THE DEV TO CHECK
006405  3260		DCA	NTEMP
006406  6211		CDF	10
006407  1660		TAD I	NTEMP	/GET DEV.NUM
006410  0172		AND	[17
006411  3261		DCA	NT1	/INCHK NEEDS TO KNOW TOO
006412  1261		TAD	NT1
006413  7450		SNA		/IF 0,THEN NO DEVICE
006414  5256		JMP	NEWDON
006415  3260		DCA	NTEMP
006416  7240		CLA CMA
006417  1777		TAD I	(37	/GET PTR TO DEV TBL
006420  1260		TAD	NTEMP
006421  3260		DCA	NTEMP	/PTS TO ENTRY IN DEV TBL
006422  1660		TAD I	NTEMP
006423  6201		CDF	0
006424  7700		SMA CLA
006425  5255		JMP	FIX	/NOT A 2 PG HANDLER
006426  1376		TAD	(6377	/FIX ALL LOCATIONS THAT REFER TO
		/THE BUFFER VARIABLES.
		/THE CHANGES ARE:
		/OUBUF=6000,LINE=6400,INDEVH=6600,OUDEVH=7200
		/INRECS=1,INCTL=200
006427  3775		DCA I	(BLINE	
006430  1374		TAD	(6000
006431  3773		DCA I	(NOUBUF
			IFNZRO	RALF	<

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 80-1

006432  1372		TAD	(5777
006433  3771		DCA I	(MOUBUF	>	/FLAP DOESN'T USE ALL THE RALF LOCNS
006434  1370		TAD	(6601
006435  3767		DCA I	(NINDEV		
006436  1366		TAD	(201
006437  3765		DCA I	(NINCTL
006440  4335		JMS	TPNSH	/TWO-PAGE NON-SYSTEM HANDLER
006441  3764		DCA I	(NINREC
006442  1374		TAD	(6000
006443  3763		DCA I	(LOUBUF
006444  1362		TAD	(7201
006445  3761		DCA I	(NOUDEV
006446  1372		TAD	(5777
006447  3760		DCA I	(OUTPTR
006450  1376		TAD	(6377
006451  3757		DCA I	(CHRPTR
			IFNZRO	RALF	<
006452  1356		TAD	(1401
006453  3755		DCA I	(KOUBUF	>
006454  1362		TAD	(7201
006455  3262	FIX,	DCA	NT2	/SET SO IF DID 2 PGS., DONT DO IT AGAIN
006456  2200	NEWDON,	ISZ	NEW	/GET CORRECT ADDR
006457  5600		JMP I	NEW
006460  0000	NTEMP,	0
006461  0000	NT1,	0		/DEV. NUM.
006462  0000	NT2,	0		/0 IF NO 2PG HANDLERS YET
006463  0000	INCHK,	0		/CHECK THE INPUT DEVICES
006464  4200		JMS	NEW
006465  7617	INLOC,	7617
006466  1265		TAD	INLOC
006467  3302		DCA	NEXTIN
006470  1261	ANOTH,	TAD	NT1
006471  7650		SNA	CLA	/SKIP IF FILE USED
006472  5663		JMP I	INCHK
006473  1262		TAD	NT2
006474  7640		SZA	CLA	/SKIP IF STILL 1 PAGE HANDLERS
006475  5663		JMP I	INCHK
006476  1304		TAD	NP2
006477  1302		TAD	NEXTIN
006500  3302		DCA	NEXTIN	/INCREMENT TO PT TO NEXT INPUT FILR
006501  4200		JMS	NEW
006502  0000	NEXTIN,	0
006503  5270		JMP	ANOTH
006504  0002	NP2,	2
006505  6211	NOKBIN,	CDF	10	/BELONGS WITH INIT CODE
006506  1573		TAD I	[7600
006507  0120		AND	NP17
006510  1354		TAD	(7646
006511  3042		DCA	WORD1		/CREATE POINTER INTO DEV TBL
006512  1442		TAD I	WORD1
006513  6201		CDF	0
006514  1353		TAD	(-7607
006515  7650		SNA	CLA		/IF ITS SYS, NO PROBLEMS
006516  3752		DCA I	(RETSYS		/SO CAN ZERO CALL TO DELETE ROUTINE
006517  6211		CDF	10

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 80-2

006520  1751		TAD I	(7604
006521  7440		SZA
006522  5331		JMP	FEND		/AN EXT WAS SPECIFIED
			IFZERO	RALF	<
			TAD	(0216		/.BN DEFAULT FOR FLAP
			JMP	FEND	>
			IFNZRO	RALF	<
006523  6211	NOEXT,	CDF	10
006524  1750		TAD I	(7643	/CHECK IF L OR G SPEC
006525  0334		AND	L41
006526  7650		SNA	CLA
006527  1347		TAD	(0610		/NO-NEEDS RL EXT
006530  1346		TAD	(1404	>	/YES-NEEDS LD
006531  3751	FEND,	DCA I	(7604
006532  6201		CDF	0
006533  5745		JMP I	(GBIN
006534  0041	L41,	41
006535  0000	TPNSH,	0
			IFNZRO RALF <
006536  1356		TAD	(1401		/CHANGE OUTPUT BUFFER
006537  3744		DCA I	(OUTBUF>
006540  7001		IAC
006541  5735		JMP I	TPNSH
		/
006544  5760
006545  6052
006546  1404
006547  0610
006550  7643
006551  7604
006552  3425
006553  0171
006554  7646
006555  4616
006556  1401
006557  0017
006560  0015
006561  4543
006562  7201
006563  4470
006564  4202
006565  4201
006566  0201
006567  4366
006570  6601
006571  3501
006572  5777
006573  0436
006574  6000
006575  0141
006576  6377
006577  0037
	6600		PAGE

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 81




	5000	LDADR,	RELOC	OVBUFR
005000* 1104		TAD     ERRORS  /ERROR COUNT
005001* 4777	        JMS I   (DECOUT
005002* 4776	        JMS I   (PRTXT  /"ERRORS"
005003* 0361	        TXERR-1
005004* 7774	        -TXELN
005005* 4577	        JMS I   [CRLF
			IFZERO	RALF	<
			TAD	PASSNO	/IF NOT LISTING PASS
			SPA SNA CLA	/ERROR COUNT IS ENUF
			JMP I	(RETSYS	>
005006* 1016	        TAD     NEXT
005007* 1375	        TAD     (-FREE+1 /DON'T COUNT BASIC SYMBOLS
005010* 7110	        CLL RAR         /DIVIDE
005011* 4774	        JMS I   (OVER3  /BY 6
005012* 4777	        JMS I   (DECOUT
005013* 4776	        JMS I   (PRTXT  /"SYMBOLS, "
005014* 2161	        TXSYM-1
005015* 7773	        -TXSLN
		        IFZERO  RALF    <
		        TAD     LINKS
		        JMS I   (DECOUT
		        JMS I   (PRTXT  /"LINKS"
		        TXLNK-1
		        -TXLLN          >
		        IFNZRO  RALF    <
005016* 1114	        TAD     ABREFS
005017* 4777	        JMS I   (DECOUT
005020* 4776	        JMS I   (PRTXT  /"ABS REFS"
005021* 1555	        TXABR-1
005022* 7773	        -TXALN          >
005023* 4577		JMS I	[CRLF
005024* 1373	        TAD     (-33    /27 BUCKETS
005025* 3066	        DCA     LTEMP
005026* 3051	        DCA     BUCKET
005027* 7240	        CLA CMA
005030* 3046	        DCA     OPCODE  /SYMBOLS PER LINE COUNTER

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 82




005031* 1051	STPRNT, TAD     BUCKET
005032* 3067	        DCA     EXTMP   /BUCKET START ADDRESS
005033* 6211	LUPBKT, CDF     FLD1
005034* 1467	        TAD I   EXTMP   /WAS THAT LAST SYMBOL ?
005035* 7450	        SNA
005036* 5306	        JMP     NXTBKT  /YES, GO GET NEXT BUCKET
005037* 3067	        DCA     EXTMP   /SAVE LINK ADDR
005040* 1067	        TAD     EXTMP
005041* 3014	        DCA     X14     /SET UP POINTER FOR NAME
005042* 2046	        ISZ     OPCODE  /IS LINE FULL?
005043* 5247	        JMP     .+4     /NO
005044* 1372	        TAD     (-4
005045* 3046	        DCA     OPCODE
005046* 4577	        JMS I   [CRLF
005047* 1051	        TAD     BUCKET
005050* 7450	        SNA             /WATCH FOR #
005051* 1371	        TAD     (43
005052* 4576	        JMS I   [PRINT2 /PRINT BUCKET (FIRST) CHAR
005053* 6211	        CDF     FLD1
005054* 1414	        TAD I   X14     /SYMBOL
005055* 4576	        JMS I   [PRINT2 /PRINT 2 AND 3
005056* 6211	        CDF     FLD1
005057* 1414	        TAD I   X14
005060* 4576	        JMS I   [PRINT2 /PRINT 4 AND 5
005061* 6211	        CDF     FLD1
005062* 1414	        TAD I   X14
		        IFNZRO  RALF    <
005063* 3005	        DCA     OTEMP   /HOLD
005064* 1005	        TAD     OTEMP   >
005065* 0121	        AND     NP7700   /PRINT 6 AND BLANK
005066* 4576	        JMS I   [PRINT2
		        IFNZRO  RALF    <
005067* 1005	        TAD     OTEMP   /GET TYPE
005070* 0172	        AND     [17
005071* 1370	 	TAD     (TYPCOD /POINT TO TABLE
005072* 3005	        DCA     OTEMP
005073* 1405	        TAD I   OTEMP   /GET TYPE INDICATOR
005074* 4576	        JMS I   [PRINT2 >
005075* 6211	        CDF     FLD1
005076* 1414	        TAD I   X14     /PRINT FIRST DIGIT
005077* 0156	        AND     [7
005100* 4767	        JMS I   (PDIG   /FIELD DIGIT
005101* 6211	        CDF     FLD1
005102* 1414	        TAD I   X14     /LOW 12 BITS
005103* 4545	        JMS I   [OCTOUT
005104* 4576	        JMS I   [PRINT2 /TWO BLANKS
005105* 5233	        JMP     LUPBKT

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 83




005106* 2051	NXTBKT,	ISZ	BUCKET	/NEXT BUCKET CHAR
005107* 6201		CDF	FLD0
005110* 2066		ISZ	LTEMP	/INCREMENT COUNT
005111* 5231		JMP	STPRNT
005112* 4577		JMS I	[CRLF	/DO FINAL CRLF**
005113* 1366		TAD	(214	/DO NOT PAGEJ
005114* 4505		JMS I	PC	/THAT WOULD GIVE A HEADING
005115* 4765		JMS I	(OCLOSE
005116* 5764		JMP I	(RETSYS	/FINISH IT OFF
005164* 3425
005165* 4474
005166* 0214
005167* 2751
005170* 3502
005171* 0043
005172* 7774
005173* 7745
005174* 0400
005175* 6174
005176* 1504
005177* 2673
	5200		PAGE
	7000		RELOC

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 84




		/	PAGE 0 LITERALS
000143  3257
000144  0437
000145  2757
000146  0177
000147  2632
000150  0100
000151  2555
000152  0240
000153  0515
000154  0037
000155  0200
000156  0007
000157  7770
000160  3041
000161  2200
000162  2550
000163  0077
000164  0203
000165  1600
000166  7540
000167  2242
000170  2452
000171  2400
000172  0017
000173  7600
000174  2644
000175  2410
000176  1520
000177  1433
	0001		FIELD	1
	0000		*10000

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 85




		/
		/	SYMBOL TABLE IS IN FIELD ONE.
		/	EACH ENTRY HAS THE FOLLOWING FORMAT
		/
		/	0: POINTER TO NEXT ENTRY IN BUCKET, 0 IF LAST
		/	1: 2ND AND 3RD CHARS OF SYMBOL
		/	2: 4TH AND 5TH
		/	3: 6TH AND TYPE CODE
		/	4: ESD # AND HIGH-ORDER VALUE
		/	5: LOW-ORDER VALUE
		/
	0001		USER=1
	0002		XTERN=2
	0003		COMMN=3
	0004		SECTN=4
	0005		PSUDO=5
	0006		PDPMR=6
	0007		FPPMRF=7
	0010		FPPSF1=10	/JXN, TRAP
	0011		FPPSF2=11	/JA, SETB, SETX
	0012		FPPSF3=12	/CLA, EXIT, NEG, NOP, NORM,
					/PAUS, JAC, STARTD, STARTF
	0013		FPPSF4=13	/ALN, ATX, XTA
	0014		FPPSF5=14	/ADDX, LDX
	0015		FPPMRI=15	/%
	0016		FPPMRS=16	/'
	0017		FPPMRL=17	/#
	0020		PDPOP=20
		/
		/	THE FOLLOWING CODE TRICKS THE LOADER INTO PUTTING
		/	THE SYMBOL TABLE AT 2000, WHERE THE USR IS NOT,
		/	THUS SAVING SOME SWAPPING AT LOAD AND INITIALIZE.
		/	IT IS MOVED TO THE ASSEMBLED ADDRESS AFTER WE'RE
		/	DONE WITH THE USR, AND BEFORE THE FIRST PASS BEGINS
		/
	2000		*12000
			NOPUNCH
	0000		*10000
			ENPUNCH

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 86




		/
		/	BUCKETS FOR USER-DEFINED SYMBOLS
		/	AND PDP8 OPERATES AND IOTS
		/
010000  1571		PNDL
010001  0000		ZBLOCK 33

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 87




		/
		/	BUCKETS FOR INTERNALLY DEFINED SYMBOLS
		/
010034  0066		AL
010035  0136		BL
010036  0143		CL
010037  0220		DL
010040  0256		EL
010041  0302		FL
010042  0000		GL
010043  0655		HL
010044  0662		IL
010045  1014		JL
010046  1160		KL
010047  1204		LL
010050  0000		ML
010051  1230		NL
010052  1235		OL
010053  0000		PL
010054  0000		QL
010055  1254		RL
010056  1331		SL
010057  1451		TL
010060  0000		UL
010061  0000		VL
010062  0000		WL
010063  1557		XL
010064  0000		YL
010065  1564		ZL

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 88




010066  0073	AL,	.+5		/ADDR
010067  0404		0404;2200
010070  2200
010071  0011		FPPSF2
010072  0000		0
010073  0100		.+5		/ADDX
010074  0404		0404;3000
010075  3000
010076  0014		FPPSF5
010077  0110		0110
010100  0105		.+5		/ALN
010101  1416		1416;0
010102  0000
010103  0013		FPPSF4
010104  0010		0010
			IFZERO RALF <
			.+5		/AND
			1604;0
			PDPMR
			AND	0 >
			IFNZRO RALF	<
010105  0112		.+5		/AND .
010106  1604		1604;0
010107  0000
010110  0006		PDPMR
010111  0200		200
010112  0117		.+5		/AND%
010113  1604		1604;0
010114  0000
010115  0506		PDPMR+500
010116  0600		600
010117  0124		.+5		/ANDZ
010120  1604		1604;3200
010121  3200
010122  0006		PDPMR
010123  0000		0
010124  0131		.+5		/ANDZ%
010125  1604		1604;3200
010126  3200
010127  0506		PDPMR+500
010130  0400		400		>
010131  0000		0		/ATX
010132  2430		2430;0
010133  0000
010134  0013		FPPSF4
010135  0020		0020
010136  0000	BL,	0		/BASE
010137  0123		0123;0500
010140  0500
010141  0005		PSUDO
010142  1340		BASEX
010143  0150	CL,	.+5		/CDF

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 88-1

010144  0406		0406;0
010145  0000
010146  0020		PDPOP
010147  6201		CDF
010150  0155		.+5		/CIA
010151  1101		1101;0
010152  0000
010153  0020		PDPOP
010154  7041		CIA
010155  0162		.+5		/CIF
010156  1106		1106;0
010157  0000
010160  0020		PDPOP
010161  6202		CIF
010162  0167		.+5		/CLA
010163  1401		1401;0
010164  0000
010165  0020		PDPOP
010166  7200		CLA
010167  0174		.+5		/CLL
010170  1414		1414;0
010171  0000
010172  0020		PDPOP
010173  7100		CLL
010174  0201		.+5		/CMA
010175  1501		1501;0
010176  0000
010177  0020		PDPOP
010200  7040		CMA
			IFZERO RALF	< 0 >
010201  0206		IFNZRO RALF	< .+5 >
010202  1514		1514;0		/CML
010203  0000
010204  0020		PDPOP
010205  7020		CML
			IFNZRO	RALF	<
010206  0213		.+5		/COMMON
010207  1715		1715;1517
010210  1517
010211  1605		PSUDO+1600
010212  3666		COMMX
010213  0000		0		/COMMZ (8-MODE COMM SECT)
010214  1715		1715;1532
010215  1532
010216  0005		PSUDO
010217  3662		SECT8X-1	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 89




		DL,	IFZERO	RALF	<
			.+5		/DCA
			0301;0
			PDPMR
			DCA	0	>
			IFNZRO RALF	<
010220  0225		.+5		/DCA .
010221  0301		0301;0
010222  0000
010223  0006		PDPMR
010224  3200		3200
010225  0232		.+5		/DCA%
010226  0301		0301;0
010227  0000
010230  0506		PDPMR+500
010231  3600		3600
010232  0237		.+5		/DCAZ
010233  0301		0301;3200
010234  3200
010235  0006		PDPMR
010236  3000		DCA	0
010237  0244		.+5		/DCAZ%
010240  0301		0301;3200
010241  3200
010242  0506		PDPMR+500
010243  3400		DCA I	0	>
			IFZERO RALF < 0 >	/DECIMAL
010244  0251		IFNZRO RALF < .+5 >
010245  0503		0503;1115
010246  1115
010247  0105		PSUDO+0100
010250  4003		DECX
010251  0000		IFNZRO RALF < 0	/DPCHK
010252  2003		2003;1013
010253  1013
010254  0005		PSUDO
010255  1334		DPCHKX	>
010256  0263	EL,	.+5		/E
010257  0000		0;0
010260  0000
010261  0005		PSUDO
010262  4632		EX
010263  0270		.+5		/END
010264  1604		1604;0
010265  0000
010266  0005		PSUDO
010267  3200		ENDX
			IFZERO	RALF	<
			0		/ENPUNCH
			1620;2516
			PSUDO+0300
			ENPNCX	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 89-1

			IFNZRO	RALF	<
010270  0275		.+5		/ENTRY
010271  1624		1624;2231
010272  2231
010273  0005		PSUDO
010274  3630		ENTRX
010275  0000		0		/EXTERN
010276  3024		3024;0522
010277  0522
010300  1605		PSUDO+1600
010301  3646		EXTRNX	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 90




010302  0307	FL,	.+5		/F
010303  0000		0;0
010304  0000
010305  0005		PSUDO
010306  4633		FX
010307  0314		.+5		/FADD
010310  0104		0104;0400
010311  0400
010312  0007		FPPMRF
010313  1000		1000
010314  0321		.+5		/FADD#
010315  0104		0104;0400
010316  0400
010317  0317		FPPMRL+300
010320  1000		1000
010321  0326		.+5		/FADD%
010322  0104		0104;0400
010323  0400
010324  0515		FPPMRI+500
010325  1000		1000
010326  0333		.+5		/FADD'
010327  0104		0104;0400
010330  0400
010331  0716		FPPMRS+700
010332  1000		1000
010333  0340		.+5		/FADDM
010334  0104		0104;0415
010335  0415
010336  0007		FPPMRF
010337  5000		5000
010340  0345		.+5		/FADDM#
010341  0104		0104;0415
010342  0415
010343  0317		FPPMRL+300
010344  5000		5000
010345  0352		.+5		/FADDM%
010346  0104		0104;0415
010347  0415
010350  0515		FPPMRI+500
010351  5000		5000
010352  0357		.+5		/FADDM'
010353  0104		0104;0415
010354  0415
010355  0716		FPPMRS+700
010356  5000		5000
010357  0364		.+5		/FCLA
010360  0314		0314;0100
010361  0100
010362  0012		FPPSF3
010363  0002		0002

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 91




010364  0371		.+5		/FDIV
010365  0411		0411;2600
010366  2600
010367  0007		FPPMRF
010370  3000		3000
010371  0376		.+5		/FDIV#
010372  0411		0411;2600
010373  2600
010374  0317		FPPMRL+300
010375  3000		3000
010376  0403		.+5		/FDIV%
010377  0411		0411;2600
010400  2600
010401  0515		FPPMRI+500
010402  3000		3000
010403  0410		.+5		/FDIV'
010404  0411		0411;2600
010405  2600
010406  0715		FPPMRI+700
010407  3000		3000
010410  0415		.+5		/FEXIT
010411  0530		0530;1124
010412  1124
010413  0012		FPPSF3
010414  0000		0
			IFNZRO RALF	<
010415  0422		.+5		/FIELD1 (8-MODE FIELD1 SECT)
010416  1105		1105;1404
010417  1404
010420  6105		PSUDO+6100
010421  3661		SECT8X-2	>
010422  0427		.+5		/FLDA
010423  1404		1404;0100
010424  0100
010425  0007		FPPMRF
010426  0000		0000
010427  0434		.+5		/FLDA#
010430  1404		1404;0100
010431  0100
010432  0317		FPPMRL+300
010433  0000		0000
010434  0441		.+5		/FLDA%
010435  1404		1404;0100
010436  0100
010437  0515		FPPMRI+500
010440  0000		0000
010441  0446		.+5		/FLDA'
010442  1404		1404;0100
010443  0100
010444  0716		FPPMRS+700
010445  0000		0000

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 92




010446  0453		.+5		/FMUL
010447  1525		1525;1400
010450  1400
010451  0007		FPPMRF
010452  4000		4000
010453  0460		.+5		/FMUL#
010454  1525		1525;1400
010455  1400
010456  0317		FPPMRL+300
010457  4000		4000
010460  0465		.+5		/FMUL%
010461  1525		1525;1400
010462  1400
010463  0515		FPPMRI+500
010464  4000		4000
010465  0472		.+5		/FMUL'
010466  1525		1525;1400
010467  1400
010470  0716		FPPMRS+700
010471  4000		4000
010472  0477		.+5		/FMULM
010473  1525		1525;1415
010474  1415
010475  0007		FPPMRF
010476  7000		7000
010477  0504		.+5		/FMULM#
010500  1525		1525;1415
010501  1415
010502  0317		FPPMRL+300
010503  7000		7000
010504  0511		.+5		/FMULM%
010505  1525		1525;1415
010506  1415
010507  0515		FPPMRI+500
010510  7000		7000
010511  0516		.+5		/FMULM'
010512  1525		1525;1415
010513  1415
010514  0716		FPPMRS+700
010515  7000		7000
010516  0523		.+5		/FNEG
010517  1605		1605;0700
010520  0700
010521  0012		FPPSF3
010522  0003		0003
010523  0530		.+5		/FNOP
010524  1617		1617;2000
010525  2000
010526  0012		FPPSF3
010527  0040		0040

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 93




010530  0535		.+5		/FNORM
010531  1617		1617;2215
010532  2215
010533  0012		FPPSF3
010534  0004		0004
010535  0542		.+5		/FPAUSE
010536  2001		2001;2523
010537  2523
010540  0512		FPPSF3+0500
010541  0001		0001
010542  0547		.+5		/FPCOM
010543  2003		2003;1715
010544  1715
010545  0020		PDPOP
010546  6553		6553
010547  0554		.+5		/FPHLT
010550  2010		2010;1424
010551  1424
010552  0020		PDPOP
010553  6554		6554
010554  0561		.+5		/FPICL
010555  2011		2011;0314
010556  0314
010557  0020		PDPOP
010560  6552		6552
010561  0566		.+5		/FPINT
010562  2011		2011;1624
010563  1624
010564  0020		PDPOP
010565  6551		6551
010566  0573		.+5		/FPIST
010567  2011		2011;2324
010570  2324
010571  0020		PDPOP
010572  6557		6557
010573  0600		.+5		/FPRST
010574  2022		2022;2324
010575  2324
010576  0020		PDPOP
010577  6556		6556
010600  0605		.+5		/FPST
010601  2023		2023;2400
010602  2400
010603  0020		PDPOP
010604  6555		6555
010605  0612		.+5		/FSTA
010606  2324		2324;0100
010607  0100
010610  0007		FPPMRF
010611  6000		6000
010612  0617		.+5		/FSTA#
010613  2324		2324;0100

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 93-1

010614  0100
010615  0317		FPPMRL+300
010616  6000		6000
010617  0624		.+5		/FSTA%
010620  2324		2324;0100
010621  0100
010622  0515		FPPMRI+500
010623  6000		6000
010624  0631		.+5		/FSTA'
010625  2324		2324;0100
010626  0100
010627  0716		FPPMRS+700
010630  6000		6000
010631  0636		.+5		/FSUB
010632  2325		2325;0200
010633  0200
010634  0007		FPPMRF
010635  2000		2000
010636  0643		.+5		/FSUB#
010637  2325		2325;0200
010640  0200
010641  0317		FPPMRL+300
010642  2000		2000
010643  0650		.+5		/FSUB%
010644  2325		2325;0200
010645  0200
010646  0515		FPPMRI+500
010647  2000		2000
010650  0000		0		/FSUB'
010651  2325		2325;0200
010652  0200
010653  0716		FPPMRS+700
010654  2000		2000

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 94




	0000	GL=	0		/AINT NONE
010655  0000	HL,	0		/HLT
010656  1424		1424;0
010657  0000
010660  0020		PDPOP
010661  7402		HLT
010662  0667	IL,	.+5		/IAC
010663  0103		0103;0
010664  0000
010665  0020		PDPOP
010666  7001		IAC
010667  0674		.+5		/IFFLAP
010670  0606		0606;1401
010671  1401
010672  2005		PSUDO+2000
			IFZERO	RALF	<TRUE>
010673  4054		IFNZRO	RALF	<FALSE>
010674  0701		.+5		/IFNDEF
010675  0616		0616;0405
010676  0405
010677  0605		PSUDO+0600
010700  4113		IFNDFX
010701  0706		.+5		/IFNEG
010702  0616		0616;0507
010703  0507
010704  0005		PSUDO
010705  4106		IFNEGX
010706  0713		.+5		/IFNSW
010707  0616		0616;2327
010710  2327
010711  0005		PSUDO
010712  4125		IFNSWX
010713  0720		.+5		/IFNZRO
010714  0616		0616;3222
010715  3222
010716  1705		PSUDO+1700
010717  4044		IFNZRX

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 95




010720  0725		.+5		/IFPOS
010721  0620		0620;1723
010722  1723
010723  0005		PSUDO
010724  4107		IFPOSX
010725  0732		.+5		/IFRALF
010726  0622		0622;0114
010727  0114
010730  0605		PSUDO+0600
010731  4057		IFNZRO	RALF	<TRUE>
			IFZERO	RALF	<FALSE>
010732  0737		.+5		/IFREF
010733  0622		0622;0506
010734  0506
010735  0005		PSUDO
010736  4114		IFREFX
010737  0744		.+5		/IFSW
010740  0623		0623;2700
010741  2700
010742  0005		PSUDO
010743  4124		IFSWX
010744  0751		.+5		/IFZERO
010745  0632		0632;0522
010746  0522
010747  1705		PSUDO+1700
010750  4045		IFZROX
010751  0756		.+5
010752  1604		1604;0530
010753  0530
010754  0005		PSUDO
010755  1337		INDXX
010756  0763		.+5		/IOF
010757  1706		1706;0
010760  0000
010761  0020		PDPOP
010762  6002		IOF
010763  0770		.+5		/ION
010764  1716		1716;0
010765  0000
010766  0020		PDPOP
010767  6001		ION
			IFZERO	RALF	<
			0		/ISZ
			2332;0
			PDPMR
			ISZ	0	>
			IFNZRO RALF	<
010770  0775		.+5		/ISZ .
010771  2332		2332;0
010772  0000
010773  0006		PDPMR
010774  2200		ISZ	.&7600	

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 95-1

010775  1002		.+5		/ISZ%
010776  2332		2332;0
010777  0000
011000  0506		PDPMR+500
011001  2600		ISZ I	.&7600
011002  1007		.+5		/ISZZ
011003  2332		2332;3200
011004  3200
011005  0006		PDPMR
011006  2000		ISZ	0
011007  0000		0		/ISZZ%
011010  2332		2332;3200
011011  3200
011012  0506		PDPMR+500
011013  2400		ISZ I	0	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 96




011014  1021	JL,	.+5		/JA
011015  0100		0100;0
011016  0000
011017  0011		FPPSF2
011020  1030		1030
011021  1026		.+5		/JAC
011022  0103		0103;0
011023  0000
011024  0012		FPPSF3
011025  0007		0007
011026  1033		.+5		/JAL
011027  0114		0114;0
011030  0000
011031  0011		FPPSF2
011032  1070		1070
011033  1040		.+5		/JEQ
011034  0521		0521;0
011035  0000
011036  0011		FPPSF2
011037  1000		1000
011040  1045		.+5		/JGE
011041  0705		0705;0
011042  0000
011043  0011		FPPSF2
011044  1010		1010
011045  1052		.+5		/JGT
011046  0724		0724;0
011047  0000
011050  0011		FPPSF2
011051  1060		1060
011052  1057		.+5		/JLE
011053  1405		1405;0
011054  0000
011055  0011		FPPSF2
011056  1020		1020
011057  1064		.+5		/JLT
011060  1424		1424;0
011061  0000
011062  0011		FPPSF2
011063  1050		1050
			IFZERO	RALF	<
			.+5		/JMP
			1520;0
			PDPMR
			JMP	0
			.+5		/JMS
			1523;0
			PDPMR
			JMS	0	>
			IFNZRO RALF	<
011064  1071		.+5		/JMP .
011065  1520		1520;0

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 96-1

011066  0000
011067  0006		PDPMR
011070  5200		JMP	.&7600
011071  1076		.+5		/JMP%
011072  1520		1520;0
011073  0000
011074  0506		PDPMR+500
011075  5600		JMP I	.&7600
011076  1103		.+5		/JMPZ
011077  1520		1520;3200
011100  3200
011101  0006		PDPMR
011102  5000		JMP	0
011103  1110		.+5		/JMPZ%
011104  1520		1520;3200
011105  3200
011106  0506		PDPMR+500
011107  5400		JMP I	0
011110  1115		.+5		/JMS .
011111  1523		1523;0
011112  0000
011113  0006		PDPMR
011114  4200		JMS	.&7600
011115  1122		.+5		/JMS%
011116  1523		1523;0
011117  0000
011120  0506		PDPMR+500
011121  4600		JMS I	.&7600
011122  1127		.+5		/JMSZ
011123  1523		1523;3200
011124  3200
011125  0006		PDPMR
011126  4000		JMS	0
011127  1134		.+5		/JMSZ%
011130  1523		1523;3200
011131  3200
011132  0506		PDPMR+500
011133  4400		JMS I	0	>

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 97




011134  1141		.+5		/JNE
011135  1605		1605;0
011136  0000
011137  0011		FPPSF2
011140  1040		1040
011141  1146		.+5		/JSA
011142  2301		2301;0
011143  0000
011144  0011		FPPSF2
011145  1120		1120
011146  1153		.+5		/JSR
011147  2322		2322;0
011150  0000
011151  0011		FPPSF2
011152  1130		1130
011153  0000		0		/JXN
011154  3016		3016;0
011155  0000
011156  0010		FPPSF1
011157  2000		2000
011160  1165	KL,	.+5		/KCC
011161  0303		0303;0
011162  0000
011163  0020		PDPOP
011164  6032		KCC
011165  1172		.+5		/KRB
011166  2202		2202;0
011167  0000
011170  0020		PDPOP
011171  6036		KRB
011172  1177		.+5		/KRS
011173  2223		2223;0
011174  0000
011175  0020		PDPOP
011176  6034		KRS
011177  0000		0		/KSF
011200  2306		2306;0
011201  0000
011202  0020		PDPOP
011203  6031		KSF
011204  1211	LL,	.+5		/LAS
011205  0123		0123;0
011206  0000
011207  0020		PDPOP
011210  7604		LAS
011211  1216		.+5		/LDX
011212  0430		0430;0
011213  0000
011214  0014		FPPSF5
011215  0100		0100
011216  1223		.+5		/LISTOFF
011217  1123		1123;2417

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 97-1

011220  2417
011221  0605		PSUDO+0600
011222  4001		LSTOFX
011223  0000		0		/LISTON
011224  1123		1123;2417
011225  2417
011226  1605		PSUDO+1600
011227  4000		LSTONX

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 98




	0000	ML=	0		/NO LIST
		NL,	IFZERO RALF	< .+5 >
011230  0000		IFNZRO RALF	< 0 >
011231  1720		1720;0		/NOP
011232  0000
011233  0020		PDPOP
011234  7000		NOP
			IFZERO	RALF	<
			0		/NOPUNCH
			1720;2516
			PSUDO+0300
			NOPNCX	>
011235  1242	OL,	.+5		/OCTAL
011236  0324		0324;0114
011237  0114
011240  0005		PSUDO
011241  4004		OCTALX
011242  1247		.+5		/ORG
011243  2207		2207;0
011244  0000
011245  0005		PSUDO
011246  3730		ORGX
011247  0000		0		/OSR
011250  2322		2322;0
011251  0000
011252  0020		PDPOP
011253  7404		OSR
			IFZERO	RALF	<
		PL,	0		/PAGE
			0107;0500
			PSUDO
			PAGEX	>
	0000		IFNZRO	RALF	<PL=0	>
	0000	QL=	0		/WHAT DID YOU EXPECT?
011254  1261	RL,	.+5		/RAL
011255  0114		0114;0
011256  0000
011257  0020		PDPOP
011260  7004		RAL
011261  1266		.+5		/RAR
011262  0122		0122;0
011263  0000
011264  0020		PDPOP
011265  7010		RAR
011266  1273		.+5		/RDF
011267  0406		0406;0
011270  0000
011271  0020		PDPOP
011272  6214		RDF
011273  1300		.+5		/REPEAT
011274  0520		0520;0501
011275  0501

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 98-1

011276  2405		PSUDO+2400
011277  0762		REPETX
011300  1305		.+5		/RIB
011301  1102		1102;0
011302  0000
011303  0020		PDPOP
011304  6234		RIB
011305  1312		.+5		/RIF
011306  1106		1106;0
011307  0000
011310  0020		PDPOP
011311  6224		RIF
011312  1317		.+5		/RMF
011313  1506		1506;0
011314  0000
011315  0020		PDPOP
011316  6244		RMF
011317  1324		.+5		/RTL
011320  2414		2414;0
011321  0000
011322  0020		PDPOP
011323  7006		RTL
011324  0000		0		/RTR
011325  2422		2422;0
011326  0000
011327  0020		PDPOP
011330  7012		RTR

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 99




011331  1336	SL,	.+5		/S
011332  0000		0;0
011333  0000
011334  0005		PSUDO
011335  1005		SX
			IFNZRO	RALF	<
011336  1343		.+5		/SECT
011337  0503		0503;2400
011340  2400
011341  0005		PSUDO
011342  3665		SECTX
011343  1350		.+5		/8 MODE SECT
011344  0503		0503;2470
011345  2470
011346  0005		PSUDO
011347  3663		SECT8X >
011350  1355		.+5		/SETB
011351  0524		0524;0200
011352  0200
011353  0011		FPPSF2
011354  1110		1110
011355  1362		.+5		/SETX
011356  0524		0524;3000
011357  3000
011360  0011		FPPSF2
011361  1100		1100
011362  1367		.+5		/SKP
011363  1320		1320;0
011364  0000
011365  0020		PDPOP
011366  7410		SKP
011367  1374		.+5		/SMA
011370  1501		1501;0
011371  0000
011372  0020		PDPOP
011373  7500		SMA
011374  1401		.+5		/SNA
011375  1601		1601;0
011376  0000
011377  0020		PDPOP
011400  7450		SNA
011401  1406		.+5		/SNL
011402  1614		1614;0
011403  0000
011404  0020		PDPOP
011405  7420		SNL
011406  1413		.+5		/SPA
011407  2001		2001;0
011410  0000
011411  0020		PDPOP
011412  7510		SPA
011413  1420		.+5		/STARTD

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 99-1

011414  2401		2401;2224
011415  2224
011416  0412		FPPSF3+0400
011417  0006		0006
011420  1425		.+5		/STARTE
011421  2401		2401;2224
011422  2224
011423  0512		FPPSF3+0500
011424  0050		0050
011425  1432		.+5		/STARTF
011426  2401		2401;2224
011427  2224
011430  0612		FPPSF3+0600
011431  0005		0005
011432  1437		.+5		/STL
011433  2414		2414;0
011434  0000
011435  0020		PDPOP
011436  7120		STL
011437  1444		.+5		/SZA
011440  3201		3201;0
011441  0000
011442  0020		PDPOP
011443  7440		SZA
011444  0000		0		/SZL
011445  3214		3214;0
011446  0000
011447  0020		PDPOP
011450  7430		SZL

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 100




		TL,	IFZERO	RALF	<
			.+5		/TAD
			0104;0
			PDPMR
			TAD	0	>
			IFNZRO RALF	<
011451  1456		.+5		/TAD .
011452  0104		0104;0
011453  0000
011454  0006		PDPMR
011455  1200		TAD	.&7600
011456  1463		.+5		/TAD%
011457  0104		0104;0
011460  0000
011461  0506		PDPMR+500
011462  1600		TAD I .&7600
011463  1470		.+5		/TADZ
011464  0104		0104;3200
011465  3200
011466  0006		PDPMR
011467  1000		TAD	0
011470  1475		.+5		/TADZ%
011471  0104		0104;3200
011472  3200
011473  0506		PDPMR+500
011474  1400		TAD I	0	>
011475  1502		.+5		/TCF
011476  0306		0306;0
011477  0000
011500  0020		PDPOP
011501  6042		TCF
011502  1507		.+5		/TEXT
011503  0530		0530;2400
011504  2400
011505  0005		PSUDO
011506  4006		TEXTX
011507  1514		.+5		/TLS
011510  1423		1423;0
011511  0000
011512  0020		PDPOP
011513  6046		TLS
011514  1521		.+5		/TPC
011515  2003		2003;0
011516  0000
011517  0020		PDPOP
011520  6044		TPC
011521  1526		.+5		/TRAP3
011522  2201		2201;2063
011523  2063
011524  0010		FPPSF1
011525  3000		3000
011526  1533		.+5		/TRAP4

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 100-1

011527  2201		2201;2064
011530  2064
011531  0010		FPPSF1
011532  4000		4000
011533  1540		.+5		/TRAP5
011534  2201		2201;2065
011535  2065
011536  0010		FPPSF1
011537  5000		5000
011540  1545		.+5		/TRAP6
011541  2201		2201;2066
011542  2066
011543  0010		FPPSF1
011544  6000		6000
011545  1552		.+5		/TRAP7
011546  2201		2201;2067
011547  2067
011550  0010		FPPSF1
011551  7000		7000
011552  0000		0		/TSF
011553  2306		2306;0
011554  0000
011555  0020		PDPOP
011556  6041		TSF

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 101




	0000	UL=	0
	0000	VL=	0
	0000	WL=	0
011557  0000	XL,	0		/XTA
011560  2401		2401;0
011561  0000
011562  0013		FPPSF4
011563  0030		0030
	0000	YL=	0
011564  0000	ZL,	0		/ZBLOCK
011565  0214		0214;1703
011566  1703
011567  1305		PSUDO+1300
011570  4152		ZBLKX

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 102




			IFZERO RALF	< PNDL=0 >
			IFNZRO	RALF	<
011571  1577	PNDL,	.+6		/BLANK COMMON
011572  0000		0;0
011573  0000
011574  0003		3		/CODE FOR COMMON
011575  0040		40;0		/ESD #2, LEN=0
011576  0000
011577  0000		0		/#MAIN
011600  1501		1501;1116
011601  1116
011602  0004		4		/CODE FOR SECTION
011603  0020	LMAIN,	20;0		/ESD #1, LEN=0>
011604  0000
		FREE,
011605  1605	END,	END	/NICE WHEN FLAP ASSEMBLES

	0000		FIELD 0
	0200		*200
			$

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 103

ABREFS 0114      CLRSCT 1273      ESDSCN 5611      F2WD   1062
ABSOP  0115      CLR2   1715      ESDTMP 0067      GBIN   6052
AC     0132      COMMN  0003      EX     4632      GCMND  6001
ACNGLP 4732      COMMX  3666      EXPDEF 0040      GDATE  6200
ACX    0131      CPLBUF 5100      EXPON  3400      GETAC  2426
ADD    5033      CPLIT  0102      EXPR   1600      GETADR 1217
ADDDGT 2335      CPTMP  0021      EXPSW  0041      GETCHR 2410
ADDLP  5040      CRESD  3701      EXPVAL 0035      GETCHT 4026
ADR    1706      CRLF   1433      EXTMP  0067      GETCND 2431
ADRADD 2000      CSLOOP 1277      EXTMP2 0070      GETCON 4072
ADRAND 2040      CT     0021      EXTRNX 3646      GETD   4643
ADRAOX 2061      DCB    7760      FAD    5000      GETEXP 1000
ADRASX 2034      DCNT   4600      FALSE  4054      GETIT  0341
ADRASY 2036      DECNO  2711      FEND   6531      GETNAM 2452
ADRDIV 2073      DECOUT 2673      FILLLP 4514      GETNEW 4222
ADRERR 3250      DECPT  4674      FIND   2200      GETSGN 4617
ADREXP 1717      DECX   4003      FINDOP 1756      GETSKP 2412
ADRGET 1210      DEC2   2714      FIX    6455      GETUSR 4544
ADRMUL 2064      DEC3   2716      FIXOPC 2600      GL     0000
ADROP  1724      DEC4   2730      FL     0302      GNC    2512
ADROR  2047      DEFBIN 6033      FLD0   0000      GOADD  5015
ADRSUB 2013      DEFIND 0643      FLD1   0010      HL     0655
AGAIN  0352      DEFLBL 0636      FMPTEN 5103      ICHAR  4212
AL     0066      DELFIL 1350      FORMFD 0324      ICHAR1 4312
ALNLP  5004      DESW   0046      FORMT1 1061      ICHAR2 4306
ANOTH  6470      DEXERR 4671      FORMT2 1117      IFNDFX 4113
ASMBL  0310      DIGIT  2534      FORMT3 1116      IFNEGX 4106
ASMOF  0057      DIVERR 2112      FPADR  1155      IFNSWX 4125
BACK1  2400      DIVLUP 0404      FPDMP  1065      IFNZRX 4044
BAD    1653      DL     0220      FPMRI  1105      IFPOSX 4107
BADCND 4076      DMPESD 5600      FPMRL  1060      IFREFX 4114
BADEXP 1100      DPCHKX 1334      FPMRS  1066      IFSWX  4124
BASER  0031      DPFLG  0030      FPPADR 0044      IFZROX 4045
BASEX  1340      DPSW   0022      FPPMR  1027      IL     0662
BEGIN  6000      EL     0256      FPPMRF 0007      INABS  3057
BFILE  0107      END    1605      FPPMRI 0015      INBREC 4245
BIERR  1270      ENDEXP 1640      FPPMRL 0017      INBUF  6000
BL     0136      ENDLIN 0271      FPPMRS 0016      INBUFP 4242
BLANK  2414      ENDOUT 3107      FPPSF1 0010      INCHAR 4214
BLINE  0141      ENDX   3200      FPPSF2 0011      INCHCT 4324
BMPLOC 3111      ENTRX  3630      FPPSF3 0012      INCHK  6463
BOCHKL 3547      EOP2   3212      FPPSF4 0013      INCOMN 4313
BORG   3514      EOP3   3225      FPPSF5 0014      INCTL  0400
BOSETL 3555      EQUERR 0716      FPPSWT 0075      INCTLW 4241
BOTMP  0067      EQUN   0071      FPPS1  1125      INCTR  4360
BOXIT  3557      ERMSG  2644      FPPS2  1046      INDEVH 7200
BUCKET 0051      ERMSG1 2632      FPPS3  1122      INDXR  0033
CHCKMR 3236      ERRORS 0104      FPPS4  1201      INDXX  1337
CHKSUM 0024      ESDBUF 5200      FPPS5  1134      INEOF  4323
CHNIN  6006      ESDERR 3656      FPPWD2 0077      INERRX 4264
CHNSW  0007      ESDLND 5730      FPP2WD 0076      INFLD  0000
CHRPTR 0017      ESDLUP 5620      FREE   1605      INFPTR 4322
CKCTC  1674      ESDNLP 5631      FULCHK 4600      INHNDL 4337
CL     0143      ESDNO  0025      FULLUP 4605      INJMP  4270
CLEAR  4751      ESDOUT 5706      FX     4633      INJMPP 4217

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 103-1

INLOC  6465      MPLP2  5134      NUMLUP 2304      OUTBLK 3472
INNEWF 4324      MREAD  7757      NUM1   0067      OUTBUF 5760
INOP   3263      MSGDUN 2671      NUM2   0070      OUTDMP 4444
INPTR  4361      MU     5155      NXTBKT 5106      OUTEMP 0507
INREC  4243      MUX    5154      OCHAR  0437      OUTINH 0514
INRECS 0002      M3     0140      OCHAR1 0503      OUTPTR 0015
IN7400 4200      NAME1  0052      OCHAR2 0500      OUTREL 3000
IN7600 4213      NAME2  0053      OCLOSE 4474      OUTSWT 0062
IOERR  3257      NAME3  0054      OCNT   0006      OUTTXT 4023
IOPEN  4203      NCHARS 0020      OCTALX 4004      OUTWRD 3041
ISQUOT 1671      NCTMP  0022      OCTNUM 2331      OVBUFR 5000
ISSYM  2467      NDIGT  2546      OCTOUT 2757      OVER   4677
IXMES  1051      NEW    6400      OFFIT  0334      OVERLY 3232
JL     1014      NEWDON 6456      OFNAME 0515      OVER3  0400
JSTONE 0734      NEWESD 3600      OKBIN  6050      P      0067
KCHN   6106      NEWLIN 0240      OKCND  4102      PAGEN  0103
KL     1160      NEWSCT 3717      OKENT  3644      PASBLK 3471
KOUBUF 4616      NEXT   0016      OKEXP  1652      PASSNO 0056
LASTOP 0055      NEXTIN 6502      OL     1235      PATCH  0301
LBLK   6076      NEXTST 0203      OLDN3  0004      PC     0105
LDADR  6600      NINCTL 4201      ONE    1713      PDIG   2751
LDRBLK 3470      NINDEV 4366      ONOFIL 4442      PDPMR  0006
LDRNAM 6277      NINREC 4202      OOPEN  4400      PDPOP  0020
LETTER 2521      NL     1230      OP     0123      PDPOPR 2115
LINE   7000      NLETR  2532      OPCJMP 0744      PDPOR  2134
LINKS  0114      NOASM  0336      OPCODE 0046      PDP8MR 1215
LINKSW 0113      NODGT  2350      OPCTBL 0745      PL     0000
LINPAG 0112      NODUMP 4532      OPENIT 0331      PLINE  2666
LINSIZ 0023      NOENTS 5671      OPR8R  1750      PNCHOF 0060
LISTSW 0061      NOEXT  6523      OPR8RS 2622      PNDL   1571
LITRL  0100      NOFLO  2242      OPX    0122      PP2    0103
LL     1204      NOKBIN 6505      ORGX   3730      PRINT2 1520
LMAIN  1603      NOOPR  1766      OTEMP  0005      PRLNXT 1411
LOCTR1 0026      NOP3   3230      OTYPE  0533      PRLTST 1420
LOCTR2 0027      NOREL  1325      OTYPP  0515      PRNTLN 1400
LOOK   2203      NORM   5055      OUBLK  4432      PRNTRL 3034
LOOKP  4660      NORMLP 5061      OUBUF  6400      PRNTST 3063
LOOKUP 2242      NOSCAL 4715      OUCCNT 4540      PRTTMP 1400
LOOP6B 4012      NOSYM  1656      OUCOMN 0505      PRTXT  1504
LOUBUF 4470      NOTDOT 1633      OUCTL  4200      PSEUDO 1200
LPAGE1 0110      NOTEG  0226      OUCTLW 4467      PSUDO  0005
LPAGE2 0111      NOTNEG 4743      OUDEVH 7400      PTP    0020
LSLP   5067      NOTSAM 2236      OUDWCT 0513      PUTABS 3032
LSTOFX 4001      NOTSCT 1313      OUELEN 4433      PUTORG 3743
LSTONX 4000      NOUBUF 0436      OUFILE 0106      PUTVAL 0704
LTEMP  0066      NOUDEV 4543      OUFLD  0000      P0LBUF 5200
LUNAME 0600      NP17   0120      OUFNAM 4362      P0LIT  0101
LUPBKT 5033      NP2    6504      OUHNDL 4424      P1     1530
L41    6534      NP7700 0121      OUJMP  0447      P2     1555
MAXLIN 0066      NSWTCH 2364      OUJMPE 0512      P260   2755
MDERR  0633      NTEMP  6460      OUNAME 4537      QENT   3642
ML     0000      NT1    6461      OUPOLD 0510      QL     0000
MONTHS 6322      NT2    6462      OUPTR  0511      RADIX  0065
MOUBUF 3501      NUM    2200      OUREC  4471      RALF   0001
MPLP1  5123      NUMBER 2277      OUSETP 0425      RDLOOP 0245

/ RALF, V50A				  PAL8-V50Y 19-JUL-20 PAGE 103-2

REASM  0304      TTYOUT 1542      
RELERR 1014      TXABR  1556      
REPCNT 0063      TXALN  0005      
REPETX 0762      TXBBIN 6304      
REPLEN 0201      TXBLN  0016      
REPLST 0202      TXELN  0004      
RESET  3121      TXERR  0362      
RETSYS 3425      TXSLN  0005      
RFORMF 1503      TXSYM  2162      
RL     1254      TYPCOD 3502      
RSHFT  5020      UL     0000      
RSLP   5024      UNDEF  1734      
R41    6077      USER   0001      
R6L    2550      USR    0116      
R6R    2555      VERS   0003      
SBLOCK 7776      VL     0000      
SCALUP 4711      VMSG   6275      
SCSWT  0064      VMTXT  0547      
SCTN   1623      VNUM   0050      
SECTN  0004      WL     0000      
SECTX  3665      WORD1  0042      
SECT8X 3663      WORD2  0043      
SEMICL 2423      WRD    3111      
SETSCT 3720      XFLAG  0047      
SETUP  5146      XINCR  0050      
SHIFT  2364      XITEMP 1251      
SL     1331      XL     1557      
START  0222      XTERN  0002      
START3 3217      X10    0010      
STPRNT 5031      X11    0011      
STYPE  0024      X12    0012      
SUBX   1251      X13    0013      
SWTCH  4052      X14    0014      
SX     1005      YL     0000      
SYMBOL 1614      ZBCNT  0067      
SYONLY 0117      ZBLKX  4152      
TABIT  1423      ZBTMP  0070      
TEN    2750      ZL     1564      
TENTH  2741      ZRONDX 2616      
TEXTX  4006      
TITBUF 0544      
TITDAT 0552      
TITLEN 0017      
TL     1451      
TMP    3424      
TODEC  6264      
TPNSH  6535      
TRUE   4057      
TRYBLK 0721      
TRYEQU 0645      
TRYEXP 2147      
TTABS  0400      
TTORG  1000      
TTREL  1400      
TTYCLA 1546      



ERRORS DETECTED: 0
LINKS GENERATED: 0