Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - tx1kon.c08
There is 1 other file named tx1kon.c08 in the archive. Click here to see a list.
 REP 39/9	;08C1
		MOVEM	T2,CP.STS(T4)
 WIT
		HLLM	T2,CP.STS(T4)
 REP 7/12	;08C2
		SKIPL	T2,CP.STS(T4)	; OR NO EXTENDED STATES
		JRST	TP1RD2		;CAN'T READ DENSITY
 WIT
		PUSHJ	P,CHKXSP	;OR NO EXTENDED STATUS
		  JRST	TP1RD2		;CAN'T READ DENSITY
 REP 37/12	;08C3
	RDOK2:	SKIPGE	T2,CP.RBC(T4)	;GET BYTE COUNT
		MOVE	T2,XS.RBC(T2)	;FROM RIGHT AREA
 WIT
	RDOK2:	PUSHJ	P,CHKRBC	;GET BYTE COUNT
		  MOVE	T2,XS.RBC(T2)	;FROM RIGHT AREA
 REP 13/14	;08C4
	T1WTOK:				;THIS SHOULDN'T BE NECESSARY, BUT JUST IN CASE
		SKIPGE	T2,CP.RBC(T4)	;GET BYTE COUNT FROM RIGHT AREA
		MOVE	T2,XS.RBC(T2)	;GET COUNT FROM THERE
 WIT
	T1WTOK:	PUSHJ	P,CHKRBC	;GET BYTE COUNT FROM THE RIGHT AREA
		  MOVE	T2,XS.RBC(T2)	;GET COUNT FROM THERE
 REP 36/15	;08C5
		HRRZ	T2,TUBFEP##(U)	;NO, SET IT UP
		ADDI	T2,(U)		;("FALSE" INTERRUPT FROM AN ERROR)
		TLO	T2,(-<CPSNSB>B<CPSBCP>)
		MOVEM	T2,CP.STS(T4)
 WIT
		HRLI	T2,(-<CPSNSB>B<CPSBCP>)
		HLLM	T2,CP.STS(T4)
 DEL 28/26	;08C6
		HRRM	T2,CP.STS(T4)	;YES, UNMAP THE PHYSICAL ADDRESS
 REP 45/26	;08C7
	ITUCOK:	SKIPL	T2,CP.STS(T4)	;GET STATUS
 WIT
	ITUCOK:	PUSHJ	P,CHKXSP	;GET STATUS
 REP 12/30	;08C8
		MOVE	T3,CP.STS(T4)	;PNTR TO STATUS AREA
 WIT
		HRRZ	T3,TUBFEP##(U)	;PNTR TO EXTENDED
		ADDI	T3,(U)		;STATUS AREA
		HRL	T3,CP.STS(T4)	;..
 REP 36/30	;08C9
	RDIBUS:	HRRZ	T2,TUBFEP##(U)	;GET XS POINTER
		ADDI	T2,(U)		; ...
		MOVEM	T2,CP.STS(T4)	;STORE IN CASE NONE PRESENT
		MOVE	T3,CP.STS(T4)	;POINTER TO XS AREA
 WIT
	RDIBUS:	PUSHJ	P,SETXSP	;GET XS POINTER
		MOVE	T3,T2
 REP 25/32	;08C10
		SKIPL	T3,CP.STS(T4)	;ARE SENSE BYTES AVAILABLE?
		JRST	FATAL		;NO - NO DISTINCTION.
 WIT
		PUSHJ	P,CHKXSP	;ARE SENSE BYTES AVAILABLE?
		  JRST	FATAL		;NO - NO DISTINCTION.
		MOVE	T3,T2		;PUT IN T3
 REP 5/33	;08C11
		SKIPL	T2,CP.STS(T4)	;GET XS AREA
		JRST	ERREQC		;NONE - CALL IT  NON-RECOVERABLE
 WIT
		PUSHJ	P,CHKXSP	;GET XS AREA
		  JRST	ERREQC		;NONE - CALL IT  NON-RECOVERABLE
 INS 43/40	;08C12
	;HERE TO CHECK POINTER TO EXTENDED STATUS AREA OR BYTE COUNT.
	;ENTER WITH T4 POINTING TO ICP.  EXIT WITH T2=POINTER TO EXTENDED
	;STATUS AREA IF IT EXISTS, OTHERWISE WITH BYTE COUNT
	CHKRBC:	SKIPA	T2,[SKIPGE T2,CP.RBC(T4)]	;CHECKING ON CP.RBC POSITIVE
	CHKXSP:	MOVE	T2,[SKIPL T2,CP.STS(T4)]	;CHECKING ON CP.STS NEGATIVE
		XCT	T2				;DO THE RIGHT CHECK
		SOS	(P)				;PROPER NON-SKIP RETURN
		JUMPGE	T2,CPOPJ1##			;GIVE IT IF NO MORE TO GET
		HRR	T2,TUBFEP##(U)			;ELSE GET VIRTUAL POINTER
		ADDI	T2,(U)				;TO XS AREA
		JRST	CPOPJ1##			;DONE
 SUM 230668