File: RF08NS.PA of Tape: OS8/OS8-V3D/al-4693d-sa-os8-v3d-3
(Source file text) 

/3 RF08 NON SYSTEM HANDLER / NULL:
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1974,1975 BY DIGITAL EQUIPMENT CORPORATION
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT
/CORPORATION.  DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY
/FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DIGITAL'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DIGITAL.
/
/DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR THE USE
/OR RELIABILITY OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY
/DIGITAL.
/
/
/
/
/
/
/
/
/
/
/	SR

	RF08=1		/CHANGE TO 0 FOR DF32 HANDLER

	*0

	-2
	IFNZRO RF08 <
	DEVICE RF;DEVICE RF;4064;RF&177;ZBLOCK 2
	>
	IFZERO RF08 <
	DEVICE DF;DEVICE DF;4124;DF&177;ZBLOCK 2
	>
	DEVICE RF;DEVICE NULL;0240;NULL&177;ZBLOCK 2

	SCA=7751
	SWC=7750

	RFVERSION="A&77
	NULLVERSION="A&77
	*200

INITLC,	0		/PATCH TO 232 TO HAVE NULL STORE ^Z IN BUFFER
SYSER,	CLA CLL CML RAR	/4000
	ISZ SYSCNT	/TRY AGAIN?
	SKP CLA
	JMP SFIELD	/WHY BOTHER
	CLA CLL CMA RTL
	TAD RF
	DCA RF		/RESET PARAMETERS AND TRY AGAIN
	JMP RETRY
T1,	0
T2,	0

CTLC,	0
	KRS
	AND (177
	TAD (-3
	SNA CLA
	KSF
	JMP I CTLC
CIFCDF,	CIF CDF 0	/RETURN TO OS/8 IF USER TYPED ^C
	JMP I S7600
	ZBLOCK 224-.
	IFNZRO .-224 <ADRERR,QQQQ>	/ENTRY PT MUST BE RELATIVE 24
DF,
RF,	RFVERSION
	CLA CLL CMA RTL	/-3
	DCA SYSCNT	/# TRYS ON ERROR
RETRY,	TAD I RF	/HANDLER RUNS IN USER'S DATA FIELD
	RAL
	CLA RTL
	TAD S6603
	DCA SFUN	/EITHER A READ OR WRITE
	TAD I RF
	AND S70
	DCA SFIELD	/GET FIELD OF BUFFER
	TAD I RF
	RAL
	AND S7600
	CIA
	DCA T1		/SET UP WORD COUNT
	CLA CMA
	ISZ RF
	TAD I RF
	DCA T2		/BUFFER ADDRESS-1
	ISZ RF
	RDF
	TAD SCDF
	DCA RESRDF
SCDF,	CDF 0
	TAD T1
	DCA I (SWC
	TAD T2
	DCA I (SCA
RESRDF,	HLT		/RESTORE USER'S DATA FIELD
	IFZERO RF08 <
	TAD I RF
	RTL
	AND S3700
	>
	TAD SFIELD
	6615		/LOAD DISK EXTENDED MEMORY
S7600,	7600
	IFNZRO RF08 <
	TAD I RF
	RTR
	RTR
	AND S377
	6643		/LOAD HIGH ORDER
	>
	TAD I RF
	RTR
	RTR
	RAR
	AND S7400
SFUN,	HLT		/BECOMES DISK IOT.(READ OR WRITE)
	RDF
	TAD CIFCDF
	DCA SFIELD
	IFZERO	RF08	<6622>
	IFNZRO	RF08	<6623>
	JMP .-1
	JMS CTLC
	ISZ RF
	6621		/SKIP ON ERROR
	IFNZRO RF08 <SKP	/SENSE OF SKIP IS REVERSED>
	JMP SYSER
	ISZ RF
SFIELD,	HLT		/RETURN TO PROPER FIELD
	6601		/CLEAR TROUBLESOME FLAG
	JMP I RF

	IFZERO RF08 <S3700,	3700>
	IFNZRO RF08 <S377,	0377>
NULL,	NULLVERSION
	CLA
	RDF
	TAD CIFCDF
	DCA NULRET
	JMS CTLC
	TAD I NULL	/GET FN WORD
	DCA SFUN
	ISZ NULL	/POINT TO CORE LOC
	TAD I NULL	/GET START OF BUFFER
	DCA T1
	ISZ NULL	/POINT TO BLOCK NUMBER
	ISZ NULL	/POINT TO ERROR RETURN
	TAD SFUN
	SPA CLA
	JMP BYE		/LEAVE BUFFER ALONE ON A WRITE
	TAD SFUN
	AND S70		/ISOLATE FIELD OF BUFFER
	TAD SCDF
	DCA NFIELD
	TAD SFUN
	CLL RAL
	AND S7600	/GET NO. OF WDS IN BUFFER
	CIA
	DCA T2
	TAD INITLC
NFIELD,	HLT		/GO TO FIELD OF BUFFER
	DCA I T1	/ZERO BUFFER
	ISZ T1
	ISZ T2
	JMP .-3
BYE,	TAD SFUN
	RAL		/PUT R/W BIT IN LINK
	CLA CML RAL	/AC=1 IF READING
	SNA
	ISZ NULL	/POINT TO GOOD RETURN IF WRITE
NULRET,	HLT		/BACK TO USER'S DATA FIELD, INST FIELD
	JMP I NULL	/RETURN

SYSCNT,	0
S6603,	6603
S70,	70
S7400,	7400
	$