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