Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99e-bb - srtuuo.c05
There are 2 other files named srtuuo.c05 in the archive. Click here to see a list.
 REP 2/1	;05C1
	SUBTTL	D.M.NIXON/DMN/DZN/BRF	5-Jun-81
 WIT
	SUBTTL	D.M.NIXON/DMN/DZN/BRF/GCS		20-Aug-82
 REP 9/1	;05C2
	;COPYRIGHT (C) 1977, 1981 BY DIGITAL EQUIPMENT CORPORATION
 WIT
	;COPYRIGHT (C) 1977, 1982 BY DIGITAL EQUIPMENT CORPORATION
 REP 31/5	;05C3
		HRRZ	P1,.JBFF##		;[C20] [C13] CURRENT SIZE OF LOW SEGMENT
		HRRZ	P2,.JBHRL##		;[C23] [C20] [C13] CALCULATE SIZE OF HIGH SEGMENT
		JUMPE	P2,$1			;[C23]   NONE
		TRZ	P2,400000		;[C23]   ASSUME IT STARTS AT 400000
		MOVE	T1,[XWD -2,.GTUPM]	;[C23]   IN CASE GETTAB FAILS
		GETTAB	T1,			;[C23]   ..
		  JRST	$1			;[C23]   ..
		HLRZS	T1			;[C23]   ..
		TRZ	T1,PGMSK		;[C23]   ..
		HRRZ	T2,T1			;MUST GUARD AGAINST EXECUTE-ONLY HIGH SEG
		LSH	T2,-<POW2(PGSIZ)>	; SUCH AS FOROTS
		HRLI	T2,.PAGCA		;SO USE PAGE. UUO TO FIND OUT
		PAGE.	T2,			; IF WE CAN READ THAT PAGE
		  TXO	T2,PA.GRD		;IF PAGE. UUO FAILED ASSUME WE CAN
		TXNN	T2,PA.GRD		;CAN WE READ IT?
		JRST	$2			;NO, USE .JBHRL
		HLRZ	P2,.JBHRN(T1)		;[C23]   ..
	IFN FTFORTRAN,<
		JUMPN	P2,$2			;[N08] BUG IN FOROTS V6 MAKES THIS ZERO
		HRRZ	P2,.JBHRL		;[N08] USE WHATS IN JOBDAT INSTEAD
		SUBI	P2,(T1)			;[N08] REMOVE BASE TO GET LENGTH
	  $2%>
		TRZE	P2,PGMSK		;[C20] [C13]   ..
		ADDI	P2,PGSIZ		;[C20] [C13]   ..
	IFE FTKL10!FTKI10,<			;ROUND UP TO K BOUNDARY ON KA10
		TRNE	P2,PGSIZ		;[C20] [C13]   ..
		SKIPE	CPU			;[C13]   ..
		SKIPA				;[C13]   ..
		ADDI	P2,PGSIZ		;[C20] [C13]   ..
	>
	  $1%					;[C23]
	IFN FTKI10!FTKL10,<			;[N08] CHECK FOR VMDDT ALSO
		  IF VMDDT IS LOADED
			HRRZ	T1,.JBDDT##		;[N08] GET START OF DDT
			JUMPE	T1,$F			;[N08] NOT LOADED
			CAMG	T1,.JBREL		;[N08] IS IT IN LOW SEGMENT
			JRST	$F			;[N08] YES, ALREADY COUNTED
			HRRZ	T2,.JBHRL		;[N08] GET TOP OF HIGH SEG
			CAMG	T1,T2			;[NO8] IS DDT IN HIGH SEG?
			JRST	$F			;[N08] YES, ALREADY COUNTED
		  THEN COUNT ITS SIZE AS PART OF THE MEMORY ALREADY OCCUPIED
			HLRZ	T2,.JBDDT		;[N08] GET TOP OF VMDDT
			SUB	T2,T1			;[N08] GET LENGTH -1
			ADDI	T2,1			;[N08] LENGTH
			ADD	P2,T2			;[N08] MAKE IT PART OF HIGH SEG FOR CALCULATIONS
		  FI;
	>;END IFN FTKI10!FTKL10
	IFN LOWORG,<
		ADDI	P1,<<LOWEND/PGSIZ>-<LOWORG/PGSIZ>+1>*PGSIZ	;[C29]
	>
	IFN FTVM,<
		SKIPE	FORRET			;CALLED BY FORTRAN?
		ADDI	P1,FSORTSZ		;YES, ADD IN SIZE OF FSORT
	>
 WIT
	;**;[503] @DEFCOR) + 27L  Replace 54 lines with 14.  GCS  24-Jun-82
		SETZB	P1,P2			;[503] CLEAR COUNTERS.
		MOVEI	T2,777			;[503]
	DEFCR1:	HRLZI	T1,.PAGCA		;[503] T1/ FUNCT #,,0
		HRR	T1,T2			;[503] T1/ FUNCT #,,PAGE #
		PAGE.	T1,			;[503] CHECK PAGE.
		  AOJA	P1,DEFCR2		;[503]  ASSUME IT EXISTS.
		TLNE	T1,PA.GNE/1000000	;[503] DOES THIS PAGE EXIST?
		SOJGE	T2,DEFCR1		;[503]  NO.
		TLNN	T1,PA.GHI/1000000	;[503] PAGE IN HIGH SEGMENT?
		AOJA	P1,DEFCR2		;[503]  NO - COUNT AS NON-H.S.
		AOJ	P2,			;[503]  YES - COUNT IT AS H.S.
	DEFCR2:	SOJGE	T2,DEFCR1		;[503] ARE WE FINISHED?
		IMULI	P1,PGSIZ		;[503] CONVERT PAGES TO WORDS.
		IMULI	P2,PGSIZ		;[503] DITTO.
 REP 31/25	;05C4
		$MORE	(OCTAL,T2)		;[C19] NO, JUST TYPE NUMBER
 WIT
	;**;[477] @ERRFU4 + 4L  Replace 1 line.	GCS	18-Feb-82
		$MORE	(OCTAL,T1)		;[477][C19] NO, JUST TYPE NUMBER
 SUM 31095