Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - comcon.c09
There is 1 other file named comcon.c09 in the archive. Click here to see a list.
 INS 1/1	;09C1
 REP 84/86	;09C2
		PUSH	P,.UPMP+.UPTMI	;SAVE SOME VM LOCS
		PUSH	P,.UPMP+.UPTMC
 WIT
		PUSH	P,.PDTMI##(W)	;SAVE SOME VM LOCS
		PUSH	P,.PDTMC##(W)
 REP 35/121	;09C3
		ADDI	T2,5+1+<1+1>+<1+1> ;5 - GALAXY HEADER, 1 - TEXT BLOCK HEADER
					;  2 - FUNCTION BLOCK,   2 - NODE BLOCK
 WIT
		ADDI	T2,5+1+<1+1>+<1+1>+<1+2> ;5 - GALAXY HEADER, 1 - TEXT BLOCK HEADER
					;  2 - FUNCTION BLOCK,   2 - NODE BLOCK
					;  3 - TTY NAME BLOCK
 REP 25/122	;09C4
	SENDT2:	HRRI	P4,.WTTXT
 WIT
	SENDT2:	PUSH	P,U		;SAVE U
		PUSHJ	P,SENDH0	;GO GENERATE SENDER'S TTY NAME
		MOVE	T1,[3,,.WTTTY]	;GET ARGUMENT BLOCK HEADER WORD
		DMOVEM	T1,0(P3)	;BUILD PART OF THE BLOCK
		PUSHJ	P,GTNTS1##	;GET [NODE #,,LINE #] IN T1
		  SETOM	T1		;TTY NOT CONNECTED
		MOVEM	T1,2(P3)	;FINISH .WTTTY ARG BLOCK
		POP	P,U		;GET ORIGINAL U BACK
		ADDI	P3,3		;POINT TO NEXT BLOCK
		AOS	4(P2)		;COUNT THIS ARG BLOCK
	;BUILD THE TEXT BLOCK
		HRRI	P4,.WTTXT
 REP 18/126	;09C5
		MOVE	T1,J		;SET UP T1 FOR FIRST TIME THROUGH
 WIT
		PUSHJ	P,SENDH0	;GO GENERATE TTY NAME
		CAMN	U,OPRLDB##	;IS IT THE OPR?
		MOVSI	T2,(SIXBIT /OPR/)	;YES. SAY OPR INSTEAD
		HRRZ	T1,LINTAB##+FRCLIN##	;GET LDB ADDRESS FOR FRCLIN
		CAIN	T1,(U)		;IS IT FROM THAT LINE
		MOVE	T2,[SIXBIT/SYSTEM/]	;YES, USE SYSTEM
		MOVE	U,-1(P)		;RESTORE RECIPIENT
		MOVEM	T3,-1(P)	;PUT PTY POINTER ON STACK

		PUSHJ	P,PRNAME##	;OUTPUT THE NAME TO SENDEE
		PUSHJ	P,INLMES	;AND SPACER
		ASCIZ	/: - /		; ..
		POPJ	P,0		;RETURN FROM SENDHD

	SENDH0:	MOVE	T1,J		;SET UP T1 FOR FIRST TIME THROUGH
 REP 32/126	;09C6

		PUSHJ	P,TTYNAM##	;CONVERT TO REAL NAME IN SIXBIT
		POP	P,T3

		CAMN	U,OPRLDB##	;IS IT THE OPR?
		MOVSI	T2,(SIXBIT /OPR/)	;YES. SAY OPR INSTEAD
		HRRZ	T1,LINTAB##+FRCLIN##	;GET LDB ADDRESS FOR FRCLIN
		CAIN	T1,(U)		;IS IT FROM THAT LINE
		MOVE	T2,[SIXBIT/SYSTEM/]	;YES, USE SYSTEM
		MOVE	U,-1(P)		;RESTORE RECIPIENT
		MOVEM	T3,-1(P)	;PUT PTY POINTER ON STACK

		PUSHJ	P,PRNAME##	;OUTPUT THE NAME TO SENDEE
		PUSHJ	P,INLMES	;AND SPACER
		ASCIZ	/: - /		; ..
		POPJ	P,0		;RETURN FROM SENDHD
 WIT
		PUSHJ	P,TTYNAM##	;CONVERT TO REAL NAME IN SIXBIT
		POP	P,T3
		POPJ	P,
 REP 28/179	;09C7
	USVFIN:	POP	P,.UPMP+.UPTMC	;RESTORE VM LOCS
		POP	P,.UPMP+.UPTMI
 WIT
	USVFIN:	POP	P,.PDTMC##(W)	;RESTORE VM LOCS
		POP	P,.PDTMI##(W)
 INS 10/198	;09C8
		MOVEI	P1,.USUAC	;SAVE USER ACS SINCE
		EXCTUX	<BLT P1,.USUAC+17> ; PAGE UUO WILL CLOBBER THEM
 REP 17/198	;09C9
		  POPJ	P,		;SIGH
 WIT
		  JRST	[SOS (P)	;SIGH, SET FOR FAIL RETURN
			 SETZ P2,	;SINCE WORKING SET HAS NOT CHANGED
			 JRST PAGIA2]	;RESTORE USER ACS AND RETURN
 REP 25/198	;09C10
	PAGIA2:	JUMPGE	P2,CPOPJ1##	;JUMP IF LENGTHY NOOP
 WIT
	PAGIA2:	MOVSI	T1,.USUAC	;RESTORE USER ACS
		EXCTXU	<BLT T1,17>
		JUMPGE	P2,CPOPJ1##	;JUMP IF LENGTHY NOOP
 REP 9/202	;09C11
		POP	P,.UPMP+.UPTMC	;YES, RESTORE VM LOCS
		POP	P,.UPMP+.UPTMI
 WIT
		POP	P,.PDTMC##(W)	;YES, RESTORE VM LOCS
		POP	P,.PDTMI##(W)
 REP 40/228	;09C12
		POP	P,.UPMP+.UPTMC	;RESTORE VM LOCS
		POP	P,.UPMP+.UPTMI
 WIT
		POP	P,.PDTMC##(W)	;RESTORE VM LOCS
		POP	P,.PDTMI##(W)
 SUM 187871