Google
 

Trailing-Edge - PDP-10 Archives - bb-kl11c-bm_tops20_v6_1_atpch1_16 - autopatch/algots.c12
There are 13 other files named algots.c12 in the archive. Click here to see a list.
 REP 3/1	;12C1
	;COPYRIGHT (C) 1975,1984 BY
 WIT
	;COPYRIGHT (C) 1975,1985 BY
 REP 15/11	;12C2
		MOVNI	A2,1
 WIT
	MONITB:	MOVNI	A2,1		; [362]
 REP 40/11	;12C3
		JRST	MONIT+1
 WIT
		JRST	MONITB		;[362]
 DEL 20/21	;12C4
		HRRZ	A2,2(AX)	; NUMBER OF FP'S + 1
		XCT	[
		CAIE	A0,(A2)
		CAILE	A0,(A2)](A1)	; CHECK ON NUMBER OF PARAMETERS
		SYSER1	10,0		; WRONG
 REP 45/21	;12C5
		AOS	%DDTPL(DB)	; UPDATE DYNAMIC PROCEDURE LEVEL
		MOVEM	A4,%DDTDL(DB)	; [E100] REMEMBER THIS DL
 WIT
		HRRZ	A2,2(AX)	;[363] NUMBER OF FP'S + 1
		XCT	[		;[363]
		CAIE	A0,(A2)		;[363]
		CAILE	A0,(A2)](A1)	;[363] CHECK ON NUMBER OF PARAMETERS
		SYSER1	10,0		;[363] WRONG
 DEL 4/24	;12C6
	EDIT (202);
		HRRZ	DL,CONDL(DL)	;[202] GET DL TO BE CONTEXT DL
		ADDI	DL,0(DB)	;[202] AND RELOCATE IT
 REP 22/67	;12C7
	PAR9:	PUSHJ	SP,TRLMAN	; MAKE TRACE ENTRY
 WIT
	PAR9:	MOVEI	A4,(DL)		;[363] GET THE NEW DL
		SUBI	A4,(DB)		;[363] DELOCATE IT
		TLO	A4,DB		;[363]
		AOS	%DDTPL(DB)	;[363] UPDATE DYNAMIC PROCEDURE LEVEL
		MOVEM	A4,%DDTDL(DB)	;[363] REMEMBER THIS DL
		PUSHJ	SP,TRLMAN	; MAKE TRACE ENTRY
 INS 6/92	;12C8
		PUSH	SP,A2		; [366] SAVE CURRENT FREE LIST POINTER
 REP 17/92	;12C9
		MOVE	A2,%SYS2(DB)	; [326] NO, RESTORE HEAP TABLE PTR.
 WIT
		POP	SP,A2		; [366][326] NO, RESTORE HEAP TABLE PTR.
 REP 28/93	;12C10
		MOVE	A2,%SYS2(DB)	;[251] GET HEAP TABLE PTR.
 WIT
		SKIPE	A2,%SYSOV(DB)	;[366] ANY OVERLAYS IN PROGRESS?
		PUSHJ	SP,GET000	;[366] YES, CHECK FUNCT. FREE LIST
		MOVE	A2,%SYS2(DB)	;[251] GET HEAP TABLE PTR.
		PUSHJ	SP,GET000	;[366] CHECK FREE LIST
		POP	SP,A5		;[366] FREE AC'S
		POP	SP,A4		;[366]
		JRST	GET004		;[366] CONTINUE

 REP 63/93	;12C11
		POP	SP,A5		;[251] RESTORE AC'S
		POP	SP,A4		;[251]
 WIT
		POPJ	SP,		;[366] RETURN

	GET004:				;[366]
 REP 25/130	;12C12
	INOU3:	TDOA	A1,[
		IOERR	0,0]		; R.H. OF A1 = CHAN #

	INOU4:	TDO	A1,[
		IOERR	1,0]		; WRONG MODE (0, ABOVE, = DEV NO GOOD)
 WIT
	INOU3:	TDOA	A1,[IOERR 0,0]	; R.H. OF A1 = CHAN #

	INOU4:	TDO	A1,[IOERR 1,0]	; WRONG MODE (0, ABOVE, = DEV NO GOOD)
 DEL 41/130	;12C13

 DEL 6/131	;12C14
 REP 1/133	;12C15
	INOU7:	SKIPN	A3,INOU1(A6)	; GET DEVICE PROPERTIES
		JRST	INOU3		; NO GOOD FOR ALGOL (DISPLAY, ETC.)
	EDIT (213);
 WIT

	INOU7:	SKIPN	A3,INOU1(A6)	; GET DEVICE PROPERTIES
		JRST	INOU3		; NO GOOD FOR ALGOL (DISPLAY, ETC.)
	EDIT (213)
 REP 15/133	;12C16
		JUMPL	A5,[
		AOJE	A5,INOU3	; DEFENSIVE CODING
		JRST	INOU4]
 WIT
		JUMPL	A5,[AOJE A5,INOU3 ; DEFENSIVE CODING
			JRST	INOU4]
 REP 39/141	;12C17
		CAIG	A2,(DB)		; BELOW STACK?
 WIT
		CAIGE	A2,(DB)		; [361] BELOW STACK?
 REP 66/141	;12C18
		HRLM	A2,(A3)		; AND LINK WORD
 WIT
		HRLM	A2,(A3)		; [366] AND LINK WORD
 INS 77/141	;12C19
		MOVEI	A0,0		; [361] WE'RE RETURNING SPACE
 REP 12/142	;12C20
		PUSHJ	SP,GETKNL	; GET PIECE
 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
 INS 25/142	;12C21
	REPEAT 0,<			;[366] MAKE CBC A NO-OP
 INS 46/142	;12C22
	> ;[366] END REPEAT 0

	FNCCBC:	JRST	FNCTEX		;[366] MAKE CBC A NO-OP
 REP 45/146	;12C23
		EDIT	(242)		; [242] FIX WRONG LINE # PROBLEM WITH ALGDDT
	ERRM2:	HRRZ	A1,-1(SP)	; [242] GET MODIFIED RETURN ADDRESS
		SUB	A1,%SYS16(DB)	; [242] FIX IT SO IT'S CORRECT AGAIN
		SUBI	A1,1		; [242] NOW MOVE BACK TO THE "PUSHJ" INSTR.
 WIT
		EDIT(363)		;[363] FIX WRONG LINE #, ILL MEM REF IN ALGDDT
		HRRZ	A1,PRGLNK(DL)	;[363] NO ADDRESS - GET LAST LINK
	ERRM2:	HLRZ	A0,(A1)		;[363] FETCH OPCODE, AC
		ANDI	A0,777740	;[363]
		CAIE	A0,(PUSHJ SP,)	;[363] IS IT THE CALL?
		SOJG	A1,ERRM2	;[363] NO, BACK UP MORE
 INS 29/147	;12C24
		JUMPN	A5,ERRM12	; [362] JUMP AHEAD IF DEVICE WAS SUPPLIED
		MOVEI	A1,[ASCIZ/(none specified)/] ;[362] ELSE STRING WAS BLANK
		JRST	ERRMJ		; [362] PRINT IT
 REP 33/147	;12C25
		PUSHJ	SP,MONIT
 WIT
	ERRMJ:	PUSHJ	SP,MONIT	;[362]
 REP 22/148	;12C26
	ERRM11:	MOVEI	A1,[
		ASCIZ/ channel # /]
 WIT
	ERRM11:	MOVEI	A1,[ASCIZ/ channel # /]
 INS 1/149	;12C27

 SUM 198103