Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99l-bb - dndemo.p11
There are 4 other files named dndemo.p11 in the archive. Click here to see a list.
.SBTTL	DNDEMO - RDE DEMONSTRATION   5 MAY 76



;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
;  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
;
;COPYRIGHT (C) 1976,1977,1978,1979,1980,1981,1984 BY DIGITAL EQUIPMENT CORP., MAYNARD, MASS.

VRDEMO	=1			;FILE EDIT NUMBER



.IIF NDF FTDEMO,FTDEMO=0
.IF EQ FTDEMO
.MACRO	DEMO	ARG,ADR
.ENDM	DEMO
.IFF


.MACRO	DEMO	ARG,ADR
.IF IDN <ARG>,<CODE>

.MACRO	X	QBLK,QDDB
	.WORD	QBLK	;LINE BLOCK
	.WORD	QDDB	;TTY DDB
	.WORD	0	;START OF MSG UNDER CONSTRUCTION
	.WORD	0	;NEXT CHAR OF MSG
.ENDM	X

DEMO.T:
	;LOCATE THE FIRST TRIBUTARY LINE
	ZLB=LBAMPT
.IF EQ FTDEMO-1
	.REPT	NTRIB
		X	ZLB,ADR
		ZLB=ZLB+LB.SIZ
	.ENDR
.IFF
	ZDDB=T0DDB
	ZN=NTRIB
	.IIF LT TTYN-ZN,ZN=TTYN
	.REPT	ZN
		X	ZLB,ZDDB
		ZLB=ZLB+LB.SIZ
		ZDDB=ZDDB+DB.TSZ
	.ENDR
.ENDC
DEMO.E:

DEMO.F:	SAVE	<J>
	BR	DEMO00
DEMO.O:	SAVE	<J>
	MOV	#DEMO.T,J
10$:	CMP	(P),(J)
	BEQ	DEMO01
	ADD	#10,J
	CMP	J,#DEMO.E
	BLO	10$
DEMO00:	JSR	PC,FRECKS
DEMO02:	RESTORE	<J>
	RTS	PC
DEMO01:	MOV	2(J),J
	SAVE	<R4,R3,R2,R1,R0,R0>
	MOV	CN.LEN(R0),R4
	ADD	#CN.NCT,(P)
10$:	MOV	(P),R0
	ADVCNK	R0,FREE
	MOV	R0,(P)
	INC	(P)
	MOVB	(R0),R0
	JSR	PC,QTYCHR
	SOB	R4,10$
	MOV	(P)+,R0
	BIC	#CNKSIZ-1,R0
	BEQ	20$
	JSR	PC,FRECKS
20$:	BIT	#DS.ACT,(J)
	BNE	30$
	JSR	PC,XMTBEG
30$:	RESTORE <R0,R1,R2,R3,R4>
	BR	DEMO02

DEMO.I:
	MOV	#DEMO.T+2,-(P)
10$:	CMP	@(P),J
	BEQ	15$
	ADD	#10,(P)
	CMP	(P),#DEMO.E
	BLO	10$
27$:	MOV	#207,R0
	TST	(P)+
80$:	JSR	PC,QTYCHR
	BIT	#DS.ACT,(J)
	BNE	85$
	JSR	PC,XMTBEG
85$:	RTS	PC
15$:	BIT	#DHROVR!DHRFER,R1
	BNE	27$
	MOV	R1,-(P)
	MOV	R1,R0
	JSR	PC,80$
	MOV	(P)+,R1
	BIC	#177600,R1		;STRIP PARITY BIT
	MOV	(P),R2
	MOV	2(R2),R0
	BNE	20$
	JSR	PC,ERSGET
	MOV	R0,2(R2)
	MOV	R0,4(R2)
	ADD	#CN.NCT,4(R2)
	CLR	CN.LEN(R0)
20$:	INC	CN.LEN(R0)
	MOV	4(R2),R0
	ADVCNK	R0,EXTEND
	MOVB	R1,(R0)+
	MOV	R0,4(R2)
	CMPB	R1,#015
	BNE	25$
	MOV	#012,R1
	BR	15$
25$:	CMPB	R1,#012
	BEQ	26$
	MOV	2(R2),R0
	Z=MSGMAX-30
	.IIF LE Z,Z=1
	CMP	#Z,CN.LEN(R0)
	BHI	30$
26$:	MOV	J,-(P)
	MOV	-2(R2),J
	MOV	2(R2),R0
	CLR	2(R2)
	CLR	4(R2)
	MOV	#SOH,R2
	JSR	PC,DDQ.01
	MOV	(P)+,J
30$:	TST	(P)+
	RTS	PC
.ENDC
.IF IDN	<ARG>,<SETUP>
$110:	TST	#1
	BEQ	$116
	CLR	.-4
	MOV	#DEMO.T+2,R4
115$:	MOV	(R4),R0
	MOV	DB.LCB(R0),R0
	MOV	#DEMO.I,LC.INS(R0)
	ADD	#10,R4
	CMP	R4,#DEMO.E
	BLO	115$
$116:
.ENDC

.IF IDN <ARG>,<KILL>
	.IF NB <ADR>
		CMP	J,#LBAMPT
		BLO	.+10
	.IFTF
		JSR	PC,DEMO.F
	.IFT
		BR	ADR
	.ENDC
.ENDC

.IF IDN <ARG>,<DUMP>
	.IF NB <ADR>
		CMP	J,#LBAMPT
		BLO	.+10
	.IFTF
		JSR	PC,DEMO.O
	.IFT
		BR	ADR
	.ENDC
.ENDC

.IF IDN <ARG>,<SEND>
	.IF NB <ADR>
		CMP	J,#LBAMPT
		BLO	.+10
	.IFTF
		JSR	PC,DEMO.I
	.IFT
		BR	ADR
	.ENDC
.ENDC
.ENDM	DEMO
.ENDC	;.IF EQ FTDEMO


.IIF NDF DEMODV,DEMODV=0
	DEMO	CODE,DEMODV