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


OVERLY=1				  PAL8-V50X 06-MAR-92 PAGE 1

	0001	OVERLY=1

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 2

		/OS/8 FORTRAN PASS2 (PASS TWO)
		/
		/ VERSION 5A 9-OCT-80 WVDM
		/
		/	OS/8 FORTRAN COMPILER - PASS 2
		/
		/		BY: HANK MAURER
		/		UPDATED BY: R. LARY + M. HURLEY + WVDM
		/
		/
	0005		VERSON=5
	0001		PATCH="A&77
	7757		MREAD=7757
	7776		SBLOCK=7776
		/
		/ CHAIN TO RALF
		/ PASS2O     VERSION 5A 9-OCT-80 WVDM
		/CHANGES FOR OS/8 V3D AND OS/78 BY P.T.
		/FIXED THE Q OPTION

	0002		FIELD	2
			ENPUNCH
	5000		*OVRLAY>		/LATE IN THE FINAL QUARTER

025000  1006	GORALF,	TAD	FILDEV		/GET SIZE AND DEVICE WORD
025001  3777		DCA I	(7617		/PUT IT AWAY
025002  2377		ISZ	(7617		/BUMP POINTER
025003  1007		TAD	FILBLK		/GET ORIGIN OF FIE
025004  3777		DCA I	(7617		/STORE IT
025005  2377		ISZ	(7617
025006  3777		DCA I	(7617		/ZERO END OF LIST
025007  1620		TAD I	RALFSV
025010  6201		CDF 0
025011  7710		SPA CLA		/WAS /A SPECIFIED?
025012  5776		JMP I	(7605	/YES - GET OUT
025013  1775		TAD I	(SBLOCK		/ON CCL-DEVICE
025014  6212		CIF	10
025015  4545		JMS I	Q200
025016  0002		2			/LOOKUP RALF.SV
025017  5342	RLFBLK,	RALFNM
025020  7643	RALFSV,	7643
025021  5776		JMP I	(7605
025022  1217		TAD	RLFBLK
025023  3230		DCA	CHNBLK
025024  1774		TAD I	(MREAD-1	/FROM CCL-DEVICE
025025  6212		CIF 10
025026  4545		JMS I	Q200
025027  0006		6
025030  0000	CHNBLK,	0
		/-----------------------------------------------------
025031  4514	ADD,	JMS I	QCODE		/GENERATE CODE FOR ADD
025032  5254		ADDTBL-6;0
025033  0000
025034  5511		JMP I	QNEXT

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 40

		/ EXP OPERATOR
025035  0000	ETYPE,	0
025036  4553	EXP,	JMS I	QSAVACT		/SAVE AC IF ITS SECOND ARG
025037  4560		JMS I	QGARGS		/GET THE TWO ARGS
025040  5773		JMP I	(OTERR		/TYPE/OPERATOR ERROR
025041  1030		TAD	TYPE1		/GET PLACE IN TABLE
025042  7106		CLL RTL
025043  1030		TAD	TYPE1		/TYPE1 TIMES TEN
025044  1033		TAD	TYPE2		/**
025045  7104		CLL RAL
025046  1372		TAD	(EXPTBL-15	/POINTER TO ENTRY MINUS ONE
025047  3010		DCA	X10
025050  6211		CDF	10
025051  1410		TAD I	X10		/GET RESULTING TYPE
025052  7450		SNA
025053  5773		JMP I	(OTERR		/BAD IF THIS WORD IS ZERO
025054  3235		DCA	ETYPE		/SAVE THE TYPE
025055  1410		TAD I	X10		/GET THE SUBR NAME
025056  6201		CDF
025057  3771		DCA I	(ESUBR+2	/PUT IT INTO ITS PLACE
025060  1030		TAD	TYPE1		/GET INTO CORRECT MODE
025061  4322		JMS	SETMOD
025062  1026		TAD	ARG1		/IS ARG 1 ALREADY IN THE AC
025063  7650		SNA CLA
025064  5271		JMP	.+5		/YES, SKIP THE LOAD
025065  4523		JMS I	QOPCOD		/OTHERWISE LOAD IT
025066  1012		FLDA
025067  4525		JMS I	QOADDR
025070  0026		ARG1
025071  4561		JMS I	QOINS		/FSTA	#BASE
025072  1567		FSTA;XBASE
025073  3600
025074  1033		TAD	TYPE2		/SET MODE FOR ARG 2
025075  4322		JMS	SETMOD
025076  4523		JMS I	QOPCOD		/NOW LOAD IT
025077  1012		FLDA
025100  4525		JMS I	QOADDR
025101  0031		ARG2
025102  4561		JMS I	QOINS		/EXTERN FOR THE SUBR
025103  2142		EXTERN;ESUBR
025104  5764
025105  4561		JMS I	QOINS		/JSA TO THE SUBR
025106  3663		JSA;ESUBR
025107  5764
025110  3416		DCA I	X16		/RESULT IS THE AC
025111  1235		TAD	ETYPE		/WITH THIS AS THE TYPE
025112  3416		DCA I	X16
025113  3416		DCA I	X16
025114  1235		TAD	ETYPE		/SET FMODE CORRECTLY
025115  4554		JMS I	QSKPIRL
025116  7410		SKP
025117  7201		CLA IAC			/RETURNED IN F MODE
025120  3101		DCA	FMODE
025121  5511		JMP I	QNEXT
		SETMOD,				/SET MODE TO CORRESPOND

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 40-1

						/TO THE ARG
025122  0005	VOVER,	VERSON			/VERSION NUMBER FOR OVERLAY (NO PATCH!)
025123  4554		JMS I	QSKPIRL		/SKIP IF WE WANT F MODE
025124  5327		JMP	.+3		/SET TO E MODE
025125  4532		JMS I	QGENSF		/SET TO F MODE
025126  5722		JMP I	SETMOD
025127  4533		JMS I	QGENSE
025130  5722		JMP I	SETMOD
025131  7041	FINAL,	CIA
025132  7001		IAC
025133  3006		DCA	FILDEV		/SAVE RALF INPUT SPEC
025134  7040		CMA
025135  3763		DCA I	X7746		/DON'T SAVE CORE ARROUND CHAIN
025136  4770		JMS I	(DFRTTM	/DELETE FORTRN.TM
025137  6211		CDF	10
025140  1570		TAD I	Q7605		/IS THERE A LISTING FILE?
025141  7650		SNA CLA
025142  5200		JMP	GORALF		/NO, JUST CHAIN TO RALF
025143  6201		CDF
025144  1775		TAD I	(SBLOCK		/ON CCL-DEVICE
025145  6212		CIF	10
025146  4545		JMS I	Q200		/FIND PASS 3
025147  0002		2
025150  5346		PASS3N
025151  0000	PAS3SV,	0
025152  5570		JMP I	Q7605
025153  1350		TAD	PAS3SV-1	/MOVE BLOCK TO CHAIN COMMAND
025154  7001		IAC			/SKIP OVER CORE CONTROL BLOCK
025155  3363		DCA	X7746
025156  1774		TAD I	(MREAD-1	/FROM CCL-DEVICE
025157  3351		DCA	PAS3SV		/TEMP
025160  4751		JMS I	PAS3SV		/READ IN PASS 3
025161  1600		NPPAS3
025162  0400	SPASS3,	400
025163  7746	X7746,	7746
025164  5570		JMP I	Q7605
025165  5762		JMP I	SPASS3		/GO DO PASS 3
025170  3760
025171  5766
025172  6614
025173  1360
025174  7756
025175  7776
025176  7605
025177  7617
	5200		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 41

		/ I/O OPEN AND CLOSE

025200  0000	STRTIO,	0			/ROUTINE FOR STARTING IO STMT
025201  2100		ISZ	IOSTMT		/SET IOSTMT SWITCH
						/(INCASE OF IMPLIED LOOPS)
025202  4517		JMS I	QSAVEAC		/SAVE AC
025203  4553		JMS I	QSAVACT		/IF NECESSARY
025204  1600		TAD I	STRTIO		/GET NUMBER OF ARGS
025205  3050		DCA	NARGS		/SAVE IT
025206  2200		ISZ	STRTIO		/MOVE TOHE NME
025207  1050		TAD	NARGS		/BACKUP STACK BY THIS MUCH
025210  1050		TAD	NARGS		/THREE OR SIX
025211  1050		TAD	NARGS
025212  1016		TAD	X16
025213  3015		DCA	X15
025214  1015		TAD	X15
025215  3024		DCA	TEMP		/FUNCTION NAME GOES HERE
025216  4524		JMS I	QOPCDE		/EXTERN FOR SUBR
025217  2142		EXTERN
025220  1600		TAD I	STRTIO		/GET SUBROUTINE NAME
025221  4537		JMS I	QOUTSYM		/OUTPUT IT
025222  4535		JMS I	QCRLF
025223  1600		TAD I	STRTIO		/PUT NAME
025224  3424		DCA I	TEMP		/ONTO STACK
025225  4532		JMS I	QGENSF		/ALL CALLS IN F MODE
025226  4555		JMS I	QGENCAL		/GENERATE THE CALL
025227  7000		NOP
025230  5511		JMP I	QNEXT		/NOTHING FOR R CLOSE
025231  7001	FMTRD1,	IAC			/START FORMATTED READ
025232  3060		DCA	INPUT		/SET INPUT = 1
025233  3057		DCA	BINARY		/AND BINARY = 0
025234  4200		JMS	STRTIO		/GO MAKE THE CALL
025235  7776		-2;XREADO
025236  5312
025237  3060	FMTWR1,	DCA	INPUT		/SET SWITCHES
025240  3057		DCA	BINARY
025241  4200		JMS	STRTIO
025242  7776		-2;XWRITO
025243  5316
025244  7201	BINRD1,	CLA IAC
025245  3057		DCA	BINARY
025246  7201		CLA IAC
025247  3060		DCA	INPUT
025250  4200		JMS	STRTIO
025251  7777		-1;XRUO
025252  5322
025253  3060	BINWR1,	DCA	INPUT
025254  7201		CLA IAC
025255  3057		DCA	BINARY
025256  4200		JMS	STRTIO
025257  7777		-1;XWUO
025260  5325
025261  7326	WCLOSE,	CLA STL RTL		/TRAP3 HERE TOO**
025262  4266		JMS	OJSR		/OUTPUT TRAP3 #WUC
025263  5306		XWUC

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 41-1

025264  3100		DCA	IOSTMT		/KILL IO SWITCH
025265  5511		JMP I	QNEXT
025266  0000	OJSR,	0			/OUTPUT EXTERN THEN JSR OR TRAP3
025267  7104		CLL RAL		/AC ON ENTRY IS 0 (JSR), 1 (JSA) OR 2 (TRAP3).
025270  1377		TAD	(JSR
025271  3300		DCA	OJSROP
025272  4524		JMS I	QOPCDE		/FIRST EXTERN
025273  2142		EXTERN
025274  1666		TAD I	OJSR
025275  4537		JMS I	QOUTSYM
025276  4535		JMS I	QCRLF
025277  4524		JMS I	QOPCDE		/THEN JSR
025300  0000	OJSROP,	0
025301  1666		TAD I	OJSR
025302  2266		ISZ	OJSR
025303  4537		JMS I	QOUTSYM
025304  4535		JMS I	QCRLF
025305  5666		JMP I	OJSR

025306  4322	XWUC,	TEXT	'#RENDO'	/**
025307  0516
025310  0417
025311  0000
025312  4322	XREADO,	TEXT	'#READO'
025313  0501
025314  0417
025315  0000
025316  4327	XWRITO,	TEXT	'#WRITO'
025317  2211
025320  2417
025321  0000
025322  4322	XRUO,	TEXT	'#RUO'
025323  2517
025324  0000
025325  4327	XWUO,	TEXT	'#WUO'
025326  2517
025327  0000
025330  4322	RDRTNE,	TEXT	/#RSVO/
025331  2326
025332  1700
025333  4322	RDDRTN,	TEXT	/#RFDV/
025334  0604
025335  2600
025336  0617	FTRNTM,	FILENAME FORTRN.TM
025337  2224
025340  2216
025341  2415
025342  2201	RALFNM,	FILENAME RALF.SV
025343  1406
025344  0000
025345  2326
025346  2001	PASS3N,	FILENAME PASS3.SV
025347  2323
025350  6300
025351  2326

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 42

025352  4514	DNA,	JMS I	QCODE		/AND CODE
025353  6143		ANDTBL-6;0
025354  0000
025355  5511		JMP I	QNEXT
025356  4540	PURGE,	JMS I	QGARG		/LOOK AT THE TOP OF STACK
025357  5776		JMP I	(IOTYPE		/BAD TYPE
025360  1026		TAD	ARG1		/IT MUST BE A SCALAR REFNCE
025361  7100		CLL
025362  1167		TAD	QM63
025363  7620		SNL CLA
025364  5776		JMP I	(IOTYPE		/BAD TYPE
025365  5511		JMP I	QNEXT
025366  4513	PAUZE,	JMS I	QUCODE		/GET ARG INTO FAC
025367  6515		AIFTBL-1
025370  4521		JMS I	QGENCOD		/OUTPUT JSR
025371  5145		PAZCOD-1
025372  5511		JMP I	QNEXT
025376  6147
025377  3661
	5400		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 43

		/DIRECT ACCESS I/O

025400  7201	DARD1,	CLA IAC			/SET SWITCHES
025401  3060		DCA	INPUT
025402  7201		CLA IAC
025403  3057		DCA	BINARY		/SAME AS UNFORMATTED
025404  4777		JMS I	(STRTIO		/GENERATE CALL
025405  7776		-2;XRDAO
025406  5426
025407  3060	DAWR1,	DCA	INPUT		/SAME AS UNFORMATTED WRITE OPEN
025410  7201		CLA IAC
025411  3057		DCA	BINARY
025412  4777		JMS I	(STRTIO		/CALL
025413  7776		-2;XWDAO
025414  5431
025415  1220	DEFFIL,	TAD	XDFARG		/FAKE A CALL
025416  3777		DCA I	(STRTIO		/TO SKIP THE ISZ IOSTMT
025417  5776		JMP I	(STRTIO+2
025420  5421	XDFARG,	.+1
025421  7774		-4;XDEF
025422  5423
025423  4304	XDEF,	TEXT	'#DEF'
025424  0506
025425  0000
025426  4322	XRDAO,	TEXT	'#RDAO'
025427  0401
025430  1700
025431  4327	XWDAO,	TEXT	'#WDAO'
025432  0401
025433  1700

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 44

		/ RANDOM UNFITTING STUFF
025434  4521	RETURN,	JMS I	QGENCOD		/JA #RTN
025435  5141		RTNCOD-1
025436  5511		JMP I	QNEXT
025437  0000	GENSTF,	0			/GENERATE STARTF IF IN E MODE
025440  1101		TAD	FMODE		/LOOK AT THE SWITCH
025441  7640		SZA CLA
025442  5637		JMP I	GENSTF		/ALREADY THERE
025443  2101		ISZ	FMODE		/SET SWITCH
025444  4523		JMS I	QOPCOD		/OUTPUT STARTF
025445  1134		STARTF
025446  4535		JMS I	QCRLF
025447  5637		JMP I	GENSTF		/RETURN
025450  4513	NOT,	JMS I	QUCODE		/.NOT.
025451  6500		NOTTBL-1
025452  5775		JMP I	(RELGM1
025453  4514	SUB,	JMS I	QCODE		/SUBTRACT
025454  5417		SUBTBL-6;0
025455  0000
025456  5511		JMP I	QNEXT
025457  4514	MUL,	JMS I	QCODE		/MULTIPLY
025460  5523		MULTBL-6;0
025461  0000
025462  5511		JMP I	QNEXT
025463  7201	ASFDEF,	CLA IAC			/SET SWITCH FOR ASF PROLOG
025464  3102		DCA	ASFSWT
025465  5511		JMP I	QNEXT
025466  0000	OINS,	0			/OUTPUT TAB OPCODE TAB
						/ADDRESS CRLF
025467  3044		DCA	WHATAC		/ZAPS AC
025470  4536		JMS I	QOTAB
025471  1666		TAD I	OINS		/GET OPCODE
025472  2266		ISZ	OINS
025473  4537		JMS I	QOUTSYM
025474  4536		JMS I	QOTAB
025475  1666		TAD I	OINS		/GET ADDRESS
025476  7440		SZA
025477  4537		JMS I	QOUTSYM
025500  4535		JMS I	QCRLF		/END LINE
025501  2266		ISZ	OINS
025502  5666		JMP I	OINS

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 45

		/ CODE GENERATOR FOR STORE
025503  4560	STORE,	JMS I	QGARGS		/GET ARGS FOR STORE
025504  5774		JMP I	(OTERR
025505  1026		TAD	ARG1		/KILL ANY XR
						/EXPRS. INVOLVING
025506  4531		JMS I	QCHKXR		/THE VARIABLE BEING STORED
025507  1031		TAD	ARG2		/IS SECOND ARG IN AC ?
025510  7650		SNA CLA
025511  1120		TAD	Q5		/YES, ADD 5 TO TYPE2
025512  1033		TAD	TYPE2
025513  3033		DCA	TYPE2
025514  1030		TAD	TYPE1		/TYPE1 TIMES TEN
025515  7106		CLL RTL
025516  1030		TAD	TYPE1
025517  7104		CLL RAL
025520  1033		TAD	TYPE2		/PLUS TYPE2
025521  1373		TAD	(STRTBL-13	/PLUS TABLE BASE
025522  3327		DCA	SSKEL		/GIVES ENTRY ADDRESS
025523  6211		CDF	10
025524  1727		TAD I	SSKEL		/POINTER TO SKELETON
025525  3327		DCA	SSKEL
025526  4521		JMS I	QGENCOD		/GENERATE CODE
025527  0000	SSKEL,	0
025530  1102		TAD	ASFSWT		/IS THIS END OF ASF ?
025531  7640		SZA CLA
025532  5511		JMP I	QNEXT		/YES, DON'T DO A STORE
025533  1030		TAD	TYPE1		/MODE IS THE SAME
025534  4554		JMS I	QSKPIRL		/AS THE VARIABLE STORED IN
025535  7410		SKP
025536  7201		CLA IAC
025537  3101		DCA	FMODE
025540  4523		JMS I	QOPCOD		/OUTPUT STORE
025541  1567		FSTA
025542  4525		JMS I	QOADDR		/ADDRESS FIELD
025543  0026		ARG1
025544  1026		TAD	ARG1		/REMEMBER THE AC
025545  7041		CIA
025546  3044		DCA	WHATAC		/(REMEMBER THE
025547  1027		TAD	BASE1		/ALAMO ?)
025550  7041		CIA			/(WOULD YOU
025551  3045		DCA	WHATBS		/BELIEVE THE MAINE ???)
025552  2026		ISZ	ARG1		/GO TO TYPE WORD
025553  6211		CDF	10
025554  7100		CLL			/IF ARG1 IS
025555  1026		TAD	ARG1		/A SS'D REFNCE
025556  1167		TAD	QM63		/DON'T
025557  7630		SZL CLA			/BOTHER CHECKING
025560  1426		TAD I	ARG1		/LOOK AT SOME BITS
025561  6201		CDF
025562  0372		AND	(3400		/DIM,EXT, OR ASF ?
025563  7650		SNA CLA
025564  5511		JMP I	QNEXT
025565  4527		JMS I	QTTYMSG		/ATTEMPT TO STORE IN
025566  1720		1720			/EXTERNAL OR ASF
025567  0614	FLDAP,	TEXT	'FLDA%'

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 45-1

025570  0401
025571  4500
025572  3400
025573  6246
025574  1360
025575  0437
025576  5202
025577  5200
	5600		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 46

		/ARITHEMTIC STATEMENT FUNCTIONS (BLAH!)

025600  6201	DEFASF,	CDF			/A.S.F. PROLOG
025601  1101		TAD	FMODE		/SAVE CPU MODE
025602  3355		DCA	ASFMOD		/SINCE WE JUMP ARROUND
025603  1014		TAD	X14		/SET STACK POINTER
025604  1377		TAD	(3		/SO THAT ASF NAME STAYS
025605  3016		DCA	X16
025606  7240		CLA CMA			/SET ASF SWITCH
025607  3102		DCA	ASFSWT
025610  1035		TAD	TMPMAX		/USE UNIQUE TEMPS
025611  7001		IAC
025612  3034		DCA	TMPCNT		/FOR ALL ASF'S
025613  4530		JMS I	QXRTBL		/AND FORGET XR'S
025614  4524		JMS I	QOPCDE		/JA AROUND
025615  3657		JA
025616  1051		TAD	GLABEL		/SAVE ARROUND LABEL
025617  3356		DCA	ASFSKP
025620  2051		ISZ	GLABEL		/BUMP LABEL GENERATOR
025621  1356		TAD	ASFSKP		/PUT LABEL AS ADDRESS OF JA
025622  4550		JMS I	QOLABEL
025623  4535		JMS I	QCRLF
025624  1051		TAD	GLABEL		/FUNCTIONS XR'S O HERE
025625  4572		JMS I	QLABEL		/OUPTUT THE LABEL
025626  4561		JMS I	QOINS		/#GXXXX,  ORG   .+10
025627  2161		ORG;DP8
025630  1166
025631  1027		TAD	BASE1		/NOW OUTPUT FUNCTION NAME
025632  6211		CDF	10
025633  4543		JMS I	QOUTNAM
025634  1053		TAD	COMMA		/AS TAG
025635  4562		JMS I	QOCHAR		/OF START OF FUNCTION
025636  4524		JMS I	QOPCDE		/SETX
025637  1514		XSET
025640  1051		TAD	GLABEL		/TO THE GENERATED LABEL
025641  2051		ISZ	GLABEL
025642  4550		JMS I	QOLABEL
025643  4535		JMS I	QCRLF
025644  4561		JMS I	QOINS		/LDX  0,1
025645  3622		LDX;ZEROC1
025646  1517
025647  4521		JMS I	QGENCOD		/STARTD
025650  5035		SD-1			/JUST LIKE A SUBROUTINE
						/ISN'T IT ?
025651  4561		JMS I	QOINS		/FLDA  #BASE
025652  1012		FLDA;XBASE		/GET RETURN JUMP
025653  3600
025654  4524		JMS I	QOPCDE		/STORE IT AHEAD
025655  1567		FSTA
025656  1051		TAD	GLABEL		/USING GENERATED LABEL
025657  4550		JMS I	QOLABEL
025660  4535		JMS I	QCRLF
025661  4561	ASFARG,	JMS I	QOINS		/FLDA% #BASE,1+
025662  5567		FLDAP;XBAC1P		/GET ARG POINTER
025663  1752

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 46-1

025664  4561		JMS I	QOINS		/FSTA	#BASE+3
025665  1567		FSTA;XBASP3		/SAVE IT
025666  3603
025667  1415		TAD I	X15		/GET PARAMETER
025670  3031		DCA	ARG2
025671  1415		TAD I	X15
025672  3033		DCA	TYPE2
025673  2015		ISZ	X15
025674  1033		TAD	TYPE2		/IS IT SINGLE OR DOUBLE?
025675  4554		JMS I	QSKPIRL
025676  5320		JMP	ASFASE		/DOUBLE
025677  4521		JMS I	QGENCOD		/STARTF
025700  5043		SF-1
025701  7201		CLA IAC
025702  3101	ARGSV,	DCA	FMODE		/SET FMODE APPROPRIATELY
025703  4561		JMS I	QOINS		/FLDA% #BASE+3
025704  5567		FLDAP;XBASP3		/GET THE VALUE
025705  3603
025706  4523		JMS I	QOPCOD
025707  1567		FSTA			/AND SAVE IT
025710  4525		JMS I	QOADDR
025711  0031		ARG2
025712  2050		ISZ	NARGS		/ANY MORE ARGS ?
025713  7410		SKP
025714  5511		JMP I	QNEXT		/NO, END OF ASF PROLOG
025715  4521		JMS I	QGENCOD		/STARTD
025716  5035		SD-1
025717  5261		JMP	ASFARG		/NEXT ARG
025720  4521	ASFASE,	JMS I	QGENCOD		/STARTE
025721  5040		SE-1
025722  5302		JMP	ARGSV
025723  0000	ASFEND,	0			/HANDLE END OF A.S.F.
025724  1102		TAD	ASFSWT		/IS THIS END OF ASF ?
025725  7650		SNA CLA
025726  5352		JMP	PTCH		/V3C NO
025727  3102		DCA	ASFSWT		/CLEAR SWITCH
025730  4561		JMS I	QOINS		/RESET XR'S
025731  1514		XSET;ZXR
025732  6364
025733  1051		TAD	GLABEL		/OUTPUT SPACE FOR RETURN ADDR
025734  2051		ISZ	GLABEL
025735  4572		JMS I	QLABEL		/OUPTUT THE LABEL
025736  4561		JMS I	QOINS		/ORG .+2
025737  2161		ORG;DOTP2
025740  6362
025741  1356		TAD	ASFSKP		/OUTPUT SKIP ARROUND LABEL
025742  4572		JMS I	QLABEL		/OUPTUT THE LABEL
025743  4535		JMS I	QCRLF
025744  1355		TAD	ASFMOD		/RESET MODE SWITCH
025745  3101		DCA	FMODE
025746  1035		TAD	TMPMAX		/UNIQUE TEMPS
025747  7001		IAC
025750  3175		DCA	TEM		/V3C MUST BE USED
025751  4530		JMS I	QXRTBL		/AND XR'S LOST
025752  1175	PTCH,	TAD	TEM		/V3C

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 46-2

025753  3034		DCA	TMPCNT		/V3C
025754  5723		JMP I	ASFEND		/RETURN
025755  0000	ASFMOD,	0
025756  0000	ASFSKP,	0
025757  4524	IOFUN,	JMS I	QOPCDE		/CALLED BY TRAP3,NOT JSR**
025760  3665		TRAP3
025761  1424		TAD I	TEMP
025762  4537		JMS I	QOUTSYM		/OUTPUT THE IO FUNCTION NAME
025763  5776		JMP I	(IOONLY		/DO SOME OTHER STUFF
025764  4305	ESUBR,	TEXT	'#EXPXX'	/THIS WILL BE THE CORRECT NAME
025765  3020
025766  3030
025767  0000
025776  3313
025777  0003
	6000		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 47

		/ I/O LIST ELEMENT

026000  4540	IOLMNT,	JMS I	QGARG		/GET THE ARG
026001  5347		JMP	IOTYPE		/TYPE ERROR
026002  3070		DCA	IOLOOP		/CLEAR LOOP SWITCH
026003  7346		CLL STA RTL	/-3
026004  1030		TAD	TYPE1
026005  3030		DCA	TYPE1	/TYPE1 = 0 IF COMPLEX, 1 IF D.P.
026006  1026		TAD	ARG1		/ADDR OF TYPE WD
026007  7101		CLL IAC
026010  3031		DCA	ARG2
026011  1026		TAD	ARG1		/LOOK AT ARG
026012  1167		TAD	QM63
026013  7620		SNL CLA
026014  5263		JMP	NOLOOP		/NOT ARRAY OUTPUT
026015  6211		CDF	10
026016  7132		CLL CML RTR		/IS IT DIMENSIONED ?
026017  0431		AND I	ARG2
026020  6201		CDF
026021  7650		SNA CLA
026022  5263		JMP	NOLOOP		/NO, NO LOOP
026023  2070		ISZ	IOLOOP		/SET SWITCH
026024  1026		TAD	ARG1		/GET TO SS
026025  4551		JMS I	QGETSS
026026  7001		IAC			/TOTAL SIZE WORD
026027  3027		DCA	BASE1
026030  1431		TAD I	ARG2		/IS THIS ARRAY AN ARG ?
026031  0141		AND	Q20
026032  3071		DCA	ARGIO		/SET SWITCH
026033  1427		TAD I	BASE1		/IS IT VARIABLY DIMENSIONED ?
026034  7450		SNA
026035  5777		JMP I	(VDAIO		/YES, MUST COMPUTE SIZE
026036  3032		DCA	BASE2		/SAVE SIZE
026037  6201		CDF
026040  4524		JMS I	QOPCDE		/PUT SIZE IN XR 1
026041  3622		LDX
026042  1146		TAD	Q255
026043  4562		JMS I	QOCHAR		/-
026044  1032		TAD	BASE2
026045  4516		JMS I	QONUMBR
026046  1053		TAD	COMMA
026047  4562		JMS I	QOCHAR
026050  1376		TAD	(261
026051  4562		JMS I	QOCHAR
026052  4535		JMS I	QCRLF
026053  1071		TAD	ARGIO		/IS IT AN ARG ?
026054  7640		SZA CLA
026055  5775		JMP I	(ARGIOA		/YES
026056  1051	OLLABL,	TAD	GLABEL		/OUTPUT LABEL
026057  4550		JMS I	QOLABEL
026060  3774		DCA I	(XRBUFR+20	/KILL XR1 ENTRY
026061  1053		TAD	COMMA
026062  4562		JMS I	QOCHAR
026063  1060	NOLOOP,	TAD	INPUT		/INPUT OR OUTPUT ?
026064  7650		SNA CLA

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 47-1

026065  5317		JMP	OUTV		/OUTPUT
026066  4331		JMS	FIXCAL		/SET PTR FOR OJSR**
026067  4773		JMS I	(DUMSUB		/NOW THE STORE
026070  1567		FSTA
026071  1026		TAD	ARG1		/KILL ASSOCIATED
026072  4531		JMS I	QCHKXR		/XR EXPRESSIONS
026073  1030	CDSFLP,	TAD	TYPE1		/IS IT C OR D ?
026074  7110		CLL RAR
026075  7640		SZA CLA
026076  5301		JMP	ENDLUP		/NO, NO STARTE
026077  4521		JMS I	QGENCOD
026100  5043		SF-1
026101  1070	ENDLUP,	TAD	IOLOOP		/IS THERE A LOOP ?
026102  7650		SNA CLA
026103  5511		JMP I	QNEXT		/NO, DO NEXT LIST ELEMENT
026104  4524		JMS I	QOPCDE		/YES, OUTPUT JXN
026105  3612		JXN
026106  1051		TAD	GLABEL
026107  2051		ISZ	GLABEL		/OUTPUT LABEL
026110  4572		JMS I	QLABEL		/OUPTUT THE LABEL
026111  1376		TAD	(261
026112  4562		JMS I	QOCHAR
026113  1054		TAD	PLUS		/OUTPUT PLUS (FOR
						/INCREMENT DUMMY)
026114  4562		JMS I	QOCHAR
026115  4535		JMS I	QCRLF
026116  5511		JMP I	QNEXT		/DO NEXT LIST ELEMENT
026117  1030	OUTV,	TAD	TYPE1		/D OR C ?
026120  7110		CLL RAR
026121  7640		SZA CLA
026122  5325		JMP	.+3		/NO, NO STARTF NECCESSARY
026123  4521		JMS I	QGENCOD
026124  5040		SE-1
026125  4773		JMS I	(DUMSUB		/OUTPUT FLDA
026126  1012		FLDA
026127  4331		JMS	FIXCAL
026130  5273		JMP	CDSFLP		/THEN STARTF AND JXN IF ANY
026131  6401	FIXCAL,	6401
026132  1030		TAD	TYPE1	/IF VARIABLE IS COMPLEX,
026133  7041		CIA		/OR IF VARIABLE IS DOUBLE AND
026134  7440		SZA		/I/O IS BINARY,
026135  1057		TAD	BINARY	/GENERATE A JSR #RFDV
026136  7650		SNA CLA		/ELSE GENERATE A TRAP3 #RSVO
026137  5344		JMP	BINDIO
026140  7326		CLA STL RTL		/SET PTR
026141  4772		JMS I	(OJSR		/NOW GO DO IT
026142  5330		RDRTNE			/HERE'S THE NAME
026143  5731		JMP I	FIXCAL
026144  4772	BINDIO,	JMS I	(OJSR
026145  5333		RDDRTN
026146  5731		JMP I	FIXCAL

026147  4527	IOTYPE,	JMS I	QTTYMSG		/IO TYPE ERROR
026150  1124		1124
026151  4535	DEFLBL,	JMS I	QCRLF		/CRLF BEFORE LABL

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 47-2

026152  4532		JMS I	QGENSF		/ENTER F MODE BEFORE ALL LABELS
026153  4515		JMS I	QINWORD		/GET THE LABEL
026154  6211		CDF	10
026155  4534		JMS I	QOSNUM		/OUTPUT IT
026156  1053		TAD	COMMA
026157  4562		JMS I	QOCHAR
026160  4530		JMS I	QXRTBL		/KILL XR TABLE
026161  3044		DCA	WHATAC		/AND AC AT LABEL
026162  5511		JMP I	QNEXT

026163  4513	NEG,	JMS I	QUCODE		/NEGATE CODE
026164  6452		NEGTBL-1
026165  5511		JMP I	QNEXT
026172  5266
026173  6270
026174  6620
026175  6234
026176  0261
026177  6200
	6200		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 48

		/ I/O LIST ELEMENT

026200  7144	VDAIO,	CLL CMA RAL		/GET ADDR OF NUMBER OF DIMS
026201  1027		TAD	BASE1
026202  3010		DCA	X10
026203  1410		TAD I	X10		/GET DIM COUNT
026204  7041		CIA
026205  3050		DCA	NARGS
026206  2010		ISZ	X10		/SKIP SIZE
026207  2010		ISZ	X10		/AND MAGIC NUMBER
026210  2010		ISZ	X10		/AND LITERAL NUMBER
026211  1377		TAD	(FLDA		/LOAD FIRST DIM
026212  7410		SKP
026213  1376	GSIZLP,	TAD	(FMUL		/MULTIPLY THE REST
026214  3222		DCA	OPCIO
026215  6211		CDF	10
026216  1410		TAD I	X10		/GET THE NEXT DIMENSION
026217  3033		DCA	TYPE2
026220  6201		CDF
026221  4523		JMS I	QOPCOD		/OUTPUT OPCODE
026222  0000	OPCIO,	0
026223  4525		JMS I	QOADDR		/NOW THE DIMENSION
026224  0033		TYPE2
026225  2050		ISZ	NARGS
026226  5213		JMP	GSIZLP		/KEEP GOING
026227  4523		JMS I	QOPCOD		/NEGATE THE FAC
026230  1572		FNEG
026231  4535		JMS I	QCRLF
026232  4521		JMS I	QGENCOD		/PUT THE COUNT INTO XR1
026233  5106		ATX1-1
026234  4521	ARGIOA,	JMS I	QGENCOD		/PUT -1 INTO XR 2
026235  5111		LXM1C2-1
026236  4524		JMS I	QOPCDE		/LOAD THE ARG POINTER -
026237  1012		FLDA			/CONST
026240  3775		DCA I	(XRBUFR+40	/KILL XR 2 ENTRY
026241  1026		TAD	ARG1
026242  6211		CDF	10
026243  4543		JMS I	QOUTNAM
026244  4535		JMS I	QCRLF
026245  4524		JMS I	QOPCDE		/NOW ADD THE MAGIC NUMBER
026246  1007		FADD
026247  1144		TAD	QLITRL		/OUTPUT #LIT+XXXX
026250  4537		JMS I	QOUTSYM
026251  6211		CDF	10
026252  2027		ISZ	BASE1
026253  2027		ISZ	BASE1
026254  1427		TAD I	BASE1
026255  6201		CDF
026256  4516		JMS I	QONUMBR
026257  4535		JMS I	QCRLF
026260  4524		JMS I	QOPCDE
026261  1567		FSTA			/NOW STORE IN #BASE+3
026262  1374		TAD	(XBASP3
026263  4537		JMS I	QOUTSYM
026264  4535		JMS I	QCRLF

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 48-1

026265  4521		JMS I	QGENCOD		/STARTF
026266  5043		SF-1
026267  5773		JMP I	(OLLABL		/NOW THE INSIDE OF THE LOOP
026270  0000	DUMSUB,	0			/OUTPUT FLDA OR FSTA
						/WITH SE IF NEEDED
026271  1670		TAD I	DUMSUB		/GET THE OPCODE
026272  3303		DCA	LDASTA
026273  2270		ISZ	DUMSUB
026274  1030		TAD	TYPE1		/MUST WE SE ?
026275  7110		CLL RAR		/TYPE1 IS 0 IF C, 1 IF D
026276  7650		SNA CLA
026277  1147		TAD	Q3		/MULTIPLIER IS 6
026300  1147		TAD	Q3		/OR 3
026301  3042		DCA	MQ
026302  4523		JMS I	QOPCOD		/FLDA OR FSTA
026303  0000	LDASTA,	0
026304  1070		TAD	IOLOOP		/IS IT A LOOP ?
026305  7650		SNA CLA
026306  5332		JMP	EZVAR		/NO
026307  1071		TAD	ARGIO		/IS IT AN ARG  ?
026310  7640		SZA CLA
026311  5335		JMP	IBASP3		/YES, INDIRECT THROUGH #BASE+3
026312  4536		JMS I	QOTAB
026313  1026		TAD	ARG1
026314  6211		CDF	10		/OUTPUT NAME
026315  4543		JMS I	QOUTNAM
026316  1372		TAD	(255		/-
026317  4562		JMS I	QOCHAR
026320  1032		TAD	BASE2		/NEGATIVE OF SIZE
026321  7041		CIA
026322  4557		JMS I	QMUL12		/TIMES 6 OR 3
026323  4563		JMS I	QNUMBRO
026324  1053		TAD	COMMA		/COMMA SEVEN
026325  4562		JMS I	QOCHAR
026326  1371		TAD	(261
026327  4562		JMS I	QOCHAR
026330  4535		JMS I	QCRLF
026331  5670		JMP I	DUMSUB		/RETURN
026332  4525	EZVAR,	JMS I	QOADDR		/ITS A SCALAR
026333  0026		ARG1
026334  5670		JMP I	DUMSUB
026335  1370	IBASP3,	TAD	(245		/INDIRECT THROUGH #BASE+3
026336  4562		JMS I	QOCHAR
026337  4536		JMS I	QOTAB
026340  1367		TAD	(XBPC2P		/FLDA%	#BASE+3,2+
026341  4537		JMS I	QOUTSYM
026342  4535		JMS I	QCRLF
026343  5670		JMP I	DUMSUB
026344  4302	XBPC2P,	TEXT	'#BASE+3,2+'
026345  0123
026346  0553
026347  6354
026350  6253
026351  0000
026352  4514	OR,	JMS I	QCODE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 48-2

026353  6173		ORTABL-6;0
026354  0000
026355  5766		JMP I	(RELGEN
026356  4514	XOR,	JMS I	QCODE
026357  6223		EQVTBL-6;0
026360  0000
026361  5766		JMP I	(RELGEN
026362  5653	DOTP2,	TEXT	'.+2'
026363  6200
026364  4330	ZXR,	TEXT	'#XR'
026365  2200
026366  0440
026367  6344
026370  0245
026371  0261
026372  0255
026373  6056
026374  3603
026375  6640
026376  2353
026377  1012
	6400		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 49

		/ ASSIGNED GOTO AND ASSIGN

026400  4777' 	AGOTO,	JMS	GTSTUF		/LOOK AT THE ASSIGNED VAR
026401  4521		JMS I	QGENCOD		/GENERATE A JAC
026402  5010		AGTCOD-1
026403  5511		JMP I	QNEXT
026404  4540	ASSIGN,	JMS I	QGARG		/GET THE ASSIGN VAR
026405  5776' 		JMP	GTTYPE
026406  7146		CLL CMA RTL		/MUST BE I OR R
026407  1030		TAD	TYPE1
026410  7700		SMA CLA
026411  5776' 		JMP	GTTYPE		/GOTO TYPE ERROR
026412  4521		JMS I	QGENCOD		/GENERATE THE ASSIGN CODE
026413  5013		ASNCOD-1
026414  4775		JMS I	(JAGEN
026415  4521		JMS I	QGENCOD		/NOW STORE IT
026416  5067		ASTOR-1
026417  5511		JMP I	QNEXT

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 50

		/ OPTIMIZER SUBROUTINES
026420  0000	CHEKXR,	0			/KILL XR EXPRS
026421  7041		CIA			/ASSOCIATED WITH THIS VAR
026422  3261		DCA	KILVAR		/SINCE IT HAS
						/JUST BEEN CHANGED
026423  1374		TAD	(-7		/LOOK AT XR 1 THRU 7
026424  3024		DCA	TEMP		/COUNT
026425  1373		TAD	(XRBUFR+20	/POINTER
026426  3025		DCA	TEMP2
026427  1425	KILLUP,	TAD I	TEMP2		/GET NEXT XR
						/EXPR. INDICATOR
026430  7650		SNA CLA
026431  5253		JMP	EOKL		/NOTHING HERE
026432  1025		TAD	TEMP2		/GET POINTER
026433  3013		DCA	X13		/INTO AN XR
026434  1413		TAD I	X13		/GET ADDR OF DIB
026435  3047		DCA	DIMPTR		/SAVE IT
026436  6211		CDF	10		/FIELD OF SYMBOL TABLE
026437  1447		TAD I	DIMPTR		/GET NUMBER OF
						/DIMENSIONS
026440  7040		CMA			/COMPLIMENTED
026441  3050		DCA	NARGS		/SAVE IT
026442  6201		CDF			/BACK TO FIELD OF XRBUFR
026443  2050	CHKKIL,	ISZ	NARGS		/CHECK 1 LESS
						/THAN THE NUMBER
026444  7410		SKP			/OF DIMENSIONS
026445  5253		JMP	EOKL
026446  1413		TAD I	X13		/LOOK AT NEXT
						/ELEMENT OF EXPR
026447  1261		TAD	KILVAR		/IS IT THE VAR
						/JUST CHANGED ?
026450  7650		SNA CLA
026451  3425		DCA I	TEMP2		/YES, KILL THIS EXPRESSION
026452  5243		JMP	CHKKIL		/LOOP
026453  1025	EOKL,	TAD	TEMP2		/DO NEXT XR
026454  1141		TAD	Q20
026455  3025		DCA	TEMP2		/BUMP POINTER BY 16
026456  2024		ISZ	TEMP
026457  5227		JMP	KILLUP
026460  5620		JMP I	CHEKXR		/RETURN
		KILVAR,
026461  0000	XRTABL,	0			/CLEAR OR RESET
						/XR TABLE FLAGS
026462  3023		DCA	TYPE		/0=CLEAR  1=RESET
026463  1374		TAD	(-7		/DO XR1 THRU 7
026464  3024		DCA	TEMP		/COUNT
026465  1373		TAD	(XRBUFR+20	/POINTER
026466  3025		DCA	TEMP2
026467  1425	XRTLUP,	TAD I	TEMP2		/GET INDICATOR
026470  7650		SNA CLA
026471  5274		JMP	.+3		/DON'T CHANGE IF ZERO
026472  1023		TAD	TYPE		/OTHERWISE SET TO
026473  3425		DCA I	TEMP2		/'USED BY
						/PREVIOUS STMT'
026474  1025		TAD	TEMP2		/GET TO NEXT ONE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 50-1

026475  1141		TAD	Q20
026476  3025		DCA	TEMP2		/BUMPING BY 16
026477  2024		ISZ	TEMP
026500  5267		JMP	XRTLUP		/LOOP
026501  5661		JMP I	XRTABL		/DONE
026502  0000	LOADA,	0			/GENERATE AN FLDA
026503  1702		TAD I	LOADA		/IF NECESSARY
026504  3324		DCA	LODARG		/GET ARG POINTER
026505  2302		ISZ	LOADA		/BUMP RETURN
026506  1724		TAD I	LODARG		/DOES AC MATCH ?
026507  1044		TAD	WHATAC
026510  7640		SZA CLA
026511  5321		JMP	DOLOAD		/NO, MUST LOAD
026512  1324		TAD	LODARG		/GET ADDRESS
026513  7001		IAC			/OF BASE
026514  3037		DCA	ARG		/IN CASE SS'D
026515  1437		TAD I	ARG		/DOES BASE MATCH?
026516  1045		TAD	WHATBS
026517  7650		SNA CLA
026520  5702		JMP I	LOADA		/OK, DON'T LOAD
026521  4523	DOLOAD,	JMS I	QOPCOD		/GENERATE FLDA
026522  1012		FLDA
026523  4525		JMS I	QOADDR		/ADDRESS
026524  0000	LODARG,	0
026525  5702		JMP I	LOADA
026573  6620
026574  7771
026575  1536
026576  1563
026577  1546
	6600		PAGE

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 51

		/ INTER PASS EQUATES

	0021		BLNKCN=21
	0023		ALIST=23
	0060		INTLST=60
	0056		FPLIST=56
	0057		DPLIST=57
	0061		CMPLST=61
	0055		HOLIST=55
	0062		SNLIST=62
	0063		ONEI=63
	0070		THREE=70
	0075		SIX=75
	0102		TRUE=102


		IFZERO OVERLY <
			FIELD 0
			*START2 >
		IFNZRO OVERLY <
			ENPUNC
	0000		FIELD 0
	7605		*7605 >

			$-$-$

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 78

AC     0040      BASE1  0027      DBLZRO 6776      D12    5732
ACS    5373      BASE2  0032      DCHEK  2715      D13    5733
ACSTOR 1062      BCLOOP 5526      DCLOOP 5041      D14    5737
ACSWIT 0077      BCNT   0026      DCNT   2764      D15    5741
AD     5334      BDSTUF 5121      DD1    0564      D16    5744
ADD    5031      BDSWIT 5615      DEBUG  2227      D17    5753
ADDTBL 5262      BINARY 0057      DEFASF 5600      D2     5704
ADFLIT 7477      BINDIO 6144      DEFFIL 5415      D5     5711
ADFLUP 7510      BINRD1 5244      DEFLBL 6151      D7     5717
ADS    5407      BINWR1 5253      DEVH   0076      D9     5724
AGOTO  6400      BLNKCN 0021      DFLIT  7015      ELCNT  0067
AGTCOD 5011      BUCKET 0022      DFRTTM 3760      ELLOOP 4235
AIFLUP 1145      BUMP   2134      DFTEMP 7056      ELMLUP 4147
AIFTBL 6516      CAC    2361      DIMERR 3072      ELMSIZ 0026
AJUMP  1155      CADD   2146      DIMPTR 0047      END    4200
ALIST  0023      CDIV   3161      DIV    2263      ENDELM 4053
ALM301 7475      CDSFLP 6073      DIVTBL 5656      ENDFIL 4001
ALN    3614      CEQ    1747      DLERR  4167      ENDLUP 6101
ANDTBL 6151      CGOTO  1521      DLLOOP 7307      ENDM   1464
ARG    0037      CGTCOD 5001      DLRETN 7344      ENDPLG 6216
ARGARG 3441      CGTLUP 1527      DNA    5352      END2   4267
ARGIO  0071      CHAR1  0530      DOADDR 1437      ENTERE 7776
ARGIOA 6234      CHAR2  0525      DOARG  2524      ENTERF 7777
ARGLP1 5252      CHEKXR 6420      DOBEGN 2400      ENTRY  0020
ARGLP2 5275      CHKKIL 6443      DOFINI 2444      EOKL   6453
ARGLP3 5312      CHKPTR 3213      DOFIN0 5064      EOL    7426
ARGLST 0063      CHNBLK 5030      DOFIN1 5073      EOSTMT 2203
ARGS   2600      CKPDL  1116      DOLIST 7274      EQ     0427
ARGSV  5702      CMPLST 0061      DOLOAD 6521      EQTABL 5765
ARG1   0026      CMPMN1 6260      DOPARM 2524      EQUDOT 3771
ARG2   0031      CMPMN2 6337      DORETN 5616      EQUIVS 7107
ARRAYS 6400      CMPMN3 6266      DOSTE  1500      EQV    0466
ARTHIF 1140      CMUL   2154      DOSTOR 2431      EQVTBL 6231
AS     5312      CNEG   2151      DOT    1165      EQ1    6015
ASC    5342      CNLOOP 7451      DOTEMP 0056      EQ10   6045
ASD    5355      CODE   1300      DOTMP  2030      EQ11   6052
ASFARG 5661      CODLUP 1410      DOTMPN 3565      EQ12   6054
ASFASE 5720      COMMA  0053      DOTP2  6362      EQ13   6055
ASFDEF 5463      COMMON 7367      DPCHK  7163      EQ14   6060
ASFEND 5723      COMNAM 7433      DPERR  2442      EQ15   6057
ASFMOD 5755      COMPSS 3000      DPLIST 0057      EQ16   6065
ASFSKP 5756      COMREG 4600      DPUSED 0104      EQ17   6071
ASFSWT 0102      COMVAR 7355      DPUSH  1130      EQ18   6070
ASGNXR 3125      CONVRT 0327      DP12   6353      EQ19   6073
ASNCOD 5014      CRLF   0200      DP2C1  0356      EQ2    6020
ASSIGN 6404      CSSLUP 3022      DP3    6751      EQ3    6022
ASTOR  5070      CSUB   3156      DP3C0  3607      EQ4    6025
ATX    3616      C1     6771      DP4    1005      EQ5    6030
ATX1   5107      DARD1  5400      DP6    6753      EQ6    6033
AX     5323      DARG   2560      DP8    1166      EQ7    6036
A0FN   5027      DATAST 4013      DREPTC 4036      EQ8    6041
A0SD   5034      DATASW 0064      DSTACK 0027      EQ9    6044
BAKSPC 4002      DATELM 4042      DUMSUB 6270      ERCODE 5022
BARGLP 3336      DATPTR 0031      D0     3564      ERMSG  4310
BASE   7200      DAWR1  5407      D10    5725      ERROR  2200

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 78-1

ERRPTR 0005      GARG   0704      INWORD 0600      LODARG 6524
ESUBR  5764      GARGS  1200      INXR   3476      LSIZE  7355
ETYPE  5035      GC     6533      IOFUN  5757      LT     0413
EXP    5036      GCAC   5172      IOLMNT 6000      LTRNE  0753
EXPTBL 6631      GCTEMP 0065      IOLOOP 0070      LXM1C2 5112
EXTARG 3514      GC1    5215      IOONLY 3313      L6201  0244
EXTERN 2142      GC1C2  5205      IOSTMT 0100      MAC    7772
EXTLIT 0066      GC2    5220      IOTYPE 6147      MACRO  1450
EXTRNL 7056      GD     6535      ITSA2  1445      MAKCAL 3427
EZVAR  6332      GE     0416      JA     3657      MJTBL  1506
FADD   1007      GENCAL 3200      JAC    1565      MNADR  6365
FADDM  7166      GENCOD 1400      JADP2  5061      MNL    6352
FATAL  0352      GENPTR 3670      JAGEN  1536      MNOPC  6361
FCLA   3144      GENSTE 3553      JAGOBK 5716      MORE   5400
FDIV   2356      GENSTF 5437      JLE    2157      MORELM 4055
FILBLK 0007      GETSS  0630      JLT    3653      MORESS 3110
FILDEV 0006      GFNAME 6142      JNE    3643      MORPLG 6000
FILL   6414      GI     6530      JSA    3663      MPOPUP 1406
FILSIZ 4302      GIRL1  5162      JSACAD 5236      MPTRA1 1255
FINAL  5131      GIRL2  5166      JSACDV 5255      MPTR0  5047
FINIST 6120      GLABEL 0051      JSACEQ 5223      MPTR3  5054
FIXCAL 6131      GORALF 5000      JSACML 5250      MQ     0042
FIXDAT 4031      GOTO   1533      JSACNG 5231      MREAD  7757
FIXELP 5104      GOTSIZ 4130      JSACSB 5243      MRETN  1504
FIXSLV 6525      GSIZLP 6213      JSR    3661      MSTART 0024
FLDA   1012      GT     0415      JSRLBL 0103      MUL    5457
FLDAA1 7775      GTSTUF 1546      JXN    3612      MULTBL 5531
FLDAA2 7774      GTTYPE 1563      KILLUP 6427      MUL12  2112
FLDAI  6757      GVSKEL 5731      KILVAR 6461      M006   7056
FLDAP  5567      HOFILL 5474      LDAMUL 6356      M1     5557
FMODE  0101      HOLDUN 5501      LDASTA 6303      M1C2   3550
FMTLUP 3751      HOLIST 0055      LDASTD 5103      M11    5616
FMTRD1 5231      HOLLIT 5400      LDX    3622      M111   7476
FMTWR1 5237      HOLLUP 5435      LE     0412      M12LUP 2117
FMUL   2353      HOLOOP 5452      LETABL 6075      M14    5631
FNAME  6153      IBASP3 6335      LE1    6123      M18    5643
FNEG   1572      IFEND  2242      LE11   6137      M317   7101
FNOP   6731      IFGOTO 2333      LE12   6141      M32    7474
FNSWIT 3266      IFLABL 0055      LE13   6142      M4     5567
FORMAT 3734      IMPLCT 7000      LE17   6145      M7     5600
FPLIST 0056      INBCNT 0625      LE18   6144      M7000  4343
FREEXR 0046      INBLOK 0611      LE19   6147      M8     5605
FSTA   1567      INBPTR 0626      LE2    6127      NAMCDF 0247
FSTAI  6762      INBUF  7200      LE3    6131      NAMEF  6154
FSUB   1015      INDARG 1737      LE4    6134      NAMPTR 0327
FTRNTM 5336      IND0   1725      LIFBGN 2276      NARGS  0050
FUNCAL 3400      IND3   1724      LIFOPT 0457      NCA    5231
FUNCTN 0062      INERR  0623      LINENO 0003      NCHAR  0214
FUNNAM 1671      INPUT  0060      LITLUP 7323      NCM    6472
FVAL   5117      INRCNT 0627      LITNUM 0036      NDADFL 7547
FVC    5127      INS    6656      LITRL  2364      NDLP3  5323
FVD    5135      INS2   6652      LITRL2 7364      NDM    6476
FVI    5124      INS3   6664      LOADA  6502      NDPUSD 6634
F1LNAM 0072      INTLST 0060      LOADA1 1472      NDVDIM 6333
GALOOP 6033      INTMP  3343      LOADA2 1475      NE     0430

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 78-2

NEG    6163      ONUM   6156      PLSUB2 6600      QUCODE 0113
NEGSGN 7773      ONUMBR 0275      PLUS   0054      QXRBUF 0164
NEGSLV 6447      ONUMT  0234      PLUSN  2054      QXRTBL 0130
NEGTBL 6453      OPC    3050      PROGNM 0061      Q17    0126
NEWM   6555      OPCIO  6222      PROLG1 5200      Q20    0141
NEXT   0402      OPCOD  2254      PROLG2 5600      Q200   0145
NFCNT  6155      OPCODE 3540      PSN    5060      Q255   0146
NIA    6467      OPRND  2134      PTCH   5752      Q256   0152
NIARG  3720      OPTMYZ 2215      PTRLST 3316      Q260   0106
NIM    6465      OR     6352      PURGE  5356      Q3     0147
NISA   5311      ORG    2161      PUSH   1103      Q40    0142
NISA2  5307      ORTABL 6201      P0F1   0173      Q5     0120
NLABEL 3363      OSF    3727      P0F2   0174      Q6M3   0120
NLODSS 3053      OSIZE  0563      P2     1000      Q7605  0170
NOADDR 1435      OSNUM  0214      QCHKXR 0131      RALFNM 5342
NOARAY 5256      OTAB   3140      QCODE  0114      RALFSV 5020
NOARGS 5327      OTERR  1360      QCRLF  0135      RCOUNT 0033
NOBC   5547      OTMPS  4343      QERMSG 0110      RDDRTN 5333
NOC    1055      OUBUF  4400      QGARG  0140      RDOVLY 7552
NOCORD 1060      OUDUMP 0533      QGARGS 0160      RDRTNE 5330
NODBUG 6133      OUERR  0555      QGENCA 0155      REBSUB 4011
NOFVAL 5732      OUFSTA 6076      QGENCO 0121      RELCD  0171
NOLOOP 6063      OUJMP  0561      QGENSE 0133      RELGEN 0440
NOREAD 0620      OUJUMP 0476      QGENSF 0132      RELGM1 0437
NOREST 5712      OUPOLD 0557      QGETSS 0151      RELJMP 2344
NOSCLR 5303      OUPTR  0560      QINWOR 0115      RETURN 5434
NOT    5450      OUTA   1646      QLABEL 0172      REWIND 4000
NOTA   6515      OUTA2  1653      QLITRL 0144      RLFBLK 5017
NOTARG 2000      OUTEMP 0533      QLOADA 0156      ROUTNE 7477
NOTINX 3252      OUTJSR 3257      QMUL12 0157      RSLOOP 5646
NOTLOG 2342      OUTLIT 1660      QM4    0105      RTNCOD 5142
NOTM   6513      OUTNAM 0234      QM6    0122      RTNX   6774
NOTMT  2675      OUTSN  1732      QM63   0167      SAMVAR 4143
NOTTBL 6501      OUTSYM 0225      QNEXT  0111      SARG   3331
NPOVLY 0700      OUTV   6117      QNEXTM 0112      SATEMP 1062
NPPAS3 1600      OUTVAR 7203      QNUMBR 0163      SAVACT 1020
NPRNT  6434      OUWDCT 0562      QOADDR 0125      SAVE   1042
NSARGS 6351      OVERLY 0001      QOCHAR 0162      SAVEAC 1025
NUMBRO 0645      OVFLD1 7221      QOINS  0161      SBLOCK 7776
NUMELM 0030      OVFLD2 7231      QOLABE 0150      SC     2102
NXTBC  5542      OVRLAY 5000      QONUMB 0116      SCALAR 7263
OADDR  1600      O100   7015      QOPCDE 0124      SCCA   5172
OADRET 1723      O1000  7107      QOPCOD 0123      SCCM   5220
OBLOCK 0544      O141   5412      QOSNUM 0134      SCDA   6421
OCHAR  0472      O301   7473      QOTAB  0136      SCDM   6417
OCNT   0200      PASS2O 7557      QOUTNA 0143      SCIA   6367
OENTRY 0021      PASS3N 5346      QOUTSY 0137      SCIM   6365
OINS   5466      PAS3SV 5151      QSAVAC 0153      SCS    5506
OJSR   5266      PATCH  0001      QSAVEA 0117      SD     5036
OJSROP 5300      PAUZE  5366      QSFM1  5715      SDBL   5466
OLABEL 3527      PAZCOD 5146      QSKPIR 0154      SDCA   6437
OLDM   6554      PCAC   5200      QTTCRL 0166      SDCM   6434
OLLABL 6056      PLSDOT 7253      QTTYMS 0127      SDDA   6445
OLOOP  0301      PLSKIP 5344      QTTYOU 0107      SDDM   6443
ONEI   0063      PLSUB1 5331      QTTYP2 0165      SDIA   6432

/OS/8 FORTRAN PASS2 (PASS TWO)		  PAL8-V50X 06-MAR-92 PAGE 78-3

SDIM   6430      STOP   3731      VERROR 0361      XST    6715
SDS    5513      STORE  5503      VERS   0004      XTA    3620
SDS5   5521      STPCOD 5154      VERSON 0005      XTMP   2766
SE     5041      STRPTR 3347      VMC    2064      XTRN   7151
SECT   6701      STRTBL 6261      VOVER  5122      XUE    1757
SEGCAC 5172      STRTIO 5200      WCLOSE 5261      XVAL   1002
SETB   6737      STRTMP 2561      WHATAC 0044      XWDAO  5431
SETMOD 5122      SUB    5453      WHATBS 0045      XWRITO 5316
SETX   6734      SUBARG 5131      XARGS  5764      XWUC   5306
SF     5044      SUBRX  7151      XBAC1P 1752      XWUO   5325
SFUDGE 6556      SUBTBL 5425      XBAK   3632      XXR    6707
SGNNEG 1502      SVLIMT 2555      XBAP30 6724      X10    0010
SICA   6354      SX     5460      XBASC1 6745      X11    0011
SICM   6352      TEM    0175      XBASE  3600      X12    0012
SIDA   6410      TEMP   0024      XBASP3 3603      X13    0013
SIDM   6406      TEMPN  2367      XBPC2P 6344      X14    0014
SIIA   6345      TEMPN2 3153      XDEF   5423      X15    0015
SIIM   6343      TEMPS  7346      XDFARG 5420      X16    0016
SIRA   6350      TEMP14 1505      XDOTMP 4214      X17    0017
SIRM   6346      TEMP2  0025      XDPP6  1363      X200   0607
SIT    1742      TEXTX  6742      XDPTMP 2167      X6201  7223
SIX    0075      TFUDGE 7414      XDP3   5234      X7746  5163
SKEL   1342      THREE  0070      XEND   6604      ZC1    6755
SKPIRL 2102      TMPBLK 0002      XENDF  3627      ZEROC1 1517
SLCA   6402      TMPBMP 1071      XEXIT  3635      ZXR    6364
SLCM   6376      TMPCNT 0034      XFIX   1367      
SLDA   6450      TMPMAX 0035      XGOBAK 6711      
SLDM   6446      TMPREF 2035      XGOBC0 6717      
SLIA   6373      TMPSIZ 7353      XGOTO  6617      
SLIM   6371      TOOMNY 5367      XLAST  6630      
SNCLUP 5062      TRAP3  3665      XLBL   6773      
SNDEFN 5077      TRUE   0102      XLBLE  6765      
SNDONE 5103      TRYCAL 3075      XLOGIF 6610      
SNLIST 0062      TSTABT 6200      XM3    5371      
SPASS3 5162      TTCHAR 0225      XNAMP  6433      
SRCA   6362      TTCRLF 0337      XNOP   5360      
SRCM   6360      TTYMSG 0345      XOR    6356      
SRDA   6415      TTYOUT 0730      XPAUSE 3773      
SRDM   6413      TTYP2C 0315      XPUSH  6540      
SS     5453      TYPE   0023      XR     0041      
SSCHEK 2727      TYPERR 1355      XRBUFR 6600      
SSC2   2735      TYPE1  0030      XRCHEK 2651      
SSD    5501      TYPE2  0033      XRCNT  3074      
SSKEL  5527      TYPLP2 7410      XRDAO  5426      
SSREF  1674      TYPLUP 7412      XREADO 5312      
SSX    5473      TYPMIX 6712      XREPTR 3137      
STACK  7000      TYPRTN 7400      XRET   6704      
STACK1 4700      UCODE  0656      XREW   3624      
STARTD 3147      UNHOOK 5140      XRFLAG 2765      
STARTE 2163      USKEL  0676      XRNUM  0043      
STARTF 1134      VARADR 7274      XRTABL 6461      
START2 5000      VDAIO  6200      XRTLUP 6467      
STFORE 5751      VDIMLP 6230      XRTN   3640      
STKLVL 0052      VDTEMP 6347      XRUO   5322      
STMUL  2125      VDTMP2 6350      XSET   1514      



ERRORS DETECTED: 0
LINKS GENERATED: 48