Google
 

Trailing-Edge - PDP-10 Archives - bb-jr93f-bb - 7,6/ap012/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 5/2	;12C2
		JB.LBT=200		; [243] "I;M A BATCH JOB" BIT IN GETTAB 40
 WIT
		JB.LBT=200		; [243] "I'M A BATCH JOB" BIT IN GETTAB 40
 REP 15/13	;12C3
		MOVNI	A2,1
 WIT
	MONITB:	MOVNI	A2,1		; [362]
 REP 40/13	;12C4
		JRST	MONIT+1
 WIT
		JRST	MONITB		;[362]
 REP 5/14	;12C5
		PUSHJ	SP,MONIT0	;
		MOVEI	A0,FM15
			MOVEM	A0,.JBOPC	; SET UP SO DDT CONTIN WILL RETURN HERE
 WIT
		PUSHJ	SP,MONIT0
		MOVEI	A0,FM15
		MOVEM	A0,.JBOPC	; SET UP SO DDT CONTIN WILL RETURN HERE
 REP 6/15	;12C6
		JRST	INIT4		;
 WIT
		JRST	INIT4
 DEL 21/23	;12C7
		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 46/23	;12C8
		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
 REP 1/26	;12C9
		PAR10:	HRLZ	A6,TYPTAB(A6)	; GET ENTRY FOR AP TYPE
		AND	A6,TYPTAB(A7)	; GATE WITH ENTRY FOR FP TYPE
		JFFO	A6,@PAR7(A10)	; SORT IT OUT AND BRANCH!!!!!!!
	EDIT (202);
		HRRZ	DL,CONDL(DL)	;[202] GET DL TO BE CONTEXT DL
		ADDI	DL,0(DB)	;[202]  AND RELOCATE IT
 WIT
	PAR10:	HRLZ	A6,TYPTAB(A6)	; GET ENTRY FOR AP TYPE
		AND	A6,TYPTAB(A7)	; GATE WITH ENTRY FOR FP TYPE
		JFFO	A6,@PAR7(A10)	; SORT IT OUT AND BRANCH!!!!!!!
 REP 22/69	;12C10
	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/95	;12C11
		PUSH	SP,A2		; [366] SAVE CURRENT FREE LIST POINTER
 REP 17/95	;12C12
		MOVE	A2,%SYS2(DB)	; [326] NO, RESTORE HEAP TABLE PTR.
 WIT
		POP	SP,A2		; [366][326] NO, RESTORE HEAP TABLE PTR.
 REP 29/96	;12C13
		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] RESTORE AC'S
		POP	SP,A4		;[366]
		JRST	GET004		;[366] CONTINUE

 REP 64/96	;12C14
		POP	SP,A5		;[251] RESTORE AC'S
		POP	SP,A4		;[251]
 WIT
		POPJ	SP,		;[366] RETURN

	GET004:				;[366]
 REP 25/133	;12C15
	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)
 REP 41/133	;12C16

 WIT
 DEL 47/133	;12C17
 REP 1/135	;12C18
	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/135	;12C19
		JUMPL	A5,[
		AOJE	A5,INOU3	; DEFENSIVE CODING
		JRST	INOU4]
 WIT
		JUMPL	A5,[AOJE A5,INOU3 ; DEFENSIVE CODING
			JRST	INOU4]
 INS 14/144	;12C20
		HRLM	A2,(A3)		; [366] AND LINK WORD
 INS 27/145	;12C21
	REPEAT 0,<			;[366] MAKE CBC A NO-OP
 INS 48/145	;12C22
	> ;[366] END REPEAT 0

	FNCCBC:	JRST	FNCTEX		;[366] MAKE CBC A NO-OP
 REP 45/149	;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.
	ERRM3:	HRRZ	A0,A1		; [242] GET CONTEXT ADDRESS
	ERM3A:	PUSH	SP,A0		; REMEMBER IT
 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] GET OPCODE AND AC
		ANDI	A0,777740	;[363]
		CAIE	A0,(PUSHJ SP,)	;[363] IS IT THE CALL?
		SOJG	A1,ERRM2	;[363] NO, BACK UP MORE
	ERRM3:	HRRZ	A0,A1		; [242] GET CONTEXT ADDRESS
		PUSH	SP,A0		; REMEMBER IT
 INS 29/150	;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/150	;12C25
		PUSHJ	SP,MONIT
 WIT
	ERRMJ:	PUSHJ	SP,MONIT	; [362]
 REP 22/151	;12C26
	ERRM11:	MOVEI	A1,[
		ASCIZ/ channel # /]
 WIT
	ERRM11:	MOVEI	A1,[ASCIZ/ channel # /]
 SUM 210821