Google
 

Trailing-Edge - PDP-10 Archives - BB-P363B-SM_1985 - mcb/drivers/nrd.lst
There are no other files named nrd.lst in the archive.
NRD	DNMAC X24.07-563  04-JAN-83  16:27
NRD.M11    30-DEC-82 03:55		TABLE OF CONTENTS

  1608		DISPATCH TABLES
  1782		SCCON	- CONNECT PROCESSOR
  1905		TRANSMIT ENABLE PROCESSORS
  1946	 control function processors
  1974	 code to handle disconnect proceedings
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 1
NRD.M11    30-DEC-82 03:55

     1					.TITLE	NRD
     2					.IDENT	/006070/
     3					;
     4					;                    COPYRIGHT (C) 1980, 1981, 1982
     5					;                    DIGITAL EQUIPMENT CORPORATION
     6					;                        MAYNARD, MASSACHUSETTS
     7					;
     8					;     THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED
     9					;     AND COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE
    10					;     AND WITH THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE.   THIS
    11					;     SOFTWARE  OR ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR
    12					;     OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON.  NO  TITLE  TO
    13					;     AND OWNERSHIP OF THE SOFTWARE IS HEREBY TRANSFERRED.
    14					;
    15					;     THE INFORMATION  IN  THIS  SOFTWARE  IS  SUBJECT  TO  CHANGE
    16					;     WITHOUT  NOTICE  AND SHOULD NOT BE CONSTRUED AS A COMMITMENT
    17					;     BY DIGITAL EQUIPMENT CORPORATION.
    18					;
    19					;     DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
    20					;     OF  ITS  SOFTWARE  ON  EQUIPMENT  WHICH  IS  NOT SUPPLIED BY
    21					;     DIGITAL.
    22					;
    23					;
    24					;	NRD GENERIC DIALOG MANAGER
    25					;
    26					;
    27					; MODIFIED:
    28					;
    29					; 1.06	26-JAN-79 ALAN D. PECKHAM
    30					;	MAKE INITIAL FLOW COUNT GLOBAL
    31					;
    32					; 6060 	19-MAR-79 SCOTT G. ROBINSON
    33					;	MAKE RESOURCE RECOVERY WORK AND
    34					;	 MODIFY CONTROL-START PROCESSING TO NOT REQUIRE AN
    35					;	 EXTRA CCB.
    36					;
    37					; 6070	19-MAR-79 SCOTT G. ROBINSON
    38					;	MODIFY RESOURCE RECOVERY TO CLEAR RECOVERY BIT UPON
    39					;	 COMPLETION OF ROUTINE NRDTIM
    40					;
    41					; 2.00  6-AUG-80 ANDREW KERNE
    42					;	EXTENSIVE REWRITE (SHORT OF REDESIGN) FOR COMPATIBILITY WITH MCB
    43					;	 VERSION 3.0 AND CLEANLINESS.
    44
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 2
NRD.M11    30-DEC-82 03:55

    46
    47
    48
    49					;  EXTERNAL MACROS
    50					;
    51						.MCALL	PHD$B,DSP$,DSP$B,DSP$E
    52						.MCALL	CCBDF$,MAP$,RETURN,CALLR,NRMDF$
    53						.MCALL	SCDF$,NRTN$,NINT$,NRTI$,NDAT$,NDAK$
    54						.MCALL	NCRA$,NACC$,NRDM$,NIRQ$,$GTULA
    55
    56	000000'					CCBDF$				;DEFINE CCB SYMBOLS
    57	000000'					SCDF$				;DEFINE SESSION CONTROL C.MOD'S
    58	000000'					NRMDF$				;DEFINE NRM'S DATA BASE
    59
    60					;	.LIST	MEB		;LET'S NOT SEE SOME OF THAT HIDDEN CODE
    61
    62
    63
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 3
NRD.M11    30-DEC-82 03:55		DISPATCH TABLES

    65						.SBTTL	DISPATCH TABLES
    66
    67
    68	000000'					PHD$B  NRD
    69	000040'					PHD$D  LLCDSP
    70	000020'					PHD$E
    71
    72		000000'				.PSECT	$PLIT$,D
    73					;
    74					;  PRIMARY DISPATCH TABLE
    75					;
    76					 
    77	000000'				LLCDSP:	DSP$B
    78	000000'					DSP$	FC.AST,NRDAST		;  AST
    79	000002'					DSP$ 	FC.XME,NRDXME		;  TRANSMIT ENABLE
    80	000004'					DSP$	FC.RCE,NRDRCE		;  RECEIVE ENABLE
    81	000006'					DSP$	FC.KIL			;  KILL ENABLE
    82	000010'					DSP$ 	FC.CTL,NRDCTL		;  CONTROL ENABLE
    83	000012'					DSP$	FC.TIM,NRDTIM		;  TIMEOUT
    84	000014'					DSP$	FC.XCP,NRDXCP		;  TRANSMIT COMPLETE
    85	000016'					DSP$	FC.RCP,NRDRCP		;  RECEIVE COMPLETE
    86	000020'					DSP$	FC.KCP			;  KILL COMPLETE
    87	000022'					DSP$	FC.CCP,NRDCCP		;  CONTROL COMPLETE
    88	000024'					DSP$E
    89
    90
    91					;  DISPATCH TABLE FOR CONTROL ENABLE
    92					;
    93	000024'	000173	000030'		NRDCTL:	JMP	@1$(R3)
    94	000030'				1$:	DSP$B
    95	000030'					DSP$
    96	000032'					DSP$	FM.STR,CTLSTR
    97	000034'					DSP$	FM.STP,CTLSTP
    98	000036'					DSP$E
    99
   100
   101					;  DISPATCH TABLE FOR TIMER ENTRY
   102					;
   103	000036'	000173	000042'		NRDTIM:	JMP	@1$(R3)
   104	000042'				1$:	DSP$B
   105	000042'					DSP$	FM.STM			;SHORT TIMER
   106	000044'					DSP$	FM.LTM,TICK		;LONG TIMER
   107	000046'					DSP$	FM.PWF			;POWER FAILURE
   108	000050'					DSP$	FM.PIN,PINSET		;INITIALIZATION
   109	000052'					DSP$E
   110
   111
   112
   113
   114					;DISPATCH FOR TRANSMIT COMPLETES
   115
   116	000052'	000173	000056'		NRDXCP:	JMP	@1$(R3)
   117	000056'				1$:	DSP$B
   118	000056'					DSP$	S$CON			;SC CONNECT COMPLETE
   119	000060'					DSP$	S$ACC,REQUEST		;SC ACCEPT CONNECTION (OUR CCB)
   120	000062'					DSP$	S$REJ			;SC REJECT CONNECTION
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 3-1
NRD.M11    30-DEC-82 03:55		DISPATCH TABLES

   121	000064'					DSP$	S$SND,SCRTN		;SC DATA TRANSMITTED.
   122	000066'					DSP$	S$MRQ			;SC DATA MESSAGE REQUEST
   123	000070'					DSP$	S$DRQ,SCRTN		;SC DATA SEGMENT REQUEST
   124	000072'					DSP$	S$SNI,SCRTN		;SC INTERRUPT SEGMENT XMITTED
   125	000074'					DSP$	S$IRQ,SCRTN		;SC INTERRUPT REQUEST
   126	000076'					DSP$	S$DIS			;SC RETURN FROM OUR DISCONNECT REQUEST
   127	000100'					DSP$	S$ABO,SCRTN		;SC RETURN FROM OUR ABORTION REQUEST
   128	000102'					DSP$	S$GLN			;SC GET LOCAL NODE INFO
   129	000104'					DSP$E
   130
   131
   132
   133					;
   134					;DISPATCH FOR RECEIVE COMPLETES
   135
   136	000104'	000173	000110'		NRDRCP:	JMP	@1$(R3)
   137	000110'				1$:	DSP$B
   138	000110'					DSP$	S$CNR,SCCON		; CONNECT TO NRD DEVICE 
   139	000112'					DSP$	S$DAT,SCDATA		; RECEIVE DATA SEGMENT
   140	000114'					DSP$	S$INT,SCINT		; RECEIVE INTERUPT DATA 
   141	000116'					DSP$	S$DSR,SCTRM		; DISCONNECT
   142	000120'					DSP$E
   143
   144
   145
   146		100000			 QS.CVR	==	100000		;  RECOVERY IN PROGRESS.
   147		000400			 QS.CCB	==	000400		;  CCB PENDING.
   148
   149							.MCALL	DAT$
   150
   151	000120'					DAT$ DSR
   152
   153	000000	000001			TIMER:	.BLKW	1		;LONG TIMER BYTE
   154	000002	000001			NRMPIX:	.BLKW	1		;NRM'S PIX
   155	000004	000001			NRDPIX:	.BLKW	1		;NRD'S PIX
   156	000006	000001			FLDIF:	.BLKW	1		;FLOW ADJUSTMENT FACTOR
   157	000010	000001			FLOW:	.BLKW	1		;FLOW CONTROL SEGMENT REQUEST COUNT
   158	000012	000001			QUESW:	.BLKW	1		;QUEUE SWITCHES
   159	000014				WTQUE:	LST$D			;RESOURCE WAIT QUEUE
   160
   161	000020					END$
   162
   163
   164
   165
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 4
NRD.M11    30-DEC-82 03:55		DISPATCH TABLES

   167
   168		000000'				.PSECT $CODE$,I
   169
   170					; PROCESS INITILIZATION ROUTINE
   171					;
   172
   173	000000'				PINSET:
   174	000000'	004767	000000G			CALL	$LTMEN			;ENABLE LONG TIMER
   175	000004'	012700	055135			MOV	#^RNRM,R0		;PICK UP NRM'S PIX
   176	000010'	004767	000000G			CALL	PIDID			;...
   177	000014'	010065	000002			MOV	R0,NRMPIX(R5)		;...
   178	000020'	016765	000000G	000004		MOV	.CRPIX,NRDPIX(R5)	;PICK UP OWN PIX
   179	000026'					RETURN
   180
   181
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 5
NRD.M11    30-DEC-82 03:55		DISPATCH TABLES

   183
   184					;+
   185					; QUEUE UP A CCB FOR A RESOURCE WAIT
   186					;
   187					; INPUTS:
   188					;	R4 - CCB TO QUEUE UP
   189					;-
   190	000030'	016705	000002G		NRDQUE:	MOV	.CRDAT+2,R5		;POINT TO NRD DATA BASE
   191	000034'	005215				INC	(R5)			;SET TIMER ON
   192	000036'	010503				MOV	R5,R3			;POINT TO RESOURCE QUEUE
   193	000040'	062703	000014			ADD	#WTQUE,R3		;...
   194	000044'	052765	000400	000012		BIS	#QS.CCB,QUESW(R5)	;SET CCB RECOVERY FLAG
   195	000052'	100402				BMI	10$			;RECOVERY IN PROGRESS ?
   196	000054'					CALLR	$CMQIN			; QUEUE TO THE REAR
   197	000060'				10$:	CALLR	$CMQIF			; OTHERWISE TO THE FRONT.
   198					 
   199	000064'				TICK:
   200	000064'	052765	100000	000012		BIS	#QS.CVR,QUESW(R5)		; OTHERWISE SET RECOVERY SWITCH
   201	000072'	042765	000400	000012		BIC	#QS.CCB,QUESW(R5)	; RESET CCB PENDING SWITCH
   202	000100'	010503			20$:	MOV	R5,R3
   203	000102'	062703	000014			ADD	#WTQUE,R3		;POINT TO THE WAIT QUEUE
   204	000106'	004767	000000G			CALL	$CMQRM			; AND SEE IF ANYTHING IS IN THE QUEUE.
   205	000112'	103412				BCS	80$			; IF SO,
   206	000114'	116403	000013			MOVB	C.MOD(R4),R3		; PICK UP MODIFIER
   207	000120'	116400	000012			MOVB	C.FNC(R4),R0		; AND FUNCTION CODE
   208	000124'	004770	000000'			CALL	@LLCDSP(R0)		; AND RE-DISPATCH FUNCTION.
   209	000130'	032765	000400	000012		BIT	#QS.CCB,QUESW(R5)		; IF NO RESOURCE ERROR,
   210	000136'	001760				BEQ	20$			; THEN GO FOR MORE.
   211	000140'	042765	100000	000012	80$:	BIC	#QS.CVR,QUESW(R5)	; RESET RECOVERY SWTCH
   212	000146'				90$:
   213	000146'					RETURN
   214
   215
   216
   217					;ROUTINE TO FLUSH OUT MY RESOURCE WAIT QUEUE FOR A GIVEN PIPE
   218
   219	000150'				NRDFLS:
   220	000150'	016705	000002G			MOV	.CRDAT+2,R5		;POINT TO DATA BASE
   221	000154'	010503				MOV	R5,R3			;NOW LOOK AT THE RESOURCE QUEUE
   222	000156'	062703	000014			ADD	#WTQUE,R3		;...
   223	000162'	004767	000000G		1$:	CALL	$CMQRM			;TRY AND REMOVE A CCB
   224	000166'	103411				BCS	2$			;NO SUCH LUCK,QUEUE IS EMPTY
   225	000170'	011446				MOV	(R4),-(SP)		;SAVE LINK WORD
   226	000172'	126460	000024	000014		CMPB	C.PRM1(R4),P.NUM(R0)	;FOR THIS PIPE ?
   227	000200'	001405				BEQ	3$
   228	000202'	004767	000000G			CALL	$CMQIN			;NO SO PUT IT BACK
   229	000206'	005726				TST	(SP)+			;ALITTLE CLEANUP
   230	000210'	000764				BR	1$			;ONCE MORE JACK
   231	000212'				2$:	RETURN				;ALL DONE !
   232	000214'	116064	000017	000011	3$:	MOVB	P.PIX(R0),C.PIX(R4)	;SET UP TO WHOMEVER
   233	000222'					NDAK$				;AND GIVE IT UP
   234	000234'	000752				BR	1$			;PLAY IT AGAIN SAM
   235
   236
   237
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 6
NRD.M11    30-DEC-82 03:55		SCCON	- CONNECT PROCESSOR

   239						.SBTTL	SCCON	- CONNECT PROCESSOR
   240
   241
   242	000236'				SCCON:
   243	000236'	010446				MOV	R4,-(SP)		; STUFF AWAY CONNECT CCB
   244	000240'	004767	000000G			CALL	$CCBGT			; ALLOCATE AN ACCEPT CCB
   245	000244'	103002				BCC	4$			; ALLOCATION FAILURE
   246	000246'	005003				CLR	R3			; FAILURE INDICATOR
   247	000250'	000420				BR	5$			; NOW REJECT CUZ NO RESOURCES
   248	000252'				4$:
   249	000252'	010403				MOV	R4,R3			; STASH AWAY ACCEPT CCB
   250	000254'	011600				MOV	(SP),R0			;CONNECT CCB
   251	000256'	016501	000002			MOV	NRMPIX(R5),R1		; NRM'S PIX
   252	000262'					CALL$P	#$PCBOP,R1,<R0>
   253	000306'	005700				TST	R0			; DID WE GET A PCB
   254	000310'	001016				BNE	7$
   255	000312'	012604			5$:	MOV	(SP)+,R4		; GIVE BACK CONNECT CCB
   256	000314'					NCRA$	,#S.ERES		; FAILURE, REJECT CONNECTION
   257	000334'	010304				MOV	R3,R4			; POINT TO ACCEPT CCB AND
   258	000336'	001402				BEQ	6$
   259	000340'	004767	000000G			CALL	$CCBRT			; RETURN IT
   260	000344'				6$:	RETURN
   261
   262	000346'				7$:					; WE NOW HAVE A PCB IN R0
   263	000346'	012604				MOV	(SP)+,R4		; CONNECT CCB
   264	000350'	116463	000010	000010		MOVB	C.LIX(R4),C.LIX(R3)	; COPY INFO TO ACCEPT CCB
   265	000356'	116460	000010	000012		MOVB	C.LIX(R4),P.LLA(R0)	; PUT LLA IN PCB
   266	000364'	116463	000011	000011		MOVB	C.PIX(R4),C.PIX(R3)	; PUT IN DEST PIX
   267	000372'	116460	000011	000017		MOVB	C.PIX(R4),P.PIX(R0)	; AND SAVE IT FOR LATER
   268	000400'	052760	020001	000010		BIS	#PS.CI!PS.DAT,P.STS(R0)	; SET CONNECT INITIATED
   269	000406'					NCRA$	P.NUM(R0)		; ACKNOWLEDGE INTENT TO CONNECT
   270	000426'	010304				MOV	R3,R4
   271	000430'	012764	000001	000022		MOV	#1, C.CNT(R4)		; SEND ULA THAT'S IN C.PRM1 AS
   272	000436'	062703	000024			ADD	#C.PRM1, R3		; OPTIONAL DATA
   273	000442'	005064	000016			CLR	C.BUF(R4)		; ......
   274	000446'	010364	000020			MOV	R3,C.BUF+2(R4)		; ......
   275	000452'					NACC$	,P.NUM(R0),#S$PSEG	; NOW ACCEPT THE CONNECTION
   276	000506'					RETURN
   277
   278
   279
   280
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 7
NRD.M11    30-DEC-82 03:55		SCCON	- CONNECT PROCESSOR

   282
   283					; RECEIVE ENABLES FROM HIGHER UPS
   284					 
   285	000510'	005000			NRDRCE:	CLR	R0			;ASK NRM FOR THE PCB ADDRESS
   286	000512'	156400	000024			BISB	C.PRM1(R4),R0		;FOR THIS PIPE NUMBER..
   287	000516'	016501	000002			MOV	NRMPIX(R5),R1		;...
   288	000522'					CALL$P	#$PCBDB,R1,<R0>		;...
   289	000546'	010446				MOV	R4,-(SP)		;SAVE AWAY CCB
   290	000550'	005760	000010			TST	P.STS(R0)		;IS PIPE ACTIVE
   291	000554'	001474				BEQ	15$			;NO SO JUST RETURN CCB
   292	000556'	122703	000004			CMPB	#S$INT,R3		;WAS THIS AN INTERRUPT MESSAGE
   293	000562'	001406				BEQ	12$
   294	000564'	105360	000016			DECB	P.SEGS(R0)		;NEED MORE SEGMENT REQUESTS ?
   295	000570'	126560	000006	000016		CMPB	FLDIF(R5),P.SEGS(R0)	;NO, NOT REALLY
   296	000576'	001063				BNE	15$
   297	000600'	004767	000000G		12$:	CALL	$CCBGT			;GET A REQUEST CCB
   298	000604'	103005				BCC	13$			;GOT ONE
   299	000606'	105260	000016			INCB	P.SEGS(R0)		;ADJUST COUNT
   300	000612'	012604				MOV	(SP)+,R4		;QUEUE UP RESOURCE FAILURE
   301	000614'	000167	177210			JMP	NRDQUE
   302	000620'	116064	000017	000011	13$:	MOVB	P.PIX(R0),C.PIX(R4)	;SET UP TO WHOM
   303	000626'	122703	000004			CMPB	#S$INT,R3		;INTERRUPT
   304	000632'	001427				BEQ	14$
   305	000634'	016502	000010			MOV	FLOW(R5),R2
   306	000640'	110260	000016			MOVB	R2,P.SEGS(R0)
   307	000644'	166502	000006			SUB	FLDIF(R5),R2
   308	000650'					NDRQ$	P.LLA(R0),P.NUM(R0),R2	;REQUEST MORE SEGMENTS
   309	000710'	000416				BR	15$
   310
   311	000712'				14$:	NIRQ$	P.LLA(R0),P.NUM(R0)		;REQUEST INTERRUPT DATA
   312
   313	000746'	012604			15$:	MOV	(SP)+,R4
   314	000750'	116064	000017	000011		MOVB	P.PIX(R0),C.PIX(R4)
   315	000756'	004767	000000G			CALL	$SCHED
   316	000762'					RETURN
   317
   318
   319
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 8
NRD.M11    30-DEC-82 03:55		SCCON	- CONNECT PROCESSOR

   321
   322
   323					; TRANSMIT COMPLETES COME HERE
   324
   325	000764'	005000			SCRTN:	CLR	R0			;ASK NRM FOR THE PCB ADDRESS
   326	000766'	156400	000024			BISB	C.PRM1(R4),R0		;FOR THIS PIPE NUMBER..
   327	000772'	016501	000002			MOV	NRMPIX(R5),R1		;...
   328	000776'					CALL$P	#$PCBDB,R1,<R0>		;...
   329	001022'	126465	000006	000004		CMPB	C.OWN(R4),NRDPIX(R5)	;IS THIS MY CCB
   330	001030'	001003				BNE	1$
   331	001032'	004767	000000G			CALL	$CCBRT			;RELEASE CCB
   332	001036'	000407				BR	4$
   333
   334	001040'	016001	000002		1$:	MOV	P.OPN(R0),R1		;POINT TO THE TCB
   335	001044'	116164	000020	000011		MOVB	T.PRI(R1),C.PIX(R4)	;SET DESTINATION PROCESS
   336	001052'	004767	000000G			CALL	$SCHED			;COMPLETE HIS CCB
   337	001056'				4$:	RETURN
   338
   339
   340
   341					;CONNECT COMPLETE PROCESSOR
   342
   343	001060'	005000			REQUEST:CLR	R0			;ASK NRM FOR THE PCB ADDRESS
   344	001062'	156400	000024			BISB	C.PRM1(R4),R0		;FOR THIS PIPE NUMBER..
   345	001066'	016501	000002			MOV	NRMPIX(R5),R1		;...
   346	001072'					CALL$P	#$PCBDB,R1,<R0>		;...
   347	001116'	042760	000001	000010		BIC	#PS.CI,P.STS(R0)	; CLEAR CONNECT INITIATED
   348	001124'	026427	000014	000001		CMP	C.STS(R4), #S.SSUC	;CONNECT SUCCESSFUL?
   349	001132'	001022				BNE	10$			;CLOSE UP SHOP
   350	001134'	052760	000002	000010		BIS	#PS.CC,P.STS(R0)	; SET CONNECT COMPLETED
   351	001142'					NDRQ$	,,FLOW(R5)	 	; REQUEST SOME SEGMENTS
   352	001170'	116560	000010	000016		MOVB	FLOW(R5),P.SEGS(R0)
   353	001176'	000413				BR	11$
   354	001200'				10$:
   355	001200'					NABO$	P.NUM(R0)		; CONNECT ACCEPT NOT SUCCESSFUL SO
   356										; ABORT THE SESSION.
   357	001226'				11$:	RETURN				; EXIT
   358
   359
   360
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 9
NRD.M11    30-DEC-82 03:55		TRANSMIT ENABLE PROCESSORS

   362						.SBTTL	TRANSMIT ENABLE PROCESSORS
   363					;
   364					;
   365					;  INPUTS:	R4 -> CCB
   366					;		R3 = SUBFUNCTION = C.MOD(R4)
   367					;
   368					;
   369	001230'	005000			NRDXME:	CLR	R0			; PICK UP HIS PIX
   370	001232'	156400	000011			BISB	C.PIX(R4),R0		;...
   371	001236'	016501	000002			MOV	NRMPIX(R5),R1		;..AND GET TO THE TCB
   372	001242'					CALL$P	#$TCBDB,R1,<R0>
   373	001266'	016000	000006			MOV	T.PCBD(R0),R0		;POINT TO PCB FOR THIS PIPE
   374	001272'	116064	000014	000024		MOVB	P.NUM(R0),C.PRM1(R4)	;SET UP ULA
   375	001300'	116064	000017	000011		MOVB	P.PIX(R0),C.PIX(R4)	;...
   376	001306'	116064	000012	000010		MOVB	P.LLA(R0),C.LIX(R4)	;SET UP LLA
   377	001314'	004767	000000G			CALL	$SCHED			;SHIP IT OFF
   378	001320'					RETURN
   379
   380
   381
   382
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 10
NRD.M11    30-DEC-82 03:55		TRANSMIT ENABLE PROCESSORS

   384
   385					;
   386					;  DATA AND INTERRUPTS RECEIVED FROM SESSION CONTROL
   387					;
   388
   389	001322'				SCINT:
   390	001322'	005000			SCDATA:	CLR	R0			;ASK NRM FOR THE PCB ADDRESS
   391	001324'	156400	000024			BISB	C.PRM1(R4),R0		;FOR THIS PIPE NUMBER..
   392	001330'	016501	000002			MOV	NRMPIX(R5),R1		;...
   393	001334'					CALL$P	#$PCBDB,R1,<R0>		;...
   394	001360'	016001	000002			MOV	P.OPN(R0),R1		;GET TO THE TCB
   395
   396	001364'	116164	000020	000011		MOVB	T.PRI(R1),C.PIX(R4)	;AND SET IT UP
   397	001372'	004767	000000G			CALL	$SCHED			;PASS IT ON
   398	001376'					RETURN
   399
   400
   401
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 11
NRD.M11    30-DEC-82 03:55		CONTROL FUNCTION PROCESSORS

   403						.SBTTL CONTROL FUNCTION PROCESSORS
   404
   405					; NRM START AND STOP FUNCTIONS
   406
   407	001400'				CTLSTP:
   408	001400'				CTLSTR:
   409	001400'	116403	000011			MOVB	C.PIX(R4),R3		; SAVE WHO IT CAME FROM
   410	001404'	116464	000010	000011		MOVB	C.LIX(R4),C.PIX(R4)	; SET DESTINATION PIX
   411	001412'	110364	000010			MOVB	R3,C.LIX(R4)
   412	001416'	004767	000000G			CALL	$SCHED			; SEND OFF CONTROL CCB
   413	001422'					RETURN
   414
   415
   416
   417					;  CONTROL COMPLETE
   418
   419	001424'				NRDCCP:
   420	001424'	116403	000011			MOVB	C.PIX(R4),R3		;WHO IT CAME FROM
   421	001430'	116464	000010	000011		MOVB	C.LIX(R4),C.PIX(R4)	; SET RETURN PIX
   422	001436'	110364	000010			MOVB	R3,C.LIX(R4)		; NOT REALLY IMPORTANT,,,HA HA HA
   423	001442'	004767	000000G			CALL	$SCHED			; RETURN CCB 
   424	001446'					RETURN
   425
   426
   427
   428
   429
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 12
NRD.M11    30-DEC-82 03:55		CODE TO HANDLE DISCONNECT PROCEEDINGS

   431						.SBTTL CODE TO HANDLE DISCONNECT PROCEEDINGS
   432					;
   433					; SCTRM:   SESSION CONTROL INITIATION OF DISCONNECTION
   434					;
   435					.ENABL LSB
   436					 
   437	001450'	005000			SCTRM:	CLR	R0			;ASK NRM FOR THE PCB ADDRESS
   438	001452'	156400	000024			BISB	C.PRM1(R4),R0		;FOR THIS PIPE NUMBER..
   439	001456'	016501	000002			MOV	NRMPIX(R5),R1		;...
   440	001462'					CALL$P	#$PCBDB,R1,<R0>		;...
   441	001506'	010446				MOV	R4,-(SP)		;SAVE DISCONNECT CCB
   442	001510'	004767	000000G			CALL	$CCBGT			;TRY FOR A ABORT CCB
   443	001514'	103003				BCC	1$			;GOT ONE
   444	001516'	012604				MOV	(SP)+,R4
   445	001520'	000167	176304			JMP	NRDQUE			;RESOURCE ERROR
   446	001524'				1$:
   447	001524'	010446				MOV	R4,-(SP)		;SAVE R4
   448	001526'	004767	176416			CALL	NRDFLS			;CLEAN OUT RESOURCE QUEUE
   449	001532'	012604				MOV	(SP)+,R4
   450	001534'	116064	000017	000011		MOVB	P.PIX(R0),C.PIX(R4)	;SET DEST PIX
   451	001542'					NABO$	P.NUM(R0)		;CLEAN UP THE LINK ON MY SIDE
   452	001570'	012604				MOV	(SP)+,R4
   453	001572'					NDAK$				;SEND ABORT CCB BACK TO SC
   454	001604'					RETURN
   455
   456	001606'				NRDAST:
   457	001606'	005000				CLR	R0			;PIPE NUMBER TO CLOSE
   458	001610'	156400	000024			BISB	C.PRM1(R4),R0		;..FOR THIS PIPE
   459	001614'	004767	000000G			CALL	$CCBRT			;RETURN THE CCB
   460	001620'	016501	000002			MOV	NRMPIX(R5),R1		;ASK NRM TO CLOSE THE PIPE
   461	001624'					CALL$P	#$PCBCL,R1,<R0>		;...
   462	001650'					RETURN
   463		000001				.END
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 13
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- USER SYMBOLS

CE.ABO= 177770        	   56#
CE.BUF= 177600        	   56#
CE.DCR= 177570        	   56#
CE.DEV= 177532        	   56#
CE.DIS= 177520        	   56#
CE.ERR= 177760        	   56#
CE.HFE= 177560        	   56#
CE.MOP= 177750        	   56#
CE.MTL= 177550        	   56#
CE.NTE= 177720        	   56#
CE.ROV= 177540        	   56#
CE.RTE= 177730        	   56#
CE.SRC= 177740        	   56#
CE.TMO= 177710        	   56#
CE.UDR= 177510        	   56#
CS.SUC= 000001        	   56#
CTLSTP  001400R    003	   97	  407#
CTLSTR  001400R    003	   96	  408#
C.BUF   000016        	   56#	  273*	  274*
C.CHN   000002        	   56#
C.CNT   000022        	   56#	  271*
C.FNC   000012        	   56#	  207	  233*	  256*	  269*	  275*	  308*	  311*	  351*	  355*	  451*	  453*
C.LIN   000010        	   56#
C.LIX   000010        	   56#	  264*	  265	  308*	  311*	  376*	  410	  411*	  421	  422*
C.LNK   000000        	   56#	  233	  256	  269	  275	  308	  311	  351	  355	  451	  453
C.MOD   000013        	   56#	  206	  275*	  308*	  311*	  351*	  355*	  451*
C.OWN   000006        	   56#	  329
C.PIX   000011        	   56#	  232*	  266*	  267	  302*	  314*	  335*	  370	  375*	  396*	  409	  410*	  420
			  421*	  450*
C.PRM   000024        	   56#
C.PRM1  000024        	   56#	  226	  269*	  272	  275*	  286	  308*	  311*	  326	  344	  351*	  355*	  374*
			  391	  438	  451*	  458
C.PRM2  000026        	   56#
C.PRM3  000030        	   56#
C.PRM4  000032        	   56#
C.PRM5  000034        	   56#
C.STK   000004        	   56#
C.STS   000014        	   56#	  256*	  348
C..ARG= 000001        	  252#	  288#	  328#	  346#	  372#	  393#	  440#	  461#
FC.AST= 000000        	   56#	   78
FC.CCP= 000022        	   56#	   87
FC.CTL= 000010        	   56#	   82
FC.KCP= 000020        	   56#	   86
FC.KIL= 000006        	   56#	   81
FC.RCE= 000004        	   56#	   80	  233	  256	  269	  453
FC.RCP= 000016        	   56#	   85
FC.SYS= 000012        	   56#
FC.TIM= 000012        	   56#	   83
FC.XCP= 000014        	   56#	   84
FC.XME= 000002        	   56#	   79	  275	  308	  311	  351	  355	  451
FD.AST= 000000        	   56#
FD.CCP= 000014        	   56#
FD.CTL= 000014        	   56#
FD.KCP= 000004        	   56#
FD.KIL= 000004        	   56#
FD.RCE= 000004        	   56#
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 13-1
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- USER SYMBOLS

FD.RCP= 000004        	   56#
FD.SYS= 000012        	   56#
FD.TIM= 000012        	   56#
FD.XCP= 000000        	   56#
FD.XME= 000000        	   56#
FLDIF   000006        	  156#	  295	  307
FLOW    000010        	  157#	  305	  351	  352
FM.CCB= 000010        	   56#
FM.CRA= 000002        	   56#
FM.DAT= 000000        	   56#
FM.GET= 000014        	   56#
FM.KIL= 000000        	   56#
FM.LTM= 000002        	   56#	  106
FM.NM = 000006        	   56#
FM.PIN= 000006        	   56#	  108
FM.PWF= 000004        	   56#	  107
FM.RDB= 000012        	   56#
FM.RTN= 000002        	   56#
FM.SET= 000012        	   56#
FM.STM= 000000        	   56#	  105
FM.STP= 000004        	   56#	   97
FM.STR= 000002        	   56#	   96
FM.SYN= 000004        	   56#
FM.XKL= 000004        	   56#
K.ACNT  000114        	   57#
K.ACTL  000112        	   57#
K.DES   000002        	   57#
K.DFMT  000006        	   57#
K.DGRP  000010        	   57#
K.DOBJ  000007        	   57#
K.DPL1  000010        	   57#
K.DPL2  000014        	   57#
K.DPR1  000012        	   57#
K.DPR2  000016        	   57#
K.DST   000010        	   57#
K.DUSR  000012        	   57#
K.ENDD  000156        	   57#
K.FMT   000000        	   57#
K.GRP   000002        	   57#
K.LEN   000002        	   57#
K.LN2   000006        	   57#
K.NAM   000004        	   57#
K.NM2   000010        	   57#
K.NODE  000000        	   57#
K.OBJ   000001        	   57#
K.OPDL  000134        	   57#
K.OPTD  000136        	   57#
K.PASL  000100        	   57#
K.PASW  000102        	   57#
K.RQDL  000056        	   57#
K.RQID  000060        	   57#
K.SFMT  000032        	   57#
K.SGRP  000034        	   57#
K.SIZE  000156        	   57#
K.SOBJ  000033        	   57#
K.SPL1  000034        	   57#
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 13-2
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- USER SYMBOLS

K.SPL2  000040        	   57#
K.SPR1  000036        	   57#
K.SPR2  000042        	   57#
K.SRC   000034        	   57#
K.SUSR  000036        	   57#
K.USR   000004        	   57#
LLCDSP  000000R    002	   69	   77#	  208*
MCB$V0= ****** G      	   68#
MCB$V1= ****** G      	   68#
NRDAST  001606R    003	   78	  456#
NRDCCP  001424R    003	   87	  419#
NRDCTL  000024R    002	   82	   93#
NRDFLS  000150R    003	  219#	  448*
NRDPIX  000004        	  155#	  178*	  329
NRDQUE  000030R    003	  190#	  301	  445
NRDRCE  000510R    003	   80	  285#
NRDRCP  000104R    002	   85	  136#
NRDTIM  000036R    002	   83	  103#
NRDXCP  000052R    002	   84	  116#
NRDXME  001230R    003	   79	  369#
NRMPIX  000002        	  154#	  177*	  251	  287	  327	  345	  371	  392	  439	  460
PCBLEN  000020 G      	   58#
PHD$A   000000R       	   68#	   69	   70
PIDID = ****** GX     	  176*
PINSET  000000R    003	  108	  173#
PS.ABO= 000010 G      	   58#
PS.CC = 000002 G      	   58#	  350
PS.CI = 000001 G      	   58#	  268	  347
PS.CTL= 010000 G      	   58#
PS.DAT= 020000 G      	   58#	  268
PS.DIP= 000004 G      	   58#
PS.IMP= 000100 G      	   58#
PS.NKP= 000040 G      	   58#
PS.RQT= 040000 G      	   58#
P.CBTN  000004 G      	   58#
P.LLA   000012 G      	   58#	  265*	  308	  311	  376
P.NUM   000014 G      	   58#	  226	  269	  275	  308	  311	  355	  374	  451
P.OPN   000002 G      	   58#	  334	  394
P.PIX   000017 G      	   58#	  232	  267*	  302	  314	  375	  450
P.REF   000004 G      	   58#
P.RES   000002 G      	   58#
P.RSV   000000 G      	   58#
P.SEGS  000016 G      	   58#	  294*	  295	  299*	  306*	  352*
P.SPI   000015 G      	   58#
P.STS   000010 G      	   58#	  268*	  290	  347*	  350*
P.USER  000006 G      	   58#
QS.CCB= 000400 G      	  147#	  194	  201	  209
QS.CVR= 100000 G      	  146#	  200	  211
QUESW   000012        	  158#	  194*	  200*	  201*	  209	  211*
REQUES  001060R    003	  119	  343#
RF.CCB= 000400 G      	   58#
RF.CVR= 100000 G      	   58#
RF.LIN= 001000 G      	   58#
R$FLG   000002 G      	   58#
R$FLW   000012 G      	   58#
R$PCB   000014 G      	   58#
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 13-3
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- USER SYMBOLS

R$RWT   000004 G      	   58#
R$TCB   000020 G      	   58#
R$TCQ   000010 G      	   58#
R$TIM   000000 G      	   58#
SCCON   000236R    003	  138	  242#
SCDATA  001322R    003	  139	  390#
SCINT   001322R    003	  140	  389#
SCRTN   000764R    003	  121	  123	  124	  125	  127	  325#
SCTRM   001450R    003	  141	  437#
S$ABO = 000022        	   57#	  127	  355	  451
S$ACC = 000002        	   57#	  119	  275
S$CNR = 000000        	   57#	  138
S$CON = 000000        	   57#	  118	  233	  256	  269	  275	  308	  311	  351	  355	  451	  453
S$DAT = 000002        	   57#	  139
S$DIS = 000020        	   57#	  126
S$DRQ = 000012        	   57#	  123	  308	  351
S$DSR = 000006        	   57#	  141
S$GLN = 000024        	   57#	  128
S$INT = 000004        	   57#	  140	  292	  303
S$IRQ = 000016        	   57#	  125	  311
S$MRQ = 000010        	   57#	  122
S$PBOM= 000001        	   57#
S$PEOM= 000004        	   57#
S$PMOM= 000002        	   57#
S$PMSG= 000002        	   57#
S$PSEG= 000001        	   57#	  275
S$REJ = 000004        	   57#	  120
S$SND = 000006        	   57#	  121
S$SNI = 000014        	   57#	  124
S.EABL= 177755        	   57#
S.EABM= 177770        	   57#
S.EABO= 177767        	   57#
S.EABS= 177771        	   57#
S.EACR= 177736        	   57#
S.ECBE= 177764        	   57#
S.EDBO= 177754        	   57#
S.EERR= 177763        	   57#
S.EIDM= 177762        	   57#
S.EINF= 177766        	   57#
S.EIOF= 177773        	   57#
S.ELNS= 177765        	   57#
S.ELST= 177761        	   57#
S.ELWS= 177760        	   57#
S.EMTL= 177757        	   57#
S.ENOF= 177732        	   57#
S.ENRO= 177732        	   57#
S.ENSL= 177756        	   57#
S.ENUR= 177731        	   57#
S.EOTB= 177772        	   57#
S.ERBO= 177754        	   57#
S.ERES= 177777        	   57#	  256
S.ERNS= 177775        	   57#
S.ETMI= 177753        	   57#
S.EUNN= 177776        	   57#
S.EURO= 177774        	   57#
S.SEOM= 000002        	   57#
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 13-4
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- USER SYMBOLS

S.SSUC= 000001        	   57#	  348
TCBLEN  000032 G      	   58#
TF.DEA= 040000 G      	   58#
TF.DIS= 020000 G      	   58#
TICK    000064R    003	  106	  199#
TIMER   000000        	  153#
TS.CLP= 000001 G      	   58#
TS.HP = 000040 G      	   58#
TS.OP = 000004 G      	   58#
TS.OPP= 000002 G      	   58#
TS.OSP= 000400 G      	   58#
TS.PWF= 002000 G      	   58#
TS.RLP= 000010 G      	   58#
TS.RS = 000020 G      	   58#
TS.SRP= 000200 G      	   58#
TS.STE= 001000 G      	   58#
TT.CD = 000011 G      	   58#
TT.CR = 000010 G      	   58#
TT.LE = 000006 G      	   58#
TT.LP = 000007 G      	   58#
T.FLG   000014 G      	   58#
T.LNK   000000 G      	   58#
T.NAM   000023 G      	   58#
T.NAML  000022 G      	   58#
T.NUM   000016 G      	   58#
T.OBJ   000021 G      	   58#
T.OLNK  000002 G      	   58#
T.PCBD  000006 G      	   58#	  373
T.PCBR  000004 G      	   58#
T.PRI   000020 G      	   58#	  335	  396
T.RID   000010 G      	   58#
T.SPI   000017 G      	   58#
T.STS   000012 G      	   58#
T.TT    000014 G      	   58#
WTQUE   000014        	  159#	  193	  203	  222
$CALLP= ****** G      	  252#*	  288#*	  328#*	  346#*	  372#*	  393#*	  440#*	  461#*
$CCBGT= ****** GX     	  244*	  297*	  442*
$CCBRT= ****** GX     	  259*	  331*	  459*
$CMQIF= ****** GX     	  197
$CMQIN= ****** GX     	  196	  228*
$CMQRM= ****** GX     	  204*	  223*
$DSPCR= ****** G      	   81#	   86#	   95#	  105#	  107#	  118#	  120#	  122#	  126#	  128#
$LTMEN= ****** GX     	  174*
$PCBCL= ****** GX     	  461
$PCBDB= ****** GX     	  288	  328	  346	  393	  440
$PCBOP= ****** GX     	  252
$SCHED= ****** GX     	  233*	  256*	  269*	  275*	  308*	  311*	  315*	  336*	  351*	  355*	  377*	  397*	  412*
			  423*	  451*	  453*
$TCBDB= ****** GX     	  372
$$DAT = 000000        	   58#	  151#	  161
$$LVL = 000000        	   58#	  151#	  161
$$L0  = 000024        	   58#
$$TABG= 000110R    002	   77#	   78	   79	   80	   81	   82	   83	   84	   85	   86	   87	   94#	   96
			   97	  104#	  105	  106	  107	  108	  117#	  118	  119	  120	  121	  122	  123
			  124	  125	  126	  127	  128	  137#	  138	  139	  140	  141
.     = 001652R    003	   56#	   57#	   58#	   69#	   70#	   77	   78	   79	   80	   81	   82	   83	   84
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 13-5
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- USER SYMBOLS

			   85	   86	   87	   94	   96	   97	  104	  105	  106	  107	  108	  117	  118
			  119	  120	  121	  122	  123	  124	  125	  126	  127	  128	  137	  138	  139
			  140	  141	  151#	  153#	  154#	  155#	  156#	  157#	  158#	  159#	  161#
.CRDAT= ****** GX     	  190	  220
.CRPIX= ****** GX     	  178
.DSPCR= ****** G      	   69#
...C  = 000000        	  252#	  288#	  328#	  346#	  372#	  393#	  440#	  461#
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 14
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- MACRO NAMES

CALLR	   52#	  196	  197
CALL$A	  252#	  288#	  328#	  346#	  372#	  393#	  440#	  461#
CALL$P	  252	  288	  328	  346	  372	  393	  440	  461
CCBDF$	   52#	   56
CHR$B	   58#	  151#
CHR$W	   58#	  151#
COR$D	   58#	  151#
CSR$W	   58#	  151#
CTL$B	   58#	  151#
CTL$W	   58#	  151#
DAT$	   58	  149#	  151
DAT$DF	   58#	  151#
DSP$	   51#	   77#	   78	   79	   80	   81	   82	   83	   84	   85	   86	   87	   94#	   95	   96
	   97	  104#	  105	  106	  107	  108	  117#	  118	  119	  120	  121	  122	  123	  124	  125
	  126	  127	  128	  137#	  138	  139	  140	  141
DSP$B	   51#	   77	   94	  104	  117	  137
DSP$E	   51#	   77#	   88	   94#	   98	  104#	  109	  117#	  129	  137#	  142
DSR$W	   58#	  151#
END$	   58#	  151#	  161
LIX$B	   58#	  151#
LIX$W	   58#	  151#
LST$D	   58#	  151#	  159
MAP$	   52#
NABO$	  355	  451
NACC$	   54#	  275
NCRA$	   54#	  256	  269
NDAK$	   53#	  233	  453
NDAT$	   53#
NDRQ$	  308	  351
NINT$	   53#
NIRQ$	   54#	  311
NRDM$	   54#
NRMDF$	   52#	   58
NRTI$	   53#
NRTN$	   53#
PHD$B	   51#	   68
PHD$D	   68#	   69
PHD$E	   68#	   70
PHD$I	   68#
PHD$S	   68#
POP$S	  252#	  288#	  328#	  346#	  372#	  393#	  440#	  461#
PUSH$S	  252#	  288#	  328#	  346#	  372#	  393#	  440#	  461#
RETURN	   52#	  179	  213	  231	  260	  276	  316	  337	  357	  378	  398	  413	  424	  454	  462
SCDF$	   53#	   57
STA$B	   58#	  151#
STA$W	   58#	  151#
SYN$X	   58#	  151#
TMB$X	   58#	  151#
TRB$B	   58#	  151#
TRB$W	   58#	  151#
UNT$B	   58#	  151#
UNT$W	   58#	  151#
VFY$	   58#	  151#
$GTULA	   54#
$$BUF	  275#	  355#	  451#
$$DEF	  233#	  256#	  269#	  275#	  308#	  311#	  351#	  355#	  451#	  453#
NRD	DNMAC X24.07-563  04-JAN-83  16:27  PAGE 14-1
NRD.M11    30-DEC-82 03:55		CROSS REFERENCE TABLE -- MACRO NAMES

$$MOV	  256#	  269#	  275#	  355#	  451#
$$MOVB	  256#	  269#	  275#	  308#	  311#	  351#	  355#	  451#
$$QUE	  233#	  256	  269	  275#	  308#	  311#	  351#	  355#	  451#	  453#


. ABS.  000156     000	   OVR   RW    REL   GBL   I  
        000040     001	   CON   RW    REL   LCL   I  
$PLIT$  000120     002	   CON   RW    REL   LCL   D  
$CODE$  001652     003	   CON   RW    REL   LCL   I  


 ERRORS DETECTED:  0
 DEFAULT GLOBALS GENERATED:  14

 NRD,NRD/CRF=MCB:MCBLIB.M11/PA:1,MCB:SCLIB.M11/PA:1,DSK:URDLIB.M11/PA:1,DSK:NRMLIB.M11/PA:1,DSK:NRD.M11
 RUN-TIME: 5 3 .6 SECONDS
 RUN-TIME RATIO: 39/9=4.1
 CORE USED:  14K  (27 PAGES)