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)