Google
 

Trailing-Edge - PDP-10 Archives - BB-H348C-RM_1982 - swskit-v21/listings/rsx11s/nldrv.list
There are no other files named nldrv.list in the archive.
NLDRV	MACRO M1110  22-AUG-79 07:14  PAGE 3


      1						.TITLE	NLDRV
      2						.IDENT	/03/
      3
      4					;
      5					; COPYRIGHT (C) 1976
      6					; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
      7					;
      8					; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
      9					; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
     10					;
     11					; VERSION 03
     12					;
     13					; E. L. BAATZ 22-JUL-76
     14					;
     15					; NULL DEVICE DRIVER.
     16					;
     17					; MACRO LIBRARY CALLS
     18					;
     19					; EQUATED SYMBOLS
     20					;
     21					; LOCAL DATA
     22					;
     23					; NO CONTROLLER IMPURE DATA TABLES (THERE IS NO DEVICE TO
     24					;	CAUSE INTERRUPTS)
     25					;
     26					; DRIVER DISPATCH TABLE
     27					;
     28	000000				$NLTBL::
     29	000000	000010'				.WORD	NLINI		;INITIATION
     30	000002	000000G				.WORD	$INTXT		;CANCEL ($INTXT IS A "RETURN")
     31	000004	000000G				.WORD	$INTXT		;TIMEOUT
     32	000006	000000G				.WORD	$INTXT		;POWERFAIL
     33					;+
     34					; NLDRV AND DRQIO IMPLEMENT A DEVICE NL:, WHICH ACTS AS
     35					;   1)	A SINK FOR ALL INFORMATION SEND TO IT (IO.WLB)
     36					;   2)	A SOURCE FOR AN INFINITE NUMBER OF END OF FILES (IO.RLB)
     37					;   3)	A SOURCE FOR AN INFINITE NUMBER OF NULL RECORDS (IO.RLB)
     38					;	IF "IE.EOF" IS CHANGED TO "IS.SUC"
     39					;-
     40					;
     41					; DRQIO (BECAUSE THE UC.QUE BIT IS SET IN THE UCB) SETS THE REGISTERS
     42					; TO THE FOLLOWING:
     43					;
     44					;	R1 = ADDRESS OF I/O PACKET
     45					;	R4 = ADDRESS OF SCB
     46					;	R5 = ADDRESS OF UCB
     47					;
     48					; ONLY TWO FIELDS OF AN I/O PACKET MATTER
     49					;	I.FCN+1 = THE I/O FUNCTION CODE.  ONLY IO.WLB
     50					;		  AND IO.RLB MAKE IT TO NLDRV
     51					;	I.PRM+4 = IF I.FCN+1 IS IO.WLB, THIS IS THE
     52					;		  NUMBER OF BYTES THE CALLER WANTS TO WRITE
     53					;
     54	000010	010103 			NLINI:	MOV	R1,R3		;POINT AT PACKET FOR $IOFIN
     55	000012	012700 	000000C			MOV	#IS.SUC&377,R0	;A WRITE ALWAYS SUCCEEDS
     56	000016	016101 	000004G			MOV	I.PRM+4(R1),R1	;SAY EVERYTHING WAS WRITTEN
     57	000022	122763 	000000C	000001G		CMPB	#IO.WLB/400,I.FCN+1(R3) ;WANTS TO WRITE?
NLDRV	MACRO M1110  22-AUG-79 07:14  PAGE 3-1


     58	000030	001403 				BEQ	10$		;IF EQ YES
     59	000032	012700 	000000C			MOV	#IE.EOF&377,R0	;IT IS A READ
     60	000036	005001 				CLR	R1		;READ NO CHARACTERS
     61	000040				10$:	CALLR	$IOFIN		;FINISH OFF PACKET
     62
     63		000001 				.END
NLDRV	MACRO M1110  22-AUG-79 07:14  PAGE 3-2
SYMBOL TABLE

A$$CHK= 000000   	IO.WLB= ****** GX	K$$LDC= 000001   	NLINI   000010R  	R$$11S= 000000
A$$CPS= 000000   	IS.SUC= ****** GX	K$$TPS= 000074   	N$$LDV= 000001   	S$$YSZ= 001740
A$$TRP= 000000   	I$$RDN= 000000   	L$$ASG= 000000   	P$$RTY= 000000   	V$$CTR= 001200
C$$ORE= 002000   	I.FCN = ****** GX	L$$DRV= 000000   	P$$TPT= 000000   	V$$RSN= 000031
G$$TPP= 000000   	I.PRM = ****** GX	M$$CRB= 000124   	R$$DER= 000000   	X$$DBT= 000000
G$$TTK= 000000   	K$$CNT= 177546   	M$$MGE= 000000   	R$$EXV= 000000   	$INTXT= ****** GX
H$$RTZ= 000074   	K$$CSR= 177546   	M$$NET= 000000   	R$$SND= 000000   	$IOFIN= ****** GX
IE.EOF= ****** GX	K$$IEN= 000115   	M$$NT2= 000000   	R$$11M= 000000   	$NLTBL  000000RG

. ABS.	000000	   000
      	000044	   001
ERRORS DETECTED:  0

VIRTUAL MEMORY USED:  1226 WORDS  ( 5 PAGES)
DYNAMIC MEMORY:  2980 WORDS  ( 11 PAGES)
ELAPSED TIME:  00:00:09
[11,24]NLDRV,SY0:[11,34]NLDRV/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,NLDRV