Google
 

Trailing-Edge - PDP-10 Archives - bb-jr93d-bb - 7,6/ap010/algots.c10
There are 14 other files named algots.c10 in the archive. Click here to see a list.
 REP 3/1	;10C1
	;COPYRIGHT (C) 1975,1982,1983,1984 BY
 WIT
	;COPYRIGHT (C) 1975,1984 BY
 REP 13/4	;10C2
		EDIT(232)		;DELETE IN ALGOTS  [JBS 6/2/80]
 WIT
		EDIT(232)
 REP 29/70	;10C3
	EDIT(224); CORRECT EDIT 054 [JBS 4/1/80]
 WIT
	EDIT(224); CORRECT EDIT 054
 REP 39/70	;10C4
		;
		EDIT(152);  Save AX over possible stack shifts.
		;
	FNN0:	SUBI	AX,(DB)		; [E152] Delocate AX over GETOWN
		TLO	AX,DB		; [E152]	"
 WIT

	EDIT(152);  SAVE AX OVER POSSIBLE STACK SHIFTS

	FNN0:	SUBI	AX,(DB)		; [E152] DELOCATE AX OVER GETOWN
		TLO	AX,DB		; [E152]
 REP 15/95	;10C5
		SKIPE	A2,(A2)		; [326] ANY MORE HEAL TABLES TO USE?
 WIT
		SKIPE	A2,(A2)		; [326] ANY MORE HEAP TABLES TO USE?
 REP 37/95	;10C6
		PUSH	SP,(A1)		; SAVE OLD UPEPER TABLE POINTER
 WIT
		PUSH	SP,(A1)		; SAVE OLD UPPER TABLE POINTER
 REP 39/143	;10C7
		CAIG	A2,(DB)		; BELOW STACK ?
 WIT
		CAIGE	A2,(DB)		; [361] BELOW STACK?
 REP 43/143	;10C8
		MOVEI	A1,1(DB)		; SAVE OLD DB
 WIT
		MOVEI	A1,1(DB)	; SAVE OLD DB
 REP 1/144	;10C9
	FNCG2:	TLZ	DB,TMPFL3	; SET OVL HEAP SEARCH FLAG

 WIT

	FNCG2:	TLZ	DB,TMPFL3	; SET OVL HEAP SEARCH FLAG
 DEL 14/144	;10C10
		HRLM	A2,(A3)		; AND LINK WORD
 INS 25/144	;10C11
		MOVEI	A0,0		; [361] WE'RE RETURNING SPACE
 REP 50/144	;10C12
		  JRST	  FNCG21		;   YES - USE IT
 WIT
		 JRST	  FNCG21	;   YES - USE IT
 REP 1/145	;10C13
	FNCCOR:	; GET CORE ANYWHERE
		SKIPE	A2,%SYSOV(DB)	; FIRST ENTRY ?
		  JRST	  FNCCR1	;   NO 
 WIT

	; GET CORE ANYWHERE
	FNCCOR:	SKIPE	A2,%SYSOV(DB)	; FIRST ENTRY ?
		 JRST	FNCCR1		;   NO 
 REP 11/145	;10C14
		PUSHJ	SP,GETKNL	; GET PIECE
		JRST	FNCTST		; DONE

	FNCRAD:	; RETURN CORE
		MOVE	A1,@3(AX)	; ADDR OF PIECE TO RETURN
 WIT
		SUBI	A0,1		; [361] COMPENSATE FOR FREE HEADER WORD SPACE
		PUSHJ	SP,GETKNL	; GET PIECE
		MOVEI	A1,-1(A1)	; [361] BLOCK STARTS AT HEADER WORD
		JRST	FNCTST		; DONE

	; RETURN CORE
	FNCRAD:	MOVE	A1,@3(AX)	; ADDR OF PIECE TO RETURN
 REP 1/146	;10C15
	FNCGOT:	; GET OTS (HEAP) CORE
		MOVE	A0,@4(AX)	; LENGTH
		PUSHJ	SP,GETOWN	; GET IT
		;
		; NOTE THAT, DESPITE THE DESCRIPTION IN SOME VERSIONS OF THE
		; DOCUMENTATION, THIS FUNCTION IS A "GET-CORE-ANYWHERE" TYPE
		;
 WIT

	; GET OTS (HEAP) CORE
	;
	; NOTE THAT, DESPITE THE DESCRIPTION IN SOME VERSIONS OF THE
	; DOCUMENTATION, THIS FUNCTION IS A "GET-CORE-ANYWHERE" TYPE
	;
	FNCGOT:	MOVE	A0,@4(AX)	; LENGTH
		PUSHJ	SP,GETOWN	; GET IT
 REP 11/146	;10C16
	FNCROT:	; RETURN OTS CORE
		MOVE	A1,@3(AX)	; ADDRESS
 WIT
	; RETURN OTS CORE
	FNCROT:	MOVE	A1,@3(AX)	; ADDRESS
 REP 17/146	;10C17
	FNCGCH:	; GET CHANNEL
		MOVEI	A1,17(DB)	; TRY 17 FIRST
 WIT
	; GET CHANNEL
	FNCGCH:	MOVEI	A1,17(DB)	; TRY 17 FIRST
 REP 30/146	;10C18
	FNCRCH:	; RETURN CHANNEL
		MOVE	A1,@3(AX)	; NUMBER
 WIT
	; RETURN CHANNEL
	FNCRCH:	MOVE	A1,@3(AX)	; NUMBER
 REP 37/146	;10C19
	FNCRNT:	; GET START RUN-TIME
		MOVE	A1,%SYS5(DB)
		JRST	FNCTST		; EASY

	FNCIFS:	; GET LOAD-FILE NAME, ETC
		MOVE	A1,%IFDAT+2(DB)	; DEVICE
 WIT
	; GET START RUN-TIME
	FNCRNT:	MOVE	A1,%SYS5(DB)
		JRST	FNCTST		; EASY

	; GET LOAD-FILE NAME, ETC
	FNCIFS:	MOVE	A1,%IFDAT+2(DB)	; DEVICE
 REP 57/146	;10C20
		BLT	A3,A3		; RETORE ACCS
 WIT
		BLT	A3,A3		; RESTORE ACCS
 DEL 65/146	;10C21

 SUM 139841