Google
 

Trailing-Edge - PDP-10 Archives - BB-L014E-BM - autopatch/forsrt.c05
There are no other files named forsrt.c05 in the archive.
 REP 2/1	;05C1
	TV	SORT - FORTRAN interface to stand-alone SORT, 6(2031)
 WIT
	TV	SORT - FORTRAN interface to stand-alone SORT, 6(2121)
 INS 36/1	;05C2
	2121	RJD	28-Oct-82	20-18131
		Before the GET or MERGE of SORT, call a FUNCT. routine
		to mark the pages as being in use in FOROTS memory 
		management table.  Also, move the defintion for SRTADR
		to FORINI so that SRTADR+1 can be zeroed when a START
		command is used to reenter the program.

 INS 3/3	;05C3
	IF20,<	EXTERN	SRTADR	>		;[2121]
 INS 39/3	;05C4

	;[2121] FUNCT. BLOCK ARGS
	FTCODE:	BLOCK	1		;[2121] FUNCTION CODE
	FTSTAT:	BLOCK	1		;[2121] STATUS
	FTARG1:	600			;[2121] ARGUMENT 1
	FTARG2:	100			;[2121] ARGUMENT 2


	;[2121] FUNCT. ARGUMENTS

	F.MPG==21	;[2121]
	F.UPG==22	;[2121]

		-5,,0			;[2121]
	%FTBLK:	IFIW	TP%INT,FTCODE	;[2121] FUNCT. CODE
		IFIW	TP%LIT,[ASCIZ /SRT/] ;[2121]  
		IFIW	TP%INT,FTSTAT	;[2121] STATUS
		IFIW	TP%INT,FTARG1	;[2121] ARG 1
		IFIW	TP%INT,FTARG2	;[2121] ARG 2
 DEL 11/4	;05C5

	SRTADR:	BLOCK	1			;[5] SORTS XJRSTF PC
		Z				;[5] MUST BE ZERO FIRST TIME
 REP 19/7	;05C6
	SORTG:	HRLI	T1,.FHSLF		;[5] DO A GET% ON SORT.EXE
		HRR	T1,P4			;[5] GET JFN
		TXO	T1,GT%ADR!GT%NOV	;[6] CHECK ADDRESS LIMITS, DON'T OVERLAY
 WIT
	SORTG:	MOVEI	T1,F.MPG		;[2121] SET UP FOR FUNCT. CALL
		MOVEM	T1,FTCODE		;[2121] TO MARK THE PAGES
		PUSH	P,L			;[2121] SAVE SORT'S ARGBLK
		MOVEI	L,%FTBLK		;[2121] SORT WILL USE
		PUSHJ	P,FUNCT.		;[2121]
		POP	P,L			;[2121] RESTORE SORT'S ARGBLK
		SKIPE	FTSTAT			;[2121] SUCCESSFUL RETURN ?
		 JRST	E$GET			;[2121] PAGES 600 TO 677 ALREADY IN USE
		HRLI	T1,.FHSLF		;[5] DO A GET% ON SORT.EXE
		HRR	T1,P4			;[5] GET JFN
		TXO	T1,GT%ADR		;[2121] [6] CHECK ADDRESS LIMITS
 INS 3/8	;05C7
	E$GET:	$ERROR	(?,CMS,<GET% failed for pages 600 to 677 for  >,+)	;[2121]
		JRST	E$CFS2			;[2121]

 INS 5/10	;05C8
		MOVEI	T1,F.MPG		;[2121] SET UP FOR FUNCT. CALL
		MOVEM	T1,FTCODE		;[2121] TO MARK THE PAGES
		MOVEI	L,%FTBLK		;[2121] SORT WILL USE
		PUSHJ	P,FUNCT.		;[2121]
		SKIPE	FTSTAT			;[2121] SUCCESSFUL RETURN ?
		  JRST	[$ERROR	(?,CMS,<UNABLE TO MERGE SORT.EXE >,+)	;[2121]	  
			 PUSHJ	P,EXIT.##]	;[2121]
 INS 18/10	;05C9
		MOVEI	T1,F.UPG		;[2121] SET UP FOR FUNCT. CALL
		MOVEM	T1,FTCODE		;[2121] TO UNMARK THE PAGES
		MOVEI	L,%FTBLK		;[2121] THAT WERE USED BY SORT
		PUSHJ	P,FUNCT.		;[2121]
 SUM 219253