Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/utilities/ncu.list
There are no other files named ncu.list in the archive.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 1
NCU MAC 6-Oct-81 12:41
1 ;<DECNET>NCU.MAC.3, 6-Oct-81 09:56:42, EDIT BY GRANT
2 ;Change Q1 to W1 in PRTINF; add ENDAV.
3 ;<JENNESS.NETCON>NCU.MAC.2, 31-Jan-80 13:28:12, Edit by JENNESS
4 ; Update copyright date
5 ;<JENNESS>NCU.MAC.15, 14-Nov-79 13:46:04, Edit by JENNESS
6 ; Fix RQLERR to not use the ASUBR macro. This messed up register 15 which
7 ; was pointing to the stack framed needed to load RQLREC properly.
8 ;<JENNESS>NCU.MAC.14, 14-Nov-79 11:21:33, Edit by JENNESS, PLATUKIS
9 ; Change RQLERR to properly release the record block. Fix accidental call
10 ; to FATAL.ERROR if none existed. Same fix to RQLINT also.
11 ;<JENNESS>NCU.MAC.10, 30-Oct-79 17:06:12, Edit by JENNESS
12 ; Change REQLOG to NOT return a success code across the link. The NICE
13 ; protocol has NEVER needed this.
14 ;<JENNESS>NCU.MAC.9, 30-Oct-79 10:42:41, Edit by JENNESS, PLATUKIS
15 ; Add TOPFRE routine to release a topology table.
16 ;<JENNESS>NCU.MAC.7, 23-Oct-79 10:56:23, Edit by PLATUKIS
17 ; Fix ADVTOP to give proper error return, instead of trying to release
18 ; memory it doesn't have.
19 ;<JENNESS>NCU.MAC.6, 23-Oct-79 10:53:58, Edit by PLATUKIS
20 ; Fix TSTL05 to properly loop over multiple DN20 front ends.
21 ;<JENNESS>NCU.MAC.6, 23-Oct-79 10:52:01, Edit by PLATUKIS
22 ; Fix to STODMC to put a -1 byte pointer as first word. Needed since
23 ; SYSERR treats DMCs the same a KMCs, and DMCs don't have sub-device data.
24 ;<JENNESS>NCU.MAC.6, 23-Oct-79 10:48:17, Edit by PLATUKIS
25 ; Fix hardware event message processing to properly release chunks allocated
26 ; for device and register blocks.
27 ;<JENNESS>NCU.MAC.3, 4-Oct-79 08:18:35, Edit by JENNESS
28 ; Add SPRIW calls to set NCU fork priority higher to make loading/dumping
29 ; run faster on loaded systems. This will get a DN20 back up faster.
30 ;<JENNESS>NCU.MAC.3, 4-Oct-79 08:18:30, Edit by JENNESS
31 ; Change ASCLIN to suppress station number if 0 (no multi-drop).
32 ;<JENNESS>NCU.MAC.2, 1-Oct-79 13:52:47, Edit by JENNESS
33 ; Change LSTBLD so that host name byte string count is correctly calculated
34 ; for strings of exact match of 6 characters.
35 ;<SROBINSON.NETCON>NCU.MAC.6, 26-Sep-79 15:28:56, Edit by JENNESS
36 ; TCO 4.2489 Change PRTINF so that it returns real NICE line status
37 ; codes instead of the garbage it was returning.
38 ;<4.UTILITIES>NCU.MAC.245, 23-Aug-79 13:37:46, Edit by JENNESS
39 ; Change ASGREC to assign a huge buffer to stop memory management
40 ; overruns.
41 ;<4.UTILITIES>NCU.MAC.244, 8-Aug-79 11:20:45, Edit by JENNESS
42 ; Change all failures of RELFRE to FATAL.ERRORs
43 ;<4.UTILITIES>NCU.MAC.243, 10-Jul-79 10:37:40, Edit by SROBINSON
44 ;TCO 4.2320 Correct "Invalid Line ID" when it isn't invalid
45 ;<4.UTILITIES>NCU.MAC.242, 20-Jun-79 16:08:01, EDIT BY KIRSCHEN
46 ;ADD EVENT LOGGING COMMANDS
47 ;<4.UTILITIES>NCU.MAC.241, 7-May-79 11:19:14, EDIT BY KIRSCHEN
48 ;FIX TYPO'S IN DEFRQD
49 ;<4.UTILITIES>NCU.MAC.240, 27-Apr-79 15:43:07, EDIT BY KIRSCHEN
50 ;COMPUTE OFFSET TO LOG DATA FOR CHK11 ENTRIES CORRECTLY
51 ;<4.UTILITIES>NCU.MAC.239, 20-Apr-79 14:27:20, EDIT BY KIRSCHEN
52 ;USER CORRECT ENTRY TYPE FOR CHK11 ENTRIES; COMPUTE CORRECT POINTER
53 ; TO LOG DATA
54 ;<4.UTILITIES>NCU.MAC.238, 17-Mar-79 14:56:25, EDIT BY KIRSCHEN
55 ;FIX EVENT LOGGING BUGS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 1-1
NCU MAC 6-Oct-81 12:41
56 ;<4.UTILITIES>NCU.MAC.237, 10-Mar-79 14:32:32, EDIT BY KONEN
57 ;UPDATE COPYRIGHT FOR RELEASE 4
58 ;<4.UTILITIES>NCU.MAC.236, 4-Feb-79 22:06:06, EDIT BY KIRSCHEN
59 ;FIX SPURIOUS "?INTERNAL NETCON ERROR" MESSAGE
60 ;<4.UTILITIES>NCU.MAC.235, 2-Feb-79 14:46:07, EDIT BY KIRSCHEN
61 ;CORRECT EXTRACTION OF LINE ID FROM EVENT LOG MESSAGES TO CONFORM TO SPEC
62 ;<4.UTILITIES>NCU.MAC.234, 1-Feb-79 10:22:24, EDIT BY KIRSCHEN
63 ;ADD ROUTINE TO STORE KDZ EVENT LOG DATA
64 ;<4.UTILITIES>NCU.MAC.233, 30-Jan-79 09:17:14, EDIT BY ENGEL
65 ;FIX AUTO DUMP/LOAD BUG BY SETTING NDDIP/NDLIP AFTER NIB LOCKED
66 ;<4.UTILITIES>NCU.MAC.232, 30-Jan-79 09:09:49, EDIT BY KIRSCHEN
67 ;ADD CODE TO STORE KDP REGISTERS ON EVENT LOG MESSAGE
68 ;<4.UTILITIES>NCU.MAC.230, 14-Jan-79 20:46:50, EDIT BY KIRSCHEN
69 ;UPDATE NODE JSYS SYMBOLS
70 ;<4.UTILITIES>NCU.MAC.229, 8-Jan-79 22:02:44, EDIT BY KIRSCHEN
71 ;automate topology reporting
72 ;<4.UTILITIES>NCU.MAC.228, 4-Jan-79 13:08:23, EDIT BY KIRSCHEN
73 ;PASS NODE NAME AND HOST PARAMETERS ON LOAD
74 ;<4.UTILITIES>NCU.MAC.227, 2-Jan-79 15:27:14, EDIT BY ENGEL
75 ;FIX SHOW STATE LINE KDP_0_0 PROBLEM
76 ;<4.UTILITIES>NCU.MAC.201, 26-Dec-78 11:03:44, EDIT BY ENGEL
77 ;<4.UTILITIES>NCU.MAC.200, 26-Dec-78 10:55:47, EDIT BY ENGEL
78 ;ADD TRANSFER ADDRESS CHECK. (DO NOT SEND "TRANSFER" LINE SERV. FOR ODD ADDR.
79 ;<4.UTILITIES>NCU.MAC.189, 22-Dec-78 10:30:35, EDIT BY ENGEL
80 ;ADD AUTO DUMP/LOAD CODE
81 ;<4.UTILITIES>NCU.MAC.171, 15-Dec-78 09:09:33, EDIT BY KIRSCHEN
82 ;BREAK NETCON INTO TWO MODULES NCP AND NCU; ADD RELEASE 4 FEATURES.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 2
NCU MAC 6-Oct-81 12:41
83 TITLE NCU - TOPS20 Network Information and Control Exchange (NICE) Process
84 SUBTTL D. KIRSCHEN/P. HURLEY FEBRAURY, 1977
85
86
87 SEARCH NETPAR
88 SEARCH MONSYM,MACSYM,ORNMAC,GLXMAC,MACTEN
89 .REQUIRE SYS:MACREL
90 SALL
91
92
93 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
94 ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
95 ;
96 ;COPYRIGHT (C) 1976,1977,1978,1979,1980 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
97
98
99
100 ; THE FOLLOWING SYMBOLS ARE ALL DEFINED IN MODULE NCP.MAC
101
102 EXTERN GETFRE, RELFRE, ASGPAG, RELPGA, CPYASC, SAVPQ
103 EXTERN LIDPRT, WRNING, ELOCK, DLOCK, LOKNOD, ULKNOD
104 EXTERN MONINI, TOPCHK, FRELST, FNDDSP
105 EXTERN OPRMES, SAVQ, SAVT, ERROR, NETCON
106
107 EXTERN NIBTAB, SYSNAM
108 EXTERN .ERR21, .ERR29
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 3
NCU MAC 6-Oct-81 12:41 Initialization
109 SUBTTL Initialization
110
111 ; NICE PROCESS IS INITIALLY STARTED HERE - READ PARAMETERS AND DO INITIALIZATION
112
113 000000' 200 01 0 00 013526' NCU:: MOVE T1,[.PRARD,,.FHSLF] ;GET "READ PARAMETERS" FUNCTION CODE
114 000001' 201 02 0 00 000003 MOVEI T2,T3 ;GET ADDRESS OF ARGUMENT BLOCK
115 000002' 201 03 0 00 000002 MOVEI T3,2 ;ARGUMENT BLOCK CONTAINS TWO ITEMS
116 000003' 104 00 0 00 000545 PRARG ;READ STARTUP PARAMETERS
117 000004' 320 16 0 00 013527' ERJMP [HALTF] ;FAILED, NO RECOURSE.
118
119 ; THE PRARG ARGUMENT BLOCK CONTAINS TWO WORDS:
120 ;
121 ; 1. JFN OF LOGICAL LINK FROM REQUESTING TASK TO NCU
122 ; 2. LENGTH,,ADDRESS OF PER-NCU STORAGE AREA
123
124 ; SET UP STACK IN BEGINNING OF OUR STORAGE AREA
125
126 000005' 541 17 0 04 777777 HRRI P,-1(T4) ;SET UP AN IOWD FOR THE
127 000006' 505 17 0 00 776000 HRLI P,-PDLEN ; PUSHDOWN STACK
128
129 ; SET UP ADDRESS OF GENERAL STORAGE AREA FOR VARIABLES
130
131 000007' 201 14 0 04 002000 MOVEI P5,PDLEN(T4) ;GET STARTING ADDRESS OF DATA AREA
132 000010' 201 01 0 14 003374 MOVEI T1,VARLEN(P5) ;GET STARTING ADDRESS OF STRING STORAGE AREA
133 000011' 505 01 0 00 440700 HRLI T1,(POINT 7,) ;FORM POINTER TO STRING AREA
134 000012' 202 01 0 14 000001 MOVEM T1,STRPTR ;SAVE STRING POINTER
135 000013' 554 01 0 00 000004 HLRZ T1,T4 ;GET LENGTH OF DATA AREA
136 000014' 271 01 0 04 777777 ADDI T1,-1(T4) ;COMPUTE LAST ADDRESS IN DATA AREA
137 000015' 202 01 0 14 000002 MOVEM T1,STREND ;SAVE AS FINAL LOCATION IN STRING AREA
138 000016' 554 01 0 00 000004 HLRZ T1,T4 ;GET ORIGINAL LENGTH OF STORAGE AREA
139 000017' 275 01 0 00 005374 SUBI T1,PDLEN+VARLEN ;COMPUTE NUMBER OF WORDS IN STRING STORAGE AREA
140 000020' 202 01 0 14 000000 MOVEM T1,STRSIZ ;SAVE SIZE OF STRING STORAGE AREA
141 000021' 202 03 0 14 000032 MOVEM T3,REQLNK ;SAVE LOGICAL LINK FROM REQUESTOR
142 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 4
NCU MAC 6-Oct-81 12:41 Initialization
143 ; ..
144
145 ; THE FOLLOWING LOOP IS PERFORMED FOR EACH OPERATION INITIATED BY
146 ; THE REQUESTING TASK (THE SAME LOGICAL LINK MAY BE USED TO REQUEST
147 ; SEVERAL SEQUENTIAL OPERATIONS).
148
149
150 ; INPUT THE NICE MESSAGE FROM THE REQUESTOR AND CALL DISPATCHING ROUTINE
151
152 000022' 260 17 0 00 010457' NCU010: CALL CLRMSG ;GO CLEAR THE MESSAGE AREA
153 000023' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN)
154 000024' 201 02 0 14 000033 MOVEI T2,MSGBLK ;GET ADDRESS OF MESSAGE BLOCK
155 000025' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO MESSAGE BLOCK
156 000026' 211 03 0 00 014000 MOVNI T3,MSGSIZ*BPWRD ;GET MAX COUNT
157 000027' 104 00 0 00 000531 SINR ;INPUT THE MESSAGE
158 ERJMP [MOVX T2,.NRCME ;ON FAILURE, GET "COMMUNICATIONS ERROR" CODE
159 BOUT ;RETURN RESPONSE TO REQUESTING TASK
160 ERJMP [HALTF] ;NOTHING ELSE LEFT TO DO
161 000030' 320 16 0 00 013530' HALTF ] ;DONE, NOTHING ELSE LEFT TO DO
162 000031' 201 02 0 03 014000 MOVEI T2,MSGSIZ*BPWRD(T3) ;GET NUMBER OF BYTES IN THE MESSAGE
163 000032' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
164 000033' 135 03 0 00 013535' LDB T3,[POINT 8,MSGBLK,7] ;GET NICE FUNCTION CODE
165 000034' 260 17 0 00 000045' CALL NCUDSP ;GO DISPATCH ACCORDING TO FUNCTION REQUESTED
166 000035' 334 04 0 00 000001 SKIPA T4,T1 ;FAILED, RETURN CODE ALREADY IN T1
167 000036' 254 00 0 00 000022' JRST NCU010 ;SUCCESS, GO PROCESS NEXT FUNCTION
168
169 ; HERE TO RETURN AN ERROR RETURN CODE WHEN THE OPERATION FAILED
170
171 000037' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK TO REQUESTING TASK
172 000040' 200 02 0 00 013536' MOVE T2,[POINT 8,T4,27] ;GET POINTER TO SINGLE BYTE RETURN CODE
173 000041' 211 03 0 00 000001 MOVNI T3,1 ;RETURN CODE IS JUST ONE SINGLE BYTE
174 000042' 104 00 0 00 000532 SOUTR ;SEND THE RETURN CODE TO REQUESTING TASK
175 000043' 320 16 0 00 013527' ERJMP [HALTF] ;IF FAILED, JUST QUIT, SINCE NOTHING ELSE TO
176 ; DO IF CANNOT REPORT FAILURE TO REQUESTOR
177 000044' 254 00 0 00 000022' JRST NCU010 ;DONE WITH THIS REQUEST, LOOP BACK FOR NEXT MSG
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 5
NCU MAC 6-Oct-81 12:41 Initialization
178 ;NCUDSP - ROUTINE TO DISPATCH TO NSP MESSAGE HANDLING ROUTINE
179 ;
180 ;ACCEPTS IN T1/ NICE FUNCTION CODE FROM MESSAGE
181 ; T2/ POINTER TO START OF NICE MESSAGE
182 ; T3/ NUMBER OF BYTES IN NICE MESSAGE
183 ; CALL NCUDSP
184 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
185 ; +2 SUCCESS, OPERATION COMPLETED.
186
187 000045' 265 16 0 00 000000* NCUDSP: ASUBR <DSPPTR,DSPCNT,DSPFCN>
188
189 000046' 200 04 0 00 013537' MOVE T4,[-NCTSIZ,,NICTAB] ;SET UP TO SEARCH NICE FUNCTION CODE TABLE
190 000047' 554 01 0 04 000000 NSPD10: HLRZ T1,(T4) ;GET A KNOWN NICE FUNCTION CODE
191 000050' 316 01 0 15 000003 CAMN T1,DSPFCN ;FOUND FUNCTION CODE IN THIS NICE MESSAGE ?
192 000051' 254 00 0 00 000054' JRST NSPD40 ;YES, GO DISPATCH TO PROCESSING ROUTINE
193 000052' 253 04 0 00 000047' AOBJN T4,NSPD10 ;LOOP OVER ALL KNOWN NICE FUNCTION CODES
194 000053' 254 00 0 00 013540' RETBAD (.NRFNC) ;NOT FOUND, RETURN "INVALID FUNCTION"
195
196
197 ; HERE TO DISPATCH TO THE PROPER PROCESSING ROUTINE FOR THE NICE MESSAGE
198
199 000054' 200 01 0 15 000001 NSPD40: MOVE T1,DSPPTR ;GET POINTER TO NICE MESSAGE
200 000055' 200 02 0 15 000002 MOVE T2,DSPCNT ;GET COUNT OF BYTES IN MESSAGE
201 000056' 550 04 0 04 000000 HRRZ T4,(T4) ;GET ADDRESS OF PROCESSING ROUTINE
202 000057' 254 00 0 04 000000 CALLRET (T4) ;GO HANDLE THE NSP MESSAGE
203
204
205
206 ; NICE FUNCTION TABLE
207
208 000060' 000002 000067' NICTAB: .NCRQL,,REQDLL ;REQUEST DOWN-LINE LOAD
209 000061' 000003 000544' .NCRQD,,REQDMP ;REQUEST UP LINE DUMP
210 000062' 000010 000713' .NCRED,,REQRED ;REQUEST TO READ INFORMATION
211 000063' 000011 001631' .NCZRO,,REQZRO ;REQUEST TO ZERO COUNTERS
212 000064' 000016 001672' .NCLSV,,REQLSV ;REQUEST FOR LINE SERVICE
213 000065' 000007 001471' .NCSET,,REQSET ;REQUEST TO SET PARAMETER
214 000066' 000001 003210' .NCLOG,,REQLOG ;REQUEST TO LOG DATA
215
216 000007 NCTSIZ==.-NICTAB
217
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 6
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
218 SUBTTL NICE Process -- Down-Line Load
219
220 ;REQDLL - ROUTINE TO PROCESS REQUESTS FOR A DOWN-LINE LOAD OPERATION
221 ;
222 ;ACCEPTS IN T1/ POINTER TO START OF NICE DOWN-LINE LOAD REQUEST MESSAGE
223 ; T2/ NUMBER OF BYTES IN MESSAGE
224 ; CALL REQDLL
225 ;RETURNS: +1 FAILED, T1/ NICE RETURN CODE
226 ; +2 SUCCESS
227
228 000067' 265 16 0 00 000045* REQDLL: ASUBR <RQLPTR,RQLCNT,RQLLNK,RQLREC>
229
230 ; EXTRACT THE FIELDS PRESENT IN THE NICE DOWN-LINE LOAD REQUEST MESSAGE
231
232 000070' 402 00 0 15 000003 SETZM RQLLNK ;INITIALIZE LOGICAL LINK CELL
233 000071' 402 00 0 15 000004 SETZM RQLREC ;INITIALIZE ADDRESS OF RECORD BLOCK
234 000072' 200 01 0 15 000001 MOVE T1,RQLPTR ;GET POINTER TO START OF NICE MESSAGE
235 000073' 200 02 0 15 000002 MOVE T2,RQLCNT ;GET NUMBER OF BYTES IN THE MESSAGE
236 000074' 260 17 0 00 004252' CALL GETRQL ;GO DECODE THE FIELDS IN THE REQUEST LOAD MSG
237 000075' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
238
239 ; IF LOADING ALL KNOWN NODES, LOOP OVER EACH NODE IN THE CONFIGURATION DATABASE
240
241 000076' 260 17 0 00 004061' RQL010: CALL DEFRQL ;GO FILL IN DEFAULTS FROM CONFIGURATION DATABASE
242 000077' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
243
244 ; LOCK THE TARGET NODE
245
246 000100' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
247 000101' 260 17 0 00 010525' CALL GETNIB ;GET NIB ADDRESS FOR NODE BEING LOADED
248 000102' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN ERROR
249 000103' 202 01 0 15 000003 MOVEM T1,RQLLNK ;SAVE THE NIB ADDRESS
250 000104' 205 02 0 00 400000 MOVX T2,RM%PRI ;USE PRIMARY RESOURCE
251 000105' 260 17 0 00 000000* CALL LOKNOD ;LOCK THE TARGET NODE
252 000106' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET THE NIB ADDRESS
253 000107' 205 16 0 00 001000 SETONE NDLIP,(T1) ;SHOW LOAD IN PROGRESS
254 000110' 436 16 0 01 000000
255 000111' 402 00 0 15 000003 SETZM RQLLNK ;ZERO HOLDING CELL
256
257 ; GET A LINK TO THE NICE PROCESS ON THE SERVER NODE
258
259 000112' 200 01 0 14 000005 MOVE T1,RQLSRV ;GET POINTER TO ASCIZ NAME OF SERVER NODE
260 000113' 260 17 0 00 007140' CALL GETLNK ;GO GET A LOGICAL LINK TO ANOTHER NICE PROCESS
261 000114' 254 00 0 00 013546' RETBAD (.NRPNA) ;FAILED, RETURN "PROCESS NOT AVAILABLE"
262 000115' 202 01 0 15 000003 MOVEM T1,RQLLNK ;SAVE LOGICAL LINK NUMBER
263
264 ; IF NECESSARY, TRIGGER THE BOOTSTRAP ROM AT THE TARGET NODE
265
266 000116' 200 04 0 14 000003 MOVE T4,RQLOPT ;GET OPTIONS FROM DOWN-LINE LOAD REQUEST
267 000117' 135 03 0 00 013550' LOAD T3,LO%ROM,T4 ;GET ROM FIELD
268 000120' 302 03 0 00 000001 CAIE T3,.LOTBD ;TRIGGER BOOT, DEFAULT PROGRAM DATA ?
269 000121' 306 03 0 00 000003 CAIN T3,.LOTBP ; OR TRIGGER BOOT & GET PROGRAM DATA RETURNED ?
270 JRST [ MOVE T1,RQLLNK ;YES, GET LOGICAL LINK NUMBER
271 CALL TRGGER ;TRIGGER THE BOOTSTRAP ROM AT THE TARGET NODE
272 LODERR () ;FAILED, RETURN ERROR TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 6-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
273 000122' 254 00 0 00 013553' JRST .+1 ] ;DONE, BOOTSTRAP ROM HAS BEEN TRIGGERED
274
275 000123' 201 01 0 00 400000 MOVEI T1,.FHSLF ;Point to this process
276 000124' 201 02 0 00 000102 MOVEI T2,0102 ;Only want to run in Q 1 (very high)
277 000125' 104 00 0 00 000243 SPRIW ;Set the fork scheduling priority
278 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 7
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
279 ; ..
280
281 ; AT THIS POINT, THE ACTUAL LOADING OPERATION BEGINS. THE SEQUENCE OF
282 ; EVENTS IS AS FOLLOWS:
283 ;
284 ; 1. A NICE "INITIATE-LOAD-DIALOG" MESSAGE IS SENT TO THE SERVER NCU
285 ; 2. THE FILE TO BE LOADED IS OPENED.
286 ; 3. FOR EACH "BLOCK" IN THE .BIN FILE,
287 ;
288 ; 3.1 THE LOAD ADDRESS IS SENT USING A NICE LINE SERVICE
289 ; MESSAGE (SET BASE ADDRESS OPTION).
290 ; 3.2. THE DATA IN THE "BLOCK" IS SENT TO THE SERVER NODE NCU
291 ; USING A NICE LINE SERVICE MESSAGE (MEMORY IMAGE OPTION).
292 ; 3.3 WHEN ALL DATA "BLOCKS" IN THE .BIN FILE HAVE BEEN
293 ; LOADED IN THIS MANNER, THE TRANSFER ADDRESS IS
294 ; OBTAINED FROM THE LAST BLOCK. A NICE LINE SERVICE
295 ; MESSAGE IS THEN USED TO SEND THIS ADDRESS AND ANY
296 ; PARAMETERS FOR THE NODE JUST LOADED TO THE SERVER
297 ; NODE NCU (SET PARAMETERS AND TRANSFER OPTION).
298 ;
299 ; 4. THE SERVER NODE NCU REPLIES WITH AN END-OF-DIALOG NICE
300 ; LINE SERVICE MESSAGE. THIS MAY CONTAIN A REQUEST FOR
301 ; ANOTHER PROGRAM TO BE LOADED, AND THE PROCESS REPEATS FROM
302 ; STEP NUMBER 1 FOR THIS NEXT PROGRAM.
303
304
305 ; ASSEMBLE AND SEND A NICE "LINE SERVICE" MESSAGE TO INITIATE A LOAD DIALOG
306
307 000126' 260 17 0 00 005226' RQL020: CALL MAKLOD ;GO ASSEMBLE A NICE LINE SERVICE MESSAGE
308 000127' 265 16 0 00 013551' LODERR () ;FAILED, RETURN ERROR TO CALLER
309 000130' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
310 000131' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF DATA MESSAGE
311 000132' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK (JFN)
312 000133' 104 00 0 00 000532 SOUTR ;SEND LINE SERVICE MESSAGE TO SERVER NODE NCU
313 000134' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;ON FAILURE, RETURN "COMMUNICATIONS ERROR"
314
315 ; NOW RECEIVE AND CHECK THE RETURN CODE FROM THE SERVER NODE NCU
316
317 000135' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK (JFN)
318 000136' 104 00 0 00 000050 BIN ;WAIT FOR A REPLY FROM THE SERVER NODE NCU
319 000137' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
320 000140' 200 01 0 00 000002 MOVE T1,T2 ;COPY THE RETURN CODE
321 000141' 302 01 0 00 000001 CAIE T1,.NRSUC ;SUCCESS ?
322 000142' 265 16 0 00 013551' LODERR () ;NO, USE NICE RETURN CODE FROM SERVER NODE
323 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 8
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
324 ; ..
325 ; TOP OF LOOP OVER EACH FILE TO BE LOADED
326
327 ; OPEN THE INPUT FILE TO BE LOADED AND DO INITIAL SET UP
328
329 000143' 201 01 0 00 200000 MOVX T1,OF%RD ;NOTE THAT FILE IS TO BE READ
330 000144' 260 17 0 00 010535' CALL ASGREC ;GO ASSIGN A RECORD BLOCK FOR THIS I/O OPERATION
331 000145' 265 16 0 00 013563' LODERR (.NRRES) ;FAILED, RESOURCE ERROR
332 000146' 202 01 0 15 000004 MOVEM T1,RQLREC ;SAVE ADDRESS OF RECORD BLOCK
333 000147' 260 17 0 00 010473' CALL SETPGM ;GO GET POINTER TO FILESPEC TO BE LOADED
334 000150' 265 16 0 00 013566' LODERR (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
335 000151' 260 17 0 00 006626' CALL OPNIFL ;GO OPEN THE INPUT FILE
336 000152' 265 16 0 00 013571' LODERR (.NRIFL) ;FAILED, RETURN "INVALID FILE"
337 000153' 200 04 0 15 000004 MOVE T4,RQLREC ;GET ADDRESS OF RECORD BLOCK
338 000154' 506 01 0 04 000001 STOR T1,RBJFN,(T4) ;STORE THE JFN OF THE FILE TO BE LOADED
339 000155' 542 02 0 04 000001 STOR T2,RBTYP,(T4) ;STORE FILE FORMAT TYPE
340 000156' 476 00 0 04 000007 SETONE RBCAD,(T4) ;SET CURRENT ADDRESS TO TOP OF MEMORY
341 ; TO FORCE NEW BASE ADDRESS REQUIRED
342 000157' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK (JFN) TO SERVER NCU
343 000160' 260 17 0 00 000513' CALL INTSET ;SET UP INTERRUPT SYSTEM
344 000161' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
345
346 ; TOP OF LOOP OVER ALL BLOCKS IN THE FILE. INPUT THE NEXT BLOCK
347
348 000162' 200 01 0 15 000004 RQL030: MOVE T1,RQLREC ;GET ADDRESS OF RECORD BLOCK
349 000163' 505 04 0 00 441000 HRLI T4,(POINT 8,) ;FORM POINTER TO START OF DATA
350 000164' 541 04 0 01 000011 HRRI T4,.RBDAT(T1) ; AREA IN RECORD BLOCK
351 000165' 202 04 0 01 000003 STOR T4,RBPTR,(T1) ;STORE INITIAL POINTER
352 000166' 550 02 0 01 000001 LOAD T2,RBTYP,(T1) ;GET FILE FORMAT TYPE
353 CALL @[ R ; 0 - ILLEGAL
354 Z INPLDA ;LDA FORMAT
355 Z INPTSK ;TASK IMAGE FORMAT
356 Z INPDMP ;NETCON DUMP FILE FORMAT
357 000167' 260 17 1 02 013574' ](T2) ;READ A BLOCK FROM THE FILE ACCORDING TO FORMAT
358 000170' 265 16 0 00 013600' LODERR (.NRIOE) ;FAILED, RETURN "FILE I/O ERROR"
359 000171' 200 04 0 15 000004 MOVE T4,RQLREC ;GET ADDRESS OF RECORD BLOCK
360 000172' 550 16 0 04 000005 JE RBCNT,(T4),RQL070 ;IF END OF DATA, GO SEND "TRANSFER" MESSAGE
361 000173' 322 16 0 00 000231'
362 ; SEE IF WE NEED TO SET A NEW BASE ADDRESS
363
364 000174' 200 04 0 15 000004 MOVE T4,RQLREC ;GET ADDRESS OF RECORD BLOCK
365 000175' 200 01 0 04 000006 LOAD T1,RBNAD,(T4) ;GET MEMORY ADDRESS AT WHICH TO LOAD THIS BLOCK
366 000176' 200 02 0 04 000007 LOAD T2,RBCAD,(T4) ;GET CURRENT ADDRESS
367 000177' 316 02 0 00 000001 CAMN T2,T1 ;DO WE HAVE TO SET A NEW BASE ADDRESS?
368 000200' 254 00 0 00 000207' JRST RQL035 ;NO-- JUST UPDATE CURRENT ADDRESS
369
370 ; ASSEMBLE AND SEND A "SET BASE ADDRESS" DIALOG MESSAGE TO SERVER NODE
371
372 000201' 260 17 0 00 005351' CALL MAKBAS ;GO ASSEMBLE A "SET BASE ADR" LINE SERVICE MSG
373 000202' 210 03 0 00 000002 MOVN T3,T2 ;GET -NUMBER OF BYTES IN THE MESSAGE
374 000203' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO THE MESSAGE
375 000204' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK (JFN)
376 000205' 104 00 0 00 000532 SOUTR ;SEND THE MESSAGE TO THE SERVER NODE NCU
377 000206' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
378 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 9
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
379 ; ..
380
381 ; UPDATE CURRENT ADDRESS IN "RBCAD" TO REFLECT NEW ADDRESS FROM
382 ; "RBNAD" PLUS COUNT OF THIS RECORD IN "RBCNT"
383
384 000207' 200 04 0 15 000004 RQL035: MOVE T4,RQLREC ;GET ADDRESS OF RECORD BLOCK
385 000210' 200 01 0 04 000006 LOAD T1,RBNAD,(T4) ;GET NEW ADDRESS
386 000211' 550 02 0 04 000005 LOAD T2,RBCNT,(T4) ;GET CURRENT ITEM COUNT
387 000212' 270 01 0 00 000002 ADD T1,T2 ;COMPUTE NEW BASE ADDRESS AFTER THIS RECORD
388 000213' 202 01 0 04 000007 STOR T1,RBCAD,(T4) ;UPDATE CURRENT ADDRESS
389
390 ; NOW SEND THE MEMORY IMAGE DATA IN "MEMORY IMAGE" LINE SERVICE MESSAGES
391
392 000214' 200 01 0 15 000004 RQL040: MOVE T1,RQLREC ;GET ADDRESS OF RECORD BLOCK
393 000215' 200 02 0 14 000013 MOVE T2,RQLCPU ;GET CPU TYPE OF TARGET NODE
394 000216' 260 17 0 00 005530' CALL MAKIMG ;GO MAKE A LINE SERVICE "MEMORY IMAGE" MESSAGE
395 000217' 265 16 0 00 013551' LODERR () ;FAILED, RETURN ERROR
396 000220' 210 03 0 00 000002 MOVN T3,T2 ;GET - COUNT
397 000221' 200 02 0 00 000001 MOVE T2,T1 ;GET POINTER TO MESSAGE
398 000222' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK TO SERVER NODE NCU
399 000223' 104 00 0 00 000532 SOUTR ;SEND THE "MEMORY IMAGE" MESSAGE
400 000224' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
401
402 ; HERE TO SEE IF THERE IS MORE DATA TO BE SENT IN THIS BLOCK
403
404 000225' 200 04 0 15 000004 MOVE T4,RQLREC ;GET ADDRESS OF RECORD BLOCK
405 000226' 550 16 0 04 000005 JN RBCNT,(T4),RQL040 ;LOOP BACK IF MORE DATA TO SEND
406 000227' 326 16 0 00 000214'
407 000230' 254 00 0 00 000162' JRST RQL030 ;GO INPUT THE NEXT DATA BLOCK IN THE FILE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 10
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
408 ; HERE AT END OF DATA - SEND "SYSTEM PARAMETERS AND TRANSFER ADR" MESSAGE
409
410 000231' 201 01 0 00 400000 RQL070: MOVX T1,.FHSLF ;GET OUR FORK HANDLE
411 000232' 205 02 0 00 200000 MOVX T2,1B<RQLCHN> ;GET DOWN LINE LOAD CHANNEL
412 000233' 104 00 0 00 000133 DIC ;DISABLE DOWN LINE LOAD CHANNEL
413 000234' 200 01 0 15 000004 MOVE T1,RQLREC ;GET ADDRESS OF RECORD BLOCK
414 000235' 200 04 0 04 000010 LOAD t4,RBXAD,(t4) ;GET TRANSFER ADDRESS FROM FILE
415 000236' 602 04 0 00 000001 TRNE t4,1 ;IS THE ADDRESS ODD?
416 JRST [ MOVE T2,[POINT 8,[BYTE (8).LMEND,.NRSUC]] ;YES - END-OF-DIALOGUE
417 MOVNI T3,2 ;WE ARE SENDING 2 BYTES
418 MOVE T1,RQLLNK ;GET LOGICAL LINK JFN
419 SOUTR ;OUTPUT THE "END-OF"DIALOGUE" MSG
420 ERJMP [LODERR (.NRCME)] ;RETURN COMMUNICATION ERROR
421 000237' 254 00 0 00 013605' JRST RQL071] ;WAIT FOR RESPONSE
422 000240' 260 17 0 00 005563' CALL MAKXFR ;NO - GO MAKE A "TRANSFER" LINE SERVICE MESSAGE
423 000241' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
424 000242' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
425 000243' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
426 000244' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK (JFN)
427 000245' 104 00 0 00 000532 SOUTR ;OUTPUT THE MESSAGE, FORCE ALL DATA OUT
428 000246' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
429
430 ; PROGRAM LOAD COMPLETE - WAIT FOR END OF DIALOG MESSAGE FROM SERVER NCU
431
432 000247' 260 17 0 00 010457' RQL071: CALL CLRMSG ;CLEAR THE MESSAGE AREA
433 000250' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK (JFN)
434 000251' 200 02 0 00 013534' MOVE T2,[POINT 8,MSGBLK] ;GET POINTER TO WHERE MESSAGE SHOULD GO
435 000252' 211 03 0 00 014000 MOVNI T3,MAXNIC ;GET -MAX COUNT
436 000253' 104 00 0 00 000531 SINR ;INPUT THE REPLY FROM THE SERVER NODE NCU
437 000254' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;IF FAILED, RETURN "COMMUNICATIONS ERROR"
438
439 ; VERIFY THAT RESPONSE WAS "END OF DIALOG" AND SEE IF ANOTHER LOAD WAS REQUESTED
440
441 000255' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF REPLY MESSAGE
442 000256' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;COMPUTE NUMBER OF BYTES RETURNED
443 000257' 275 02 0 00 000002 SUBI T2,2 ;DECREMENT COUNT FOR TYPE CODE AND RETURN CODE
444 000260' 321 02 0 00 013615' JUMPL T2,[RETBAD (.NRPRO)] ;RETURN "PROTOCOL ERROR" IF NOT ENOUGH BYTES
445 000261' 134 04 0 00 000001 ILDB T4,T1 ;YES, GET DIALOG MESSAGE TYPE CODE (.LSXXX)
446 000262' 302 04 0 00 000000 CAIE T4,.LMEND ;END OF DIALOG REPLY ?
447 000263' 265 16 0 00 013616' LODERR (.NRPRO) ;NO, NICE PROTOCOL ERROR
448 000264' 134 04 0 00 000001 ILDB T4,T1 ;GET RETURN CODE
449 000265' 302 04 0 00 000001 CAIE T4,.NRSUC ;SUCCESS ?
450 JRST [ MOVE T1,T4 ;NO, GET RETURN CODE FROM SERVER NCU
451 000266' 254 00 0 00 013621' LODERR () ] ;RETURN THE CODE TO CALLER
452 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 11
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
453 ; ..
454
455 ; DETERMINE IF ANOTHER PROGRAM IS TO BE LOADED
456
457 000267' 202 01 0 15 000001 MOVEM T1,RQLPTR ;SAVE POINTER TO ANY REMAINING MESSAGE DATA
458 000270' 202 02 0 15 000002 MOVEM T2,RQLCNT ;SAVE COUNT OF BYTES LEFT IN MESSAGE
459 000271' 200 04 0 15 000004 MOVE T4,RQLREC ;GET ADDRESS OF RECORD BLOCK
460 000272' 554 01 0 04 000001 LOAD T1,RBJFN,(T4) ;GET JFN OF FILE JUST LOADED
461 000273' 104 00 0 00 000022 CLOSF ;CLOSE THE FILE
462 000274' 255 00 0 00 000000 JFCL ;FAILED, IGNORE FAILURE
463 000275' 553 00 0 04 000001 SETZRO RBJFN,(T4) ;NOTE THAT WE'RE NO LONGER USING THE JFN
464 000276' 200 01 0 15 000004 MOVE T1,RQLREC ;GET ADDRESS OF RECORD BLOCK FOR THIS LOAD
465 000277' 260 17 0 00 000000* CALL RELFRE ;RELEASE THE FREE SPACE
466 000300' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
467 000301' 402 00 0 15 000004 SETZM RQLREC ;NOTE THAT WE NO LONGER HAVE A RECORD BLOCK
468 000302' 200 02 0 00 013604' MOVE T2,[POINT 8,[BYTE (8).LMEND,.NRSUC]] ;CONFIRM "END-OF-DIALOGUE"
469 000303' 211 03 0 00 000002 MOVNI T3,2 ;WE ARE SENDING 2 BYTES
470 000304' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK JFN
471 000305' 104 00 0 00 000532 SOUTR ;OUTPUT THE "END-OF"DIALOGUE" MSG
472 000306' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;RETURN COMMUNICATION ERROR
473 000307' 337 00 0 15 000002 SKIPG RQLCNT ;MORE BYTES IN REPLY MESSAGE ?
474 000310' 254 00 0 00 000316' JRST RQL080 ;NO, GO CLEAN UP AND RETURN TO CALLER
475 000311' 200 01 0 15 000001 MOVE T1,RQLPTR ;YES, RESTORE POINTER
476 000312' 200 02 0 15 000002 MOVE T2,RQLCNT ;RESTORE COUNT
477 000313' 260 17 0 00 004345' CALL GETPDT ;GO EXTRACT THE PROGRAM DATA FROM MESSAGE
478 000314' 265 16 0 00 013551' LODERR () ;FAILED, RETURN ERROR CODE TO CALLER
479 000315' 254 00 0 00 000126' JRST RQL020 ;LOOP BACK TO LOAD NEXT FILE
480
481
482
483 ; HERE TO CLEAN UP AND RETURN TO DISPATCHING CODE
484
485 000316' 200 01 0 15 000003 RQL080: MOVE T1,RQLLNK ;YES, GET LOGICAL LINK (JFN) TO SERVER NCU
486 000317' 104 00 0 00 000022 CLOSF ;DISCONNECT THE LOGICAL LINK
487 000320' 255 00 0 00 000000 JFCL ;IGNORE FAILURE, LINK NO LONGER NEEDED
488 000321' 402 00 0 15 000003 SETZM RQLLNK ;NOTE THAT WE NO LONGER HAVE A LINK TO SERVER
489 000322' 201 01 0 00 000001 MOVX T1,.NRSUC ;GET NICE PROTOCOL SUCCESS RETURN CODE
490 000323' 260 17 0 00 007651' CALL SYRLOD ;MAKE A SYSERR ENTRY FOR THIS LOAD
491
492 ; UNLOCK THE TARGET NODE NIB
493
494 000324' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
495 000325' 260 17 0 00 010525' CALL GETNIB ;GO GET THE ADDRESS OF THE TARGET NODE NIB
496 000326' 254 00 0 00 000333' JRST RQL085 ;FAILED, JUST PROCEED.
497 000327' 205 02 0 00 400000 MOVX T2,RM%PRI ;USE PRIMARY RESOURCE
498 000330' 205 16 0 00 001000 SETZRO NDLIP,(T1) ;AUTO LOAD DONE
499 000331' 412 16 0 01 000000
500 000332' 260 17 0 00 000000* CALL ULKNOD ;UNLOCK THE NODE
501
502 ; SEND BACK A NICE "SUCCESS" RETURN CODE TO REQUESTING TASK
503
504 000333' 200 01 0 14 000032 RQL085: MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
505 000334' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET POINTER TO SUCCESS CODE
506 000335' 211 03 0 00 000001 MOVNI T3,1 ;RETURN CODE IS A SINGLE BYTE
507 000336' 104 00 0 00 000532 SOUTR ;SEND BACK THE RETURN CODE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 11-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
508 000337' 320 16 0 00 000000* ERJMP RSKP ;IF FAILED, NOTHING ELSE TO DO
509 000340' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
510 000341' 260 17 0 00 000000* CALL TOPCHK ;INITIATE MONITORING OF TOPOLOGY ?
511 000342' 254 00 0 00 000346' JRST RQL090 ;NO, FINISH LOADING PROCESS
512 000343' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
513 000344' 260 17 0 00 000000* CALL MONINI ;INITIATE MONITORING OF TOPOLOGY
514 000345' 255 00 0 00 000000 JFCL ;FAILED
515 000346' 476 00 0 00 011523' RQL090: SETOM LOGFLG ;NOTE THAT LOGGING SHOULD NOW BE DONE
516 000347' 254 00 0 00 000337* RETSKP ;LOAD IS FINISHED. RETURN SUCCESS.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 12
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
517 ; HERE ON INTERRUPT INDICATING UNEXPECTED RESPONSE FROM SERVER NCU
518
519
520 000350' 201 01 0 00 000353' RQLINT: MOVEI T1,RQINT1 ;GET DEBRK ADDRESS
521 000351' 202 01 0 14 003254 MOVEM T1,RETPC1 ;SAVE NEW DEBRK ADDRESS
522 000352' 104 00 0 00 000136 DEBRK ;DISMISS INTERRUPT
523
524 000353' 260 17 0 00 010457' RQINT1: CALL CLRMSG ;GO CLEAR THE MESSAGE AREA
525 000354' 200 01 0 15 000003 MOVE T1,RQLLNK ;GET LOGICAL LINK TO SERVER NCU
526 000355' 200 02 0 00 013534' MOVE T2,[POINT 8,MSGBLK] ;GET POINTER TO WHERE MESSAGE GOES
527 000356' 211 03 0 00 014000 MOVNI T3,MAXNIC ;GET MAX COUNT
528 000357' 104 00 0 00 000531 SINR ;READ THE DATA
529 ERJMP [ MOVX T1,.NRCME ;FAILED, GET "COMMUNCIATIONS ERROR"
530 000360' 320 16 0 00 013630' JRST RQINT2 ] ;RETURN ERROR TO ORIGINATOR OF REQUEST
531 000361' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;GET NUMBER OF BYTES RECEIVED
532 000362' 302 02 0 00 000002 CAIE T2,2 ;TWO BYTES EXPECTED
533 JRST [ MOVX T1,.NRPRO ;FAILED, GET "PROTOCOL ERROR"
534 000363' 254 00 0 00 013632' JRST RQINT2 ] ;RETURN ERROR TO ORIGINATOR OF REQUEST
535 000364' 200 04 0 00 013534' MOVE T4,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
536 000365' 134 01 0 00 000004 ILDB T1,T4 ;GET TYPE CODE
537 000366' 302 01 0 00 000000 CAIE T1,.LMEND ;END OF DIALOG ?
538 JRST [ MOVX T1,.NRPRO ;NO, GET "PROTOCOL ERROR"
539 000367' 254 00 0 00 013632' JRST RQINT2 ] ;RETURN ERROR TO ORIGINATOR OF REQUEST
540
541 ; RETURN AN ERROR RETURN CODE
542
543 000370' 200 01 0 14 000032 RQINT2: MOVE T1,REQLNK ;GET LOGICAL LINK TO REQUESTING TASK
544 000371' 200 02 0 00 000004 MOVE T2,T4 ;GET POINTER TO RETURN CODE
545 000372' 211 03 0 00 000001 MOVNI T3,1 ;RETURN CODE IS JUST ONE SINGLE BYTE
546 000373' 104 00 0 00 000532 SOUTR ;SEND THE RETURN CODE TO REQUESTING TASK
547 000374' 255 00 0 00 000000 JFCL
548 000375' 332 01 0 15 000003 SKIPE T1,RQLLNK ;DISCONNECT LOGICAL LINK TO THE
549 000376' 104 00 0 00 000022 CLOSF ; SERVER NCU
550 000377' 255 00 0 00 000000 JFCL ;IGNORE ERRORS
551 000400' 332 01 0 15 000004 SKIPE T1,RQLREC ;CLOSE ANY OPEN INPUT FILE JFN'S
552 CALL [ LOAD T1,RBJFN,(T1)
553 SKIPE T1
554 CLOSF
555 JFCL
556 MOVE T1,RQLREC ;RELEASE ANY SPACE ASSIGNED FOR
557 CALL RELFRE ; A RECORD BLOCK
558 FATAL.ERROR ; Die on release failure
559 000401' 260 17 0 00 013634' RET ]
560 000402' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET ADDRESS OF TARGET NODE NIB
561 000403' 260 17 0 00 010525' CALL GETNIB
562 000404' 255 00 0 00 000000 JFCL ;IGNORE FAILURE
563 000405' 205 16 0 00 001000 SETZRO NDLIP,(T1) ;SET LOAD NO LONGER IN PROGRESS
564 000406' 412 16 0 01 000000
565 000407' 201 16 0 01 000000 ACUNLOCK (T1) ;UNLCOK TARGET NODE NIB
566 000410' 260 17 0 00 000000*
567 000411' 104 00 0 00 000170 HALTF ;DONE, OPERATION COMPLETE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 13
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
568 ;RQLERR - HERE ON ERROR DURING A DOWN-LINE LOAD
569 ;
570 ;ACCEPTS IN T1/ NICE RETURN CODE
571 ; CALL RQLERR
572 ;RETURNS: +1 ALWAYS, HAVING CLEANED UP FROM THE DOWN-LINE LOAD
573
574 000412' 261 17 0 00 000001 RQLERR: PUSH P,T1 ;Save the error code
575 000413' 260 17 0 00 007651' CALL SYRLOD ;MAKE A SYSERR ENTRY FOR THIS LOAD
576 000414' 332 01 0 15 000003 SKIPE T1,RQLLNK ;ANY LOGICAL LINK TO A SERVER NCU ?
577 000415' 104 00 0 00 000022 CLOSF ;YES, DISCONNECT THE LINK
578 000416' 255 00 0 00 000000 JFCL ;IGNORE ERRORS IN CLEANUP ROUTINE
579 000417' 332 01 0 15 000004 SKIPE T1,RQLREC ;ANY RECORD BLOCK ASSIGNED ?
580 CALL [ LOAD T1,RBJFN,(T1) ; Yes, any input file
581 SKIPE T1 ; JFN assigned ?
582 CLOSF ; Yes, close the input file, release JFN
583 JFCL ; Ignore errors here
584 MOVE T1,RQLREC ; Get address of record block again
585 CALL RELFRE ; Release it
586 FATAL.ERROR ; Die on release failure
587 000420' 260 17 0 00 013634' RET ] ; Back to mainline code
588 000421' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
589 000422' 260 17 0 00 010525' CALL GETNIB ;GET ADDRESS OF TARGET NODE NIB
590 000423' 254 00 0 00 000430' JRST RQLE.1 ; Go restore the error code and return
591 000424' 205 16 0 00 001000 SETZRO NDLIP,(T1) ;SET LOAD NO LONGER IN PROGRESS
592 000425' 412 16 0 01 000000
593 000426' 201 16 0 01 000000 ACUNLOCK (T1) ;UNLOCK THE TARGET NODE NIB
594 000427' 260 17 0 00 000410*
595
596 000430' 262 17 0 00 000001 RQLE.1: POP P,T1 ; Get the error code back
597 000431' 263 17 0 00 000000 RET ; Give non-skip return always. (error)
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 14
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
598 ;TRGGER - ROUTINE TO TRIGGER THE BOOTSTRAP ROM AT A REMOTE NODE
599 ;
600 ;ACCEPTS IN T1/ LOGICAL LINK TO NICE PROCESS IN SERVER NODE
601 ; T2/ OPTIONS AS FOR DOWN-LINE LOAD REQUEST MESSAGE
602 ; CALL TRGGER
603 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
604 ; +2 SUCCESS. IF THE OPTIONS REQUESTED RETURN OF PROGRAM DATA,
605 ; THEN THE FOLLOWING WILL BE SET UP:
606 ;
607 ; RQLLDV/ BOOT LINE DEVICE TYPE AT TARGET NODE
608 ; RQLCPU/ CPU TYPE OF TARGET SYSTEM (.CPXXX)
609 ; RQLPGM/ PROGRAM TYPE BEING REQUESTED (.PTXXX)
610 ; RQLSID/ SOFTWARE ID
611
612 000432' 265 16 0 00 000067* TRGGER: ASUBR <TBTLNK,TBTOPT,TBTFLG>
613
614 ; DETERMINE IF PROGRAM DATA IS TO BE RETURNED
615
616 000433' 200 04 0 15 000002 MOVE T4,TBTOPT ;GET OPTION BITS
617 000434' 135 03 0 00 013644' LOAD T3,LO%ROM ;GET ROM FIELD
618 000435' 302 03 0 00 000003 CAIE T3,.LOTBP ;TRIGGER ROM AND RETURN PROGRAM DATA ?
619 000436' 476 00 0 15 000003 SETOM TBTFLG ;YES, NOTE PROGRAM DATA IS TO BE RETURNED
620
621 ; ASSEMBLE A NICE LINE SERVICE MESSAGE TO TRIGGER THE BOOTSTRAP
622
623 000437' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE MESSAGE AREA
624 000440' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO THE START OF THE
625 000441' 541 01 0 14 000033 HRRI T1,MSGBLK ; NICE MESSAGE BEING BUILT
626 000442' 201 04 0 00 000016 MOVX T4,.NCLSV ;GET "LINE SERVICE" NICE FUNCTION CODE
627 000443' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE INTO NICE MESSAGE
628 000444' 201 04 0 00 000004 MOVX T4,.LSTBT ;ASSUME TRIGGER BOOT, NO PROGRAM DATA WANTED
629 000445' 332 00 0 15 000003 SKIPE TBTFLG ;PROGRAM DATA REQUESTED ?
630 000446' 201 04 0 00 000003 MOVX T4,.LSTBP ;YES, TRIGGER BOOT & RETURN PROGRAM DATA OPTION
631 000447' 136 04 0 00 000001 IDPB T4,T1 ;STORE OPTION FIELD IN MESSAGE
632 000450' 120 03 0 14 000006 DMOVE T3,RQLLIN ;GET SERVER LINE ID
633 000451' 260 17 0 00 005303' CALL MAKLIN ;GO ADD STANDARD LINE ID TO MESSAGE
634 000452' 120 03 0 14 000010 DMOVE T3,RQLPSW ;GET BOOT PASSWORD
635 000453' 201 02 0 00 000010 MOVEI T2,MBPWSZ ;GET MAX # OF BYTES IN BOOT PASSWORDS
636 000454' 260 17 0 00 006041' CALL MAKIMB ;GO MAKE AN IMAGE BINARY FIELD
637
638 ; SEND THE MESSAGE TO THE NICE PROCESS AT THE SERVER NODE
639
640 000455' 211 03 0 00 000020 MOVNI T3,<MBPWSZ+1>+<7> ;MESSAGE SIZE: <PASSWORD>+<FUNCTION+OPTION+LINE>
641 000456' 200 02 0 00 013534' MOVE T2,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
642 000457' 200 01 0 15 000001 MOVE T1,TBTLNK ;GET LOGICAL LINK NUMBER (JFN)
643 000460' 104 00 0 00 000532 SOUTR ;SEND THE MESSAGE
644 000461' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;RETURN "COMMUNICATIONS FAILURE" ON ERROR
645 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 15
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
646 ; ..
647
648 ; WAIT FOR A RESPONSE MESSAGE
649
650 000462' 200 01 0 15 000001 MOVE T1,TBTLNK ;GET LOGICAL LINK (JFN) TO SERVER NCU
651 000463' 104 00 0 00 000050 BIN ;INPUT THE ONE-BYTE RETURN CODE (.NRXXX)
652 000464' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
653 000465' 200 01 0 00 000002 MOVE T1,T2 ;COPY RETURN CODE
654 000466' 602 01 0 00 000200 TXNE T1,NEGBIT ;RETURN CODE INDICATES SUCCESS ?
655 000467' 263 17 0 00 000000 RETBAD () ;NO, PASS RETURN CODE BACK TO CALLER
656
657 ; IF PROGRAM DATA WAS REQUESTED, INPUT THE PROGRAM DATA
658
659 000470' 336 00 0 15 000003 SKIPN TBTFLG ;PROGRAM DATA WANTED ?
660 000471' 254 00 0 00 000347* RETSKP ;NO, DONE. RETURN SUCCESS
661 000472' 260 17 0 00 010457' CALL CLRMSG ;YES, CLEAR THE MESSAGE AREA TO RECEIVE THE DATA
662 000473' 200 01 0 15 000001 MOVE T1,TBTLNK ;GET JFN (LOGICAL LINK)
663 000474' 104 00 0 00 000102 SIBE ;DETERMINE THE NUMBER OF BYTES LEFT TO READ
664 000475' 320 16 0 00 000477' ERJMP TBT020 ;T2 NOW HAS # OF BYTES LEFT TO BE INPUT
665 000476' 254 00 0 00 013650' RETBAD (.NRNPE) ;FAILED, PROGRAM DATA WAS NOT RETURNED
666 000477' 200 04 0 00 000002 TBT020: MOVE T4,T2 ;COPY NUMBER OF BYTES LEFT TO READ
667 000500' 210 03 0 00 000002 MOVN T3,T2 ;GET -# OF BYTES TO READ
668 000501' 200 02 0 00 013534' MOVE T2,[POINT 8,MSGBLK] ;GET POINTER TO WHERE DATA SHOULD GO
669 000502' 200 01 0 15 000001 MOVE T1,TBTLNK ;GET LOGICAL LINK (JFN)
670 000503' 104 00 0 00 000531 SINR ;INPUT THE PROGRAM DATA FROM THE NETWORK
671 000504' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
672
673 ; EXTRACT THE PROGRAM DATA FROM THE RESPONSE JUST RECEIVED
674
675 000505' 270 04 0 00 000003 ADD T4,T3 ;COMPUTE # OF CHARACTERS READ
676 000506' 200 02 0 00 000004 MOVE T2,T4 ;COPY NUMBER OF BYTES READ
677 000507' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO PROGRAM REQUEST DATA
678 000510' 260 17 0 00 004345' CALL GETPDT ;GO GET PROGRAM DATA
679 000511' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
680 000512' 254 00 0 00 000471* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 16
NCU MAC 6-Oct-81 12:41 NICE Process -- Down-Line Load
681 ;INTSET - ROUTINE TO SET UP THE NCU INTERRUPT SYSTEM FOR DOWN LINE LOADS
682 ;
683 ;ACCEPTS IN T1/ LOGICAL LINK TO SERVER NCU
684 ; CALL INTSET
685 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
686 ; +2 SUCCESS, INTERRUPT SYSTEM SET UP AND ENABLED
687
688 000513' 265 16 0 00 000432* INTSET: ASUBR <INTLNK>
689
690 000514' 201 01 0 14 003254 MOVEI T1,RETPC1 ;GET ADDRESS FOR RETURN PC FOR LEVEL 1
691 000515' 202 01 0 14 003321 MOVEM T1,NCULEV ;STORE ADDRESS FOR MONITOR
692 000516' 200 01 0 00 013652' MOVE T1,[1,,RQLINT] ;GET LEVEL,,INTERRUPT ROUTINE ADDRESS
693 000517' 202 01 0 14 003256 MOVEM T1,RQLCHN+NCUCHN ;STORE DISPATCH ADDRESS FOR INTERRUPT
694 000520' 104 00 0 00 000141 CIS ;CLEAR INTERRUPT SYSTEM
695 000521' 201 01 0 00 400000 MOVX T1,.FHSLF ;GET OUR PROCESS HANDLE
696 000522' 505 02 0 14 003321 HRLI T2,NCULEV ;GET ADDRESS OF LEVEL TABLE
697 000523' 541 02 0 14 003255 HRRI T2,NCUCHN ;GET ADDRESS OF CHANNEL TABLE
698 000524' 104 00 0 00 000125 SIR ;SET INTERRUPT TABLE ADDRESSES
699 000525' 205 02 0 00 200000 MOVX T2,1B<RQLCHN> ;GET DOWN-LINE LOAD CHANNEL NUMBER
700 000526' 104 00 0 00 000131 AIC ;ACTIVATE DOWN LINE LOAD CHANNEL
701 000527' 200 01 0 15 000001 MOVE T1,INTLNK ;GET LOGICAL LINE TO SERVER NCU
702 000530' 201 02 0 00 000024 MOVX T2,.MOACN ;GET "ASSIGN INTERRUPT CHANNEL" FUNCTION CODE
703 000531' 402 00 0 00 000003 SETZM T3 ;INITIALIZE WORD WITH FIELDS TO CHANGE
704 000532' 201 04 0 00 000777 MOVX T4,.MONCI ;GET "NO CHANGE" VALUE
705 000533' 137 04 0 00 013653' STOR T4,MO%CDN,T3 ;DO NOT ENABLE FOR CONNECT INTERRUPTS
706 000534' 201 04 0 00 000001 MOVX T4,RQLCHN ;GET CHANNEL TO USE FOR DOWN LINE LOADS
707 000535' 137 04 0 00 013654' STOR T4,MO%INA,T3 ;INTERRUPT ON BOT INTERRUPT MESSAGES
708 000536' 137 04 0 00 013655' STOR T4,MO%DAV,T3 ; AND ON DATA AVAILABLE
709 000537' 104 00 0 00 000077 MTOPR ;ENABLE INTERRUPT CHANNEL
710 000540' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED, RETURN "NICE PROGRAM PROCESS ERROR"
711 000541' 201 01 0 00 400000 MOVX T1,.FHSLF ;GET OUR FORK HANDLE
712 000542' 104 00 0 00 000126 EIR ;ENABLE INTERRUPT SYSTEM
713 000543' 254 00 0 00 000512* RETSKP ;DONE, RETURN TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 17
NCU MAC 6-Oct-81 12:41 NICE Process -- Up Line Dump
714 SUBTTL NICE Process -- Up Line Dump
715
716 ;REQDMP - ROUTINE TO PROCESS A REQUEST TO PERFORM AN UPLINE DUMP
717 ;
718 ;ACCEPTS IN T1/ POINTER TO START OF NICE REQUEST UP LINE DUMP MESSAGE
719 ; T2/ NUMBER OF BYTES IN THE NICE MESSAGE
720 ; CALL REQDMP
721 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
722 ; +2 SUCCESS, NODE DUMPED
723
724 000544' 265 16 0 00 000513* REQDMP: ASUBR <RQDPTR,RQDCNT,RQDLNK,RQDREC>
725
726 ; EXTRACT THE FIELD FROM THE NICE DUMP REQUEST MSG AND DEFAULT OTHER INFO
727
728 000545' 260 17 0 00 004311' CALL GETRQD ;GO GET THE FIELDS INCLUDED IN THE REQUEST MSG
729 000546' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
730 000547' 260 17 0 00 004155' CALL DEFRQD ;GO DEFAULT REMAINING INFO NEEDED FOR DUMP
731 000550' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, INVALID CONFIGURATION FILE
732
733 ; LOCK THE TARGET NODE
734
735 000551' 200 01 0 14 000022 MOVE T1,RQDTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
736 000552' 260 17 0 00 010525' CALL GETNIB ;GET NIB ADDRESS FOR NODE BEING LOADED
737 000553' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN ERROR
738 000554' 205 02 0 00 400000 MOVX T2,RM%PRI ;USE PRIMARY RESOURCE
739 000555' 202 01 0 15 000003 MOVEM T1,RQDLNK ;SAVE NIB ADDRESS
740 000556' 260 17 0 00 000105* CALL LOKNOD ;LOCK THE TARGET NODE
741 000557' 200 01 0 15 000003 MOVE T1,RQDLNK ;GET THE NIB ADDRESS
742 000560' 205 16 0 00 002000 SETONE NDDIP,(T1) ;SHOW DUMP IN PROGRESS
743 000561' 436 16 0 01 000000
744 000562' 402 00 0 15 000003 SETZM RQDLNK ;ZERO HOLDING CELL
745
746 ; SEND A NICE LINE SERVICE MSG TO SERVER NODE NCU TO INTIATE DUMP DIALOG
747
748 000563' 200 01 0 14 000023 MOVE T1,RQDSRV ;GET POINTER TO ASCIZ SERVER NODE NAME
749 000564' 260 17 0 00 007140' CALL GETLNK ;GO GET A LOGICAL LINK TO THE SERVER NODE NCU
750 000565' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
751 000566' 202 01 0 15 000003 MOVEM T1,RQDLNK ;SAVE LOGICAL LINK (JFN) TO SERVER NODE NCU
752
753 ; Set the fork scheduling priority higher so that dump goes fast
754
755 000567' 201 01 0 00 400000 MOVEI T1,.FHSLF ; Point to this process
756 000570' 201 02 0 00 000102 MOVEI T2,0102 ; Only run in Q1
757 000571' 104 00 0 00 000243 SPRIW
758
759 ; INITIATE A DUMP DIALOG
760
761 000572' 260 17 0 00 005245' CALL MAKDMP ;GO ASSEMBLE A NICE LINE SERVICE MSG
762 000573' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
763 000574' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
764 000575' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
765 000576' 200 01 0 15 000003 MOVE T1,RQDLNK ;GET LOGICAL LINK TO SERVER NCU
766 000577' 104 00 0 00 000532 SOUTR ;OUTPUT LINE SERVICE MSG TO INITIATE DUMP DIALOG
767 000600' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
768
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 17-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Up Line Dump
769 ; WAIT FOR A REPLY FROM THE SERVER NODE NCU
770
771 000601' 200 01 0 15 000003 MOVE T1,RQDLNK ;GET LOGICAL LINK (JFN) TO SERVER NODE NCU
772 000602' 104 00 0 00 000050 BIN ;WAIT FOR THE ONE-BYTE RETURN CODE
773 000603' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
774 000604' 200 01 0 00 000002 MOVE T1,T2 ;COPY RETURN CODE
775 000605' 602 01 0 00 000200 TXNE T1,NEGBIT ;SUCCESSFUL DIALOG INITIATION ?
776 000606' 263 17 0 00 000000 RETBAD () ;NO, RETURN ERROR CODE TO CALLER IN T1
777 000607' 302 01 0 00 000001 CAIE T1,.NRSUC ;RECEIVED EXPECTED SUCCESS CODE ?
778 000610' 254 00 0 00 013613' RETBAD (.NRPRO) ;NO, RETURN "PROTOCOL ERROR"
779
780 ; ASSIGN A RECORD BLOCK AND OPEN THE OUTPUT FILE
781
782 000611' 201 01 0 00 100000 MOVX T1,OF%WR ;NOTE THAT OUTPUT IS TO BE DONE
783 000612' 260 17 0 00 010535' CALL ASGREC ;GO ASSIGN A RECORD BLOCK FOR THIS I/O
784 000613' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
785 000614' 202 01 0 15 000004 MOVEM T1,RQDREC ;SAVE ADDRESS OF RECORD BLOCK
786 000615' 200 01 0 14 000027 MOVE T1,RQDFIL ;GET POINTER TO OUTPUT FILESPEC
787 000616' 260 17 0 00 006665' CALL OPNOFL ;GO OPEN THE OUTPUT FILE
788 000617' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
789 000620' 200 04 0 15 000004 MOVE T4,RQDREC ;GET ADDRESS OF RECORD BLOCK
790 000621' 506 01 0 04 000001 STOR T1,RBJFN,(T4) ;STORE JFN OF DUMP FILE
791 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 18
NCU MAC 6-Oct-81 12:41 NICE Process -- Up Line Dump
792 ; ..
793
794 ; INPUT A DIALOG MESSAGE FROM THE SERVER NCU AND DISPATCH
795
796 000622' 200 01 0 15 000003 RQD010: MOVE T1,RQDLNK ;GET LOGICAL LING (JFN) TO SERVER NCU
797 000623' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM A BYTE POINTER TO THE
798 000624' 541 02 0 14 000033 HRRI T2,MSGBLK ; NICE MESSAGE AREA
799 000625' 211 03 0 00 014000 MOVNI T3,MAXNIC ;GET -MAX COUNT
800 000626' 104 00 0 00 000531 SINR ;INPUT FROM SERVER NCU
801 000627' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
802 000630' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;GET NUMBER OF BYTES RECEIVED
803 000631' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
804 000632' 134 04 0 00 000001 ILDB T4,T1 ;GET DIALOG MESSAGE TYPE CODE
805 000633' 301 04 0 00 000000 CAIL T4,0 ;RANGE CHECK THE DIALOG
806 000634' 303 04 0 00 000004 CAILE T4,DMPMAX ; MESSAGE TYPE CODE
807 JRST [ TXNN T1,NEGBIT ;NEGATIVE IMPLIES A NICE PROTOCOL RETURN CODE
808 RETBAD (.NRPRO) ;INVALID TYPE CODE; RETURN "PROTOCOL ERROR"
809 000635' 254 00 0 00 013657' RETBAD () ] ;RETURN NICE PROTOCOL RETURN CODE PROVIDED
810 000636' 200 03 0 15 000004 MOVE T3,RQDREC ;GET ADDRESS OF RECORD BLOCK
811 000637' 260 17 1 04 000670' CALL @DMPTAB(T4) ;DISPATCH TO PROCESSING ROUTINE
812 000640' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
813 000641' 331 00 0 00 000001 SKIPL T1 ;STILL IN DUMP DIALOG ?
814 000642' 254 00 0 00 000622' JRST RQD010 ;YES, GO GET NEXT MESSAGE FROM SERVER NCU
815
816 ; DONE - CLEAN UP AND UNLOCK THE TARGET NODE NIB
817
818 000643' 201 01 0 00 000001 MOVX T1,.NRSUC ;GET GENERAL SUCCESS RETURN CODE
819 000644' 260 17 0 00 007755' CALL SYRDMP ;GO MAKE A SYSERR ENTRY FOR THIS DUMP
820 000645' 200 01 0 14 000022 MOVE T1,RQDTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
821 000646' 260 17 0 00 010525' CALL GETNIB ;GO GET THE ADDRESS OF THE TARGET NODE NIB
822 000647' 254 00 0 00 000333' JRST RQL085 ;FAILED, JUST PROCEED.
823 000650' 205 16 0 00 002000 SETZRO NDDIP,(T1) ;SET DUMP DONE
824 000651' 412 16 0 01 000000
825 000652' 205 02 0 00 400000 MOVX T2,RM%PRI ;USE PRIMARY RESOURCE
826 000653' 260 17 0 00 000332* CALL ULKNOD ;UNLOCK THE TARGET NODE
827 000654' 200 01 0 15 000004 MOVE T1,RQDREC ;GET ADDRESS OF RECORD BLOCK AGAIN
828 000655' 260 17 0 00 000277* CALL RELFRE ;RELEASE THE RECORD BLOCK
829 000656' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
830 000657' 200 01 0 15 000003 MOVE T1,RQDLNK ;GET LOGICAL LINK TO SERVER NCU
831 000660' 104 00 0 00 000022 CLOSF ;DISCONNECT THE LINK
832 000661' 255 00 0 00 000000 JFCL ;IGNORE ERRORS HERE
833 000662' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) FROM REQUESTING TASK
834 000663' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET SUCCESS RETURN CODE
835 000664' 201 03 0 00 000001 MOVEI T3,1 ;ONE BYTE RESPONSE MESSAGE
836 000665' 104 00 0 00 000532 SOUTR ;SEND REPLY MESSAGE TO ORIGINATOR OF DUMP REQ
837 000666' 320 16 0 00 000543* ERJMP RSKP ;IGNORE FAILURE
838 000667' 254 00 0 00 000666* RETSKP ;DONE, RETURN SUCCESS
839
840 ; TABLE OF DUMP DIALOG MESSAGE TYPES
841
842 000670' 000000 000674' DMPTAB: DMPEND ; 0 END OF DIALOG
843 000671' 000000 000711' DMPSET ; 1 SET BASE ADDRESS
844 000672' 000000 000702' DMPMEM ; 2 MEMORY IMAGE DATA
845 000673' 000000 013615' [RETBAD (.NRPRO)] ; 3 SYSTEM PARAMETERS AND TRANSFER [ERROR!]
846
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 18-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Up Line Dump
847 000004 DMPMAX==.-DMPTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 19
NCU MAC 6-Oct-81 12:41 NICE Process -- Up Line Dump
848 ;DMPEND - ROUTINE TO PROCESS AN END-OF-DIALOG MESSAGE
849 ;
850 ;ACCEPTS IN T3/ ADDRESS OF RECORD BLOCK
851 ; CALL DMPEND
852 ;RETURNS: +1 FAILED
853 ; +2 SUCCESS, WITH T1/ -1 INDICATING DIALOG IS COMPLETE
854
855 000674' 200 01 0 00 000003 DMPEND: MOVE T1,T3 ;COPY ADDRESS OF RECORD BLOCK
856 000675' 200 04 0 15 000004 MOVE T4,RQDREC ;GET ADDRESS OF RECORD BLOCK FOR THIS OPERATION
857 000676' 260 17 0 00 006675' CALL CLSOFL ;GO CLOSE THE OUTPUT FILE
858 000677' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
859 000700' 476 00 0 00 000001 SETOM T1 ;NOTE THAT DIALOG IS COMPLETED
860 000701' 254 00 0 00 000667* RETSKP ;DONE, RETURN SUCCESS
861
862
863 ;DMPMEM - ROUTINE TO PROCESS A MEMORY IMAGE DUMP MESSAGE
864 ;
865 ;ACCEPTS IN T1/ POINTER TO DIALOG DATA (MEMORY IMAGE DATA)
866 ; T2/ NUMBER OF BYTES REMAINING IN MEMORY IMAGE DATA
867 ; T3/ ADDRESS OF RECORD TABLE
868 ; CALL DMPMEM
869 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
870 ; +2 SUCCESS, DATA DUMPED TO FILE
871
872 000702' 375 00 0 00 000002 DMPMEM: SOSGE T2 ;DECREMENT COUNT FOR CPU TYPE CODE
873 000703' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, RETURN ERROR
874 000704' 133 00 0 00 000001 IBP T1 ;SKIP OVER CPU TYPE CODE
875 000705' 260 17 0 00 006570' CALL WRTDMP ;WRITE THE DATA TO THE FILE
876 000706' 254 00 0 00 013662' RETBAD (.NRIOE) ;FAILED, RETURN FILE I/O ERROR
877 000707' 402 00 0 00 000001 SETZM T1 ;NOTE THAT WE ARE STILL IN THE DIALOG
878 000710' 254 00 0 00 000701* RETSKP ;DONE, RETURN
879
880
881 ;DMPSET - ROUTINE TO PROCESS "SET BASE ADDRESS" MESSAGES DURING A DUMP
882 ;
883 ;ACCEPTS IN T1/ POINTER TO DIALOG DATA IN MESSAGE
884 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
885 ; T3/ ADDRESS OF RECORD BLOCK
886 ; CALL DMPSET
887 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
888 ; +2 SUCCESS
889
890 000711' 402 00 0 00 000001 DMPSET: SETZM T1 ;NOTE THAT WE ARE STILL IN THE DIALOG
891 000712' 254 00 0 00 000710* RETSKP ;SET BASE MESSAGES NOT PROCESSED FOR IMAGE FILES
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 20
NCU MAC 6-Oct-81 12:41 NICE Process -- Read Information
892 SUBTTL NICE Process -- Read Information
893
894 000713' 265 16 0 00 000544* REQRED: ASUBR <RQRPTR,RQRCNT>
895
896 ; DISPATCH ON OPTION REQUESTED
897
898 000714' 260 17 0 00 004340' CALL GETFCN ;GET NICE PROTOCOL FUNCTION CODE
899 000715' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
900 000716' 260 17 0 00 004344' CALL GETOPT ;GET NICE PROTOCOL OPTION CODE
901 000717' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
902 000720' 301 04 0 00 000007 CAIL T4,RQRSIZ ;WITHIN RANGE ?
903 000721' 254 00 0 00 013540' RETBAD (.NRFNC) ;NO, INVALID OPTION
904 000722' 254 00 1 04 000723' CALLRET @RQRTAB(T4) ;DISPATCH BASED ON ITEM REQUESTED
905
906 ; DISPATCH TABLE FOR READ INFORMATION FUNCTION
907
908 000723' 254 00 0 00 013540' RQRTAB: RETBAD (.NRFNC) ;LOCAL NODE COUNTERS
909 000724' 000000 000732' RQRLNS ;LOCAL NODE STATUS
910 000725' 254 00 0 00 013540' RETBAD (.NRFNC) ;REMOTE NODE COUNTERS
911 000726' 254 00 0 00 013540' RETBAD (.NRFNC) ;REMOTE NODE STATUS
912 000727' 000000 001027' RQRLCT ;LINE COUNTERS
913 000730' 000000 001140' RQRLST ;LINE STATUS
914 000731' 254 00 0 00 013540' RETBAD (.NRFNC) ;ROUTING PATHS
915
916 000007 RQRSIZ==.-RQRTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 21
NCU MAC 6-Oct-81 12:41 NICE Process -- Read Information -- Local Node Status
917 SUBTTL NICE Process -- Read Information -- Local Node Status
918
919
920 000732' 265 16 0 00 000000* RQRLNS: STKVAR <<LNSMSG,50>,LNSCNT,<COMBLK,3>,<COMVER,3>,<ROUVER,3>>
921 000733' 000062 000062
922 000734' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
923 000735' 200 02 0 00 013665' MOVE T2,[POINT 8,[BYTE(8).NRSUC,1,0]]
924 000736' 211 03 0 00 000003 MOVNI T3,3 ;NUMBER OF BYTES IN MESSAGE
925 000737' 104 00 0 00 000532 SOUTR ;SEND RESPONSE
926 000740' 320 16 0 00 000712* ERJMP RSKP ;IF FAILED NOTHING ELSE TO DO
927 000741' 541 01 0 17 777727 HRRI T1,LNSMSG ;GET ADDRESS OF NICE MESSAGE TO BE SENT BACK
928 000742' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO MESSAGE
929 000743' 201 04 0 00 000001 MOVX T4,.RDLNS ;GET TYPE CODE FOR LOCAL NODE STATUS
930 000744' 136 04 0 00 000001 IDPB T4,T1 ;ADD BYTE TO MESSAGE
931 000745' 201 02 0 00 000001 MOVEI T2,1 ;ONE BYTES IN MESSAGE YET
932 000746' 200 03 0 00 013666' MOVE T3,[POINT 7,OURNAM] ;GET POINTER TO OUR NODE NAME
933 000747' 260 17 0 00 006063' CALL MAKNOD ;ASSEMBLE OUR NODE NAME IN MESSAGE
934 000750' 263 17 0 00 000000 RET ;FAILED
935 000751' 271 02 0 00 000013 ADDI T2,^D11 ;INCREMENT COUNT OF BYTES IN MESSAGE
936 000752' 202 02 0 17 777726 MOVEM T2,LNSCNT ; INCLUDING STATE AND VERSION BYTES
937 000753' 200 03 0 00 010671' MOVE T3,OURNUM ;GET OUR NODE NUMBER
938 000754' 136 03 0 00 000001 IDPB T3,T1 ;ADD NODE NUMBER TO MESSAGE
939 000755' 201 03 0 00 000000 MOVX T3,.NSON ;GET "ON" STATE
940 000756' 136 03 0 00 000001 IDPB T3,T1 ;ADD STATE TO MESSAGE
941 000757' 201 03 0 00 000000 MOVX T3,0 ;GET UNUSED BYTE OF FILLER (LOGGING STATES)
942 000760' 136 03 0 00 000001 IDPB T3,T1 ;ADD LOGGING STATES TO
943 000761' 136 03 0 00 000001 IDPB T3,T1 ; THE MESSAGE
944 000762' 136 03 0 00 000001 IDPB T3,T1 ;NO DEFAULT HOST NODE
945
946 ; ADD VERSIONS TO MESSAGE
947
948 000763' 200 04 0 00 000001 MOVE T4,T1 ;SAVE THE BYTE POINTER
949 000764' 201 01 0 00 000013 MOVEI T1,.NDGVR ;GET VERSION NUMBERS FROM MONITOR
950 000765' 201 02 0 17 777723 MOVEI T2,COMBLK ;POINT TO JSYS BLOCK
951 000766' 201 03 0 17 777720 MOVEI T3,COMVER ;WHERE VERSION NUMBER IS TO GO
952 000767' 202 03 0 02 000001 MOVEM T3,.NDCVR(T2) ;STUFF IN REQUEST BLOCK
953 000770' 201 03 0 17 777715 MOVEI T3,ROUVER ;WHERE VERSION NUMBER IS TO GO
954 000771' 202 03 0 02 000002 MOVEM T3,.NDRVR(T2) ;STUFF IN REQUEST BLOCK
955 000772' 104 00 0 00 000567 NODE ;GET THE INFORMATION
956 000773' 320 16 0 00 013541' ERJMP [RET] ;ERROR - RETURN FAILURE
957
958 ; HAVE VERSION NUMBERS - NOW PUT IN MESSAGE
959
960 000774' 200 01 0 00 000004 MOVE T1,T4 ;RESTORE MESSAGE POINTER
961 000775' 201 03 0 17 777715 MOVEI T3,ROUVER ;NOW GET ROUTING INFO INTO MSG
962 000776' 200 04 0 03 000000 MOVE T4,.NDVER(T3) ;GET VERSION NUMBER
963 000777' 136 04 0 00 000001 IDPB T4,T1 ; INTO MSG
964 001000' 200 04 0 03 000001 MOVE T4,.NDECO(T3) ;ROUTING NUMBER
965 001001' 136 04 0 00 000001 IDPB T4,T1
966 001002' 200 04 0 03 000002 MOVE T4,.NDCST(T3) ;GET CUSTOMER CHANGE NUMBER
967 001003' 136 04 0 00 000001 IDPB T4,T1 ;PUT INTO MSG
968 001004' 201 03 0 17 777720 MOVEI T3,COMVER ;NOW GET COMMUNICATION INFO INTO MSG
969 001005' 200 04 0 03 000000 MOVE T4,.NDVER(T3) ;GET VERSION NUMBER
970 001006' 136 04 0 00 000001 IDPB T4,T1 ; INTO MSG
971 001007' 200 04 0 03 000001 MOVE T4,.NDECO(T3) ;ROUTING NUMBER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 21-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Read Information -- Local Node Status
972 001010' 136 04 0 00 000001 IDPB T4,T1
973 001011' 200 04 0 03 000002 MOVE T4,.NDCST(T3) ;GET CUSTOMER CHANGE NUMBER
974 001012' 136 04 0 00 000001 IDPB T4,T1 ;PUT INTO MSG
975 001013' 201 02 0 00 000040 MOVX T2,^D32 ;MAX SIZE OF SYSTEM NAME
976 001014' 200 03 0 00 013667' MOVE T3,[POINT 7,SYSNAM] ;GET POINTER TO OUR SYSTEM NAME
977 001015' 260 17 0 00 006046' CALL MAKIMA ;ADD IMAGE FIELD TO MESSAGE
978 001016' 263 17 0 00 000000 RET ;FAILED
979 001017' 270 02 0 17 777726 ADD T2,LNSCNT ;COMPUTE TOTAL BYTES IN MESSAGE
980 001020' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
981 001021' 541 02 0 17 777727 HRRI T2,LNSMSG ;GET ADDRESS OF NICE MESSAGE TO BE SENT BACK
982 001022' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO MESSAGE
983 001023' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LINK TO REQUESTING TASK
984 001024' 104 00 0 00 000532 SOUTR ;OUTPUT REPLY
985 001025' 320 16 0 00 000000* ERJMP R ;FAILED
986 001026' 254 00 0 00 000740* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 22
NCU MAC 6-Oct-81 12:41 NICE Process -- Read Information -- Line Counters
987 SUBTTL NICE Process -- Read Information -- Line Counters
988
989 001027' 260 17 0 00 004560' RQRLCT: CALL GETLIN ;GET LINE-ID FROM MESSAGE
990 001030' 263 17 0 00 000000 RETBAD () ;FAILED
991 001031' 321 03 0 00 001037' JUMPL T3,NRILN ;IN CASE WANTS ALL
992 001032' 265 16 0 00 000732* STKVAR <<LINLID,2>,<LINCNT,100>,<LINMSG,100>>
993 001033' 000202 000202
994 001034' 124 03 0 17 777775 DMOVEM T3,LINLID ;SAVE LINE-ID FOR RESPONSE
995 001035' 120 01 0 00 000003 DMOVE T1,T3 ;PUT LINE-ID IN RIGHT REGISTER
996 001036' 260 17 0 00 000000* CALL LIDPRT ;CONVERT LID TO PORT
997 001037' 254 00 0 00 013670' NRILN: RETBAD (.NRILN) ;"INVALID LINE ID"
998 001040' 202 01 0 17 777675 MOVEM T1,.BTPRT+LINCNT ;PUT PORT IN ARGUMENT BLOCK
999 001041' 201 01 0 00 000020 MOVEI T1,20 ;MAXIMUM NUMBER OF COUNTERS
1000 001042' 201 02 0 17 777715 MOVEI T2,20+LINCNT ;WHERE TO PUT FIRST COUNTERS
1001 001043' 505 02 0 00 444400 HRLI T2,444400 ;MAKE INTO POINTER
1002 001044' 124 01 0 17 777677 DMOVEM T1,.BTSCC+LINCNT ;STATUS COUNTERS
1003 001045' 271 02 0 00 000020 ADDI T2,20 ;ADR OF NEXT COUNTERS
1004 001046' 124 01 0 17 777701 DMOVEM T1,.BTRCC+LINCNT ;RECEIVE COUNTERS
1005 001047' 271 02 0 00 000020 ADDI T2,20 ;ADR OF NEXT COUNTERS
1006 001050' 124 01 0 17 777703 DMOVEM T1,.BTTCC+LINCNT ;TRANSMIT COUNTERS
1007 001051' 201 01 0 00 000013 MOVEI T1,.BTRLC ;WANT LINE COUNTERS
1008 001052' 201 02 0 17 777675 MOVEI T2,LINCNT ;ADDRESS OF ARGUMENT BLOCK
1009 001053' 104 00 0 00 000562 BOOT
1010 001054' 320 16 0 00 013674' ERJMP [RETBAD (.NRIST)] ;RETURN "Insufficient Status"
1011 001055' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
1012 001056' 200 02 0 00 013665' MOVE T2,[POINT 8,[BYTE(8).NRSUC,1,0]]
1013 001057' 211 03 0 00 000003 MOVNI T3,3 ;NUMBER OF BYTES IN MESSAGE
1014 001060' 104 00 0 00 000532 SOUTR ;SEND RESPONSE
1015 001061' 320 16 0 00 001026* ERJMP RSKP ;IF FAILED NOTHING ELSE TO DO
1016 001062' 201 01 0 17 777575 MOVEI T1,LINMSG ;ADR OF RESPONSE MESSAGE
1017 001063' 505 01 0 00 441000 HRLI T1,441000 ;MAKE IT A POINTER TO MESSAGE
1018 001064' 201 02 0 00 000004 MOVEI T2,.RDLCT ;CODE SAYES THIS IS LINE COUNTS
1019 001065' 136 02 0 00 000001 IDPB T2,T1 ;PUT CODE INTO MESSAGE
1020 001066' 201 02 0 00 000001 MOVEI T2,1 ;NUMBER OF BYTES IN MESSAGE SO FAR
1021 001067' 120 03 0 17 777775 DMOVE T3,LINLID ;LINE-ID
1022 001070' 260 17 0 00 005303' CALL MAKLIN ;PUT LINE-ID INTO MESSAGE
1023 001071' 201 03 0 00 000000 MOVEI T3,0 ;SECOND SINCE LAST ZEROED
1024 001072' 200 04 0 17 777676 MOVE T4,.BTZTM+LINCNT ;TIME SINCE ZEROED
1025 001073' 260 17 0 00 001132' CALL MAKLCT
1026 001074' 201 03 0 00 000001 MOVEI T3,1 ;TYPE = BLOCKS RECEIVED
1027 001075' 200 04 0 17 777735 MOVE T4,40+LINCNT ;GET NUMBER OF BLOCKS RECEIVED
1028 001076' 260 17 0 00 001132' CALL MAKLCT
1029 001077' 201 03 0 00 000004 MOVEI T3,4 ;RECEIVED LINE ERRORS
1030 001100' 200 04 0 17 777737 MOVE T4,42+LINCNT ;HEADER BCC ERRORS
1031 001101' 270 04 0 17 777740 ADD T4,43+LINCNT ;DATA BCC ERRORS
1032 001102' 260 17 0 00 001132' CALL MAKLCT
1033 001103' 201 03 0 00 000002 MOVEI T3,2 ;TYPE = BLOCKS TRANSMITTED
1034 001104' 200 04 0 17 777755 MOVE T4,60+LINCNT ;GET NUMBER OF BLOCKS TRANSMITTED
1035 001105' 260 17 0 00 001132' CALL MAKLCT
1036 001106' 201 03 0 00 000003 MOVEI T3,3 ;RETRANSMISSIONS, LINE ERRORS
1037 001107' 200 04 0 17 777757 MOVE T4,62+LINCNT ;HEADER BCC ERROR
1038 001110' 270 04 0 17 777760 ADD T4,63+LINCNT ;DATA BCC ERROR
1039 001111' 260 17 0 00 001132' CALL MAKLCT
1040 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 23
NCU MAC 6-Oct-81 12:41 NICE Process -- Read Information -- Line Counters
1041 ; ..
1042 001112' 201 03 0 00 000005 MOVEI T3,5 ;RETRANSMISSION, NOT PARITY
1043 001113' 200 04 0 17 777756 MOVE T4,61+LINCNT ;MISC NAKS RECEIVED
1044 001114' 270 04 0 17 777761 ADD T4,64+LINCNT ;REP RESPONSE
1045 001115' 270 04 0 17 777762 ADD T4,65+LINCNT ;BTU
1046 001116' 260 17 0 00 001132' CALL MAKLCT
1047 001117' 201 03 0 00 000010 MOVEI T3,^D8 ;RESOURCE ERRORS
1048 001120' 200 04 0 17 777742 MOVE T4,45+LINCNT ;NAKS SEND FOR BTU
1049 001121' 270 04 0 17 777762 ADD T4,65+LINCNT ;RECEIVED
1050 001122' 260 17 0 00 001132' CALL MAKLCT
1051 001123' 211 03 0 02 000000 MOVNI T3,(T2) ;NUMBER OF BYTES IN MESSAGE
1052 001124' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
1053 001125' 541 02 0 17 777575 HRRI T2,LINMSG ;POINT TO MESSAGE
1054 001126' 505 02 0 00 441000 HRLI T2,441000 ;MAKE BYTE POINTER
1055 001127' 104 00 0 00 000532 SOUTR ;SEND RESPONSE
1056 001130' 320 16 0 00 001061* ERJMP RSKP ;IF FAILED NOTHING ELSE TO DO
1057 001131' 254 00 0 00 001130* RETSKP
1058
1059 001132' 136 03 0 00 000001 MAKLCT: IDPB T3,T1 ;PUT TYPE(EX-2) IN MESSAGE
1060 001133' 136 04 0 00 000001 IDPB T4,T1 ;PUT COUNT(B2) INTO MESSAGE
1061 001134' 242 04 0 00 777770 LSH T4,-8 ;POSITION HIGH ORDER BITS
1062 001135' 136 04 0 00 000001 IDPB T4,T1 ;PUT HIGH ORDER BITS IN ALSO
1063 001136' 271 02 0 00 000003 ADDI T2,3 ;ADDED TWO BYTES TO MESSAGE
1064 001137' 263 17 0 00 000000 RET
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 24
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1065 SUBTTL NICE PROCESS -- Read Information -- Line Status
1066
1067
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 25
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1068
1069 ;HERE TO DO A "SHOW LINE STATUS" REQUEST
1070
1071 001140' 265 16 0 00 000000* RQRLST: SAVEQ
1072 001141' 265 16 0 00 001032* STKVAR <<RQRHLD,2>,RQRBUF,<RLSMSG,10>>
1073 001142' 000013 000013
1074 001143' 260 17 0 00 004560' CALL GETLIN ;GET LINE-ID OUT OF MESSAGE
1075 001144' 263 17 0 00 000000 RETBAD ;BAD LINE-ID - RETURN
1076 001145' 124 03 0 17 777775 DMOVEM T3,RQRHLD ;SAVE INTERNAL LINE ID
1077 001146' 260 17 0 00 000000* CALL ASGPAG ;GET PAGE FOR NODE JSYS STUFF
1078 001147' 254 00 0 00 013675' RETBAD (.NRRES) ;NO STORAGE - FAIL
1079 001150' 202 02 0 17 777774 MOVEM T2,RQRBUF ;SAVE "NICE" MESSAGE POINTER
1080 001151' 201 03 0 00 001000 MOVEI T3,1000 ;SIZE OF BUFFER WE'RE PROVIDING
1081 001152' 552 03 0 02 000000 HRRZM T3,.NDNLN(T2) ;INTO ARGUMENT BLOCK
1082 001153' 201 01 0 00 000014 MOVEI T1,.NDGLI
1083 001154' 104 00 0 00 000567 NODE
1084 001155' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;JSYS ERROR - FAIL
1085 001156' 554 01 0 02 000000 HLRZ T1,.NDNLN(T2) ;ANY KNOWN LINES?
1086 001157' 336 00 0 00 000001 SKIPN T1 ;SKIP IF LINE COUNT .NE. 0
1087 001160' 254 00 0 00 013670' RETBAD (.NRILN) ;FAIL - NO KNOWN LINES
1088 001161' 337 00 0 17 777775 SKIPG RQRHLD ;IS THIS AN "ALL LINES" REQUEST
1089 001162' 254 00 0 00 001220' JRST RQRLAL ;YES - THEN HANDLE
1090
1091 ;HERE FOR A SINGLE LINE REQUEST
1092
1093 001163' 120 01 0 17 777775 DMOVE T1,RQRHLD ;GET THE INTERNAL LINE ID
1094 001164' 260 17 0 00 001036* CALL LIDPRT ;CONVERT IT TO PORT NUMBER
1095 001165' 254 00 0 00 013670' RETBAD(.NRILN) ;ERROR - FAIL
1096 001166' 202 01 0 17 777775 MOVEM T1,RQRHLD ;SAVE PORT NUMBER
1097 001167' 200 01 0 00 013677' MOVE T1,[POINT 8,T4] ;BUILD THE INITIAL "NICE" ACKNOWLEDGMENT
1098 001170' 201 03 0 00 000001 MOVEI T3,.NRSUC ;SHOW THAT WE LIKED THE REQUEST
1099 001171' 136 03 0 00 000001 IDPB T3,T1 ;PLACE INTO MESSAGE BLOCK
1100 001172' 201 02 0 00 000001 MOVEI T2,1 ;COUNT OF RESPONSES WE WILL SEND
1101 001173' 260 17 0 00 006333' CALL MAKTWO ;PLACE COUNT OF # RESPONSE MSG'S WE WILL SEND
1102 001174' 200 02 0 00 013677' MOVE T2,[POINT 8,T4] ;SEND INITIAL ACKNOWLEDMENT TO REQUESTOR
1103 001175' 211 03 0 00 000003 MOVNI T3,3 ;TWO BYTE MESSAGE
1104 001176' 200 01 0 14 000032 MOVE T1,REQLNK ;REQUESTOR LINK JFN
1105 001177' 104 00 0 00 000532 SOUTR ;SEND IT
1106 001200' 320 16 0 00 013656' ERJMP [RETBAD(.NRNPE)] ;ERROR - FAIL
1107 001201' 200 01 0 17 777775 MOVE T1,RQRHLD ;SAVE PORT NUMBER
1108 001202' 200 02 0 17 777774 MOVE T2,RQRBUF ;POINT TO NODE JSYS INFO
1109 001203' 260 17 0 00 001265' CALL PRTINF ;GET T1-T4 FILLED WITH INFO TO SEND
1110 001204' 263 17 0 00 000000 RETBAD ;ERROR - FAIL
1111 001205' 201 05 0 17 777764 MOVEI Q1,RLSMSG ;BUILD POINTER TO MESSAGE AREA
1112 001206' 505 05 0 00 441000 HRLI Q1,(POINT 8,)
1113 001207' 260 17 0 00 001332' CALL LSTBLD ;BUILD THE "NICE" MESSAGE
1114 001210' 263 17 0 00 000000 RETBAD ;ERROR - FAIL
1115 001211' 210 03 0 00 000002 MOVN T3,T2 ;LENGTH OF MESSAGE
1116 001212' 200 01 0 14 000032 MOVE T1,REQLNK ;SEND RESPONSE TO REQUESTOR
1117 001213' 201 02 0 17 777764 MOVEI T2,RLSMSG ;BUILD POINTER TO MESSAGE AREA
1118 001214' 505 02 0 00 441000 HRLI T2,(POINT 8,)
1119 001215' 104 00 0 00 000532 SOUTR ;SEND THE LINE STATUS INFORMATION
1120 001216' 320 16 0 00 013656' ERJMP [RETBAD(.NRNPE)] ;ERROR - FAIL
1121 001217' 254 00 0 00 001261' JRST RQLOUT ;DONE - EXIT
1122
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 25-1
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1123 ;...
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 26
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1124 ;...
1125
1126 ;HERE FOR A "LINE STATUS ALL" REQUEST
1127
1128 001220' 200 01 0 00 013677' RQRLAL: MOVE T1,[POINT 8,T4] ;BUILD THE INITIAL "NICE" ACKNOWLEDGMENT
1129 001221' 201 03 0 00 000001 MOVEI T3,.NRSUC ;SHOW THAT WE LIKED THE REQUEST
1130 001222' 136 03 0 00 000001 IDPB T3,T1 ;PLACE INTO MESSAGE BLOCK
1131 001223' 200 02 0 17 777774 MOVE T2,RQRBUF ;POINTER TO NODE JSYS INFO
1132 001224' 554 02 0 02 000000 HLRZ T2,.NDNLN(T2) ;GET PORT COUNT
1133 001225' 260 17 0 00 006333' CALL MAKTWO ;PLACE COUNT OF # RESPONSE MSG'S WE WILL SEND
1134 001226' 200 02 0 00 013677' MOVE T2,[POINT 8,T4] ;SEND INITIAL ACKNOWLEDMENT TO REQUESTOR
1135 001227' 211 03 0 00 000003 MOVNI T3,3 ;TWO BYTE MESSAGE
1136 001230' 200 01 0 14 000032 MOVE T1,REQLNK ;REQUESTOR LINK JFN
1137 001231' 104 00 0 00 000532 SOUTR ;SEND IT
1138 001232' 320 16 0 00 013656' ERJMP [RETBAD(.NRNPE)] ;ERROR - FAIL
1139 001233' 200 06 0 17 777774 MOVE Q2,RQRBUF ;POINT TO NODE INFORMATION
1140 001234' 554 01 0 06 000000 HLRZ T1,.NDNLN(Q2) ;GET COUNT OF AVAILABLE LINE ENTRIES
1141 001235' 350 00 0 00 000001 AOS T1 ;BUMP COUNT FOR AOBJP
1142 001236' 210 01 0 00 000001 MOVN T1,T1 ;CREATE AN AOBJP POINTER
1143 001237' 504 06 0 00 000001 HRL Q2,T1 ;...
1144 001240' 252 06 0 00 001261' RQRLOP: AOBJP Q2,RQLOUT ;END OF LOOP?
1145 001241' 200 01 0 06 000000 MOVE T1,0(Q2) ;NO - POINT TO LINE BLOCK
1146 001242' 200 01 0 01 000000 MOVE T1,.NDLNM(T1) ;GET PORT NUMBER
1147 001243' 200 02 0 17 777774 MOVE T2,RQRBUF ;GET PORT INFORMATION
1148 001244' 260 17 0 00 001265' CALL PRTINF ;GET ALL THE INFO OUT OF NODE JSYS BLOCK
1149 001245' 263 17 0 00 000000 RETBAD ;COULDN'T FIND PORT NUMBER (SHOULD NEVER HAPPEN)
1150 001246' 201 05 0 17 777764 MOVEI Q1,RLSMSG ;BUILD POINTER TO MESSAGE AREA
1151 001247' 505 05 0 00 441000 HRLI Q1,(POINT 8,)
1152 001250' 260 17 0 00 001332' CALL LSTBLD ;GO BUILD "NICE MESSAGE"
1153 001251' 263 17 0 00 000000 RETBAD ;ERROR IN BUILDING MESSAGE
1154 001252' 210 03 0 00 000002 MOVN T3,T2 ;MAKE BYTE COUNT NEGATIVE
1155 001253' 200 01 0 14 000032 MOVE T1,REQLNK ;SEND "NICE" MESSAGE TO REQUESTOR
1156 001254' 201 02 0 17 777764 MOVEI T2,RLSMSG ;BUILD POINTER TO MESSAGE AREA
1157 001255' 505 02 0 00 441000 HRLI T2,(POINT 8,)
1158 001256' 104 00 0 00 000532 SOUTR ;SEND RESPONSE
1159 001257' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)]
1160 001260' 254 00 0 00 001240' JRST RQRLOP ;GO SEE IF MORE RESPONSES NEEDED
1161 001261' 200 01 0 17 777774 RQLOUT: MOVE T1,RQRBUF ;FREE BUFFER PAGE
1162 001262' 260 17 0 00 000000* CALL RELPGA ;GO FREE IT
1163 001263' 263 17 0 00 000000 RETBAD ;ERROR - FAIL
1164 001264' 254 00 0 00 001131* RETSKP ;SUCCESS RETURN
1165
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 27
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1166
1167 ;PRTINF - GET PORT INFORMATION FROM NODE JSYS DATA
1168
1169 ;ACCEPTS: T1/PORT NUMBER
1170 ; T2/ADDRESS OF NODE JSYS BUFFER
1171
1172 ;RETURNS: +1,ERROR, WITH "NICE" ERROR CODE IN T1
1173 ; +2,OTHERWISE
1174 ; T1/ STATUS
1175 ; T2/ ASCIZ POINTER TO NODE NAME
1176 ; T3-4/ LINE-ID
1177
1178 001265' 265 16 0 00 000000* PRTINF: ACVAR <W1> ;GET A WORK REGISTER
1179 001266' 265 16 0 00 001141* STKVAR <<PRTBUF,20>>
1180 001267' 000020 000020
1181 001270' 200 05 0 00 000002 MOVE W1,T2 ;MOVE ADDRESS OF DATA AREA
1182 001271' 554 04 0 05 000000 HLRZ T4,.NDLNM(W1) ;GET COUNT OF KNOWN LINES
1183 001272' 322 04 0 00 001025* JUMPE T4,R ;ERROR OF NO KNOWN LINES
1184 001273' 201 05 0 05 000000 MOVEI W1,.NDLNM(W1) ;POINT TO PORT NUMBER BLOCK
1185 001274' 375 00 0 00 000004 PRTLOP: SOSGE T4 ;SKIP IF MORE ITEMS TO SEARCH
1186 001275' 254 00 0 00 013670' RETBAD (.NRILN) ;UNKNOWN PORT - ERROR
1187 001276' 350 00 0 00 000005 AOS W1 ;POINT TO NEXT ITEM
1188 001277' 200 03 0 05 000000 MOVE T3,(W1) ;GET THE PORT BLOCK NUMBER
1189 001300' 312 01 0 03 000000 CAME T1,.NDLNM(T3) ;OUR PORT?
1190 001301' 254 00 0 00 001274' JRST PRTLOP ;NO - KEEP LOOKING
1191 001302' 201 02 0 17 777757 MOVEI T2,PRTBUF ;WE WANT TO GET A DEVICE STRING
1192 001303' 202 01 0 02 000000 MOVEM T1,.BTPRT(T2) ;PUT PORT NUMBER IN DATA BLOCK
1193 001304' 561 01 0 02 000002 HRROI T1,.BTLID+1(T2) ;WHERE WE WANT MESSAGE BUILT
1194 001305' 202 01 0 02 000001 MOVEM T1,.BTLID(T2) ;INTO ARGUMENT BLOCK
1195 001306' 201 01 0 00 000015 MOVEI T1,.BTCPN ;TELL BOOT WE WANT CONVERSION
1196 001307' 104 00 0 00 000562 BOOT
1197 001310' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)]
1198 001311' 541 01 0 02 000002 HRRI T1,.BTLID+1(T2) ;GET POINTER TO DEVICE STRING
1199 001312' 505 01 0 00 440700 HRLI T1,(POINT 7,)
1200 001313' 260 17 0 00 001400' CALL ASCPRS ;CONVERT TO INTERNAL LINE-ID FORMAT
1201 001314' 263 17 0 00 000000 RETBAD
1202 001315' 200 05 0 05 000000 MOVE W1,(W1) ;POINT TO PORT BLOCK
1203 001316' 200 02 0 05 000001 MOVE T2,.NDLST(W1) ;GET STATUS AND CONVERT TO "NICE" CODE
1204 001317' 474 01 0 00 000000 SETO T1, ;Initialize to absurdly large value
1205 001320' 306 02 0 00 000001 CAIN T2,.NDLON ;Check for LINE ON
1206 001321' 201 01 0 00 000000 MOVEI T1,.LSTON ; Set NICE LINE ON code
1207 001322' 306 02 0 00 000002 CAIN T2,.NDLOF ;Check for LINE OFF
1208 001323' 201 01 0 00 000001 MOVEI T1,.LSTOF ; Set NICE LINE OFF
1209 001324' 306 02 0 00 000003 CAIN T2,.NDLCN ;Check for CONTROLLER LOOPBACK
1210 001325' 201 01 0 00 000005 MOVEI T1,.LSTCN ; Set NICE CONTROLLER LOOPBACK
1211 001326' 306 02 0 00 000004 CAIN T2,.NDLCB ;Check for CABLE LOOPBACK
1212 001327' 201 01 0 00 000006 MOVEI T1,.LSTCB ; Set NICE CABLE LOOPBACK
1213 001330' 200 02 0 05 000002 MOVE T2,.NDLND(W1) ;GET ASCIZ NODE NAME
1214 001331' 254 00 0 00 001264* RETSKP ;SUCCESS RETURN
1215
1216 ENDSV.
1217 ENDAV.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 28
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1218
1219 ;LSTBLD - BUILD A LINES STATUS "NICE" RESPONSE
1220
1221 ;ACCEPTS: T1/ STATUS
1222 ; T2/ POINTER TO NODE NAME
1223 ; T3-4/ LINE-ID
1224 ; Q1/ ADDRESS OF WHERE TO BUILD MESSAGE
1225
1226 ;RETURNS: +1,ERROR, WITH "NICE" ERROR CODE IN T1
1227 ; +2,OTHERWISE
1228 ; T1/UPDATED BYTE POINTER (FROM Q1)
1229 ; T2/COUNT OF BYTES IN MESSAGE
1230
1231 001332' 265 16 0 00 001140* LSTBLD: SAVEQ
1232 001333' 265 16 0 00 001266* STKVAR <<LSTLID,2>,<LSTHLD,2>>
1233 001334' 000004 000004
1234 001335' 402 00 0 00 000006 SETZM Q2 ;ZERO BYTE COUNT WORD
1235 001336' 124 01 0 17 777773 DMOVEM T1,LSTHLD ;SAVE THE PTR AND STATUS
1236 001337' 201 01 0 00 000005 MOVEI T1,.RDLST ;FUNCTION CODE FOR MESSAGE
1237 001340' 136 01 0 00 000005 IDPB T1,Q1 ;PLACE INTO MESSAGE
1238 001341' 350 00 0 00 000006 AOS Q2 ;BUMP BYTE COUNTER
1239
1240 ; HERE TO ADD INTERNAL LINE-ID TO "NICE" MESSAGE
1241
1242 001342' 120 01 0 00 000005 DMOVE T1,Q1 ;WHERE TO PUT THE "NICE" MESSAGE & COUNT
1243 001343' 260 17 0 00 005303' CALL MAKLIN ;PUT LINE ID INTO "NICE" MESSAGE
1244 001344' 120 05 0 00 000001 DMOVE Q1,T1 ;RESTORE MESSAGE POINTER AND COUNT
1245 001345' 120 03 0 17 777773 DMOVE T3,LSTHLD ;GET STATUS AND NAME BYTE POINTER
1246 001346' 136 03 0 00 000005 IDPB T3,Q1 ;PUT STATUS INTO BYTE
1247 001347' 350 00 0 00 000006 AOS Q2 ;BUMP BYTE COUNT
1248 001350' 400 03 0 00 000000 SETZ T3, ;PROTOCOL REQUIRES TWO ZERO BYTES HERE
1249 001351' 136 03 0 00 000005 IDPB T3,Q1 ;PUT IT INTO BYTE
1250 001352' 350 00 0 00 000006 AOS Q2 ;BUMP BYTE COUNT
1251 001353' 136 03 0 00 000005 IDPB T3,Q1 ;PUT IT INTO BYTE
1252 001354' 350 00 0 00 000006 AOS Q2 ;BUMP BYTE COUNT
1253 001355' 200 01 0 00 000005 MOVE T1,Q1 ;NOW PUT NAME INTO MESSAGE
1254 001356' 200 02 0 00 000004 MOVE T2,T4 ;SEE IF THIS LINE HAS A NAME
1255 001357' 134 03 0 00 000002 ILDB T3,T2 ;GET FIRST CHARACTER
1256 JUMPE T3,[ IDPB T3,T1 ;ZERO=NULL=NO NAME - PUT 0 COUNT IN MSG
1257 MOVEI T2,T1 ;SHOW COUNT ADDED
1258 001360' 322 03 0 00 013700' JRST LSTOUT] ;JOIN COMMON EXIT
1259 001361' 133 00 0 00 000001 IBP T1 ;POINT PAST IMAGE COUNT FOR NAME
1260 001362' 200 02 0 00 000004 MOVE T2,T4 ;POINT TO WHERE NODE NAME LIVES
1261 001363' 201 03 0 00 000006 MOVEI T3,6 ;MAXIMUM LENGTH OF MESSAGE
1262 001364' 400 04 0 00 000000 SETZ T4, ;IT'S AN ASCIZ STRING
1263 001365' 104 00 0 00 000053 SOUT ;MOVE THE STRING
1264 001366' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;ERROR - FAIL
1265 001367' 135 02 0 00 000002 LDB T2,T2 ;Get last character transfered
1266 001370' 306 02 0 00 000000 CAIN T2,0 ;Check for a zero byte
1267 001371' 350 00 0 00 000003 AOS T3 ;We don't want to count null
1268 001372' 201 02 0 00 000006 MOVEI T2,6 ;Compute bytes put into message
1269 001373' 274 02 0 00 000003 SUB T2,T3
1270 001374' 136 02 0 00 000005 IDPB T2,Q1 ;Place in message
1271 001375' 350 00 0 00 000002 AOS T2 ;Account for length field
1272 001376' 270 02 0 00 000006 LSTOUT: ADD T2,Q2 ;FINAL COUNT OF BYTES IN MESSAGE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 28-1
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1273 001377' 254 00 0 00 001331* RETSKP
1274
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 29
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1275 ;ASCPRS - ROUTINE TO PARSE AN ASCIZ LINE ID
1276 ;
1277 ;ACCEPTS IN T1/ POINTER TO ASCIZ NAME
1278 ; CALL ASCPRS
1279
1280 ;RETURNS: +1,ERROR, WITH "NICE" ERROR CODE IN T1
1281 ; +2 SUCCESS, WITH T3-T4/ LINE ID
1282
1283 ;**N.B. ASCIZ STRING GETS DESTROYED
1284
1285
1286 001400' 265 16 0 00 001333* ASCPRS: STKVAR <PRSLDV,PRSCTL,PRSUNT,PRSSTN>
1287 001401' 000004 000004
1288
1289 001402' 402 00 0 17 777775 SETZM PRSCTL ;CONTROLLERE NUMBER WILL GO HERE
1290 001403' 402 00 0 17 777774 SETZM PRSUNT ;;UNIT NUMBER HERE
1291 001404' 402 00 0 17 777776 SETZM PRSLDV ;DEVICE NUMBER HERE
1292 001405' 402 00 0 17 777773 SETZM PRSSTN ;STATION NUMBER HERE
1293
1294 ; PARSE DEVICE TYPE
1295
1296 001406' 200 04 0 00 000001 MOVE T4,T1 ;SAVE THE STRING POINTER
1297 001407' 211 03 0 00 000017 MOVNI T3,^D15 ;SAFETY CHECK - AT MOST 15 CHARS
1298 001410' 514 03 0 00 000003 HRLZ T3,T3 ;MAKE AOBJN POINTER
1299 001411' 134 02 0 00 000001 FNDUDR: ILDB T2,T1 ;GET THE CHARACTER
1300 001412' 306 02 0 00 000137 CAIN T2,"_" ;IS IT AN UNDERSCORE
1301 001413' 254 00 0 00 001416' JRST PRSFND ;YES - HANDLE
1302 001414' 253 03 0 00 001411' AOBJN T3,FNDUDR ;KEEP LOOKING
1303 001415' 254 00 0 00 013650' RETBAD (.NRNPE) ;NOT FOUND - ERROR
1304 001416' 400 02 0 00 000000 PRSFND: SETZ T2, ;ZERO BYTE FOR TBLUK
1305 001417' 137 02 0 00 000001 DPB T2,T1
1306 001420' 200 02 0 00 000004 MOVE T2,T4 ;SET UP STRING POINTER FOR TBLUK
1307 001421' 202 01 0 00 000004 MOVEM T1,T4 ;SAVE POINTER
1308 001422' 201 01 0 00 010633' MOVEI T1,LINNAM ;POINT TO TABLE OF NAMES
1309 001423' 104 00 0 00 000537 TBLUK ;FIND NAME
1310 001424' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;ERROR - RETURN
1311 001425' 607 02 0 00 140000 TXNN T2,TL%EXM+TL%ABR ;MATCH?
1312 001426' 254 00 0 00 013650' RETBAD (.NRNPE) ;NO
1313 001427' 550 02 0 01 000000 HRRZ T2,0(T1) ;YES - GET THE FUNCTION CODE
1314 001430' 202 02 0 17 777776 MOVEM T2,PRSLDV ;AND SAVE
1315 001431' 200 01 0 00 000004 MOVE T1,T4 ;GET STRING POINTING TO CONTROLLER NUMBER
1316 001432' 260 17 0 00 001457' CALL CVTNUM ;CONVERT CONTROLLER NUMBER
1317 001433' 263 17 0 00 000000 RETBAD ;ERROR
1318 001434' 202 02 0 17 777775 MOVEM T2,PRSCTL ;SAVE
1319 001435' 260 17 0 00 001465' CALL PRSEND ;ANY MORE?
1320 001436' 254 00 0 00 001452' JRST PRSBLD ;NO - BUILD MESSAGE
1321 001437' 260 17 0 00 001457' CALL CVTNUM ;CONVERT UNIT NUMBER
1322 001440' 263 17 0 00 000000 RETBAD ;ERROR
1323 001441' 202 02 0 17 777774 MOVEM T2,PRSUNT ;SAVE
1324 001442' 260 17 0 00 001465' CALL PRSEND ;ANY MORE?
1325 001443' 254 00 0 00 001452' JRST PRSBLD ;NO - BUILD MESSAGE
1326 001444' 260 17 0 00 001457' CALL CVTNUM ;CONVERT STATION NUMBER
1327 001445' 263 17 0 00 000000 RETBAD ;ERROR
1328 001446' 202 02 0 17 777773 MOVEM T2,PRSSTN ;SAVE
1329 001447' 260 17 0 00 001465' CALL PRSEND ;ANY MORE?
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 29-1
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1330 001450' 254 00 0 00 001452' JRST PRSBLD ;NO - BUILD MESSAGE
1331 001451' 263 17 0 00 000000 RETBAD ;ERROR - RETURN
1332 001452' 504 03 0 17 777776 PRSBLD: HRL T3,PRSLDV ;GET DEVICE IDENTIFIER
1333 001453' 540 03 0 17 777775 HRR T3,PRSCTL ;CONTROLLER NUMBER
1334 001454' 504 04 0 17 777774 HRL T4,PRSUNT ;UNIT NUMBER
1335 001455' 540 04 0 17 777773 HRR T4,PRSSTN ;STATION NUMBER
1336 001456' 254 00 0 00 001377* RETSKP
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 30
NCU MAC 6-Oct-81 12:41 NICE PROCESS -- Read Information -- Line Status
1337
1338 ;CVTNUM - MAKE AN ASCII CHARACTER INTO A NUMBER
1339
1340 ;ACCEPTS: T1/POINTER TO THE STRING
1341
1342 ;RETURNS: +1,ERROR - NOT NUMERIC
1343 ; +2,SUCCESS - T2/NUMBER
1344
1345 001457' 134 02 0 00 000001 CVTNUM: ILDB T2,T1 ;GET THE CHARACTER
1346 001460' 275 02 0 00 000060 SUBI T2,60 ;STRIP THE ASCII BITS
1347 001461' 307 02 0 00 000010 CAIG T2,10 ;CHECK RANGE
1348 001462' 335 00 0 00 000002 SKIPGE T2
1349 001463' 263 17 0 00 000000 RET ;NOT A LEGAL NUMBER
1350 001464' 254 00 0 00 001456* RETSKP ;A NUMBER
1351
1352 ;PRSEND - LOAD BYTE AND CHECK FOR IT BEING ZERO
1353
1354 ;ACCEPTS: T1/BYTE POINTER
1355
1356 ;RETURNS: +1,BYTE WAS ZERO - T1/UPDATED
1357 ; +2,BYTE NOT ZERO - T1/UPDATED
1358
1359 001465' 134 02 0 00 000001 PRSEND: ILDB T2,T1 ;GET THE BYTE
1360 001466' 336 00 0 00 000002 SKIPN T2 ;SKIP IF ZERO
1361 001467' 263 17 0 00 000000 RET ;ZERO
1362 001470' 254 00 0 00 001464* RETSKP ;NOT ZERO
1363
1364
1365 ; DISPATCH ON OPTION REQUESTED
1366
1367 001471' 260 17 0 00 004340' REQSET: CALL GETFCN ;GET NICE PROTOCOL FUNCTION CODE
1368 001472' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
1369 001473' 260 17 0 00 004344' CALL GETOPT ;GET NICE PROTOCOL OPTION CODE
1370 001474' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
1371 001475' 301 04 0 00 000015 CAIL T4,RSTLEN ;WITHIN RANGE ?
1372 001476' 254 00 0 00 013540' RETBAD (.NRFNC) ;NO, INVALID OPTION
1373 001477' 254 00 1 04 001500' CALLRET @RSTTAB(T4) ;DISPATCH BASED ON ITEM REQUESTED
1374
1375 ; DISPATCH TABLE FOR SET PARAMETER FUNCTION
1376
1377 001500' 000000 013703' RSTTAB: [RETBAD (.NRFNC)] ;DEFAULT HOST
1378 001501' 000000 013703' [RETBAD (.NRFNC)] ;RECEIVE ACCESS PASSWORD
1379 001502' 000000 013703' [RETBAD (.NRFNC)] ;TRANSMIT ACCESS PASSWORD
1380 001503' 000000 013703' [RETBAD (.NRFNC)] ;LOCAL LOOPBACK
1381 001504' 000000 013703' [RETBAD (.NRFNC)] ;NODE STATE
1382 001505' 000000 013703' [RETBAD (.NRFNC)] ;NODE OPERATOR LOGGING STATE
1383 001506' 000000 013703' [RETBAD (.NRFNC)] ;NODE MAINTENANCE LOGGING STATE
1384 001507' 000000 013703' [RETBAD (.NRFNC)] ;ILLEGAL ????
1385 001510' 000000 001515' LINSTA ;LINE STATE
1386 001511' 000000 013703' [RETBAD (.NRFNC)] ;LINE OPERATOR LOGGING STATE
1387 001512' 000000 013703' [RETBAD (.NRFNC)] ;LINE MAINTENANCE LOGGING STATE
1388 001513' 000000 013703' [RETBAD (.NRFNC)] ;DEFAULT RECEIVE ACCESS PASSWORD
1389 001514' 000000 013703' [RETBAD (.NRFNC)] ;DEFAULT TRANSMIT ACCESS PASSWORD
1390
1391 000015 RSTLEN==.-RSTTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 31
NCU MAC 6-Oct-81 12:41 NICE Process -- Set Parameter -- Line State
1392 SUBTTL NICE Process -- Set Parameter -- Line State
1393
1394 001515' 265 16 0 00 001400* LINSTA: STKVAR <<LSTLIN,2>,LSTPRT>
1395 001516' 000003 000003
1396 001517' 260 17 0 00 004560' CALL GETLIN ;GET LINE IDENTIFICATION
1397 001520' 263 17 0 00 000000 RETBAD () ;FAILED, INVALID LINE ID
1398 001521' 124 03 0 17 777775 DMOVEM T3,LSTLIN ;SAVE LINE ID
1399 001522' 375 00 0 00 000002 SOSGE T2 ;STILL ONE MORE BYTE LEFT ?
1400 001523' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
1401 001524' 134 01 0 00 000001 ILDB T1,T1 ;GET ANOTHER BYTE
1402 001525' 200 02 0 00 013704' MOVX T2,LSTTAB ;GET ADDRESS OF DISPATCH TABLE
1403 001526' 201 03 0 00 000005 MOVX T3,LSTLEN ;GET LENGTH OF DISPATCH TABLE
1404 001527' 260 17 0 00 000000* CALL FNDDSP ;FIND ENTRY IN DISPATCH TABLE
1405 001530' 254 00 0 00 013705' RETBAD (.NRILS) ;FAILED, INVALID LINE STATE
1406 001531' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROCESSING ROUTINE
1407
1408
1409 001532' 000000 001537' LSTTAB: .LSTON,,LSTON
1410 001533' 000001 001560' .LSTOF,,LSTOFF
1411 001534' 000004 001577' .LSTMN,,LSTMNT
1412 001535' 000005 001600' .LSTCN,,LSTCTL
1413 001536' 000006 001606' .LSTCB,,LSTCBL
1414
1415 000005 LSTLEN==.-LSTTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 32
NCU MAC 6-Oct-81 12:41 NICE Process -- Set Parameter -- Line State
1416 ; ROUTINES TO SET A LINE STATE
1417
1418 001537' 260 17 0 00 010452' LSTON: CALL CLRBOT ;CLEAR BOOT JSYS ARG BLOCK
1419 001540' 120 01 0 17 777775 DMOVE T1,LSTLIN ;GET LINE ID
1420 001541' 260 17 0 00 001164* CALL LIDPRT ;CONVERT LINE ID TO PORT NUMBER
1421 001542' 263 17 0 00 000000 RETBAD () ;FAILED
1422 001543' 202 01 0 17 777774 MOVEM T1,LSTPRT ;SAVE PORT NUMBER
1423 001544' 476 00 0 00 000004 SETOM T4 ;SET FLAG NOTING VALID DEVICE NOT YET FOUND
1424 001545' 554 01 0 17 777775 HLRZ T1,LSTLIN ;GET DEVICE TYPE FOR THIS LINE
1425 001546' 306 01 0 00 000024 CAIN T1,.DTDTE ;IS IT A DTE20 ?
1426 001547' 201 04 0 00 000001 MOVX T4,.VNMCB ;YES, USE NSP
1427 001550' 306 01 0 00 000034 CAIN T1,.DTKDP ;IS IT A KMC/DUP ?
1428 001551' 201 04 0 00 000002 MOVX T4,.VNDDC ;YES, USE DDCMP
1429 001552' 321 04 0 00 001272* JUMPL T4,R ;FAIL IF NO VALID DEVICE TYPE FOUND
1430 001553' 200 01 0 17 777774 MOVE T1,LSTPRT ;GET PORT NUMBER
1431 001554' 200 02 0 00 000004 MOVE T2,T4 ;GET PROTOCOL VERSION NUMBER
1432 001555' 260 17 0 00 001614' CALL SETLIN ;GO SET LINE STATE
1433 001556' 263 17 0 00 000000 RETBAD () ;FAILED
1434 001557' 254 00 0 00 001470* RETSKP ;DONE, RETURN SUCCESS
1435
1436 001560' 260 17 0 00 010452' LSTOFF: CALL CLRBOT ;CLEAR BOOT JSYS ARG BLOCK
1437 001561' 120 01 0 17 777775 DMOVE T1,LSTLIN ;GET LINE ID
1438 001562' 260 17 0 00 001541* CALL LIDPRT ;CONVERT LINE ID TO PORT NUMBER
1439 001563' 263 17 0 00 000000 RETBAD () ;FAILED
1440 001564' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK
1441 001565' 202 01 0 02 000000 MOVEM T1,.BTDTE(T2) ;SAVE PORT NUMBER
1442 001566' 201 01 0 00 000005 MOVX T1,.BTTPR ;GET "TERMINATE PROTOCOL" FUNCTION
1443 001567' 104 00 0 00 000562 BOOT ;TURN THE LINE OFF
1444 001570' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
1445 001571' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
1446 001572' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET POINTER TO SUCCESS CODE
1447 001573' 211 03 0 00 000001 MOVNI T3,1 ;RETURN CODE IS A SINGLE BYTE
1448 001574' 104 00 0 00 000532 SOUTR ;SEND BACK THE RETURN CODE
1449 001575' 320 16 0 00 001557* ERJMP RSKP ;IF FAILED, NOTHING ELSE TO DO
1450 001576' 254 00 0 00 001575* RETSKP ;DONE
1451
1452 001577' 254 00 0 00 013540' LSTMNT: RETBAD (.NRFNC)
1453
1454 001600' 260 17 0 00 010452' LSTCTL: CALL CLRBOT ;CLEAR BOOT JSYS ARG BLOCK
1455 001601' 120 01 0 17 777775 DMOVE T1,LSTLIN ;GET LINE ID
1456 001602' 260 17 0 00 001562* CALL LIDPRT ;CONVERT LINE ID TO PORT NUMBER
1457 001603' 263 17 0 00 000000 RETBAD () ;FAILED
1458 001604' 201 02 0 00 000004 MOVX T2,.VNCNL ;GET PROTOCOL VERSION FOR CONTROLLER LOOPBACK
1459 001605' 254 00 0 00 001614' CALLRET SETLIN ;GO SET LINE STATE
1460
1461 001606' 260 17 0 00 010452' LSTCBL: CALL CLRBOT ;CLEAR BOOT JSYS ARG BLOCK
1462 001607' 120 01 0 17 777775 DMOVE T1,LSTLIN ;GET LINE ID
1463 001610' 260 17 0 00 001602* CALL LIDPRT ;CONVERT LINE ID TO PORT NUMBER
1464 001611' 263 17 0 00 000000 RETBAD () ;FAILED
1465 001612' 201 02 0 00 000005 MOVX T2,.VNCBL ;GET PROTOCOL VERSION FOR CABLE LOOPBACK
1466 001613' 254 00 0 00 001614' CALLRET SETLIN ;GO SET LINE STATE
1467
1468
1469 ; SETLIN - ROUTINE TO SET A LINE ON OR IN LOOPBACK
1470 ;
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 32-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Set Parameter -- Line State
1471 ;ACCEPTS IN T1/ PORT NUMBER
1472 ; T2/ PROTOCOL VERSION NUMBER
1473 ; CALL SETLIN
1474 ;RETURNS: +1 FAILED
1475 ; +2 SUCCESS, LINE STATE SET
1476
1477 001614' 201 04 0 14 003234 SETLIN: MOVEI T4,BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK
1478 001615' 202 01 0 04 000000 MOVEM T1,.BTDTE(T4) ;SAVE PORT NUMBER
1479 001616' 202 02 0 04 000001 MOVEM T2,.BTPRV(T4) ;SAVE PROTOCOL VERSION NUMBER
1480 001617' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK AGAIN
1481 001620' 201 01 0 00 000004 MOVX T1,.BTIPR ;GET "INITIATE PROTOCOL" FUNCTION
1482 001621' 104 00 0 00 000562 BOOT ;TURN THE LINE ON
1483 001622' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
1484 001623' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
1485 001624' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET POINTER TO SUCCESS CODE
1486 001625' 211 03 0 00 000001 MOVNI T3,1 ;RETURN CODE IS A SINGLE BYTE
1487 001626' 104 00 0 00 000532 SOUTR ;SEND BACK THE RETURN CODE
1488 001627' 320 16 0 00 001576* ERJMP RSKP ;IF FAILED, NOTHING ELSE TO DO
1489 001630' 254 00 0 00 001627* RETSKP ;DONE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 33
NCU MAC 6-Oct-81 12:41 NICE Process -- Zero Line Counters
1490 SUBTTL NICE Process -- Zero Line Counters
1491
1492 001631' 260 17 0 00 004340' REQZRO: CALL GETFCN ;GET FUNCTION CODE
1493 001632' 254 00 0 00 013542' RETBAD (.NRIMF) ;"INVALID MESSAGE FORMAT"
1494 001633' 260 17 0 00 005167' CALL GETEXB ;GET OPTION FIELD
1495 001634' 263 17 0 00 000000 RETBAD () ;FAILED
1496 001635' 302 04 0 00 000002 CAIE T4,.NCZLN ;ASKING FOR LINE COUNTS
1497 001636' 254 00 0 00 013540' RETBAD (.NRFNC) ;"INVALID FUNCTION"
1498 001637' 260 17 0 00 004560' CALL GETLIN ;GET LINE-ID FROM MESSAGE
1499 001640' 263 17 0 00 000000 RETBAD () ;FAILED
1500 001641' 321 03 0 00 001037' JUMPL T3,NRILN ;IN CASE WANTS ALL
1501 001642' 265 16 0 00 001515* STKVAR <<ZROLID,2>,<ZROBLK,40>>
1502 001643' 000042 000042
1503 001644' 124 03 0 17 777775 DMOVEM T3,ZROLID ;SAVE LINE ID
1504 001645' 120 01 0 00 000003 DMOVE T1,T3 ;COPY LINE-ID TO RIGHT REGISTER
1505 001646' 260 17 0 00 001610* CALL LIDPRT ;CONVERT LINE-ID TO PORT
1506 001647' 254 00 0 00 001037' JRST NRILN ;LOSE
1507 001650' 505 01 0 00 400000 HRLI T1,(BT%ZRO) ;FLAG TO ZERO COUNTERS
1508 001651' 202 01 0 17 777735 MOVEM T1,.BTPRT+ZROBLK ;PUT PORT IN ARGUMENT BLOCK
1509 001652' 201 01 0 00 000020 MOVEI T1,20 ;MAXIMUM NUMBER OF COUNTERS
1510 001653' 201 02 0 17 777755 MOVEI T2,20+ZROBLK ;WHERE TO PUT FIRST COUNTERS
1511 001654' 505 02 0 00 444400 HRLI T2,444400 ;MAKE INTO POINTER
1512 001655' 124 01 0 17 777737 DMOVEM T1,.BTSCC+ZROBLK ;STATUS COUNTERS
1513 001656' 124 01 0 17 777741 DMOVEM T1,.BTRCC+ZROBLK ;RECEIVE COUNTERS
1514 001657' 124 01 0 17 777743 DMOVEM T1,.BTTCC+ZROBLK ;TRANSMIT COUNTERS
1515 001660' 201 01 0 00 000013 MOVEI T1,.BTRLC ;WANT LINE COUNTERS
1516 001661' 201 02 0 17 777735 MOVEI T2,ZROBLK ;ADDRESS OF ARGUMENT BLOCK
1517 001662' 104 00 0 00 000562 BOOT
1518 001663' 320 16 0 00 001037' ERJMP NRILN ;WHY ?
1519 001664' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
1520 001665' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE(8).NRSUC]]
1521 001666' 211 03 0 00 000001 MOVNI T3,1 ;NUMBER OF BYTES IN MESSAGE
1522 001667' 104 00 0 00 000532 SOUTR ;SEND RESPONSE
1523 001670' 320 16 0 00 001630* ERJMP RSKP ;IF FAILED NOTHING ELSE TO DO
1524 001671' 254 00 0 00 001670* RETSKP ;WON
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 34
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1525 SUBTTL NICE Process -- Line Service Handler
1526
1527 ;LINSRV - ROUTINE TO PROCESS REQUESTS FOR LINE SERVICE
1528 ;
1529 ;ACCEPTS IN T1/ POINTER TO NICE LINE SERVICE REQUEST MESSAGE
1530 ; T2/ NUMBER OF BYTES IN THE NICE MESSAGE
1531 ; CALL LINSRV
1532 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1533 ; +2 SUCCESS, FUNCTION PERFORMED
1534
1535 001672' 265 16 0 00 000713* REQLSV: ASUBR <LSVPTR,LSVCNT>
1536 001673' 265 16 0 00 001642* STKVAR <LSVOPT,LSVDTE,LSVLTB,LSVCOD>
1537 001674' 000004 000004
1538 001675' 275 02 0 00 000002 SUBI T2,2 ;ACCOUNT FOR FUNCTION AND OPTION BITS
1539 001676' 321 02 0 00 013707' JUMPL T2,[RETBAD (.NRIMF)] ;MAKE SURE ENOUGH BYTES LEFT IN MESSAGE
1540 001677' 133 00 0 00 000001 IBP T1 ;SKIP OVER THE NICE FUNCTION CODE
1541 001700' 134 04 0 00 000001 ILDB T4,T1 ;GET OPTION BYTE FROM THE MESSAGE
1542 001701' 202 04 0 17 777776 MOVEM T4,LSVOPT ;SAVE OPTION BYTE
1543
1544 ; GET THE LINE ID FROM THE MESSAGE AND SET UP LINE TABLE
1545
1546 001702' 260 17 0 00 004560' CALL GETLIN ;GO GET THE LINE ID
1547 001703' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR CODE TO CALLER
1548 001704' 202 01 0 15 000001 MOVEM T1,LSVPTR ;SAVE POINTER TO NEXT FIELD IN MESSAGE
1549 001705' 202 02 0 15 000002 MOVEM T2,LSVCNT ;SAVE # OF BYTES REMAINING IN THE MESSAGE
1550 001706' 260 17 0 00 010464' CALL CHKLIN ;GO CHECK LINE ID AND GET DTE20 NUMBER
1551 001707' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1552 001710' 202 01 0 17 777775 MOVEM T1,LSVDTE ;SAVE DTE20 NUMBER
1553 001711' 221 01 0 00 000010 IMULI T1,LTBSIZ ;COMPUTE STARTING ADDRESS OF LINE
1554 001712' 201 01 0 01 011046' MOVEI T1,LINTAB(T1) ; TABLE FOR THIS LINE
1555 001713' 202 01 0 17 777774 MOVEM T1,LSVLTB ;SAVE LINE TABLE ADDRESS
1556 001714' 200 02 0 17 777775 MOVE T2,LSVDTE ;GET DTE20 NUMBER
1557 001715' 506 02 0 01 000004 STOR T2,LNDTE,(T1) ;STORE DTE20 IN LINE TABLE
1558 001716' 260 17 0 00 001146* CALL ASGPAG ;GET A PAGE TO USE FOR DATA
1559 001717' 254 00 0 00 013675' RETBAD (.NRRES) ;RETURN "RESOURCE ERROR" RETURN CODE
1560 001720' 200 04 0 17 777774 MOVE T4,LSVLTB ;GET LINE TABLE ADDRESS
1561 001721' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO MESSAGE AREA
1562 001722' 202 02 0 04 000006 STOR T2,LNMSG,(T4) ;SAVE POINTER TO MESSAGE AREA IN LINE TABLE
1563 001723' 201 16 0 04 000000 ACLOCK (T4) ;LOCK THIS LINE TABLE (ADDRESS IN T4)
1564 001724' 260 17 0 00 000000*
1565 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 35
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1566 ; ..
1567
1568 ; LOOP OVER LINE SERVICE TABLE LOOKING FOR THE REQUESTED OPTION
1569
1570 001725' 200 03 0 00 013710' MOVE T3,[-LSVSIZ,,LSVTAB] ;SET UP TOO LOOP THROUGH LINE SERVICE TABLE
1571 001726' 200 04 0 17 777776 MOVE T4,LSVOPT ;RESTORE OPTION REQUESTED
1572 001727' 554 01 0 03 000000 LSV010: HLRZ T1,(T3) ;GET OPTION FROM TABLE
1573 001730' 316 01 0 00 000004 CAMN T1,T4 ;FOUND DESIRED OPTION ?
1574 001731' 254 00 0 00 001735' JRST LSV020 ;YES, GO DISPATCH TO SERVICE ROUTINE
1575 001732' 253 03 0 00 001727' AOBJN T3,LSV010 ;LOOP OVER LINE SERVICE TABLE
1576 001733' 561 01 0 00 777777 MOVX T1,.NRFNC ;FAILED, GET "INVALID OPTION" NICE RETURN CODE
1577 001734' 254 00 0 00 001746' JRST LSVERR ;GO RELEASE FREE SPACE AND RETURN
1578
1579 ; HERE TO DISPATCH TO SERVICE ROUTINE
1580
1581 001735' 201 01 0 00 400000 LSV020: MOVEI T1,.FHSLF ; Before dispatch point to this process
1582 001736' 201 02 0 00 000102 MOVEI T2,0102 ; and put it into scheduler Q1
1583 001737' 104 00 0 00 000243 SPRIW
1584
1585 001740' 402 00 0 17 777773 SETZM LSVCOD ;INITIALIZE ERROR FLAG
1586 001741' 550 04 0 03 000000 HRRZ T4,(T3) ;GET SERVICE ROUTINE ADDRESS
1587 001742' 200 03 0 17 777774 MOVE T3,LSVLTB ;GET ADDRESS OF LINE TABLE
1588 001743' 200 02 0 15 000002 MOVE T2,LSVCNT ;GET NUMBER OF BYTES LEFT IN MESSAGE
1589 001744' 200 01 0 15 000001 MOVE T1,LSVPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
1590 001745' 260 17 0 04 000000 CALL (T4) ;GO HANDLE REQUESTED FUNCTION
1591 001746' 202 01 0 17 777773 LSVERR: MOVEM T1,LSVCOD ;SAVE ERROR CODE
1592 001747' 200 04 0 17 777774 MOVE T4,LSVLTB ;GET LINE TABLE ADDRESS
1593 001750' 201 16 0 04 000000 ACUNLOCK (T4) ;UNLOCK THE LINE TABLE
1594 001751' 260 17 0 00 000427*
1595 001752' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET ADDRESS OF MESSAGE AREA
1596 001753' 550 01 0 00 000001 HRRZ T1,T1 ;KEEP JUST THE ADDRESS
1597 001754' 260 17 0 00 001262* CALL RELPGA ;RELEASE FREE PAGE
1598 001755' 254 00 0 00 013675' RETBAD (.NRRES) ;RETURN "RESOURCE ERROR" RETURN CODE
1599 001756' 336 01 0 17 777773 SKIPN T1,LSVCOD ;ANY ERROR ?
1600 001757' 254 00 0 00 001671* RETSKP ;NO, SUCCESS, DONE.
1601 001760' 263 17 0 00 000000 RETBAD () ;YES, RETURN ERROR CODE
1602
1603
1604
1605 001761' 000000 001765' LSVTAB: .LSLOD,,LSLOD ;INITIATE A LOAD DIALOG
1606 001762' 000002 002551' .LSDMP,,LSDMP ;INITIATE A DUMP DIALOG
1607 001763' 000004 002360' .LSTBT,,LSTBT ;TRIGGER BOOTSTRAP, NO PROGRAM DATA
1608 001764' 000003 002361' .LSTBP,,LSTBP ;TRIGGER BOOTSTRAP, RETURN PROGRAM DATA
1609
1610 000004 LSVSIZ==.-LSVTAB ;SIZE OF LINE SERVICE DISPATCH TABLE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 36
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1611 ;LSLOD - LINE SERVICE ROUTINE TO INITIATE A DOWN-LINE LOAD DIALOG
1612 ;
1613 ;ACCEPTS IN T1/ POINTER TO PARAMETERS IN NICE LINE SERVICE MESSAGE
1614 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
1615 ; T3/ ADDRESS OF LINE TABLE FOR THIS OPERATION
1616 ; CALL LSLOD
1617 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1618 ; +2 SUCCESS, DIALOG INITIATED
1619
1620 001765' 265 16 0 00 001672* LSLOD: ASUBR <LSLPTR,LSLCNT,LSLLIN,LSLPGM>
1621
1622 ; GET AND CHECK THE PROGRAM TYPE BEING LOADED
1623
1624 001766' 366 02 0 00 013707' SOJN T2,[RETBAD (.NRIMF)] ;FAIL IF NOT EXACTLY ONE BYTE LEFT IN MESSAGE
1625 001767' 134 03 0 00 000001 ILDB T3,T1 ;GET THE PROGRAM TYPE FROM THE MESSAGE
1626 001770' 202 03 0 15 000004 MOVEM T3,LSLPGM ;SAVE PROGRAM TYPE
1627 001771' 301 03 0 00 000000 CAIL T3,.PTSLD ;A VALID PROGRAM TYPE
1628 001772' 303 03 0 00 000002 CAILE T3,.PTOPS ; BEING LOADED ?
1629 001773' 254 00 0 00 013711' RETBAD (.NRIPV) ;NO, RETURN "INVALID PARAMETER VALUE"
1630 001774' 200 04 0 15 000003 MOVE T4,LSLLIN ;GET ADDRESS OF LINE TABLE
1631 001775' 506 03 0 04 000002 STOR T3,LNPGM,(T4) ;SAVE TYPE OF PROGRAM BEING LOADED
1632 001776' 205 16 0 00 000377 SETZRO LNLDN,(T4) ;INITIALIZE FIRST LOAD NUMBER TO USE
1633 001777' 412 16 0 04 000001
1634 002000' 200 01 0 14 000032 MOVE T1,REQLNK ;YES, GET LOGICAL LINK TO REQUESTOR
1635 002001' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET POINTER TO SUCCESS RETURN CODE
1636 002002' 211 03 0 00 000001 MOVNI T3,1 ;RESPONSE MESSAGE IS ONE BYTE RETURN CODE
1637 002003' 104 00 0 00 000532 SOUTR ;OUTPUT THE RETURN CODE
1638 002004' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
1639 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 37
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1640 ; ..
1641
1642 ; DIALOG MESSAGE LOOP. THE BASIC SEQUENCE OF OPERATIONS IS TO RECEIVE
1643 ; A NICE LINE SERVICE DIALOG MESSAGE FROM THE REQUESTING TASK, AND THEN
1644 ; TO PERFORM THE SPECIFIED OPERATION. THIS IS REPEATED UNTIL THE DIALOG
1645 ; MESSAGE RECEIVED IS "END-OF-DIALOG", AT WHICH TIME THE LINE SERVICE
1646 ; OPERATION IS COMPLETE AND CONTROL RETURNS TO THE NICE DISPATCHER.
1647
1648
1649 ; WAIT FOR A DIALOG MESSAGE FROM THE REQUESTOR
1650
1651 002005' 260 17 0 00 010457' LSLOD1: CALL CLRMSG ;GO CLEAR THE MESSAGE AREA
1652 002006' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN)
1653 002007' 201 02 0 14 000033 MOVEI T2,MSGBLK ;GET ADDRESS OF MESSAGE BLOCK
1654 002010' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO WHERE MESSAGE IS TO GO
1655 002011' 211 03 0 00 014000 MOVNI T3,MSGSIZ*BPWRD ;GET MAX NUMBER OF BYTES
1656 002012' 104 00 0 00 000531 SINR ;WAIT FOR A DIALOG MESSAGE FROM REQUESTOR
1657 002013' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
1658
1659 ; DISPATCH BASED ON TYPE OF DIALOG MESSAGE RECEIVED
1660
1661 002014' 201 02 0 03 014000 MOVEI T2,MSGSIZ*BPWRD(T3) ;GET NUMBER OF BYTES IN THE MESSAGE
1662 002015' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
1663 002016' 375 00 0 00 000002 SOSGE T2 ;AT LEAST ONE BYTE IN THE DIALOG MESSAGE ?
1664 002017' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
1665 002020' 134 04 0 00 000001 ILDB T4,T1 ;GET TYPE CODE FROM MESSAGE
1666 002021' 301 04 0 00 000000 CAIL T4,.LMEND ;IS THIS A VALID DIALOG
1667 002022' 303 04 0 00 000003 CAILE T4,.LMXFR ; MESSAGE TYPE CODE ?
1668 002023' 254 00 0 00 013540' RETBAD (.NRFNC) ;NO, RETURN "INVALID FUNCTION" ERROR
1669 002024' 200 03 0 15 000003 MOVE T3,LSLLIN ;GET ADDRESS OF LINE TABLE
1670 002025' 260 17 1 04 002032' CALL @DLGTAB(T4) ;YES, DISPATCH TO PROCESSING ROUTINE
1671 JRST [ CALL SNDEND ;FAILED, GO SEND END-OF-DIALOG MESSAGE
1672 002026' 254 00 0 00 013713' RETSKP ] ;DONE, RETURN
1673 002027' 332 00 0 00 000001 SKIPE T1 ;ARE WE STILL IN THE LOAD DIALOG ?
1674 002030' 254 00 0 00 001757* RETSKP ;NO, LOAD COMPLETE, RETURN SUCCESS
1675 002031' 254 00 0 00 002005' JRST LSLOD1 ;SUCCESS, WAIT FOR NEXT DIALOG MESSAGE
1676
1677 ; TABLE OF DIALOG MESSAGE SERVICE ROUTINES
1678
1679 002032' 000000000000# DLGTAB: RSKP ; 0 END OF DIALOG
1680 002033' 000000 002036' DIABAS ; 1 SET BASE ADDRESS
1681 002034' 000000 002047' DIAMEM ; 2 MEMORY IMAGE DATA
1682 002035' 000000 002110' DIAXFR ; 3 PARAMETERS AND TRANSFER ADDRESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 38
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1683 ;DIABAS - SET BASE ADDRESS DIALOG MESSAGE RECEIVED
1684 ;
1685 ;ACCEPTS IN T1/ POINTER TO DIALOG DATA (BASE ADDRESS)
1686 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
1687 ; T3/ ADDRESS OF LINE TABLE
1688 ; CALL DIABAS
1689 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1690 ; +2 SUCCESS, BASE ADDRESS FOR NEXT LOAD IMAGE SET
1691
1692 002036' 265 16 0 00 001673* DIABAS: STKVAR <BASLIN>
1693 002037' 000001 000001
1694 002040' 202 03 0 17 777776 MOVEM T3,BASLIN ;SAVE LINE TABLE ADDRESS
1695 002041' 260 17 0 00 004613' CALL GETMEM ;GO EXTRACT LOAD ADDRESS FROM MESSAGE
1696 002042' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR CODE TO CALLER
1697 002043' 200 04 0 17 777776 MOVE T4,BASLIN ;GET ADDRESS OF LINE TABLE
1698 002044' 202 03 0 04 000005 STOR T3,LNADR,(T4) ;STORE BASE ADDRESS IN LINE TABLE
1699 002045' 402 00 0 00 000001 SETZM T1 ;NOTE THAT WE ARE STILL IN LOAD DIALOG
1700 002046' 254 00 0 00 002030* RETSKP ;DONE, RETURN SUCCESS
1701
1702
1703 ;DIAMEM - ROUTINE TO PROCESS A MEMORY IMAGE DIALOG MESSAGE
1704 ;
1705 ;ACCEPTS IN T1/ POINTER TO DIALOG DATA IN LINE SERVICE MESSAGE
1706 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
1707 ; T3/ ADDRESS OF LINE TABLE
1708 ; CALL DIAMEM
1709 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1710 ; +2 SUCCESS, DATA LOADED OR ADDED TO LOAD IMAGE
1711
1712 002047' 265 16 0 00 001765* DIAMEM: ASUBR <MEMPTR,MEMCNT,MEMLIN>
1713
1714 002050' 375 00 0 15 000002 SOSGE MEMCNT ;AT LEAST ONE BYTE IN THE MESSAGE ?
1715 002051' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT"
1716 002052' 134 04 0 15 000001 ILDB T4,MEMPTR ;YES, GET CPU TYPE CODE (.CPXXX)
1717 002053' 302 04 0 00 000001 CAIE T4,.CP11 ;PDP-11 ?
1718 002054' 254 00 0 00 013711' RETBAD (.NRIPV) ;NO, RETURN "INVALID PARAMETER VALUE" ERROR
1719
1720 ; DETERMINE IF A SECONDARY LOADER IS BEING LOADED - IF SO, ADD THE MEMORY
1721 ; DATA TO THE CORE IMAGE BEING BUILT IN MEMORY. ELSE, SEND THE MEMORY IMAGE
1722 ; ACROSS THE DTE-20 TO THE LOADER IN THE TARGET NODE.
1723
1724 002055' 200 04 0 15 000003 MOVE T4,MEMLIN ;GET ADDRESS OF LINE TABLE
1725 002056' 554 01 0 04 000002 LOAD T1,LNPGM,(T4) ;GET PROGRAM TYPE BEING LOADED (.PTXXX)
1726 002057' 302 01 0 00 000000 CAIE T1,.PTSLD ;SECONDARY LOADER ?
1727 002060' 254 00 0 00 002070' JRST MEM010 ;NO, GO SEND DATA ACROSS DTE20 TO TARGET NODE
1728 002061' 200 01 0 15 000001 MOVE T1,MEMPTR ;YES, GET POINTER TO MEMORY IMAGE DATA
1729 002062' 200 02 0 15 000002 MOVE T2,MEMCNT ;GET NUMBER OF BYTES OF DATA
1730 002063' 200 03 0 15 000003 MOVE T3,MEMLIN ;GET ADDRESS OF LINE TABLE
1731 002064' 260 17 0 00 002414' CALL MOPLDR ;GO ADD DATA TO IMAGE BEING BUILT
1732 002065' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1733 002066' 402 00 0 00 000001 SETZM T1 ;NOTE THAT WE ARE STILL IN LOAD DIALOG
1734 002067' 254 00 0 00 002046* RETSKP ;DONE, MEMORY IMAGE DATA HANDLED
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 39
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1735 ; HERE TO SEND LOAD IMAGE DATA ACROSS THE DTE20 AND RECEIVE THE REPLY
1736 ; FIRST, BUILD THE MOP "LOAD IMAGE" MESSAGE
1737
1738 002070' 200 01 0 15 000001 MEM010: MOVE T1,MEMPTR ;GET POINTER TO MEMORY IMAGE DATA IN NICE MSG
1739 002071' 200 02 0 15 000002 MOVE T2,MEMCNT ;GET NUMBER OF MEMORY IMAGE DATA BYTES
1740 002072' 200 03 0 15 000003 MOVE T3,MEMLIN ;GET ADDRESS OF LINE TABLE
1741 002073' 260 17 0 00 005321' CALL MAKMPL ;GO ASSEMBLE A MOP "LOAD-WITHOUT-TRANSFER" MSG
1742 002074' 254 00 0 00 013650' RETBAD (.NRNPE) ;FAILED, NICE PROCESS PROGRAM ERROR
1743
1744 ; SEND THE MOP MESSAGE ACROSS THE DTE20 AND RECEIVE THE REPLY MOP MESSAGE
1745
1746 002075' 200 01 0 15 000003 MOVE T1,MEMLIN ;GET ADDRESS OF LINE TABLE
1747 002076' 260 17 0 00 006374' CALL DTESND ;GO SEND THE DATA ACROSS THE DTE20
1748 002077' 254 00 0 00 013645' RETBAD (.NRCME) ;FAILED, RETURN "COMMUNICATIONS ERROR"
1749 002100' 200 01 0 15 000003 MOVE T1,MEMLIN ;GET ADDRESS OF LINE TABLE
1750 002101' 260 17 0 00 006455' CALL DTERCV ;RECEIVE THE REPLY MOP MESSAGE FROM THE LOADER
1751 002102' 254 00 0 00 013645' RETBAD (.NRCME) ;FAILED, RETURN "COMMUNICATIONS ERROR"
1752
1753 ; CHECK THE MOP MESSAGE RECEIVED. SHOULD BE "REQUEST NEXT LOAD"
1754
1755 002103' 200 03 0 15 000003 MOVE T3,MEMLIN ;GET ADDRESS OF LINE TABLE
1756 002104' 260 17 0 00 002460' CALL CHKMOP ;GO CHECK MOP MESSAGE AND UPDATE LOAD NUMBER
1757 002105' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1758 002106' 402 00 0 00 000001 SETZM T1 ;NOTE THAT WE ARE STILL IN LOAD DIALOG
1759 002107' 254 00 0 00 002067* RETSKP ;DONE, RETURN SUCCESS.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 40
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1760 ;DIAXFR - ROUTINE TO PROCESS A "TRANSFER" DIALOG MESSAGE
1761 ;
1762 ;ACCEPTS IN T1/ POINTER TO DIALOG DATA (PARAMETERS AND TRANSFER ADDRESS)
1763 ; T2/ NUMBER OF BYTES LEFT IN DIALOG MESSAGE
1764 ; T3/ ADDRESS OF LINE TABLE
1765 ; CALL DIAXFR
1766 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1767 ; +2 SUCCESS, PROGRAM IN TARGET NODE STARTED AND PARAMETERS SENT
1768
1769 002110' 265 16 0 00 002047* DIAXFR: ASUBR <XFRPTR,XFRCNT,XFRLIN,XFRADR>
1770
1771 ; EXTRACT THE SYSTEM PARAMETERS AND TRANSFER ADDRESS FROM THE MESSAGE
1772
1773 002111' 260 17 0 00 004422' CALL GETPAR ;GET PARAMETERS FROM THE MESSAGE
1774 002112' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1775 002113' 260 17 0 00 004613' CALL GETMEM ;GO GET THE TRANSFER ADDRESS FROM THE MESSAGE
1776 002114' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1777 002115' 202 03 0 15 000004 MOVEM T3,XFRADR ;SAVE TRANSFER ADDRESS
1778
1779 ; IF LOADING A SECONDARY LOADER, SEND THE LOADER ACROSS THE DTE20
1780
1781 002116' 200 04 0 15 000003 MOVE T4,XFRLIN ;GET ADDRESS OF LINE TABLE
1782 002117' 554 01 0 04 000002 LOAD T1,LNPGM,(T4) ;GET PROGRAM TYPE BEING LOADED (.PTXXX)
1783 002120' 302 01 0 00 000000 CAIE T1,.PTSLD ;LOADING A SECONDARY LOADER ?
1784 002121' 254 00 0 00 002134' JRST XFR010 ;NO, GO SEND A MOP "TRANSFER" MESSAGE
1785
1786 ; LOAD THE SECONDARY BOOTSTRAP AND WAIT FOR A PROGRAM REQUEST
1787
1788 002122' 200 01 0 15 000003 MOVE T1,XFRLIN ;GET ADDRESS OF LINE TABLE
1789 002123' 260 17 0 00 006360' CALL DTESLD ;GO LOAD THE SECONDARY BOOTSTRAP
1790 002124' 254 00 0 00 013645' RETBAD (.NRCME) ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
1791 002125' 200 01 0 15 000003 MOVE T1,XFRLIN ;GET ADDRESS OF LINE TABLE
1792 002126' 260 17 0 00 006455' CALL DTERCV ;GO RECEIVE A MOP MESSAGE FROM THE TARGET NODE
1793 002127' 254 00 0 00 013645' RETBAD (.NRCME) ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
1794
1795 ; CHECK MOP MESSAGE AND RETURN PROGRAM REQUEST TO THE TASK THAT INITIATED
1796 ; THE LOAD DIALOG.
1797
1798 002130' 200 03 0 15 000003 MOVE T3,XFRLIN ;GET ADDRESS OF LINE TABLE
1799 002131' 260 17 0 00 005675' CALL MAKEND ;GO CHECK MOP MESSAGE AND ASSEMBLE AN
1800 ; END-OF-DIALOG NICE LINE SERVICE MESSAGE
1801 002132' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1802 002133' 254 00 0 00 002172' JRST XFR030 ;SEND THE "END-OF-DIALOG" AND WAIT FOR ESPONSE
1803 ;...
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 41
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1804 ;...
1805
1806 ; HERE TO ASSEMBLE AND SEND A MOP "PARAMETERS AND TRANSFER" MESSAGE
1807
1808 002134' 200 01 0 15 000003 XFR010: MOVE T1,XFRLIN ;GET ADDRESS OF LINE TABLE
1809 002135' 200 02 0 15 000004 MOVE T2,XFRADR ;GET TRANSFER ADDRESS
1810 002136' 260 17 0 00 005364' CALL MAKMLP ;GO MAKE A MOP LOAD-PARAMETERS AND TRANSFER MSG
1811 002137' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1812 002140' 200 04 0 15 000003 MOVE T4,XFRLIN ;GET ADDRESS OF LINE TABLE
1813 002141' 202 01 0 04 000006 STOR T1,LNMSG,(T4) ;STORE POINTER TO MOP MESSAGE
1814 002142' 542 02 0 04 000002 STOR T2,LNCNT,(T4) ;STORE SIZE OF MOP MESSAGE
1815 002143' 200 01 0 15 000003 MOVE T1,XFRLIN ;GET ADDRESS OF LINE TABLE
1816 002144' 260 17 0 00 006374' CALL DTESND ;GO SEND THE MESSAGE ACROSS THE DTE20
1817 002145' 254 00 0 00 013645' RETBAD (.NRCME) ;FAILED, RETURN "COMMUNICATIONS ERROR"
1818
1819 ; RECEIVE THE REPLY MESSAGE FROM THE LOADER IN THE TARGET NODE
1820
1821 002146' 200 01 0 15 000003 MOVE T1,XFRLIN ;GET ADDRESS OF LINE TABLE
1822 002147' 260 17 0 00 006455' CALL DTERCV ;GO RECEIVE A MOP MESSAGE FROM THE TARGET NODE
1823 002150' 254 00 0 00 013645' RETBAD (.NRCME) ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
1824
1825 ; VERIFY THE RESPONSE FROM THE TARGET NODE
1826
1827 002151' 200 03 0 15 000003 MOVE T3,XFRLIN ;GET ADDRESS OF LINE TABLE
1828 002152' 554 04 0 03 000002 LOAD T4,LNPGM,(T3) ;GET TYPE OF PROGRAM BEING LOADED
1829 002153' 302 04 0 00 000002 CAIE T4,.PTOPS ;LOADING AN OPERATING SYSTEM ?
1830 JRST [ CALL MOPVER ;NO, GO CHECK THAT REPLY IS A PROGRAM REQ MSG
1831 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1832 002154' 254 00 0 00 013715' JRST XFR030 ] ;GO SEND END-OF-DIALOG MESSAGE TO REQUESTOR
1833
1834 ; HERE IF LOADING AN OPERATING SYSTEM - CHECK FINAL MOP LOAD REQUEST MESSAGE
1835
1836 002155' 260 17 0 00 002460' CALL CHKMOP ;GO CHECK THE MOP "REQUEST LOAD" MESSAGE
1837 002156' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1838 002157' 200 01 0 15 000003 MOVE T1,XFRLIN ;GET ADDRESS OF LINE TABLE
1839 002160' 260 17 0 00 002521' CALL INIPRO ;GO INITIATE PROTOCOL ON THIS LINE
1840 002161' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
1841 002162' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
1842 002163' 200 04 0 00 013534' MOVE T4,[POINT 8,MSGBLK] ;GET POINTER TO MOP MESSAGE
1843 002164' 201 01 0 00 000000 MOVX T1,.LMEND ;GET "END-OF-DIALOG" TYPE CODE
1844 002165' 136 01 0 00 000004 IDPB T1,T4 ;PUT TYPE CODE INTO REPLY MESSAGE
1845 002166' 201 01 0 00 000001 MOVX T1,.NRSUC ;GET GENERAL SUCCESS CODE
1846 002167' 136 01 0 00 000004 IDPB T1,T4 ;ADD RETURN CODE TO END-OF-DIALOG MESSAGE
1847 002170' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO NICE MESSAGE
1848 002171' 201 02 0 00 000002 MOVX T2,2 ;MESSAGE CONTAINS ONLY TWO BYTES
1849
1850 ; HERE TO SEND "END-OF-DIALOG" MESSAGE BACK TO REQUESTING TASK
1851
1852 002172' 210 03 0 00 000002 XFR030: MOVN T3,T2 ;GET -COUNT
1853 002173' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO MESSAGE
1854 002174' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LINK TO REQUESTING TASK
1855 002175' 104 00 0 00 000532 SOUTR ;SEND MESSAGE TO REQUESTING TASK
1856 002176' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
1857 ;...
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 42
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1858 ;...
1859
1860 ; PROGRAM LOAD COMPLETE - WAIT FOR END OF DIALOG MESSAGE FROM SERVER NCU
1861
1862 002177' 260 17 0 00 010457' CALL CLRMSG ;CLEAR THE MESSAGE AREA
1863 002200' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN)
1864 002201' 200 02 0 00 013534' MOVE T2,[POINT 8,MSGBLK] ;GET POINTER TO WHERE MESSAGE SHOULD GO
1865 002202' 211 03 0 00 014000 MOVNI T3,MAXNIC ;GET -MAX COUNT
1866 002203' 104 00 0 00 000531 SINR ;INPUT THE REPLY FROM THE SERVER NODE NCU
1867 002204' 320 16 0 00 013562' ERJMP [LODERR (.NRCME)] ;IF FAILED, RETURN "COMMUNICATIONS ERROR"
1868
1869 ; VERIFY THAT RESPONSE WAS "END OF DIALOG"
1870
1871 002205' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF REPLY MESSAGE
1872 002206' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;COMPUTE NUMBER OF BYTES RETURNED
1873 002207' 275 02 0 00 000002 SUBI T2,2 ;DECREMENT COUNT FOR TYPE CODE AND RETURN CODE
1874 002210' 321 02 0 00 013615' JUMPL T2,[RETBAD (.NRPRO)] ;RETURN "PROTOCOL ERROR" IF NOT ENOUGH BYTES
1875 002211' 134 04 0 00 000001 ILDB T4,T1 ;YES, GET DIALOG MESSAGE TYPE CODE (.LSXXX)
1876 002212' 302 04 0 00 000000 CAIE T4,.LMEND ;END OF DIALOG REPLY ?
1877 002213' 265 16 0 00 013616' LODERR (.NRPRO) ;NO, NICE PROTOCOL ERROR
1878 002214' 134 04 0 00 000001 ILDB T4,T1 ;GET RETURN CODE
1879 002215' 302 04 0 00 000001 CAIE T4,.NRSUC ;SUCCESS ?
1880 JRST [ MOVE T1,T4 ;NO, GET RETURN CODE FROM SERVER NCU
1881 002216' 254 00 0 00 013621' LODERR () ] ;RETURN THE CODE TO CALLER
1882 002217' 476 00 0 00 000001 SETOM T1 ;NOTE THAT WE ARE NO LONGER IN LOAD DIALOG
1883 002220' 254 00 0 00 002107* RETSKP ;DONE, RETURN.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 43
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1884 ;MOPVER - ROUTINE TO VERIFY MOP REPLY MESSAGE AFTER TRANSFER MSG SENT
1885 ;
1886 ;ACCEPTS IN T1/ POINTER TO START OF MOP REPLY MESSAGE
1887 ; T2/ COUNT OF BYTES IN THE MOP MESSAGE
1888 ; T3/ ADDRESS OF LINE TABLE
1889 ; CALL MOPVER
1890 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1891 ; +2 SUCCESS, WITH T1/ POINTER TO START OF NICE REPLY MSG
1892 ; T2/ COUNT OF BYETS IN NICE MESSAGE
1893
1894 002221' 265 16 0 00 002110* MOPVER: ASUBR <MPVPTR,MPVCNT,MPVLIN,MPVMSG>
1895 002222' 265 16 0 00 002036* STKVAR <MPVLNK,MPVLEN>
1896 002223' 000002 000002
1897
1898 ; DETERMINE IF THE MOP PROGRAM REQUEST MSG IS PRECEDED BY DIAGNOSTIC DATA
1899
1900 002224' 200 02 0 15 000002 MOVE T2,MPVCNT ;GET COUNT OF BYTES IN MOP MESSAGE
1901 002225' 375 00 0 00 000002 SOSGE T2 ;AT LEAST FUNCTION CODE PRESENT ?
1902 002226' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, ILLEGAL MESSAGE FORMAT
1903 002227' 200 01 0 15 000001 MOVE T1,MPVPTR ;GET POINTER TO START OF MOP MESSAGE
1904 002230' 134 04 0 00 000001 ILDB T4,T1 ;GET MOP FUNCTION CODE
1905 002231' 306 04 0 00 000010 CAIN T4,.MPRQP ;PROGRAM REQUEST ?
1906 002232' 254 00 0 00 002274' JRST MPV030 ;YES, GO PROCESS IT
1907 002233' 302 04 0 00 000034 CAIE T4,.MPDIA ;DIAGNOSTIC DATA ?
1908 002234' 254 00 0 00 013720' RETBAD (.NRLPE) ;NO, LINE PROTOCOL ERROR
1909
1910 ; HERE IF THERE IS ASCII DIAGNOSTIC DATA TO RETURN TO THE HOST FROM CHK11
1911
1912 002235' 260 17 0 00 001716* CALL ASGPAG ;GET A PAGE FOR THE ASCII DATA
1913 002236' 263 17 0 00 000000 RETBAD () ;FAILED
1914 002237' 202 02 0 15 000004 MOVEM T2,MPVMSG ;SAVE MESSAGE ADDRESS
1915 002240' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO MESSAGE DESTINATION
1916 002241' 200 01 0 00 000002 MOVE T1,T2 ;COPY POINTER TO MESSAGE DESTINATION
1917 002242' 201 02 0 00 000002 MOVX T2,.EVASC ;GET CODE FOR ASCII DATA
1918 002243' 260 17 0 00 006214' CALL MAKEVT ;ASSEMBLE AN EVENT LOGGING MESSAGE HEADER
1919 002244' 254 00 0 00 002302' JRST MPVERR ;FAILED, RELEASE LINK AND RETURN ERROR
1920 002245' 202 02 0 17 777775 MOVEM T2,MPVLEN ;SAVE INITIAL LENGTH OF NICE MESSAGE
1921 002246' 260 17 0 00 002346' CALL REPLNK ;GET LINK TO NICE PROCESS ON HOST SYSTEM
1922 002247' 254 00 0 00 002302' JRST MPVERR ;FAILED
1923 002250' 202 01 0 17 777776 MOVEM T1,MPVLNK ;SAVE LOGICAL LINK ID
1924 002251' 200 02 0 15 000004 MOVE T2,MPVMSG ;GET ADDRESS OF NICE MESSAGE
1925 002252' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
1926 002253' 210 03 0 17 777775 MOVN T3,MPVLEN ;GET -COUNT
1927 002254' 104 00 0 00 000053 SOUT ;SEND FIRST PART OF NICE MESSAGE TO HOST NCU
1928 ERJMP [MOVE T1,MPVLNK ;FAILED, GET LOGICAL LINK
1929 TXO T1,CZ%ABT ;CLOSE THE LOGICAL LINK
1930 CLOSF ;CLOSE THE LOGICAL LINK
1931 NON.FATAL.ERROR
1932 MOVX T1,.NRNCE ;GET ERROR CODE
1933 002255' 320 16 0 00 013722' JRST MPVERR ] ;GO RELEASE ASSIGNED PAGE
1934
1935 ; SEND ALL THE DIAGNOSTIC DATA BACK TO THE HOST
1936
1937 002256' 200 01 0 15 000001 MOVE T1,MPVPTR ;GET POINTER TO MOP MESSAGE
1938 002257' 200 02 0 15 000002 MOVE T2,MPVCNT ;GET COUNT OF BYTES IN MOP MESSAGE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 43-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1939 002260' 200 03 0 15 000003 MOVE T3,MPVLIN ;GET ADDRESS OF LINE TABLE
1940 002261' 200 04 0 17 777776 MOVE T4,MPVLNK ;GET LOGICAL LINK TO LOGGING NICE PROCESS
1941 002262' 260 17 0 00 002307' CALL SNDTXT ;GO SEND BACK THE TEXT TO THE HOST
1942 JRST [ MOVE T1,STXLNK ;FAILED, GET LOGICAL LINK
1943 TXO T1,CZ%ABT ;FLUSH ANYTHING IN PIPE
1944 CLOSF ;CLOSE THE LOGICAL LINK
1945 NON.FATAL.ERROR
1946 MOVX T1,.NRNCE ;GET ERROR CODE
1947 002263' 254 00 0 00 013730' JRST MPVERR ] ;GO RELEASE ASSIGNED PAGE
1948 002264' 202 01 0 15 000001 MOVEM T1,MPVPTR ;SAVE POINTER TO MOP MESSAGE
1949 002265' 202 02 0 15 000002 MOVEM T2,MPVCNT ;SAVE COUNT OF BYTES IN MOP MESSAGE
1950
1951 ; HERE WHEN ALL DIAGNOSTIC DATA HAS BEEN RETURNED TO THE HOST
1952
1953 002266' 200 01 0 17 777776 MPV020: MOVE T1,MPVLNK ;GET LOGICAL LINK
1954 002267' 104 00 0 00 000022 CLOSF ;CLOSE THE LINK WHEN ALL DATA AWAY OK
1955 002270' 260 17 0 00 000000* NON.FATAL.ERROR ;FAILED, ISSUE MESSAGE
1956 002271' 200 01 0 15 000004 MOVE T1,MPVMSG ;GET ADDRESS OF ASSIGNED PAGE
1957 002272' 260 17 0 00 001754* CALL RELPGA ;RELEASE THE PAGE
1958 002273' 260 17 0 00 002270* NON.FATAL.ERROR ;FAILED
1959
1960 002274' 200 01 0 15 000001 MPV030: MOVE T1,MPVPTR ;GET POINTER TO MOP MESSAGE
1961 002275' 200 02 0 15 000002 MOVE T2,MPVCNT ;GET NUMBER OF BYTES IN MOP MESSAGE
1962 002276' 200 03 0 15 000003 MOVE T3,MPVLIN ;GET ADDRESS OF LINE TABLE
1963 002277' 260 17 0 00 005675' CALL MAKEND ;CHECK MOP PROGRAM REQ MSG AND MAKE NICE MSG
1964 002300' 263 17 0 00 000000 RETBAD () ;FAILED
1965 002301' 254 00 0 00 002220* RETSKP ;DONE, RETURN SUCCESS
1966
1967 ; HERE ON AN ERROR WITH A PAGE ASSIGNED
1968
1969 002302' 250 01 0 15 000004 MPVERR: EXCH T1,MPVMSG ;GET ADDRESS OF MESSAGE PAGE
1970 002303' 260 17 0 00 002272* CALL RELPGA ;RELEASE THE PAGE
1971 002304' 260 17 0 00 002273* NON.FATAL.ERROR ;FAILED
1972 002305' 200 01 0 15 000004 MOVE T1,MPVMSG ;RESTORE ERROR CODE
1973 002306' 263 17 0 00 000000 RETBAD () ;FAIL
1974
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 44
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
1975 ;SNDTXT - ROUTINE TO RETURN CHK11 DIAGNOSTIC TEXT TO THE HOST NICE PROCESS
1976 ;
1977 ;ACCEPTS IN T1/ POINTER TO MOP MESSAGE
1978 ; T2/ NUMBER OF BYTES LEFT IN MOP MESSAGE
1979 ; T3/ ADDRESS OF LINE TABLE
1980 ; T4/ LOGICAL LINK TO HOST NICE PROCESS
1981 ; CALL SNDTXT
1982 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
1983 ; +2 SUCCESS, WITH T1/ POINTER TO MOP MESSAGE
1984 ; T2/ COUNT OF BYTES IN MOP MESSAGE
1985
1986 002307' 265 16 0 00 002221* SNDTXT: ASUBR <STXPTR,STXCNT,STXLIN,STXLNK>
1987
1988 ; LOOP TO SEND ASCII DATA BACK TO THE NICE PROCESS FOR LOGGING
1989
1990 002310' 200 01 0 15 000004 STX010: MOVE T1,STXLNK ;GET LOGICAL LINK TO HOST NICE LOGGER
1991 002311' 201 02 0 00 000016 MOVX T2,.EDTXT ;GET ASCII DATA TYPE CODE
1992 002312' 104 00 0 00 000051 BOUT ;SEND ASCII DATA TYPE CODE
1993 002313' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED, NETWORK COMMUNICATIONS ERROR
1994 002314' 200 02 0 15 000002 MOVE T2,STXCNT ;GET COUNT OF BYTES IN MOP MESSAGE
1995 002315' 275 02 0 00 000001 SUBI T2,1 ;ALLOW FOR MOP FUNCTION CODE
1996 002316' 303 02 0 00 000377 CAILE T2,^D255 ;GREATER THAN MAX IMAGE ASCII FIELD SIZE ?
1997 002317' 254 00 0 00 013542' RETBAD (.NRIMF) ;YES, FAIL, INVALID MESSAGE FORMAT
1998 002320' 104 00 0 00 000051 BOUT ;SEND BACK COUNT BYTE FOR IMAGE ASCII FIELD
1999 002321' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED, NETWORK COMMUNICATIONS ERROR
2000 002322' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
2001 002323' 200 02 0 15 000001 MOVE T2,STXPTR ;GET POINTER TO START OF MOP MESSAGE
2002 002324' 134 04 0 00 000002 ILDB T4,T2 ;SKIP FUNCTION CODE, POINT TO START OF DATA
2003 002325' 104 00 0 00 000532 SOUTR ;SEND THE DATA BACK TO THE LOGGER
2004 002326' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED, NETWORK COMMUNICATIONS ERROR
2005
2006 ; READ ANOTHER MOP MESSAGE
2007
2008 002327' 200 01 0 15 000003 MOVE T1,STXLIN ;GET ADDRESS OF LINE TABLE
2009 002330' 260 17 0 00 006455' CALL DTERCV ;GO RECEIVE A MOP MESSAGE FROM THE TARGET NODE
2010 002331' 254 00 0 00 013645' RETBAD (.NRCME) ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
2011 002332' 202 01 0 15 000001 MOVEM T1,STXPTR ;SAVE POINTER TO MOP MESSAGE
2012 002333' 202 02 0 15 000002 MOVEM T2,STXCNT ;SAVE COUNT OF BYTES IN MOP MESSAGE
2013
2014 ; SEE IF THERE IS MORE DIAGNOSTIC DATA
2015
2016 002334' 200 02 0 15 000002 MOVE T2,STXCNT ;GET COUNT OF BYTES IN MOP MESSAGE
2017 002335' 375 00 0 00 000002 SOSGE T2 ;AT LEAST FUNCTION CODE PRESENT ?
2018 002336' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, ILLEGAL MESSAGE FORMAT
2019 002337' 200 01 0 15 000001 MOVE T1,STXPTR ;GET POINTER TO START OF MOP MESSAGE
2020 002340' 134 04 0 00 000001 ILDB T4,T1 ;GET MOP FUNCTION CODE
2021 002341' 306 04 0 00 000010 CAIN T4,.MPRQP ;PROGRAM REQUEST ?
2022 JRST [ MOVE T1,STXPTR ;GET POINTER TO MOP MESSAGE
2023 MOVE T2,STXCNT ;GET NUMBER OF BYTES IN MESSAGE
2024 002342' 254 00 0 00 013741' RETSKP ] ;RETURN SUCCESS
2025 002343' 302 04 0 00 000034 CAIE T4,.MPDIA ;DIAGNOSTIC DATA ?
2026 002344' 254 00 0 00 013720' RETBAD (.NRLPE) ;NO, LINE PROTOCOL ERROR
2027 002345' 254 00 0 00 002310' JRST STX010 ;YES, GO SEND THE DATA BACK TO THE HOST
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 45
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2028 ;REPLNK - ROUTINE TO GET A LOGICAL LINK TO A PROCESS ON THE SAME NODE
2029 ; THAT ORIGINATED A NICE REQUEST.
2030 ;
2031 ;CALL: CALL REPLNK
2032 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2033 ; +2 SUCCESS, WITH T1/ JFN FOR LOGICAL LINK
2034
2035 002346' 265 16 0 00 002222* REPLNK: STKVAR <RPLHST,RPLLNK>
2036 002347' 000002 000002
2037
2038 ; GET HOST NAME OF TASK ORIGINALLY REQUESTING SERVICE FROM US
2039
2040 002350' 561 03 0 17 777776 HRROI T3,RPLHST ;GET POINTER TO DESTINATION FOR STRING
2041 002351' 201 02 0 00 000026 MOVX T2,.MORHN ;GET "READ HOST NAME" FUNCTION
2042 002352' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK TO REQUESTING TASK
2043 002353' 104 00 0 00 000077 MTOPR ;ADD HOST NAME TO STRING
2044 002354' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED, RETURN ERROR
2045
2046 ; GET A LOGICAL LINK TO THE NCU ON THE REQUESTING HOST
2047
2048 002355' 541 01 0 17 777776 HRRI T1,RPLHST ;GET ADDRESS OF HOST NAME
2049 002356' 505 01 0 00 440700 HRLI T1,(POINT 7,) ;FORM POINTER TO HOST NAME
2050 002357' 254 00 0 00 007140' CALLRET GETLNK ;GO GET A LOGICAL LINK TO THE NCU
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 46
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2051 ;LSTBT - ROUTINE TO PROCESS A NICE LINE SERVICE MESSAGE TO TRIGGER THE
2052 ; BOOTSTRAP ROM IN AN ADJACENT TARGET NODE.
2053 ;
2054 ;ACCEPTS IN T1/ POINTER TO PARAMETERS IN NICE LINE SERVICE MSG (BOOT PASSWORD)
2055 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
2056 ; T3/ ADDRESS OF LINE TABLE
2057 ; CALL LSTBT
2058 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2059 ; +2 SUCCESS, BOOTSTRAP ROM TRIGGERED
2060
2061 002360' 634 04 0 00 000004 LSTBT: TDZA T4,T4 ;NOTE THAT NO PROGRAM DATA WAS REQUESTED
2062 002361' 476 00 0 00 000004 LSTBP: SETOM T4 ;PROGRAM DATA IS WANTED
2063 002362' 265 16 0 00 002346* STKVAR <LSTLIN,LSTFLG,<LSTBPW,2>>
2064 002363' 000004 000004
2065 002364' 202 03 0 17 777776 MOVEM T3,LSTLIN ;SAVE LINE TABLE ADDRESS
2066 002365' 202 04 0 17 777775 MOVEM T4,LSTFLG ;SAVE FLAG INDICATING WHICH TYPE OF CALL
2067 002366' 260 17 0 00 004407' CALL GETBPW ;GO EXTRACT THE BOOT PASSWORD FROM THE MESSAGE
2068 002367' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
2069 002370' 124 03 0 17 777773 DMOVEM T3,LSTBPW ;SAVE BOOT PASSWORD
2070
2071 ; CHECK THE BOOT PASSWORD FOR THIS TARGET NODE
2072
2073 ; ACTIVATE (TRIGGER) THE ROM IN THE TARGET NODE
2074
2075 002371' 200 01 0 17 777776 MOVE T1,LSTLIN ;GET ADDRESS OF LINE TABLE
2076 002372' 260 17 0 00 006346' CALL DTESTP ;TERMINATE ANY PROTOCL RUNNING ON THE TARGET
2077 002373' 254 00 0 00 013720' RETBAD (.NRLPE) ;FAILED, RETURN "LINE PROTOCOL ERROR"
2078 002374' 200 01 0 17 777776 MOVE T1,LSTLIN ;GET ADDRESS OF LINE TABLE
2079 002375' 260 17 0 00 006507' CALL DTEINI ;GO TRIGGER THE ROM
2080 002376' 254 00 0 00 013720' RETBAD (.NRLPE) ;FAILED, RETURN 'LINE PROTOCOL ERROR'
2081
2082 ; SEND BACK A "SUCCESS" RETURN CODE TO THE REQUESTING TASK
2083
2084 002377' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
2085 002400' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET POINTER TO RETURN CODE
2086 002401' 211 03 0 00 000001 MOVNI T3,1 ;ONE BYTE MESSAGE
2087 002402' 104 00 0 00 000532 SOUTR ;RETURN THE SUCCESS CODE
2088 002403' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;RETURN "COMMUNICATIONS ERROR" ON FAILURE
2089
2090 ; IF NO PROGRAM DATA WANTED, RETURN, ELSE SEND BACK THE PROGRAM DATA
2091
2092 002404' 336 00 0 17 777775 SKIPN LSTFLG ;PROGRAM DATA WANTED ?
2093 002405' 254 00 0 00 002301* RETSKP ;DONE, RETURN SUCCESS
2094 002406' 200 01 0 14 000032 MOVE T1,REQLNK ;YES, GET LOGICAL LINK TO REQUESTING TASK
2095 002407' 200 02 0 00 013745' MOVE T2,[POINT 8,[ BYTE (8) .DTDTE, .CP11, .PTSLD, 0 ]]
2096 002410' 211 03 0 00 000004 MOVNI T3,4 ;NUMBER OF BYTES OF PROGRAM DATA
2097 002411' 104 00 0 00 000532 SOUTR ;SEND BACK THE PROGRAM DATA
2098 002412' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;RETURN "'COMMUNICATIONS ERROR' ON FAILURE
2099 002413' 254 00 0 00 002405* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 47
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2100 ;MOPLDR - ROUTINE TO ADD BYTES TO A LOAD IMAGE BEING CONSTRUCTED
2101 ; FOR A SECONDARY LOADER
2102 ;
2103 ;ACCEPTS IN T1/ POINTER TO MEMORY IMAGE DATA TO BE LOADED
2104 ; T2/ NUMBER OF BYTES OF MEMORY IMAGE DATA
2105 ; T3/ ADDRESS OF LINE TABLE
2106 ; CALL MOPLDR
2107 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2108 ; +2 SUCCESS, DATA ADDED TO LOAD IMAGE
2109
2110 002414' 265 16 0 00 002307* MOPLDR: ASUBR <MLDPTR,MLDCNT,MLDLIN>
2111 002415' 265 16 0 00 002362* STKVAR <MLDCTR,MLDPTB>
2112 002416' 000002 000002
2113
2114 ; SET UP WORD CONTAINING ADDRESS OF BYTE POINTER TABLE TO USE
2115
2116 002417' 200 01 0 15 000003 MOVE T1,MLDLIN ;GET ADDRESS OF LINE TABLE ENTRY
2117 002420' 554 01 0 01 000002 LOAD T1,LNPGM,(T1) ;GET PROGRAM TYPE BEING LOADED
2118 002421' 205 04 0 00 777776 MOVSI T4,-PTRSIZ ;SET UP TO FIND CORRECT BYTE POINTER TABLE
2119 002422' 554 02 0 04 010655' LODM10: HLRZ T2,PTRTAB(T4) ;GET A PROGRAM TYPE FROM THE TABLE
2120 002423' 316 02 0 00 000001 CAMN T2,T1 ;FOUND TYPE OF PROGRAM BEING LOADED ?
2121 002424' 254 00 0 00 002427' JRST LODM20 ;YES, GO GET ADDRESS OF BYTE POINTER TABLE
2122 002425' 253 04 0 00 002422' AOBJN T4,LODM10 ;NO, LOOP OVER ALL PROGRAM TYPES
2123 002426' 254 00 0 00 013711' RETBAD (.NRIPV) ;FAILED, RETURN ERROR TO CALLER
2124
2125 ; GET THE ADDRESS OF THE BYTE POINTER TABLE
2126
2127 002427' 550 01 0 04 010655' LODM20: HRRZ T1,PTRTAB(T4) ;GET ADDRESS OF BYTE POINTER TABLE TO USE
2128 002430' 202 01 0 17 777775 MOVEM T1,MLDPTB ;SAVE POINTER TABLE ADDRESS
2129
2130 ; SET UP AN INDEX INTO BYTE POINTER TABLE AND OFFSET INTO LOAD IMAGE
2131
2132 002431' 200 04 0 15 000003 MOVE T4,MLDLIN ;GET ADDRESS OF LINE TABLE
2133 002432' 200 01 0 04 000005 LOAD T1,LNADR,(T4) ;GET LOAD ADDRESS FOR THIS DATA
2134 002433' 231 01 0 00 000004 IDIVI T1,BPWRD ;COMPUTE OFFSET INTO LOAD IMAGE
2135 002434' 200 04 0 15 000003 MOVE T4,MLDLIN ;GET ADDRESS OF LINE TABLE
2136 002435' 200 04 0 04 000006 LOAD T4,LNMSG,(T4) ;GET POINTER TO MOP MESSAGE BLOCK FOR THIS LINE
2137 002436' 270 01 0 00 000004 ADD T1,T4 ;COMPUTE ADDRESS TO START LOADING AT
2138 002437' 202 01 0 00 000003 MOVEM T1,T3 ;SAVE LOADING ADDRESS
2139 002440' 202 02 0 17 777776 MOVEM T2,MLDCTR ;SAVE INDEX INTO BYTE POINTER TABLE
2140 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 48
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2141 ; ..
2142
2143 ; DEPOSIT THE DATA BYTES INTO THE LOAD IMAGE RECORD
2144 ; (T3 HAS THE DESTINATION ADDRESS & THE BYTE POINTERS ARE INDEXED BY T3)
2145
2146 002441' 550 04 0 15 000002 HRRZ T4,MLDCNT ;GET NUMBER OF DATA BYTES TO DEPOSIT
2147 002442' 322 04 0 00 002413* JUMPE T4,RSKP ;DONE IF NO DATA TO BE LOADED
2148 002443' 134 01 0 15 000001 LODM30: ILDB T1,MLDPTR ;GET A DATA BYTE FROM THE DIALOG MESSAGE
2149 002444' 135 02 0 00 013746' LDB T2,[POINT 2,MLDCTR,35] ;GET INDEX INTO BYTE POINTER TABLE
2150 002445' 270 02 0 17 777775 ADD T2,MLDPTB ;FORM ADDRESS OF A BYTE POINTER
2151 002446' 137 01 0 02 000000 DPB T1,(T2) ;DEPOSIT THE BYTE
2152 002447' 350 02 0 17 777776 AOS T2,MLDCTR ;INCREMENT THE INDEX COUNTER
2153 002450' 606 02 0 00 000003 TXNN T2,3 ;INCREMENTED TO FIRST BYTE OF NEXT WORD ?
2154 002451' 271 03 0 00 000001 ADDI T3,1 ;YES, INCREMENT DESTINATION ADDRESS
2155 002452' 367 04 0 00 002443' SOJG T4,LODM30 ;LOOP OVER ALL DATA BYTES IN MESSAGE
2156
2157 ; UPDATE THE NEXT LOAD ADDRESS TO USE
2158
2159 002453' 200 04 0 15 000003 MOVE T4,MLDLIN ;GET ADDRESS OF LINE TABLE
2160 002454' 200 01 0 04 000005 LOAD T1,LNADR,(T4) ;GET ADDRESS USED TO LOAD THIS DATA
2161 002455' 270 01 0 15 000002 ADD T1,MLDCNT ;FORM NEXT ADDRESS TO USE
2162 002456' 202 01 0 04 000005 STOR T1,LNADR,(T4) ;STORE NEXT BASE ADDRESS
2163 002457' 254 00 0 00 002442* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 49
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2164 ;CHKMOP - ROUTINE TO CHECK A MOP "REQUEST LOAD" MESSAGE AND UPDATE THE
2165 ; NEXT LOAD NUMBER EXPECTED.
2166 ;
2167 ;ACCEPTS IN T1/ POINTER TO START OF MOP MESSAGE
2168 ; T2/ NUMBER OF BYTES IN THE MESSAGE
2169 ; T3/ ADDRESS OF LINE TABLE
2170 ; CALL CHKMOP
2171 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2172 ; +2 SUCCESS, MESSAGE IS OK AND NEXT LOAD # IS UPDATED
2173
2174 002460' 265 16 0 00 002414* CHKMOP: ASUBR <CKMPTR,CKMCNT,CKMLIN>
2175
2176 002461' 275 02 0 00 000002 SUBI T2,2 ;AT LEAST FUNCTION AND LOAD # PRESENT ?
2177 002462' 321 02 0 00 013647' JUMPL T2,[RETBAD (.NRCME)] ;IF NOT, RETURN "COMMUNICATIONS ERROR"
2178 002463' 134 04 0 15 000001 ILDB T4,CKMPTR ;GET MOP FUNCTION CODE
2179 002464' 302 04 0 00 000012 CAIE T4,.MPRQL ;REQUEST MEMORY LOAD FUNCTION ?
2180 002465' 254 00 0 00 013645' RETBAD (.NRCME) ;NO, RETURN "COMMUNICATIONS ERROR"
2181 002466' 134 04 0 15 000001 ILDB T4,CKMPTR ;YES, GET NEXT LOAD NUMBER REQUESTED
2182 002467' 205 16 0 00 000001 INCR LNLDN,(T3) ;INCREMENT LOAD NUMBER
2183 002470' 272 16 0 03 000001
2184 002471' 135 01 0 00 013747' LOAD T1,LNLDN,(T3) ;GET NEXT LOAD NUMBER
2185 002472' 312 01 0 00 000004 CAME T1,T4 ;CORRECT LOAD NUMBER REQUESTED ?
2186 002473' 254 00 0 00 013645' RETBAD (.NRCME) ;NO, RETURN "COMMUNICATIONS ERROR"
2187 002474' 137 01 0 00 013747' STOR T1,LNLDN,(T3) ;YES, STORE UPDATED LOAD NUMBER IN LINE TABLE
2188 002475' 375 00 0 00 000002 SOSGE T2 ;ANOTHER BYTE IN MOP MESSAGE ?
2189 002476' 254 00 0 00 002457* RETSKP ;NO, NO STATUS CODE IS PRESENT, ASSUME SUCCESS
2190 002477' 134 04 0 15 000001 ILDB T4,CKMPTR ;YES, GET THE STATUS CODE FROM THE LOADER
2191 002500' 302 04 0 00 000000 CAIE T4,.MPACK ;SUCCESS ON PREVIOUS LOAD ?
2192 002501' 254 00 0 00 013645' RETBAD (.NRCME) ;NO, RETURN "COMMUNICATIONS ERROR"
2193 002502' 254 00 0 00 002476* RETSKP ;YES, DONE. RETURN SUCCESS.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 50
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2194 ;SNDEND - ROUTINE TO SEND BACK AN END-OF-DIALOG MESSAGE WHEN A LINE SERVICE
2195 ; DIALOG OPERATION HAS FAILED.
2196 ;
2197 ;ACCEPTS IN T1/ NICE RETURN CODE
2198 ; CALL SNDEND
2199 ;RETURNS: +1 ALWAYS, WITH MESSAGE SENT IF POSSIBLE
2200
2201
2202 002503' 265 16 0 00 002460* SNDEND: ASUBR <SEMCOD>
2203
2204 002504' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR NICE MESSAGE AREA
2205 002505' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO MESSAGE AREA
2206 002506' 201 04 0 00 000000 MOVX T4,.LMEND ;GET END-OF-DIALOG MESSAGE TYPE CODE
2207 002507' 136 04 0 00 000001 IDPB T4,T1 ;ADD TYPE CODE TO MESSAGE
2208 002510' 200 04 0 15 000001 MOVE T4,SEMCOD ;GET RETURN CODE (.NRXXX)
2209 002511' 136 04 0 00 000001 IDPB T4,T1 ;ADD RETURN CODE TO MESSAGE
2210
2211 ; SEND THE MESSAGE BACK TO ORIGINATOR OR THIS REQUEST
2212
2213 002512' 211 03 0 00 000002 MOVNI T3,2 ;GET NUMBER OF BYTES IN THE MESSAGE
2214 002513' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM BYTE POINTER TO START
2215 002514' 541 02 0 14 000033 HRRI T2,MSGBLK ; OF THE END-OF-DIALOG MESSAGE
2216 002515' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO REQUESTING TASK
2217 002516' 104 00 0 00 000532 SOUTR ;SEND THE MESSAGE
2218 002517' 320 16 0 00 002520' ERJMP .+1 ;FAILED, IGNORE FAILURE
2219 002520' 263 17 0 00 000000 RET ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 51
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2220 ;INIPRO - ROUTINE TO INITIATE PROTOCOL ON A LINE
2221 ;
2222 ;ACCPETS IN T1/ ADDRESS OF LINE TABLE
2223 ; CALL INIPRO
2224 ;RETURNS: +1 FAILED, COULD NOT INITIATE PROTOCOL
2225 ; +2 SUCCESS, PROTOCOL INITIATED IF ANY PROTOCOL TYPE HAD BEEN
2226 ; SPECIFIED FOR THE TARGET NODE.
2227
2228 002521' 265 16 0 00 002503* INIPRO: ASUBR <IPRLIN,IPRPRO,IPRCNT,IPRADJ>
2229
2230 002522' 561 01 0 00 010667' HRROI T1,OURNAM ;GET POINTER TO NAME OF OUR NODE
2231 002523' 260 17 0 00 010525' CALL GETNIB ;GET THE NIB ADDRESS FOR OUR NODE
2232 002524' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, "INVALID CONFIGURATION FILE"
2233 002525' 200 01 0 01 000006 LOAD T1,NDLIN,(T1) ;GET ADDRESS OF LINE ADJACENCY TABLE
2234 002526' 202 01 0 15 000004 MOVEM T1,IPRADJ ;SAVE TABLE ADDRESS
2235 002527' 200 04 0 15 000001 MOVE T4,IPRLIN ;GET ADDRESS OF LINE TABLE
2236 002530' 554 01 0 04 000004 LOAD T1,LNDTE,(T4) ;GET DTE20 NUMBER
2237 002531' 260 17 0 00 010517' CALL CVTDEV ;CONVERT TO STANDARD NICE LINE ID
2238 002532' 254 00 0 00 013650' RETBAD (.NRNPE) ;FAILED, NICE PROGRAM ERROR
2239 002533' 200 01 0 15 000004 MOVE T1,IPRADJ ;RESTORE ADJACENCY TABLE ADDRESS
2240 002534' 260 17 0 00 010567' CALL FNDTGT ;GET ADDRESS OF NIB FOR TARGET NODE
2241 002535' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "CONFIGURATION FILE ERROR"
2242 002536' 200 16 0 01 000000 JE NDPST,(T1),RSKP ;IF NO PROTOCOL TYPE HAS BEEN SET, WE ARE DONE
2243 002537' 607 16 0 00 010000
2244 002540' 254 00 0 00 002502*
2245 002541' 550 02 0 01 000010 LOAD T2,NDPRO,(T1) ;GET PROTOCOL TYPE TO INITIATE ON THIS LINE
2246 002542' 202 02 0 15 000002 MOVEM T2,IPRPRO ;SAVE PROTOCOL TYPE
2247
2248
2249 ; LOOP FOR 3 MINUTES TRYING TO INITIATE PROTOCOL, THEN GIVE ERROR IF FAILED
2250
2251 002543' 402 00 0 15 000003 SETZM IPRCNT ;INITIALIZE COUNT OF TRIALS
2252 002544' 200 02 0 15 000002 INIP10: MOVE T2,IPRPRO ;GET PROTOCOL TYPE
2253 002545' 200 01 0 15 000001 MOVE T1,IPRLIN ;GET ADDRESS OF LINE TABLE
2254 002546' 260 17 0 00 006521' CALL DTEGO ;INITIATE PROTOCOL
2255 JRST [ AOS T1,IPRCNT ;INCREMENT LOOP COUNTER
2256 CAIL T1,^D6 ;BEEN TRYING FOR 1 MINUTE YET ?
2257 RETBAD (.NRCME) ;YES, RETURN "LINE COMMUNICATIONS ERROR"
2258 MOVX T1,^D1000*^D10 ;WAIT TIME IS 10 SECONDS
2259 DISMS ;WAIT FOR TARGET NODE TO BECOME READY
2260 002547' 254 00 0 00 013750' JRST INIP10 ] ;TRY TO INIT AGAIN
2261 002550' 254 00 0 00 002540* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 52
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2262 ;LSDMP - ROUTINE TO INITIATE AN UP-LINE DUMP DIALOG
2263 ;
2264 ;ACCEPTS IN T1/ POINTER TO DIALOG DATA IN LINE SERVICE MESSAGE
2265 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
2266 ; T3/ ADDRESS OF LINE TABLE
2267 ; CALL LSDMP
2268 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2269 ; +2 SUCCESS
2270
2271 002551' 265 16 0 00 002521* LSDMP: ASUBR <LSDPTR,LSDCNT,LSDLIN,LSDNUM>
2272
2273 002552' 260 17 0 00 004613' CALL GETMEM ;GO GET INITIAL ADDRESS AT WHICH TO START DUMP
2274 002553' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
2275 002554' 326 03 0 00 013656' JUMPN T3,[RETBAD (.NRNPE)] ;FAIL IF NOT STARTING AT 0
2276 002555' 200 04 0 15 000003 MOVE T4,LSDLIN ;GET ADDRESS OF LINE TABLE
2277 002556' 202 03 0 04 000005 STOR T3,LNADR,(T4) ;STORE STARTING ADDRESS FOR DUMP
2278 002557' 260 17 0 00 004613' CALL GETMEM ;EXTRACT NUMBER OF LOCATIONS TO DUMP FROM MSG
2279 002560' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
2280 002561' 202 03 0 15 000004 MOVEM T3,LSDNUM ;SAVE NUMBER OF BYTES TO BE DUMPED
2281 002562' 201 03 0 00 200000 MOVX T3,INIDMP ;INITIAL COUNT IS SIZE OF DUMP BOOTSTRAP+BUFFER
2282 002563' 200 04 0 15 000003 MOVE T4,LSDLIN ;GET ADDRESS OF LINE TABLE
2283 002564' 202 03 0 04 000007 STOR T3,LNDCT,(T4) ;STORE NUMBER OF BYTES LEFT TO DUMP
2284
2285 ; SEND BACK A SUCCESS RETURN CODE TO ORIGINATOR OF THE DIALOG
2286
2287 002565' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO ORIGINATING TASK
2288 002566' 200 02 0 00 013627' MOVE T2,[POINT 8,[BYTE (8) .NRSUC]] ;GET SUCCESS CODE
2289 002567' 211 03 0 00 000001 MOVNI T3,1 ;MESSAGE CONTAINS ONE BYTE
2290 002570' 104 00 0 00 000532 SOUTR ;SEND BACK THE MESSAGE
2291 002571' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
2292
2293 ; TRIGGER THE ROM BEFORE STARTING THE DUMP
2294
2295 002572' 200 01 0 15 000003 MOVE T1,LSDLIN ;GET ADDRESS OF LINE TABLE
2296 002573' 260 17 0 00 006346' CALL DTESTP ;FIRST TERMINATE ANY PROTOCOL OVER THIS DTE
2297 002574' 254 00 0 00 013645' RETBAD (.NRCME) ;FAILED, RETURN "LINE COMMUNICATIONS ERROR"
2298 002575' 200 01 0 15 000003 MOVE T1,LSDLIN ;GET ADDRESS OF LINE TABLE
2299 002576' 260 17 0 00 006507' CALL DTEINI ;TRIGGER THE ROM
2300 002577' 254 00 0 00 013645' RETBAD (.NRCME) ;FAILED
2301
2302 ; DUMP THE FIRST "INIDMP" WORDS OF PDP-11 MEMORY
2303
2304 002600' 200 01 0 15 000003 MOVE T1,LSDLIN ;GET ADDRESS OF LINE TABLE
2305 002601' 260 17 0 00 003126' CALL ROMDMP ;DO A ROM DUMP OF FIRST "INIDMP" WORDS
2306 002602' 263 17 0 00 000000 RETBAD () ;FAILED
2307
2308
2309 ; FIRST "INIDMP" WORDS HAVE BEEN DUMPED. NOW LOAD A DUMP BOOTSTRAP PROGRAM
2310
2311 002603' 200 01 0 15 000003 MOVE T1,LSDLIN ;GET ADDRESS OF LINE TABLE
2312 002604' 200 04 0 01 000006 LOAD T4,LNMSG,(T1) ;GET ADDRESS OF WHERE -11 PROGRAM GOES
2313 002605' 505 04 0 00 002621' HRLI T4,DBOOT ;GET ADDRESS OF DUMP BOOTSTRAP
2314 002606' 550 03 0 00 000004 HRRZ T3,T4 ;COPY DESTINATION ADDRESS
2315 002607' 251 04 0 03 000200 BLT T4,200(T3) ;COPY 256 WORD (-11 WORDS) DUMP PROGRAM
2316 002610' 260 17 0 00 006360' CALL DTESLD ;LOAD THE DUMP BOOTSTRAP
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 52-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2317 002611' 254 00 0 00 013645' RETBAD (.NRCME) ;FAILED
2318
2319 ; FIRST 256 WORDS HAVE BEEN DUMPED. NOW LOAD A DUMP BOOTSTRAP PROGRAM
2320 ;
2321 ; MOVE T1,LSDLIN ;GET ADDRESS OF LINE TABLE
2322 ; CALL LODDMP ;GO LOAD A DUMP PROGRAM
2323 ; RETBAD (.NRCME) ;FAILED
2324
2325 ; NOW DUMP THE REMAINING MEMORY USING THE DUMP BOOTSTRAP
2326
2327 002612' 200 01 0 15 000004 MOVE T1,LSDNUM ;GET NUMBER OF BYTES TO DUMP
2328 002613' 200 02 0 15 000003 MOVE T2,LSDLIN ;GET ADDRESS OF LINE TABLE
2329 002614' 260 17 0 00 003037' CALL MOPDMP ;GO DO A MOP DUMP
2330 002615' 263 17 0 00 000000 RETBAD () ;FAILED
2331
2332 ; RETURN AN END-OF-DIALOG MESSAGE TO THE HOST NCU
2333
2334 002616' 201 01 0 00 000001 MOVX T1,.NRSUC ;GET SUCCESS RETURN CODE
2335 002617' 260 17 0 00 002503' CALL SNDEND ;GO SEND AN END-OF-DIALOG MESSAGE TO HOST NCU
2336 002620' 254 00 0 00 002550* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 53
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2337 ; DUMP BOOTSTRAP CODE
2338
2339 002621' DBOOT:
2340
2341 002621' 001200 010040 001200010040
2342 002622' 000700 007000 000700007000
2343 002623' 427446 000060 427446000060
2344 002624' 153444 100000 153444100000
2345 002625' 007754 256140 007754256140
2346 002626' 003470 256000 003470256000
2347 002627' 700000 256040 700000256040
2348 002630' 376030 204760 376030204760
2349 002631' 751400 204760 751400204760
2350 002632' 751410 204760 751410204760
2351 002633' 751420 204760 751420204760
2352 002634' 751470 120760 751470120760
2353 002635' 751600 256760 751600256760
2354 002636' 037003 647040 037003647040
2355 002637' 053574 174000 053574174000
2356 002640' 751670 256760 751670256760
2357 002641' 000007 773640 000007773640
2358 002642' 053400 400000 053400400000
2359 002643' 053574 002340 053574002340
2360 002644' 000020 454540 000020454540
2361 002645' 713574 000200 713574000200
2362 002646' 751610 136200 751610136200
2363 002647' 057427 647040 057427647040
2364 002650' 031424 146120 031424146120
2365 002651' 031424 146120 031424146120
2366 002652' 042421 056100 042421056100
2367 002653' 177774 146120 177774146120
2368 002654' 031424 010140 031424010140
2369 002655' 113133 456000 113133456000
2370 002656' 004000 136200 004000136200
2371 002657' 040024 120100 040024120100
2372 002660' 040030 256040 040030256040
2373 002661' 001060 244540 001060244540
2374 002662' 101134 016440 101134016440
2375 002663' 417760 002200 417760002200
2376 002664' 043431 456140 043431456140
2377 002665' 002420 210040 002420210040
2378 002666' 351137 777440 351137777440
2379 002667' 213413 777700 213413777700
2380 002670' 027424 030020 027424030020
2381 002671' 025010 404560 025010404560
2382 002672' 000020 020100 000020020100
2383 002673' 025410 257560 025410257560
2384 002674' 700000 010040 700000010040
2385 002675' 041334 010000 041334010000
2386 002676' 053400 011020 053400011020
2387 002677' 023734 004000 023734004000
2388 002700' 153444 100000 153444100000
2389 002701' 007764 256000 007764256000
2390 002702' 002264 256040 002264256040
2391 002703' 000044 204060 000044204060
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 53-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2392 002704' 023734 004340 023734004340
2393 002705' 513734 000160 513734000160
2394 002706' 001614 020100 001614020100
2395 002707' 513734 000100 513734000100
2396 002710' 001564 030020 001564030020
2397 002711' 004260 356000 004260356000
2398 002712' 001550 200760 001550200760
2399 002713' 003511 456760 003511456760
2400 002714' 000024 016440 000024016440
2401 002715' 073414 006200 073414006200
2402 002716' 073410 006140 073410006140
2403 002717' 441574 016520 441574016520
2404 002720' 473574 005720 473574005720
2405 002721' 003532 204760 003532204760
2406 002722' 003536 356760 003536356760
2407 002723' 001324 016600 001324016600
2408 002724' 355137 777640 355137777640
2409 002725' 041577 647100 041577647100
2410 002726' 073414 005100 073414005100
2411 002727' 213417 776000 213417776000
2412 002730' 313415 000000 313415000000
2413 002731' 053410 016620 053410016620
2414 002732' 451511 760040 451511760040
2415 002733' 213707 000000 213707000000
2416 002734' 777620 256000 777620256000
2417 002735' 003510 117560 003510117560
2418 002736' 000060 003560 000060003560
2419 002737' 777010 015200 777010015200
2420 002740' 042307 777100 042307777100
2421 002741' 302400 201420 302400201420
2422 002742' 777720 256220 777720256220
2423 002743' 240000 257420 240000257420
2424 002744' 000004 000040 000004000040
2425 002745' 053444 050000 053444050000
2426 002746' 153446 400000 153446400000
2427 002747' 007766 007360 007766007360
2428 002750' 001034 211420 001034211420
2429 002751' 777621 412000 777621412000
2430 002752' 040307 777540 040307777540
2431 002753' 301002 060200 301002060200
2432 002754' 006034 201140 006034201140
2433 002755' 700010 120000 700010120000
2434 002756' 023734 000100 023734000100
2435 002757' 053010 204000 053010204000
2436 002760' 053444 002020 053444002020
2437 002761' 701014 030060 701014030060
2438 002762' 013551 256040 013551256040
2439 002763' 400000 130040 400000130040
2440 002764' 213411 200000 213411200000
2441 002765' 007520 205420 007520205420
2442 002766' 777712 656220 777712656220
2443 002767' 001010 037720 001010037720
2444 002770' 401470 136000 401470136000
2445 002771' 004015 457420 004015457420
2446 002772' 200003 777100 200003777100
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 53-2
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2447 002773' 041410 004160 041410004160
2448 002774' 020000 140000 020000140000
2449 002775' 002120 000000 002120000000
2450 002776' 000000 000040 000000000040
2451 002777' 000000 000000 000000000000
2452 003000' 000000 000000 000000000000
2453 003001' 000000 000000 000000000000
2454 003002' 000000 000000 000000000000
2455 003003' 000000 000000 000000000000
2456 003004' 000000 000000 000000000000
2457 003005' 000000 000000 000000000000
2458 003006' 000070 000000 000070000000
2459 003007' 000000 000000 000000000000
2460 003010' 000000 000000 000000000000
2461 003011' 000000 000000 000000000000
2462 003012' 000000 000000 000000000000
2463 003013' 000000 000000 000000000000
2464 003014' 000000 004540 000000004540
2465 003015' 000000 001300 000000001300
2466 003016' 000000 000000 000000000000
2467 003017' 000000 000000 000000000000
2468 003020' 000000 000000 000000000000
2469
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 54
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2470 ; LODDMP - ROUTINE TO LOAD A DUMP PROGRAM INTO AN ADJACENT PDP-11
2471 ;
2472 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
2473 ; CALL LODDMP
2474 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2475 ; +2 SUCCESS, PROGRAM LOADED AND STARTED
2476
2477 003021' 265 16 0 00 002551* LODDMP: ASUBR <LDPLIN,<LDPNOD,2>,LDPLNK>
2478
2479 ; GET A LINK TO THE HOST INITIATING THIS DUMP OPERATION
2480
2481 003022' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LINK TO REQUESTING TASK
2482 003023' 201 02 0 00 000026 MOVX T2,.MORHN ;READ HOST NAME FUNCTION
2483 003024' 561 03 0 15 000002 HRROI T3,LDPNOD ;GET POINTER TO WHERE NAME SHOULD GO
2484 003025' 104 00 0 00 000077 MTOPR ;GET THE NODE NAME
2485 003026' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
2486 003027' 561 01 0 15 000002 HRROI T1,LDPNOD ;GET POINTER TO HOST NODE NAME
2487 003030' 260 17 0 00 007140' CALL GETLNK ;GO GET A LOGICAL LINK TO THE HOST
2488 003031' 263 17 0 00 000000 RETBAD () ;FAILED
2489 003032' 202 01 0 15 000004 MOVEM T1,LDPLNK ;SAVE LOGICAL LINK
2490
2491 ; GO ASSEMBLE A NICE "REQUEST DOWN-LINE LOAD" MESSAGE
2492
2493 003033' 200 01 0 15 000001 MOVE T1,LDPLIN ;GET ADDRESS OF LINE TABLE
2494 003034' 260 17 0 00 006007' CALL MAKRQL ;GO ASSEMBLE THE NICE MESSAGE
2495 ; SEND A DOWN-LINE LOAD REQUEST TO THE HOST TO LOAD THE DUMP PROGRAM
2496
2497 ; MOVE T1,LDPLNK ;GET LOGICAL LINK
2498 ; MOVE T2,[POINT 8,LODMSG] ;GET POINTER TO NICE LOAD REQUEST MESSAGE
2499 ; MOVNI T3,LDMSIZ ;GET -COUNT
2500 003035' 104 00 0 00 000532 SOUTR ;SEND THE MESSAGE TO THE HOST
2501 003036' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 55
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2502 ; MOPDMP - ROUTINE TO DUMP AN ADJACENT NODE'S MEMORY USING THE MOP PROTOCOL
2503 ;
2504 ;ACCEPTS IN T1/ NUMBER OF LOCATIONS TO DUMP
2505 ; T2/ ADDRESS OF LINE TABLE
2506 ; CALL MOPDMP
2507 ;RETURNS: +1 FAILED
2508 ; +2 SUCCESS, DATA RETURNED TO HOST NICE PROCESS
2509
2510 003037' 265 16 0 00 003021* MOPDMP: ASUBR <MPDNUM,MPDLIN,MPDPTR,MPDCNT>
2511
2512 ; RECEIVE "MOP MODE RUNNING" MESSAGE FROM DN20
2513
2514 003040' 200 01 0 15 000002 MOVE T1,MPDLIN ;GET ADDRESS OF LINE TABLE
2515 003041' 260 17 0 00 006455' CALL DTERCV ;RECEIVE A MOP MESSAGE FROM ADJACENT NODE
2516 003042' 263 17 0 00 000000 RETBAD () ;FAILED
2517 003043' 260 17 0 00 003155' CALL CHKMMR ;GO CHECK MOP MODE RUNNING MSG AND GET COUNT
2518 003044' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
2519 003045' 315 01 0 15 000001 CAMGE T1,MPDNUM ;MORE MEMORY THERE THAN WAS REQUESTED ?
2520 003046' 202 01 0 15 000001 MOVEM T1,MPDNUM ;NO, USE ONLY WHAT IS THERE
2521
2522 ; SAVE TOTAL NUMBER OF BYTES TO BE DUMPED AND INITIAL DUMP ADDRESS
2523
2524 003047' 200 01 0 15 000001 MOVE T1,MPDNUM ;GET NUMBER OF BYTES REQUESTED
2525 003050' 275 01 0 00 200000 SUBI T1,INIDMP ;COMPUTE NUMBER STILL LEFT TO DUMP
2526 003051' 200 04 0 15 000002 MOVE T4,MPDLIN ;GET ADDRESS OF LINE TABLE
2527 003052' 202 01 0 04 000007 STOR T1,LNDCT,(T4) ;STORE NUMBER OF BYTES LEFT TO DUMP
2528 003053' 201 01 0 00 200000 MOVX T1,INIDMP ;GET INITIAL ADDRESS FOR DUMP
2529 003054' 202 01 0 04 000005 STOR T1,LNADR,(T4) ;STORE NEXT ADDRESS TO START AT
2530 ;..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 56
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2531 ;..
2532 ; SEND A MOP "REQUEST MEMORY DUMP" MESSAGE TO THE DUMP PROGRAM
2533
2534 003055' 200 04 0 15 000002 MOPD10: MOVE T4,MPDLIN ;GET ADDRESS OF LINE TABLE
2535 003056' 200 03 0 04 000007 LOAD T3,LNDCT,(T4) ;GET NUMBER OF BYTES LEFT TO DUMP
2536 003057' 323 03 0 00 002620* JUMPLE T3,RSKP ;IF NO MORE DATA TO DUMP, THEN DONE
2537 003060' 200 01 0 04 000005 LOAD T1,LNADR,(T4) ;GET NEXT BYTE TO BE DUMPED
2538 003061' 201 02 0 00 001773 MOVX T2,RCVMAX-5 ;GET AMOUNT OF MEMORY WE WANT
2539 ; = MAX - NUMBER OF MOP OVERHEAD BYTES
2540 003062' 311 02 0 00 000003 CAML T2,T3 ;LESS THAN THAT STILL LEFT ?
2541 003063' 200 02 0 00 000003 MOVE T2,T3 ;YES, USE LESSER AMOUNT
2542 003064' 200 03 0 04 000006 LOAD T3,LNMSG,(T4) ;SAVE POINTER TO MOP MESSAGE
2543 003065' 260 17 0 00 005650' CALL MAKRQD ;GO MAKE A MOP DUMP REQUEST MESSAGE
2544 003066' 200 04 0 15 000002 MOVE T4,MPDLIN ;GET ADDRESS OF LINE TABLE
2545 003067' 542 02 0 04 000002 STOR T2,LNCNT,(T4) ;SAVE SIZE OF MOP MESSAGE
2546 003070' 200 01 0 15 000002 MOVE T1,MPDLIN ;GET ADDRESS OF LINE TABLE
2547 003071' 260 17 0 00 006374' CALL DTESND ;SEND THE "REQUEST DUMP" MOP MESSAGE
2548 003072' 263 17 0 00 000000 RETBAD () ;FAILED
2549
2550 ; RECEIVE A MOP "MEMORY DUMP DATA" MESSAGE
2551
2552 003073' 200 01 0 15 000002 MOVE T1,MPDLIN ;GET ADDRESS OF LINE TABLE
2553 003074' 260 17 0 00 006455' CALL DTERCV ;RECEIVE A MOP MESSAGE FROM ADJACENT NODE
2554 003075' 263 17 0 00 000000 RETBAD () ;FAILED
2555 003076' 202 02 0 15 000004 MOVEM T2,MPDCNT ;SAVE NUMBER OF BYTES IN MSG RECEIVED
2556
2557 ; CHECK THE MOP MESSAGE JUST READ
2558
2559 003077' 260 17 0 00 003200' CALL MOPCHK ;GO VERIFY MOP MESSAGE
2560 003100' 263 17 0 00 000000 RETBAD () ;FAILED
2561 003101' 200 04 0 15 000002 MOVE T4,MPDLIN ;GET ADDRESS OF LINE TABLE
2562 003102' 200 03 0 04 000005 LOAD T3,LNADR,(T4) ;GET ADDRESS USED FOR THIS DUMP
2563 003103' 270 03 0 00 000002 ADD T3,T2 ;COMPUTE NEXT ADDRESS TO START AT
2564 003104' 202 03 0 04 000005 STOR T3,LNADR,(T4) ;SAVE FOR NEXT PASS
2565 003105' 200 03 0 04 000007 LOAD T3,LNDCT,(T4) ;GET TOTAL NUMBER OF BYTES LEFT TO DUMP
2566 003106' 274 03 0 00 000002 SUB T3,T2 ;COMPUTE TOTAL LEFT AFTER THIS PASS
2567 003107' 202 03 0 04 000007 STOR T3,LNDCT,(T4) ;SAVE TOTAL NUMBER OF BYTES LEFT TO DUMP
2568
2569 ; RETURN THE DUMP DATA TO THE HOST NICE PROCESS
2570
2571 003110' 260 17 0 00 003113' CALL SNDDAT ;GO SEND DUMP DATA BACK TO HOST NICE PROCESS
2572 003111' 263 17 0 00 000000 RETBAD () ;FAILED
2573 003112' 254 00 0 00 003055' JRST MOPD10 ;LOOP BACK FOR MORE DATA
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 57
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2574 ;SNDDAT - ROUTINE TO RETURN DUMP DATA TO HOST NICE PROCESS
2575 ;
2576 ;ACCEPTS IN T1/ POINTER TO DATA TO BE RETURNED
2577 ; T2/ NUMBER OF DATA BYTES TO RETURN
2578 ; CALL SNDDAT
2579 ;RETURNS: +1 FAILED
2580 ; +2 SUCCESS
2581
2582 003113' 265 16 0 00 003037* SNDDAT: ASUBR <SDTPTR,SDTCNT>
2583
2584 003114' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK TO HOST NICE PROCESS
2585 003115' 200 02 0 00 013757' MOVE T2,[POINT 8,[BYTE (8) .LMMEM, .CP11]]
2586 003116' 211 03 0 00 000002 MOVNI T3,2 ;MESSAGE BEGINS WITH TWO BYTES
2587 003117' 104 00 0 00 000053 SOUT ;OUTPUT FIRST PART OF NICE MESSAGE
2588 003120' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED
2589 003121' 210 03 0 15 000002 MOVN T3,SDTCNT ;GET -COUNT OF BYTES TO RETURN
2590 003122' 200 02 0 15 000001 MOVE T2,SDTPTR ;COPY POINTER TO DATA BYTES
2591 003123' 104 00 0 00 000532 SOUTR ;RETURN DATA TO HOST NICE PROCESS
2592 003124' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;RETURN ERROR ON FAILURE
2593 003125' 254 00 0 00 003057* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 58
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2594 ; ROMDMP - ROUTINE TO DUMP AN ADJACENT PDP-11 USING ITS ROM
2595 ;
2596 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
2597 ; CALL ROMDMP
2598 ;RETURNS: +1 FAILED
2599 ; +2 SUCCESS
2600
2601 ; GET SOME MEMORY IMAGE DATA FROM THE ADJACENT NODE
2602
2603 003126' 265 16 0 00 003113* ROMDMP: ASUBR <RDMLIN>
2604 003127' 200 01 0 15 000001 RMDMP2: MOVE T1,RDMLIN ;GET ADDRESS OF LINE TABLE
2605 003130' 260 17 0 00 006426' CALL DTEDMP ;GO RECEIVE SOME DATA
2606 003131' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
2607 003132' 200 04 0 15 000001 MOVE T4,RDMLIN ;GET ADDRESS OF LINE TABLE
2608 003133' 200 01 0 04 000007 LOAD T1,LNDCT,(T4) ;GET TOTAL NUMBER OF BYTES LEFT TO DUMP
2609 003134' 550 02 0 04 000002 LOAD T2,LNCNT,(T4) ;GET NUMBER OF BYTES JUST DUMPED
2610 003135' 274 01 0 00 000002 SUB T1,T2 ;COMPUTE NUMBER OF BYTES REMAINING TO BE DUMPED
2611 003136' 202 01 0 04 000007 STOR T1,LNDCT,(T4) ;STORE NUMBER OF BYTES STILL LEFT TO DUMP
2612
2613 ; RETURN THE MEMORY IMAGE DATA TO REQUESTING HOST NCU
2614
2615 003137' 200 01 0 15 000001 MOVE T1,RDMLIN ;GET ADDRESS OF LINE TABLE
2616 003140' 200 01 0 01 000006 LOAD T1,LNMSG,(T1) ;GET POINTER TO DUMP DATA
2617 003141' 201 01 1 00 000001 MOVEI T1,@T1 ;GET ADDRESS OF DUMP DATA
2618 003142' 260 17 0 00 005450' CALL MAKIMD ;GO MAKE A DUMP DIALOG MEMORY IMAGE MESSAGE
2619 003143' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
2620 003144' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
2621 003145' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO MEMORY IMAGE DATA MESSAGE
2622 003146' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK (JFN) TO HOST NCU
2623 003147' 104 00 0 00 000532 SOUTR ;SEND THE MEMORY IMAGE MESSAGE BACK TO THE HOST
2624 003150' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED, "NETWORK COMMUNICATIONS ERROR"
2625
2626 ; IF THERE IS MORE DATA TO DUMP, LOOP BACK AND GET MORE DATA FROM DTE
2627
2628 003151' 200 04 0 15 000001 MOVE T4,RDMLIN ;GET ADDRESS OF LINE TABLE
2629 003152' 332 00 0 04 000007 JN LNDCT,(T4),RMDMP2 ;LOOP BACK IF THERE IS MORE DATA TO DUMP
2630 003153' 254 00 0 00 003127'
2631 003154' 254 00 0 00 003125* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 59
NCU MAC 6-Oct-81 12:41 NICE Process -- Line Service Handler
2632 ;CHKMMR - ROUTINE TO CHECK A "MOP MODE RUNNING" MESSAGE FROM ADJACENT DN20
2633 ;
2634 ;ACCEPTS IN T1/ POINTER TO MOP MESSAGE
2635 ; T2/ NUMBER OF BYTES IN MOP MESSAGE
2636 ; CALL CHKMMR
2637 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
2638 ; +2 SUCCESS, WITH T1/ SIZE OF MEMORY TO BE DUMPED
2639
2640 003155' 265 16 0 00 003126* CHKMMR: ASUBR <CMRPTR,CMRCNT>
2641
2642 003156' 302 02 0 00 000010 CAIE T2,^D8 ;CORRECT NUMBER OF BYTES IN MESSAGE ?
2643 003157' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
2644 003160' 134 04 0 00 000001 ILDB T4,T1 ;GET MOP FUNCTION CODE
2645 003161' 302 04 0 00 000014 CAIE T4,.MPMMR ;MOP MODE RUNNING ?
2646 003162' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
2647 003163' 134 04 0 00 000001 ILDB T4,T1 ;GET DEVICE TYPE
2648 003164' 302 04 0 00 000024 CAIE T4,.DTDTE ;DTE20 ?
2649 003165' 254 00 0 00 013670' RETBAD (.NRILN) ;NO, FAIL
2650 003166' 134 04 0 00 000001 ILDB T4,T1 ;GET STATION ADDRESS
2651 003167' 302 04 0 00 000001 CAIE T4,1 ;PT - TO - PT ?
2652 003170' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
2653 003171' 260 17 0 00 004613' CALL GETMEM ;GO GET MEMORY SIZE
2654 003172' 263 17 0 00 000000 RETBAD () ;FAILED, BAD MESSAGE
2655 003173' 134 04 0 00 000001 ILDB T4,T1 ;GET FEATURES MASK
2656 003174' 606 04 0 00 000002 TXNN T4,MP%DMP ;DUMP SUPPORTED ?
2657 003175' 254 00 0 00 013540' RETBAD (.NRFNC) ;NO, FAIL
2658 003176' 200 01 0 00 000003 MOVE T1,T3 ;GET MEMORY SIZE
2659 003177' 254 00 0 00 003154* RETSKP ;DONE, RETURN SUCCESS
2660
2661
2662
2663
2664 ; MOPCHK - ROUTINE TO CHECK MOP "MEMORY DUMP DATA" MESSAGE
2665 ;
2666 ;ACCEPTS IN T1/ POINTER TO START OF MOP "MEMORY DUMP DATA" MESSAGE
2667 ; T2/ NUMBER OF BYTES IN MOP MESSAGE
2668 ; CALL MOPCHK
2669 ;RETURNS: +1 FAILED
2670 ; +2 SUCCESS, WITH T1/ POINTER TO START OF DATA IN MSG
2671 ; T2/ NUMBER OF DATA BYTES IN THE MSG
2672
2673 003200' 375 00 0 00 000002 MOPCHK: SOSGE T2 ;AT LEAST ONE BYTE IN MESSAGE
2674 003201' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, NOT EVEN A FUNCTION CODE THERE !
2675 003202' 134 04 0 00 000001 ILDB T4,T1 ;GET MOP FUNCTION CODE
2676 003203' 302 04 0 00 000016 CAIE T4,.MPDMP ;MEMORY DUMP DATA ?
2677 003204' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
2678 003205' 260 17 0 00 004613' CALL GETMEM ;GO GET MEMORY ADDRESS FROM MESSAGE
2679 003206' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
2680 003207' 254 00 0 00 003177* RETSKP ;DONE, RETURN SUCCESS
2681
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 60
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2682 SUBTTL NICE Process -- Event Logger
2683
2684 003210' 265 16 0 00 000000* REQLOG: SAVEPQ
2685 003211' 265 16 0 00 002415* STKVAR <<RLGSRC,2>,RLGSEQ,RLGOPT>
2686 003212' 000004 000004
2687
2688 ; EXTRACT FIELDS FROM THE INITIAL PART OF THE NICE MESSAGE
2689
2690 003213' 260 17 0 00 004340' CALL GETFCN ;EXTRACT FUNCTION CODE FROM MESSAGE
2691 003214' 263 17 0 00 000000 RETBAD () ;FAILED
2692 003215' 260 17 0 00 004344' CALL GETOPT ;GET THE OPTION FROM THE MESSAGE
2693 003216' 263 17 0 00 000000 RETBAD () ;FAILED
2694 003217' 202 04 0 17 777773 MOVEM T4,RLGOPT ;SAVE OPTION CODE
2695 003220' 541 03 0 17 777775 HRRI T3,RLGSRC ;GET ADDRESS OF SOURCE NODE NAME STRING
2696 003221' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;FORM POINTER TO STRING DESTINATION
2697 003222' 260 17 0 00 004474' CALL GETIMA ;GO EXTRACT SOURCE NODE NAME
2698 003223' 263 17 0 00 000000 RETBAD () ;FAILED
2699 003224' 505 03 0 00 440000 HRLI T3,440000 ;USE POINTER WITH ZERO SIZE FIELD TO DISCARD
2700 003225' 260 17 0 00 004474' CALL GETIMA ; IMAGE ASCII FIELD HOLDING SOURCE COMPONENT
2701 003226' 263 17 0 00 000000 RETBAD () ;FAILED
2702 003227' 260 17 0 00 005221' CALL GETSEQ ;GET SEQUENCE NUMBER FROM MESSAGE
2703 003230' 263 17 0 00 000000 RETBAD () ;FAILED
2704 003231' 202 03 0 17 777774 MOVEM T3,RLGSEQ ;SAVE SEQUENCE NUMBER
2705
2706 ; EXTRACT EVENT TYPE CODE FROM MESSAGE AND DISPATCH TO PROCESSING ROUTINE
2707
2708 003232' 260 17 0 00 005225' CALL GETEVT ;GO GET EVENT CODE FROM NICE MESSAGE
2709 003233' 263 17 0 00 000000 RETBAD () ;FAILED
2710 003234' 540 04 0 00 000003 HRR T4,T3 ;COPY EVENT CODE
2711 003235' 504 04 0 17 777774 HRL T4,RLGSEQ ;GET SEQUENCE NUMBER
2712 003236' 541 03 0 17 777775 HRRI T3,RLGSRC ;GET ADDRESS OF SOURCE NODE NAME
2713 003237' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;FORM POINTER TO NAME
2714 003240' 260 17 0 00 003243' CALL DOLOG ;GO MAKE THE LOG ENTRY
2715 003241' 263 17 0 00 000000 RETBAD () ;FAILED
2716 003242' 254 00 0 00 003207* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 61
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2717 ;DOLOG - ROUTINE TO LOG DATA FROM THE NETWORK
2718 ;
2719 ;ACCEPTS IN T1/ POINTER TO "LOG DATA" PORTION OF NICE REQUEST-LOG MESSAGE
2720 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
2721 ; T3/ POINTER TO SOURCE NODE NAME
2722 ; T4/ SEQUENCE NUMBER,,EVENT CODE (.EVXXX)
2723
2724 003243' 265 16 0 00 003210* DOLOG: SAVEPQ
2725 003244' 265 16 0 00 003155* ASUBR <DLGPTR,DLGCNT,DLGSRC,DLGEVT>
2726 003245' 265 16 0 00 003211* STKVAR <DLGSEQ>
2727 003246' 000001 000001
2728 003247' 556 04 0 17 777776 HLRZM T4,DLGSEQ ;STORE SEQUENCE NUMBER
2729 003250' 553 00 0 15 000004 HRRZS DLGEVT ;KEEP JUST EVENT CODE
2730
2731 ; VALIDATE EVENT CODE
2732
2733 003251' 200 04 0 15 000004 MOVE T4,DLGEVT ;GET EVENT CODE TYPE
2734 003252' 303 04 0 00 000005 CAILE T4,EVTSIZ-1 ;WITHIN VALID RANGE ?
2735 003253' 254 00 0 00 013711' RETBAD (.NRIPV) ;NO, INVALID PARAMETER VALUE
2736
2737 ; ASSIGN A PAGE FOR THE SYSERR ENTRY
2738
2739 003254' 260 17 0 00 002235* CALL ASGPAG ;ASSIGN A PAGE TO HOLD SYSERR ENTRY
2740 003255' 263 17 0 00 000000 RETBAD () ;FAILED
2741 003256' 201 10 0 02 000000 MOVEI P1,(T2) ;SAVE BASE ADDRESS OF SYSERR ENTRY
2742 003257' 201 11 0 10 000004 MOVEI P2,.SYDAT(P1) ;GET ADR OF NETWORK HEADER PART OF ENTRY
2743
2744 ; SET UP NETWORK HEADER PART OF SYSERR ENTRY WITH COMMON INFO
2745
2746 003260' 200 01 0 00 000010 MOVE T1,P1 ;GET BASE ADDRESS OF SYSERR ENTRY
2747 003261' 200 02 0 15 000003 MOVE T2,DLGSRC ;GET POINTER TO SOURCE NODE
2748 003262' 200 03 0 17 777776 MOVE T3,DLGSEQ ;GET SEQUENCE NUMBER
2749 003263' 260 17 0 00 004025' CALL EVTSYR ;SET UP NETWORK HEADER
2750 003264' 254 00 0 00 003303' JRST DOLOGX ;FAILED, GO RELEASE PAGE
2751
2752 ; DISPATCH TO PROPER PROCESSING ROUTINE FOR THIS EVENT TYPE
2753
2754 003265' 200 03 0 00 000001 MOVE T3,T1 ;GET NEXT ADR TO USE IN SYSERR ENTRY
2755 003266' 200 01 0 15 000001 MOVE T1,DLGPTR ;GET POINTER TO REMAINDER OF NICE MESSAGE
2756 003267' 200 02 0 15 000002 MOVE T2,DLGCNT ;GET NUMBER OF BYTES LEFT IN MESSAGE
2757 003270' 200 04 0 15 000004 MOVE T4,DLGEVT ;GET EVENT TYPE CODE
2758 003271' 260 17 1 04 003310' CALL @EVTTAB(T4) ;YES, DISPATCH TO PROCESSING ROUTINE
2759 003272' 254 00 0 00 003303' JRST DOLOGX ;FAILED, RELEASE SYSERR PAGE
2760 003273' 137 02 0 00 013760' STOR T2,SYLEN,(P1) ;STORE LENGTH OF ENTRY
2761 003274' 200 01 0 00 000010 MOVE T1,P1 ;GET BASE ADDRESS OF SYSERR ENTRY (LENGTH IN T2)
2762 003275' 104 00 0 00 000527 SYERR ;RECORD THE SYSERR ENTRY
2763 ERJMP [ NON.FATAL.ERROR (.ERR29) ;COULD NOT MAKE SYSERR ENTRY
2764 003276' 320 16 0 00 013764' JRST .+1 ]
2765 003277' 200 01 0 00 000010 MOVE T1,P1 ;GET ADDRESS OF SYSERR PAGE
2766 003300' 260 17 0 00 002303* CALL RELPGA ;RELEASE THE PAGE
2767 003301' 260 17 0 00 002304* NON.FATAL.ERROR ;FAILED
2768 003302' 254 00 0 00 003242* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 62
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2769
2770 ; HERE ON ERROR WITH SYSERR PAGE ASSIGNED
2771
2772 003303' 250 01 0 00 000010 DOLOGX: EXCH T1,P1 ;SAVE ERROR CODE, GET ADDRESS OF SYSERR PAGE
2773 003304' 260 17 0 00 003300* CALL RELPGA ;RELEASE THE PAGE
2774 003305' 260 17 0 00 003301* NON.FATAL.ERROR ;FAILED
2775 003306' 200 01 0 00 000010 MOVE T1,P1 ;RESTORE ERROR CODE
2776 003307' 263 17 0 00 000000 RETBAD () ;FAIL
2777
2778
2779
2780
2781
2782 ; TABLE OF EVENT CODE PROCESSING ROUTINES
2783
2784 003310' 000000 013766' EVTTAB: [RETBAD (.NRIPV)] ; 0 - ILLEGAL
2785 003311' 000000 004057' EVTASC ; 1 - ASCII INFORMATION
2786 003312' 000000 003316' EVTEXA ; 2 - EXTENDED ASCII INFORMATION
2787 003313' 000000 003503' EVTHDW ; 3 - HARDWARE ERROR
2788 003314' 000000 004060' EVTSFT ; 4 - SOFTWARE ERROR
2789 003315' 000000 003403' EVTTOP ; 5 - TOPOLOGY CHANGE
2790
2791 000006 EVTSIZ==.-EVTTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 63
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2792
2793 003316' 265 16 0 00 003243* EVTEXA: SAVEPQ
2794 003317' 265 16 0 00 003244* ASUBR <EVAPTR,EVACNT,EVALGD,EVAMSG>
2795 003320' 265 16 0 00 003245* STKVAR <EVATMP,EVABLK>
2796 003321' 000002 000002
2797 003322' 402 00 0 00 000013 SETZM P4 ;INITIALIZE "NOT DONE YET" FLAG
2798
2799 ; SET UP TO ADD CHK11 TEXT TO SYSERR ENTRY
2800
2801 003323' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;FORM POINTER TO WHERE TEXT WILL GO
2802 003324' 202 03 0 15 000004 MOVEM T3,EVAMSG ;SAVE POINTER TO TEXT
2803 003325' 200 01 0 15 000001 MOVE T1,EVAPTR ;GET POINTER TO NICE MESSAGE
2804 003326' 200 02 0 15 000002 MOVE T2,EVACNT ;GET NUMBER OF BYTES LEFT IN NICE MESSAGE
2805
2806 ; LOOP TO ADD EACH MESSAGE-FUL OF TEXT TO SYSERR ENTRY
2807
2808 003327' 260 17 0 00 004635' EVTA05: CALL GETFLD ;GO EXTRACT FIELD FROM EVENT LOGGING MESSAGE
2809 003330' 263 17 0 00 000000 RETBAD () ;FAILED
2810 003331' 202 04 0 17 777775 MOVEM T4,EVABLK ;SAVE EVENT BLOCK ADDRESS
2811 003332' 302 03 0 00 000016 CAIE T3,.EDTXT ;ASCII DATA TYPE CODE ?
2812 003333' 254 00 0 00 003327' JRST EVTA05 ;NO, IGNORE IT - GO GET NEXT FIELD
2813 003334' 134 01 0 00 000004 ILDB T1,T4 ;GET FIRST CHARACTER IN STRING
2814 003335' 306 01 0 00 000000 CAIN T1,0 ;LAST MESSAGE ?
2815 003336' 476 00 0 00 000013 SETOM P4 ;YES, NOTE BY SETTING FLAG
2816 003337' 200 01 0 15 000004 MOVE T1,EVAMSG ;GET DESTINATION POINTER FOR TEXT
2817 003340' 202 01 0 17 777776 MOVEM T1,EVATMP ;SAVE POINTER TO FIRST DATA BYTE
2818 003341' 200 02 0 17 777775 MOVE T2,EVABLK ;GET SOURCE TEXT POINTER
2819 003342' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
2820 003343' 104 00 0 00 000053 SOUT ;ACCUMULATE TEXT
2821 003344' 202 01 0 15 000004 MOVEM T1,EVAMSG ;SAVE UPDATED DESTINATION POINTER
2822 003345' 200 01 0 17 777775 MOVE T1,EVABLK ;GET BLOCK ADDRESS AGAIN
2823 003346' 260 17 0 00 000655* CALL RELFRE ;RELEASE THE BLOCK
2824 003347' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
2825 003350' 200 01 0 17 777776 MOVE T1,EVATMP ;GET POINTER TO TEXT MESSAGE
2826 003351' 332 00 0 00 000013 SKIPE P4 ;GOT LAST MESSAGE YET ?
2827 003352' 254 00 0 00 003365' JRST EVTA10 ;YES, GO MAKE SYSERR ENTRY
2828 003353' 200 01 0 14 000032 MOVE T1,REQLNK ;GET LOGICAL LINK FROM REQUESTING TASK
2829 003354' 541 02 0 14 000033 HRRI T2,MSGBLK ;GET ADDRESS OF NICE MESSAGE AREA
2830 003355' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO NICE MESSAGE DESTINATION
2831 003356' 211 03 0 00 014000 MOVNI T3,MSGSIZ*BPWRD ;GET MAX COUNT
2832 003357' 104 00 0 00 000531 SINR ;GET NEXT BLOCK OF TEXT
2833 003360' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;FAILED, "NETWORK COMMUNICATIONS ERROR"
2834 003361' 201 02 0 03 014000 MOVEI T2,MSGSIZ*BPWRD(T3) ;GET NUMBER OF BYTES IN MESSAGE
2835 003362' 541 01 0 14 000033 HRRI T1,MSGBLK ;GET ADDRESS OF NICE MESSAGE AREA
2836 003363' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO NICE MESSAGE DESTINATION
2837 003364' 254 00 0 00 003327' JRST EVTA05 ;GO EXTRACT TEXT FROM NEXT MESSAGE
2838
2839 ; HERE WHEN ALL ASCII DATA EXTRACTED
2840
2841 003365' 201 04 0 00 000222 EVTA10: MOVX T4,SY%CHK ;CHK11 ENTRY TYPE CODE
2842 003366' 137 04 0 00 013767' STOR T4,SYCOD,(P1) ;STORE ENTRY TYPE CODE IN SYSERR ENTRY
2843 003367' 550 02 0 15 000004 HRRZ T2,EVAMSG ;GET LAST ADDRESS USED IN SYSERR ENTRY
2844 003370' 274 02 0 15 000003 SUB T2,EVALGD ;COMPUTE NUMBER OF WORDS IN LOG DATA SECTION
2845 003371' 210 02 0 00 000002 MOVN T2,T2 ;GET -NUMBER OF WORDS
2846 003372' 514 02 0 00 000002 HRLZ T2,T2 ;GET -COUNT,,0
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 63-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2847 003373' 200 03 0 15 000003 MOVE T3,EVALGD ;GET LOG DATA STARTING ADDRESS
2848 003374' 274 03 0 00 000011 SUB T3,P2 ;COMPUTE OFFSET TO LOG DATA
2849 003375' 541 02 0 03 000000 HRRI T2,(T3) ;FORM SYSERR POINTER TO LOG DATA SECTION
2850 003376' 202 02 0 11 000014 STOR T2,SYPTR,(P2) ;STORE POINTER TO LOG DATA SECTION
2851 003377' 550 02 0 15 000004 HRRZ T2,EVAMSG ;GET LAST ADDRESS USED IN SYSERR ENTRY
2852 003400' 274 02 0 00 000010 SUB T2,P1 ;COMPUTE SIZE OF ENTIRE ENTRY
2853 003401' 137 02 0 00 013760' STOR T2,SYLEN,(P1) ;STORE LENGTH OF ENTRY
2854 003402' 254 00 0 00 003302* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 64
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2855 ;EVTTOP - ROUTINE TO HANDLE TOPOLOGY CHANGE LOGGING MESSAGES
2856
2857 003403' 265 16 0 00 003316* EVTTOP: SAVEPQ
2858 003404' 265 16 0 00 003320* STKVAR <ETPNOD,ETPLID,ETPDST,ETPERR,ETPRSN>
2859 003405' 000005 000005
2860 003406' 202 03 0 17 777774 MOVEM T3,ETPDST ;SAVE DESTINATION FOR NEXT ITEM IN SYSERR ENTRY
2861
2862 ; INITIALIZE VARIABLES
2863
2864 003407' 402 00 0 17 777776 SETZM ETPNOD ;NODE ID
2865 003410' 402 00 0 17 777775 SETZM ETPLID ;LINE ID
2866 003411' 402 00 0 17 777772 SETZM ETPRSN ;REASON CODE
2867
2868 ; LOOP OVER EACH FIELD IN THE MESSAGE
2869
2870 003412' 322 02 0 00 003436' ETP010: JUMPE T2,ETP020 ;IF NO MORE FIELDS, GO MAKE SYSERR ENTRY
2871 003413' 260 17 0 00 004635' CALL GETFLD ;GO EXTRACT NEXT FIELD FROM NICE LOG MESSAGE
2872 003414' 254 00 0 00 003466' JRST EVTTPX ;FAILED, RELEASE ANY ASSIGNED RESOURCES
2873 003415' 301 03 0 00 000015 CAIL T3,ETPLEN ;DATA TYPE CODE WITHIN RANGE ?
2874 JRST [ MOVX T1,.NRIMF ;NO, BAD MESSAGE FORMAT
2875 003416' 254 00 0 00 013770' JRST EVTTPX ] ;RETURN ERROR
2876 003417' 254 00 1 03 003421' JRST @ETPTAB(T3) ;STORE ITEM FROM LOG MESSAGE
2877 ; (EACH PROCESSING ROUTINE RETURNS TO ETP015)
2878 003420' 254 00 0 00 003412' ETP015: JRST ETP010 ;LOOP BACK FOR NEXT FIELD IN MESSAGE
2879
2880 ; TABLE OF ROUTINES TO STORE DATA FOR TOPOLOGY CHANGE ENTRIES
2881
2882 003421' 000000 003466' ETPTAB: EVTTPX ; 0 - ILLEGAL
2883 003422' 000000 003466' EVTTPX ; 1 - GENERAL DATA
2884 003423' 000000 003420' ETP015 ; 2 - TIME OF DAY (NOT USED)
2885 003424' 000000 003420' ETP015 ; 3 - DATE (NOT USED)
2886 003425' 000000 003466' EVTTPX ; 4 - UPTIME
2887 003426' 000000 003501' ESTLID ; 5 - LINE ID
2888 003427' 000000 003475' ESTRSN ; 6 - REASON CODE
2889 003430' 000000 003466' EVTTPX ; 7 - RECOVERY
2890 003431' 000000 003466' EVTTPX ; 8 - OPERATING SYSTEM ID
2891 003432' 000000 003477' ESTNOD ; 9 - NODE ID
2892 003433' 000000 003466' EVTTPX ; 10 - MICROCODE INFO
2893 003434' 000000 003466' EVTTPX ; 11 - LINE PROTOCOL
2894 003435' 000000 003466' EVTTPX ; 12 - TRANSMISSION PROTOCOL
2895
2896 000015 ETPLEN==.-ETPTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 65
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2897 ; HERE WHEN ALL FIELDS EXTRACTED FROM MESSAGE
2898
2899 003436' ETP020:
2900
2901 ; ADD ADJACENT NODE NAME TO NETWORK HEADER
2902
2903 003436' 200 03 0 17 777774 MOVE T3,ETPDST ;COPY DESTINATION ADDRESS FOR STRING
2904 003437' 200 02 0 17 777776 MOVE T2,ETPNOD ;GET POINTER TO NODE NAME
2905 003440' 200 01 0 00 000010 MOVE T1,P1 ;GET ADDRESS OF SYSERR ENTRY
2906 003441' 260 17 0 00 007630' CALL SYRSTR ;ADD STRING TO ENTRY
2907 003442' 254 00 0 00 003466' JRST EVTTPX ;FAILED
2908 003443' 202 02 0 11 000003 STOR T2,SYADJ,(P2) ;STORE POINTER TO ADJACENT NODE
2909 003444' 202 01 0 17 777774 MOVEM T1,ETPDST ;UPDATE NEXT ADDRESS TO USE IN SYSERR ENTRY
2910
2911 ; STORE REASON CODE AND LINE ID
2912
2913 003445' 336 04 0 17 777772 SKIPN T4,ETPRSN ;GET REASON CODE
2914 003446' 254 00 0 00 003450' JRST ETP030 ;NONE SUPPLIED
2915 003447' 542 04 0 11 000013 STOR T4,SYRSN,(P2) ;STORE REASON IN NETWORK HEADER OF SYSERR ENTRY
2916 003450' 336 04 0 17 777775 ETP030: SKIPN T4,ETPLID ;GET ADDRESS OF BLOCK HOLDING LINE ID
2917 003451' 254 00 0 00 003456' JRST ETP040 ;NO LINE ID SUPPLIED
2918 003452' 200 03 0 04 000001 MOVE T3,1(T4) ;GET FIRST WORD OF LINE ID
2919 003453' 202 03 0 11 000007 STOR T3,SYLID,(P2) ;STORE FIRST PART OF LINE ID
2920 003454' 200 03 0 04 000002 MOVE T3,2(T4) ;GET SECOND WORD OF LINE ID
2921 003455' 202 03 0 11 000010 STOR T3,SYLI1,(P2) ;STORE SECOND SECTION OF LINE ID
2922
2923 ; HERE WHEN DONE, RELEASE RESOURCES AND RETURN
2924
2925 003456' 332 01 0 17 777776 ETP040: SKIPE T1,ETPNOD ;ANY NODE ID YET ?
2926 JRST [ CALL RELFRE ;YES, RELEASE NODE NAME
2927 FATAL.ERROR ; Die on release failure
2928 003457' 254 00 0 00 013772' JRST .+1 ]
2929 003460' 332 01 0 17 777775 SKIPE T1,ETPLID ;ANY LINE ID YET ?
2930 JRST [ CALL RELFRE ;YES, RELEASE LINE ID
2931 FATAL.ERROR ; Die on release failure
2932 003461' 254 00 0 00 013775' JRST .+1 ]
2933 003462' 200 02 0 17 777774 MOVE T2,ETPDST ;GET NEXT ADDRESS TO USE IN SYSERR ENTRY
2934 003463' 274 02 0 00 000010 SUB T2,P1 ;COMPUTE SIZE OF SYSERR ENTRY
2935 003464' 201 01 0 00 000221 MOVX T1,SY%TOP ;GET TOPOLOGY CHANGE EVENT CODE
2936 003465' 254 00 0 00 003402* RETSKP ;DONE, RETURN SUCCESS
2937
2938
2939 ; HERE ON AN ERROR TO RELEASE ANY ASSIGNED RESOURCES
2940
2941 003466' 202 01 0 17 777773 EVTTPX: MOVEM T1,ETPERR ;SAVE ERROR CODE
2942 003467' 332 01 0 17 777776 SKIPE T1,ETPNOD ;ANY NODE ID YET ?
2943 JRST [ CALL RELFRE ;YES, RELEASE NODE NAME
2944 FATAL.ERROR
2945 003470' 254 00 0 00 014000' JRST .+1 ]
2946 003471' 332 01 0 17 777775 SKIPE T1,ETPLID ;ANY LINE ID YET ?
2947 JRST [ CALL RELFRE ;YES, RELEASE LINE ID
2948 FATAL.ERROR
2949 003472' 254 00 0 00 014003' JRST .+1 ]
2950 003473' 200 01 0 17 777773 MOVE T1,ETPERR ;RESTORE ERROR CODE
2951 003474' 263 17 0 00 000000 RETBAD () ;FAIL
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 65-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2952
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 66
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2953 ; ROUTINES TO STORE INFO USED TO MAKE TOPOLOGY CHANGE SYSERR ENTRIES
2954
2955 003475' 202 04 0 17 777772 ESTRSN: MOVEM T4,ETPRSN ;STORE REASON CODE
2956 003476' 254 00 0 00 003420' JRST ETP015 ;DONE, RETURN
2957
2958
2959 003477' 202 04 0 17 777776 ESTNOD: MOVEM T4,ETPNOD ;STORE POINTER TO NODE NAME
2960 003500' 254 00 0 00 003420' JRST ETP015 ;DONE, RETURN
2961
2962 003501' 202 04 0 17 777775 ESTLID: MOVEM T4,ETPLID ;STORE POINTER TO LINE ID
2963 003502' 254 00 0 00 003420' JRST ETP015 ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 67
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
2964
2965 ;EVTHDW - ROUTINE TO PROCESS HARDWARE EVENT LOG ENTRIES
2966
2967 003503' 265 16 0 00 003403* EVTHDW: SAVEPQ
2968 STKVAR <HDWNOD,HDWDEV,HDWREG,HDWUPT,HDWDAT,HDWRSN,HDWRCV,HDWOPS,HDWERR,HDWMCD,HDWDST
2969 003504' 265 16 0 00 003404* ,HDWTHR,HDWLXX>
2970 003505' 000015 000015
2971
2972 003506' 202 03 0 17 777764 MOVEM T3,HDWDST ;SAVE NEXT ADR TO USE IN SYSERR ENTRY
2973
2974 ; INITIALIZE VARIABLES
2975
2976 003507' 476 00 0 17 777763 SETOM HDWTHR ;NO THRESHOLD VALUE YET
2977 003510' 402 00 0 17 777776 SETZM HDWNOD ;NO NODE NAME YET
2978 003511' 402 00 0 17 777775 SETZM HDWDEV ;NO DEVICE YET
2979 003512' 402 00 0 17 777774 SETZM HDWREG ;NO REGISTER DATA YET
2980 003513' 402 00 0 17 777773 SETZM HDWUPT ;NO UPTIME YET
2981 003514' 402 00 0 17 777772 SETZM HDWDAT ;NO DATE YET
2982 003515' 402 00 0 17 777771 SETZM HDWRSN ;NO REASON CODE YET
2983 003516' 476 00 0 17 777770 SETOM HDWRCV ;NO RECOVERY CODE YET
2984 003517' 402 00 0 17 777767 SETZM HDWOPS ;NO OPERATING SYSTEM ID YET
2985 003520' 402 00 0 17 777765 SETZM HDWMCD ;NO MICROCODE ID YET
2986
2987 ; LOOP OVER EACH FIELD IN THE MESSAGE
2988
2989 003521' 322 02 0 00 003555' HDW010: JUMPE T2,HDW020 ;IF NO MORE FIELDS, GO MAKE SYSERR ENTRY
2990 003522' 260 17 0 00 004635' CALL GETFLD ;GO EXTRACT NEXT FIELD FROM NICE LOG MESSAGE
2991 003523' 254 00 0 00 003546' JRST EVTHDX ;FAILED, RELEASE ANY ASSIGNED RESOURCES
2992 003524' 301 03 0 00 000016 CAIL T3,HDWLEN ;DATA TYPE CODE WITHIN RANGE ?
2993 JRST [ MOVX T1,.NRIMF ;NO, BAD MESSAGE FORMAT
2994 003525' 254 00 0 00 014006' JRST EVTHDX ] ;RETURN ERROR
2995 003526' 254 00 1 03 003530' JRST @HDWTAB(T3) ;STORE ITEM FROM LOG MESSAGE
2996 ; (EACH PROCESSING ROUTINE RETURNS TO HDW015)
2997 003527' 254 00 0 00 003521' HDW015: JRST HDW010 ;LOOP BACK FOR NEXT FIELD IN MESSAGE
2998
2999 ; TABLE OF ROUTINES TO STORE DATA FOR HARDWARE ENTRIES
3000
3001 003530' 000000 003546' HDWTAB: EVTHDX ; 0 - ILLEGAL
3002 003531' 000000 004005' HSTREG ; 1 - REGISTER DATA
3003 003532' 000000 003527' HDW015 ; 2 - TIME OF DAY (NOT USED)
3004 003533' 000000 003527' HDW015 ; 3 - DATE (NOT USED)
3005 003534' 000000 004007' HSTUPT ; 4 - UPTIME
3006 003535' 000000 004003' HSTDEV ; 5 - LINE ID
3007 003536' 000000 004011' HSTRSN ; 6 - REASON CODE
3008 003537' 000000 003527' HDW015 ; 7 - RECOVERY (IGNORED)
3009 003540' 000000 004015' HSTOPS ; 8 - OPERATING SYSTEM ID
3010 003541' 000000 004021' HSTNOD ; 9 - NODE ID
3011 003542' 000000 004017' HSTMCD ; 10 - MICROCODE INFO
3012 003543' 000000 003546' EVTHDX ; 11 - LINE PROTOCOL
3013 003544' 000000 003546' EVTHDX ; 12 - TRANSMISSION PROTOCOL
3014 003545' 000000 004023' HSTTHR ; 13 - THRESHOLD VALUE
3015
3016 000016 HDWLEN==.-HDWTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 68
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3017
3018
3019 003546' 202 01 0 17 777766 EVTHDX: MOVEM T1,HDWERR ;SAVE ERROR CODE
3020 003547' 332 01 0 17 777775 SKIPE T1,HDWDEV ;ANY DEVICE YET ?
3021 JRST [ CALL RELFRE ;YES, RELEASE SPACE
3022 FATAL.ERROR
3023 003550' 254 00 0 00 014010' JRST .+1 ]
3024 003551' 332 01 0 17 777774 SKIPE T1,HDWREG ;ANY REGISTERS YET ?
3025 JRST [ CALL RELFRE ;YES, RELEASE FREE BLOCK
3026 FATAL.ERROR
3027 003552' 254 00 0 00 014013' JRST .+1]
3028 003553' 200 01 0 17 777766 MOVE T1,HDWERR ;RESTORE ERROR CODE
3029 003554' 263 17 0 00 000000 RETBAD () ;RETURN FAILURE
3030
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 69
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3031
3032 ; HERE WHEN ALL FIELDS EXTRACTED FROM NICE EVENT LOGGING MESSAGE
3033
3034 003555' 200 01 0 17 777775 HDW020: MOVE T1,HDWDEV ;GET ADDRESS OF DEVICE ID
3035 003556' 554 01 0 01 000001 HLRZ T1,1(T1) ;GET DEVICE TYPE CODE
3036 003557' 260 17 0 00 003771' CALL CVTHDW ;CONVERT NICE DEVICE CODE TO SYSERR CODE
3037 003560' 254 00 0 00 003546' JRST EVTHDX ;FAILED
3038 003561' 137 01 0 00 014016' STOR T1,SYHDW,(P2) ;STORE HARDWARE DEVICE TYPE IN ENTRY
3039
3040 ; STORE OPERATING SYSTEM AND REASON CODES, AND RECOVERY INFO
3041
3042 003562' 200 01 0 17 777767 MOVE T1,HDWOPS ;GET OPERATING SYSTEM ID CODE
3043 003563' 137 01 0 00 014017' STOR T1,SYOPS,(P2) ;STORE IN SYSERR ENTRY
3044 003564' 200 01 0 17 777771 MOVE T1,HDWRSN ;GET REASON CODE
3045 003565' 542 01 0 11 000013 STOR T1,SYRSN,(P2) ;STORE IN SYSERR ENTRY
3046 003566' 200 01 0 17 777763 MOVE T1,HDWTHR ;GET THRESHOLD VALUE PROVIDED IN MESSAGE
3047 003567' 506 01 0 11 000013 STOR T1,SYTHR,(P2) ;STORE IN SYSERR ENTRY
3048 003570' 200 01 0 17 777770 MOVE T1,HDWRCV ;GET RECOVERY ACTION CODE
3049 003571' 137 01 0 00 014020' STOR T1,SYRCV,(P2) ;STORE IN SYSERR ENTRY
3050
3051 ; STORE THE CONTROLLER AND UNIT NUMBER
3052
3053 003572' 200 01 0 17 777775 MOVE T1,HDWDEV ;GET ADR OF BLOCK HOLDING DEVICE ID
3054 003573' 260 17 0 00 003763' CALL FNDCTL ;GO FIND CONTROLLER AND LINE NUMBERS
3055 003574' 254 00 0 00 003546' JRST EVTHDX ;FAILED
3056 003575' 202 01 0 11 000007 STOR T1,SYLID,(P2) ;STORE CONTROLLER/LINE NUMBERS IN ENTRY
3057 003576' 202 02 0 11 000010 STOR T2,SYLI1,(P2) ; AND STORE STATION NUMBER
3058
3059 ; STORE THE REGISTER DATA IN THE SYSERR ENTRY
3060
3061 003577' 200 01 0 17 777775 MOVE T1,HDWDEV ;GET ADR OF BLOCK HOLDING DEVICE ID
3062 003600' 504 01 0 17 777764 HRL T1,HDWDST ;GET NEXT ADR TO USE IN SYSERR ENTRY
3063 003601' 200 02 0 17 777774 MOVE T2,HDWREG ;GET ADR OF BLOCK HOLDING REGISTER DATA
3064 003602' 201 03 0 11 000014 MOVEI T3,.SYPTR(P2) ;GET ADDRESS TO USE IN SYSERR ENTRY
3065 003603' 200 04 0 17 777765 MOVE T4,HDWMCD ;GET MICROCODE INFO IN CASE APPLICABLE
3066 003604' 260 17 0 00 003635' CALL STOREG ;STORE REGISTER DATA IN SYSERR ENTRY
3067 003605' 254 00 0 00 003546' JRST EVTHDX ;FAILED
3068 003606' 202 01 0 00 000004 MOVEM T1,T4 ;SAVE NEXT SYSERR ADDRESS TO USE
3069
3070 ; ADD LOG DATA POINTER AND EVENT CODE TO ENTRY, THEN RETURN
3071
3072 003607' 550 02 0 17 777764 HRRZ T2,HDWDST ;GET STARTING ADR FOR LOG DATA SECTION
3073 003610' 274 01 0 00 000002 SUB T1,T2 ;COMPUTE NUMBER OF WORDS IN LOG DATA SECTION
3074 003611' 200 03 0 00 000001 MOVE T3,T1 ;COPY COUNT OF WORDS IN LOG DATA SECTION
3075 003612' 221 03 0 00 000004 IMULI T3,BPWRD ;COMPUTE BYTES IN LOG DATA SECTION
3076 003613' 202 03 0 11 000005 STOR T3,SYNCT,(P2) ;STORE BYTE COUNT IN NETWORK HEADER
3077 003614' 210 01 0 00 000001 MOVN T1,T1 ;COMPUTE -COUNT
3078 003615' 504 01 0 00 000001 HRL T1,T1 ;GET -COUNT,,0
3079 003616' 274 02 0 00 000011 SUB T2,P2 ;COMPUTE OFFSET TO START OF LOG DATA
3080 003617' 540 01 0 00 000002 HRR T1,T2 ;FORM SYSERR POINTER TO LOG DATA
3081 003620' 202 01 0 11 000014 STOR T1,SYPTR,(P2) ;STORE SYSERR POINTER TO LOG DATA
3082 003621' 201 03 0 00 000210 MOVX T3,SY%MLG ;HARDWARE LOG ENTRY EVENT CODE
3083 003622' 137 03 0 00 013767' STOR T3,SYCOD,(P1) ;STORE ENTRY TYPE CODE IN SYSERR ENTRY
3084 003623' 200 02 0 00 000004 MOVE T2,T4 ;COPY NEXT DESTINATION ADR IN SYSERR ENTRY
3085 003624' 275 02 0 10 000000 SUBI T2,(P1) ;COMPUTE # OF BYTES IN SYSERR ENTRY
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 69-1
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3086 003625' 202 02 0 17 777762 MOVEM T2,HDWLXX ;Save length so chunks can be released
3087 003626' 332 01 0 17 777775 SKIPE T1,HDWDEV ;ANY DEVICE YET ?
3088 JRST [ CALL RELFRE ;YES, RELEASE SPACE
3089 FATAL.ERROR
3090 003627' 254 00 0 00 014021' JRST .+1 ]
3091 003630' 332 01 0 17 777774 SKIPE T1,HDWREG ;ANY REGISTERS YET ?
3092 JRST [ CALL RELFRE ;YES, RELEASE FREE BLOCK
3093 FATAL.ERROR
3094 003631' 254 00 0 00 014024' JRST .+1]
3095 003632' 200 02 0 17 777762 MOVE T2,HDWLXX ;Restore length of SYSERR entry
3096 003633' 201 01 0 00 000210 MOVX T1,SY%MLG ;GET SYSERR EVENT CODE TYPE
3097 003634' 254 00 0 00 003465* RETSKP ;DONE, RETURN TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 70
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3098
3099 ;STOREG - ROUTINE TO STORE DEVICE REGISTER IN SYSERR ENTRY
3100 ;
3101 ;ACCEPTS IN T1/ NEXT ADR TO USE IN SYSERR ENTRY,,ADR OF DEVICE ID BLOCK
3102 ; T2/ ADDRESS OF BLOCK HOLDING REGISTERS
3103 ; T3/ NEXT ADDRESS TO STORE INTO IN SYSERR ENTRY
3104 ; T4/ MICROCODE INFO (NOT APPLICABLE TO ALL DEVICES)
3105 ; CALL STOREG
3106 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3107 ; +2 SUCCESS, WITH T1/ NEXT ADR TO STORE INTO IN ENTRY
3108
3109 003635' 265 16 0 00 003317* STOREG: ASUBR <SRGDEV,SRGREG,SRGDST,SRGMCD>
3110
3111 003636' 556 01 0 15 000003 HLRZM T1,SRGDST ;SAVE NEXT ADR TO USE IN SYSERR ENTRY
3112 003637' 201 01 0 01 000001 MOVEI T1,1(T1) ;POINT PAST BLOCK HEADER TO DEVICE ID
3113 003640' 554 01 0 01 000000 HLRZ T1,(T1) ;GET DEVICE TYPE CODE
3114 003641' 201 02 0 00 003655' MOVEI T2,REGTAB ;GET TABLE ADDRESS
3115 003642' 201 03 0 00 000005 MOVEI T3,REGLEN ;GET TABLE LENGTH
3116 003643' 260 17 0 00 001527* CALL FNDDSP ;GET PROCESSING ROUTINE ADDRESS
3117 003644' 263 17 0 00 000000 RETBAD () ;FAILED
3118 003645' 200 04 0 00 000001 MOVE T4,T1 ;SAVE PROCESSING ROUTINE ADDRESS
3119 003646' 200 01 0 15 000002 MOVE T1,SRGREG ;GET ADR OF BLOCK HOLDING REGISTERS
3120 003647' 200 02 0 15 000003 MOVE T2,SRGDST ;GET NEXT DESTINATION TO USE IN ENTRY
3121 003650' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO WHERE REGISTERS WILL GO
3122 003651' 200 03 0 15 000004 MOVE T3,SRGMCD ;GET MICROCODE INFO
3123 003652' 260 17 0 04 000000 CALL (T4) ;ADD REGISTERS TO SYSERR ENTRY
3124 003653' 263 17 0 00 000000 RETBAD () ;FAIL
3125 003654' 254 00 0 00 003634* RETSKP ;DONE, RETURN SUCCESS
3126
3127
3128 ; TABLE OF PROCESSING ROUTINES TO STORE REGISTER DATA IN SYSERR ENTRY
3129
3130 003655' 000024 003736' REGTAB: .DTDTE,,STODTE
3131 003656' 000012 003750' .DTDUP,,STODUP
3132 003657' 000034 003662' .DTKDP,,STOKDP
3133 003660' 000036 003662' .DTKDZ,,STOKDZ
3134 003661' 000014 003721' .DTDMC,,STODMC
3135 000005 REGLEN==.-REGTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 71
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3136
3137 ; ROUTINES TO STORE REGISTER DATA IN SYSERR ENTRY
3138
3139 003662' STOKDZ:
3140 003662' 265 16 0 00 003635* STOKDP: ASUBR <SKDREG,SKDDST,SKDMCD,SKDCNT>
3141
3142 003663' 200 01 0 15 000002 MOVE T1,SKDDST ;GET DESTINATION POINTER
3143 003664' 271 01 0 00 000001 ADDI T1,1 ;SKIP FIRST WORD (PTR TO SUB-DEVICE DATA)
3144 003665' 200 02 0 15 000001 MOVE T2,SKDREG ;GET ADR OF BLOCK HOLDING REGISTERS
3145 003666' 271 02 0 00 000002 ADDI T2,2 ;GET ADDRESS OF REGISTER DATA
3146 003667' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO REGISTER DATA
3147 003670' 211 03 0 00 000010 MOVNI T3,NKMCRG ;GET NUMBER OF KMC11 REGISTER DATA BYTES
3148 003671' 104 00 0 00 000053 SOUT ;ADD KMC REGISTER DATA TO ENTRY
3149 003672' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
3150
3151 ; STORE POINTER TO DUP11 REGISTER DATA ("SUB-DEVICE TABLE")
3152
3153 003673' 200 01 0 15 000002 MOVE T1,SKDDST ;GET POINTER TO ORIGINAL DESTINATION
3154 003674' 200 04 0 15 000001 MOVE T4,SKDREG ;GET ADR OF BLOCK HOLDING REGISTER DATA
3155 003675' 200 03 0 04 000001 MOVE T3,1(T4) ;GET NUMBER OF BYTES OF REGISTER DATA
3156 003676' 275 03 0 00 000010 SUBI T3,NKMCRG ;COMPUTE NUMBER OF DUP11 REGISTER BYTES LEFT
3157 003677' 210 03 0 00 000003 MOVN T3,T3 ;GET -NUMBER OF DUP BYTES
3158 003700' 202 03 0 15 000004 MOVEM T3,SKDCNT ;SAVE -NUMBER OF DUP REGISTER BYTES
3159 003701' 322 03 0 00 003706' JUMPE T3,STKDP2 ;SKIP STORING DUP DATA IF NONE
3160 003702' 201 03 0 01 000006 MOVEI T3,6(T1) ;GET ADDRESS OF DUP REGISTER DATA
3161 003703' 274 03 0 00 000011 SUB T3,P2 ;COMPUTE OFFSET TO DUP DATA
3162 003704' 504 03 0 15 000004 HRL T3,SKDCNT ;GET -NUMBER OF DUP BYTES,,OFFSET
3163 003705' 202 03 0 01 000000 MOVEM T3,(T1) ;STORE POINTER TO "SUB-DEVICE TABLE"
3164 003706' 200 04 0 15 000003 STKDP2: MOVE T4,SKDMCD ;GET MICROCODE INFO
3165 003707' 202 04 0 01 000003 MOVEM T4,3(T1) ;STORE IN SYSERR ENTRY
3166
3167 ; STORE DUP11 REGISTER DATA
3168
3169 003710' 201 01 0 01 000006 MOVEI T1,6(T1) ;GET DESTINATION ADR FOR REGISTER DATA
3170 003711' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM DESTINATION POINTER
3171 003712' 200 03 0 15 000004 MOVE T3,SKDCNT ;GET NUMBER OF DUP11 REGISTER BYTES
3172 003713' 322 03 0 00 003716' JUMPE T3,STKDP4 ;SKIP STORE IF NO BYTES
3173 003714' 104 00 0 00 000053 SOUT ;ADD DUP REGISTERS TO SYSERR ENTRY
3174 003715' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
3175 003716' 133 00 0 00 000001 STKDP4: IBP T1 ;INCREMENT POINTER TO NEXT BYTE TO USE IN ENTRY
3176 003717' 550 01 0 00 000001 HRRZ T1,T1 ;KEEP JUST ADDRESS
3177 003720' 254 00 0 00 003654* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 72
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3178
3179 003721' 265 16 0 00 003662* STODMC: ASUBR <SDMREG,SDMDST>
3180
3181 003722' 200 02 0 15 000001 MOVE T2,SDMREG ;GET ADR OF BLOCK HOLDING REGISTERS
3182 003723' 210 03 0 02 000001 MOVN T3,1(T2) ;GET NUMBER OF BYTES OF REGISTER DATA
3183 003724' 271 02 0 00 000002 ADDI T2,2 ;GET ADDRESS OF REGISTER DATA
3184 003725' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO REGISTER DATA
3185 003726' 200 01 0 15 000002 MOVE T1,SDMDST ;GET DESTINATION POINTER
3186 003727' 476 00 0 01 000000 SETOM (T1) ;-1 instead of pointer to sub-device data
3187 003730' 350 00 0 00 000001 AOS T1 ;Move past dummy sub-device data pointer
3188 003731' 104 00 0 00 000053 SOUT ;COPY THE REGISTERS INTO SYSERR ENTRY
3189 003732' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
3190 003733' 133 00 0 00 000001 IBP T1 ;INCREMENT POINTER TO NEXT BYTE TO USE
3191 003734' 550 01 0 00 000001 HRRZ T1,T1 ;KEEP JUST ADDRESS
3192 003735' 254 00 0 00 003720* RETSKP ;DONE, RETURN NEXT SYSERR ENTRY ADDRESS TO USE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 73
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3193
3194
3195 003736' 265 16 0 00 003721* STODTE: ASUBR <DTSREG,DTSDST>
3196
3197 003737' 200 02 0 15 000001 MOVE T2,DTSREG ;GET ADR OF BLOCK HOLDING REGISTERS
3198 003740' 210 03 0 02 000001 MOVN T3,1(T2) ;GET NUMBER OF BYTES OF REGISTER DATA
3199 003741' 271 02 0 00 000002 ADDI T2,2 ;GET ADDRESS OF REGISTER DATA
3200 003742' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO REGISTER DATA
3201 003743' 200 01 0 15 000002 MOVE T1,DTSDST ;GET DESTINATION POINTER
3202 003744' 104 00 0 00 000053 SOUT ;COPY THE REGISTERS INTO SYSERR ENTRY
3203 003745' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
3204 003746' 133 00 0 00 000001 IBP T1 ;INCREMENT POINTER TO NEXT BYTE TO USE
3205 003747' 254 00 0 00 003735* RETSKP ;DONE, RETURN NEXT SYSERR ENTRY ADDRESS TO USE
3206
3207
3208 003750' 265 16 0 00 003736* STODUP: ASUBR <DTUREG,DTUDST>
3209
3210 003751' 200 02 0 15 000001 MOVE T2,DTUREG ;GET ADR OF BLOCK HOLDING REGISTERS
3211 003752' 210 03 0 02 000001 MOVN T3,1(T2) ;GET -NUMBER OF BYTES OF REGISTER DATA
3212 003753' 271 02 0 00 000002 ADDI T2,2 ;GET ADDRESS OF REGISTER DATA
3213 003754' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO REGISTER DATA
3214 003755' 200 01 0 15 000002 MOVE T1,DTUDST ;GET DESTINATION POINTER
3215 003756' 104 00 0 00 000053 SOUT ;COPY THE REGISTERS INTO SYSERR ENTRY
3216 003757' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
3217 003760' 133 00 0 00 000001 IBP T1 ;INCREMENT POINTER TO NEXT BYTE TO USE
3218 003761' 550 01 0 00 000001 HRRZ T1,T1 ;KEEP JUST ADDRESS
3219 003762' 254 00 0 00 003747* RETSKP ;DONE, RETURN NEXT SYSERR ENTRY ADDRESS TO USE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 74
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3220
3221 ;FNDCTL - ROUTINE TO FIND THE CONTROLLER AND LINE NUMBERS IN THE
3222 ; DEVICE ID SENT IN THE NICE EVENT LOGGING MESSAGE
3223 ;
3224 ;ACCEPTS IN T1/ ADDRESS OF BLOCK CONTAINING LINE ID
3225 ; CALL FNDCTL
3226 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3227 ; +2 SUCCESS, WITH T1/ CONTROLLER #,,LINE #
3228
3229 003763' 201 04 0 01 000001 FNDCTL: MOVEI T4,1(T1) ;GET ADDRESS OF DEVICE ID
3230 003764' 504 01 0 04 000000 HRL T1,(T4) ;GET CONTROLLER NUMBER
3231 003765' 544 01 0 04 000001 HLR T1,1(T4) ;AND GET UNIT NUMBER
3232 003766' 540 02 0 04 000001 HRR T2,1(T4) ;GET STATION ID
3233 003767' 505 02 0 00 777777 HRLI T2,-1 ;AND DO NOT USE RESERVED BITS
3234 003770' 254 00 0 00 003762* RETSKP ;DONE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 75
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3235
3236 ;CVTHDW - ROUTINE TO CONVERT NICE DEVICE CODE TO SYSERR DEVICE CODE
3237 ;
3238 ;ACCEPTS IN T1/ NICE DEVICE TYPE CODE (.DTXXX) FROM EVENT LOGGING MSG
3239 ; CALL CVTHDW
3240 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3241 ; +2 SUCCESS, WITH T1/ SYSERR DEVICE CODE
3242
3243 003771' 200 02 0 00 014027' CVTHDW: MOVX T2,HTPTAB ;GET TABLE ADDRESS
3244 003772' 201 03 0 00 000005 MOVX T3,HTPLEN ;GET TABLE LENGTH
3245 003773' 260 17 0 00 003643* CALL FNDDSP ;FIND CORRESPONDING SYSERR CODE
3246 003774' 254 00 0 00 013711' RETBAD (.NRIPV) ;FAIL, INVALID PARAMETER VALUE
3247 003775' 254 00 0 00 003770* RETSKP ;DONE, RETURN SUCCESS
3248
3249 ; CONVERSION TABLE FOR NICE PROTOCOL TO SYSERR HARDWARE DEVICE TYPE CODES
3250
3251 003776' 000014 000005 HTPTAB: .DTDMC,,.SYDMC
3252 003777' 000024 000015 .DTDTE,,.SYDTE
3253 004000' 000012 000027 .DTDUP,,.SYDUP
3254 004001' 000034 000003 .DTKDP,,.SYKDP
3255 004002' 000036 000004 .DTKDZ,,.SYKDZ
3256
3257 000005 HTPLEN==.-HTPTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 76
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3258
3259 ; ROUTINES TO STORE ITEMS FROM HARDWARE EVENT LOGGING MESSAGE
3260
3261
3262 004003' 202 04 0 17 777775 HSTDEV: MOVEM T4,HDWDEV ;STORE ADDRESS OF LINE ID
3263 004004' 254 00 0 00 003527' JRST HDW015 ;DONE, RETURN
3264
3265
3266 004005' 202 04 0 17 777774 HSTREG: MOVEM T4,HDWREG ;SAVE ADDRESS OF BLOCK HOLDING REG DATA
3267 004006' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3268
3269
3270 004007' 202 04 0 17 777773 HSTUPT: MOVEM T4,HDWUPT ;SAVE UPTIME
3271 004010' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3272
3273
3274 004011' 202 04 0 17 777771 HSTRSN: MOVEM T4,HDWRSN ;SAVE REASON CODE
3275 004012' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3276
3277
3278 004013' 202 04 0 17 777770 HSTRCV: MOVEM T4,HDWRCV ;SAVE RECOVERY CODE
3279 004014' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3280
3281
3282 004015' 202 04 0 17 777767 HSTOPS: MOVEM T4,HDWOPS ;SAVE OPERATING SYSTEM ID CODE
3283 004016' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3284
3285
3286 004017' 202 04 0 17 777765 HSTMCD: MOVEM T4,HDWMCD ;SAVE MICROCODE ID
3287 004020' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3288
3289
3290 004021' 202 04 0 17 777776 HSTNOD: MOVEM T4,HDWNOD ;SAVE ADR OF BLOCK HOLDING NODE NAME
3291 004022' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
3292
3293
3294 004023' 202 04 0 17 777763 HSTTHR: MOVEM T4,HDWTHR ;SAVE THRESHOLD VALUE
3295 004024' 254 00 0 00 003527' JRST HDW015 ;RETURN TO MESSAGE PARSER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 77
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3296 ;EVTSYR - ROUTINE TO MAKE A SYSERR HEADER FOR EVENT LOGGING ENTRIES
3297 ;
3298 ;ACCEPTS IN T1/ BASE ADDRESS OF SYSERR ENTRY
3299 ; T2/ ASCIZ SOURCE NODE NAME STRING
3300 ; T3/ SEQUENCE NUMBER
3301 ; CALL EVTSYR
3302 ;RETURNS: +1 FAILED
3303 ; +2 SUCCESS, WITH T1/ ADDRESS OF NEXT WORD TO USE IN SYSERR ENTRY
3304
3305 004025' 265 16 0 00 003503* EVTSYR: SAVEPQ ;SAVE SOME AC'S
3306 004026' 265 16 0 00 003504* STKVAR <ESRSRC,ESRSEQ>
3307 004027' 000002 000002
3308 004030' 202 02 0 17 777776 MOVEM T2,ESRSRC ;SAVE POINTER TO SOURCE NODE
3309 004031' 202 03 0 17 777775 MOVEM T3,ESRSEQ ;SAVE SEQUENCE NUMBER
3310
3311 ; INITIALIZE HEADER TO ALL "UNKNOWN"
3312
3313 004032' 200 10 0 00 000001 MOVE P1,T1 ;GET BASE ADDRESS OF SYSERR ENTRY
3314 004033' 201 11 0 10 000004 MOVEI P2,.SYDAT(P1) ;GET ADDRESS OF START OF NETWORK DATA HEADER
3315 004034' 476 00 0 11 000000 SETOM (P2) ;INITIALIZE FIRST WORD TO "UNKNOWN"
3316 004035' 514 01 0 00 000011 HRLZ T1,P2 ;START AT NETWORK DATA HEADER
3317 004036' 541 01 0 11 000001 HRRI T1,1(P2) ;DESTINATION IS NEXT WORD
3318 004037' 251 01 0 11 000013 BLT T1,.SYPTR-1(P2) ;INITIALIZE ENTIRE NETWORK DATA HEADER
3319
3320 ; SET UP SEQUENCE NUMBER
3321
3322 004040' 200 01 0 17 777775 MOVE T1,ESRSEQ ;GET SEQUENCE NUMBER
3323 004041' 202 01 0 11 000006 STOR T1,SYSEQ,(P2) ;STORE IN NETWORK HEADER OF SYSERR ENTRY
3324
3325 ; ADD TRANSMITTING NODE NAME
3326
3327 004042' 200 01 0 00 000010 MOVE T1,P1 ;GET BASE ADDRESS OF SYSERR ENTRY
3328 004043' 200 02 0 17 777776 MOVE T2,ESRSRC ;GET POINTER TO SOURCE NODE NAME
3329 004044' 201 03 0 11 000015 MOVEI T3,.SYPTR+1(P2) ;START AT FIRST ADDRESS AFTER NET DATA HEADER
3330 004045' 260 17 0 00 007630' CALL SYRSTR ;ADD STRING TO SYSERR ENTRY
3331 004046' 263 17 0 00 000000 RETBAD () ;FAILED
3332 004047' 202 02 0 11 000001 STOR T2,SYNOD,(P2) ;STORE POINTER TO TRANSMITTING NODE NAME
3333
3334 ; ADD DESTINATION NODE NAME
3335
3336 004050' 200 03 0 00 000001 MOVE T3,T1 ;GET NEXT ADR TO USE IN SYSERR ENTRY
3337 004051' 200 02 0 00 013666' MOVE T2,[POINT 7,OURNAM] ;GET PTR TO OUR NAME (WE ARE DESTINATION)
3338 004052' 200 01 0 00 000010 MOVE T1,P1 ;GET BASE ADDRESS OF SYSERR ENTRY
3339 004053' 260 17 0 00 007630' CALL SYRSTR ;STORE STRING IN SYSERR ENTRY
3340 004054' 263 17 0 00 000000 RETBAD () ;FAILED
3341 004055' 202 02 0 11 000002 STOR T2,SYDST,(P2) ;STORE POINTER TO DESTINATION NODE NAME
3342
3343 ; DONE. T1 STILL HAS NEXT WORD TO USE IN SYSERR ENTRY FROM SYRSTR CALL
3344
3345 004056' 254 00 0 00 003775* RETSKP ;RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 78
NCU MAC 6-Oct-81 12:41 NICE Process -- Event Logger
3346 004057' 254 00 0 00 013711' EVTASC: RETBAD (.NRIPV)
3347
3348 004060' 254 00 0 00 013711' EVTSFT: RETBAD (.NRIPV) ;FAIL
3349
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 79
NCU MAC 6-Oct-81 12:41 Routines to Default Information from the Configuration Database
3350 SUBTTL Routines to Default Information from the Configuration Database
3351
3352 ;DEFRQL - ROUTINE TO FILL IN DEFAULTS IN DOWN LINE LOAD REQUESTS
3353 ;
3354 ;CALL: CALL DEFRQL
3355 ;RETURNS: +1 FAILED, COULD NOT SUPPLY ALL DEFAULTS
3356 ; +2 SUCCESS, VARIABLES DESCRIBED UNDER GETRQL ROUTINE ALL SET UP
3357
3358 004061' DEFRQL:
3359
3360 ; DEFAULT TARGET NODE TO LOAD IF NOT SPECIFIED IN MESSAGE
3361
3362 004061' 200 04 0 14 000003 MOVE T4,RQLOPT ;GET OPTION BITS
3363 004062' 135 04 0 00 014030' LOAD T4,LO%TGT,T4 ;GET JUST TARGET SPECIFICATION OPTION
3364 004063' 302 04 0 00 000003 CAIE T4,.LOSRV ;TARGET TO BE DETERMINED BY SERVER AND LINE ?
3365 004064' 254 00 0 00 004076' JRST DRQ010 ;NO, TARGET NODE WAS INCLUDED IN MESSAGE
3366 004065' 200 01 0 14 000005 MOVE T1,RQLSRV ;YES, GET POINTER TO NAME OF SERVER NODE
3367 004066' 260 17 0 00 010525' CALL GETNIB ;GET ADDRESS OF NIB FOR SERVER NODE
3368 004067' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3369 004070' 200 01 0 01 000006 LOAD T1,NDLIN,(T1) ;GET ADDRESS OF SERVER NODE'S LINE TABLE
3370 004071' 120 02 0 14 000006 DMOVE T2,RQLLIN ;GET SERVER NODE LINE ID
3371 004072' 260 17 0 00 010567' CALL FNDTGT ;GO FIND THE TARGET NODE AT THE END OF THE LINE
3372 004073' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3373 004074' 200 01 0 01 000007 LOAD T1,NDNAM,(T1) ;GET POINTER TO NAME OF TARGET NODE
3374 004075' 202 01 0 14 000004 MOVEM T1,RQLTGT ;SAVE POINTER TO ASCIZ TARGET NODE NAME
3375
3376 ; DEFAULT THE BOOTSTRAP PASSWORD IF NEEDED AND NOT SPECIFIED IN MESSAGE
3377
3378 004076' 200 04 0 14 000003 DRQ010: MOVE T4,RQLOPT ;GET OPTIONS FROM MESSAGE
3379 004077' 135 03 0 00 013550' LOAD T3,LO%ROM,T4 ;GET BOOTSTRAP SPECIFICATION FIELD
3380 004100' 306 03 0 00 000001 CAIN T3,.LOTBD ;TRIGGER BOOT AND DEFAULT BOOT PASSWORD ?
3381 JRST [ MOVE T1,RQLTGT ;GET POINTER TO ASCIZ NAME OF TARGET NODE
3382 CALL DEFBPW ;YES, GO FILL IN DEFAULT FROM DATABASE
3383 RETBAD () ;FAILED, BAD CONFIGURATION FILE
3384 DMOVEM T3,RQLPSW ;SAVE DEFAULT BOOT PASSWORD
3385 004101' 254 00 0 00 014031' JRST .+1 ] ;CONTINUE IN MAINLINE CODE
3386
3387 ; HERE TO DEFAULT THE INPUT (PRIMARY) LOAD FILE IF NOT SUPPLIED
3388
3389 004102' 200 01 0 14 000003 MOVE T1,RQLOPT ;GET OPTIONS FROM NICE MESSAGE
3390 004103' 602 01 0 00 000020 TXNE T1,LO%OPS ;OPERATING SYSTEM FILE INCLUDED IN MESSAGE ?
3391 004104' 254 00 0 00 004113' JRST DRQ020 ;YES, GO CHECK SERVER NODE AND SERVER LINE
3392 004105' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
3393 004106' 260 17 0 00 010525' CALL GETNIB ;GET ADR OF NODE INFORMATION BLOCK FOR TARGET
3394 004107' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3395 004110' 200 01 0 01 000003 LOAD T1,NDLOD,(T1) ;GET POINTER TO PRIMARY LOAD FILE
3396 004111' 322 01 0 00 014036' JUMPE T1,[RETBAD (.NRICF)] ;IF NO FILE IN DATABASE, RETURN ERROR
3397 004112' 202 01 0 14 000016 MOVEM T1,RQLOPS ;SAVE POINTER TO OPERATING SYSTEM FILE SPEC
3398 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 80
NCU MAC 6-Oct-81 12:41 Routines to Default Information from the Configuration Database
3399 ; ..
3400
3401 ; HERE TO DEFAULT SERVER NODE AND SERVER LINE IF NOT IN NICE MESSAGE
3402
3403 004113' 200 01 0 14 000003 DRQ020: MOVE T1,RQLOPT ;GET OPTIONS FROM NICE MESSAGE
3404 004114' 135 04 0 00 014030' LOAD T4,LO%TGT,T4 ;GET TARGET SPECIFICATION OPTION
3405 004115' 302 04 0 00 000000 CAIE T4,.LOTGT ;TARGET SPECIFIED BY NAME & SERVER DEFAULTED ?
3406 004116' 254 00 0 00 004130' JRST DRQ030 ;NO, SERVER WAS INCLUDED IN MESSAGE
3407 004117' 200 01 0 14 000004 MOVE T1,RQLTGT ;YES, GET POINTER TO ASCIZ TARGET NODE NAME
3408 004120' 260 17 0 00 010525' CALL GETNIB ;GET ADDRESS OF NODE INFORMATION BLOCK
3409 004121' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3410 004122' 200 02 0 01 000011 LOAD T2,NDSRV,(T1) ;GET POINTER TO DEFAULT SERVER FOR TARGET NODE
3411 004123' 322 02 0 00 014036' JUMPE T2,[RETBAD (.NRICF)] ;IF NO SERVER KNOWN, RETURN ERROR
3412 004124' 202 02 0 14 000005 MOVEM T2,RQLSRV ;SAVE POINTER TO ASCIZ SERVER NODE NAME
3413 004125' 200 02 0 01 000012 LOAD T2,NDSL1,(T1) ;GET FIRST PART OF SERVER LINE ID
3414 004126' 200 03 0 01 000013 LOAD T3,NDSL2,(T1) ;GET SECOND HALF OF SERVER LINE ID
3415 004127' 124 02 0 14 000006 DMOVEM T2,RQLLIN ;SAVE SERVER LINE ID
3416
3417 ; HERE TO DEFAULT THE PROGRAM REQUEST DATA IF NOT SPECIFIED IN MESSAGE
3418
3419 004130' 200 04 0 14 000003 DRQ030: MOVE T4,RQLOPT ;GET OPTIONS FROM MESSAGE
3420 004131' 135 03 0 00 013550' LOAD T3,LO%ROM,T4 ;GET ROM FIELD
3421 004132' 302 03 0 00 000000 CAIE T3,.LODEF ;DEFAULT THE PROGRAM REQUEST ?
3422 004133' 254 00 0 00 004143' JRST DRQ040 ;NO, GO ON
3423 004134' 200 01 0 14 000004 MOVE T1,RQLTGT ;YES, GET POINTER TO ASCIZ TARGET NODE NAME
3424 004135' 260 17 0 00 004235' CALL DEFPGM ;GO FILL IN DEFAULT PROGRAM REQUEST DATA
3425 004136' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3426 004137' 202 04 0 14 000015 MOVEM T4,RQLSID ;SAVE SOFTWARE ID
3427 004140' 202 03 0 14 000014 MOVEM T3,RQLPGM ;SAVE PROGRAM TYPE REQUESTED
3428 004141' 202 02 0 14 000013 MOVEM T2,RQLCPU ;SAVE CPU TYPE OF TARGET NODE
3429 004142' 202 01 0 14 000012 MOVEM T1,RQLLDV ;SAVE LOAD DEVICE AT TARGET NODE
3430
3431 ; DEFAULT THE SYSTEM PARAMETERS TO BE PASSED TO THE TARGET NODE IF NEEDED
3432
3433 004143' 200 04 0 14 000003 DRQ040: MOVE T4,RQLOPT ;GET OPTIONS FROM DOWN-LINE LOAD REQUEST MESSAGE
3434 004144' 602 04 0 00 000040 TXNE T4,LO%PAR ;PARAMETERS SPECIFIED IN THE MESSAGE ?
3435 004145' 254 00 0 00 004154' JRST DRQ050 ;YES, GO ON...
3436 004146' 200 01 0 14 000004 MOVE T1,RQLTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
3437 004147' 260 17 0 00 004244' CALL DEFPAR ;GO DEFAULT THE SYSTEM PARAMETERS
3438 004150' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3439 004151' 202 02 0 14 000017 MOVEM T2,RQLNAM ;SAVE NAME TARGET NODE IS TO USE
3440 004152' 202 03 0 14 000020 MOVEM T3,RQLNUM ;SAVE NUMBER OF TARGET NODE
3441 004153' 202 04 0 14 000021 MOVEM T4,RQLHST ;SAVE HOST FOR TASK LOADS
3442
3443 004154' 254 00 0 00 004056* DRQ050: RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 81
NCU MAC 6-Oct-81 12:41 Routines to Default Information from the Configuration Database
3444 ;DEFRQD - ROUTINE TO DEFAULT DUMP INFORMATION FROM CONFIGURATION DATABASE
3445 ;
3446 ;CALL: CALL DEFRQD
3447 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3448 ; +2 SUCCESS, VARIABLES DESCRIBED UNDER GETRQD ROUTINE ALL SET UP
3449
3450 ; DEFAULT TARGET NODE TO BE DUMPED IF NOT INCLUDED IN DUMP REQUEST MESSAGE
3451
3452 004155' 200 04 0 14 000026 DEFRQD: MOVE T4,RQDOPT ;GET OPTIONS FOR DUMP OPERATION
3453 004156' 135 04 0 00 014030' LOAD T4,DO%TGT,T4 ;GET TARGET ID OPTION FIELD
3454 004157' 302 04 0 00 000003 CAIE T4,.DOSRV ;TARGET TO BE DETERMINED FROM SERVER & LINE ?
3455 004160' 254 00 0 00 004172' JRST DFD010 ;NO, GO SEE IF SERVER NEEDS TO BE DEFAULTED
3456 004161' 200 01 0 14 000023 MOVE T1,RQDSRV ;YES, GET POINTER TO ASCIZ NAME OF SERVER NODE
3457 004162' 260 17 0 00 010525' CALL GETNIB ;GET NODE INFORMATION BLOCK FOR SERVER
3458 004163' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3459 004164' 200 01 0 01 000006 LOAD T1,NDLIN,(T1) ;GET ADDRESS OF LINE ADJACENCY TABLE
3460 004165' 120 02 0 14 000024 DMOVE T2,RQDLIN ;GET SERVER LINE ID (2 WORDS)
3461 004166' 260 17 0 00 010567' CALL FNDTGT ;GO DETERMINE TARGET NODE FOR THIS SERVER & LINE
3462 004167' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3463 004170' 200 01 0 01 000007 LOAD T1,NDNAM,(T1) ;GET POINTER TO NAME OF TARGET NODE
3464 004171' 202 01 0 14 000022 MOVEM T1,RQDTGT ;SAVE POINTER TO ASCIZ TARGET NODE NAME
3465
3466 ; DEFAULT SERVER NODE AND SERVER LINE IF NOT SPECIFIED IN DUMP REQUEST MESSAGE
3467
3468 004172' 200 04 0 14 000026 DFD010: MOVE T4,RQDOPT ;GET OPTIONS FROM NICE MESSAGE
3469 004173' 135 04 0 00 014030' LOAD T4,DO%TGT,T4 ;GET TARGET SPECIFICATION OPTION
3470 004174' 302 04 0 00 000000 CAIE T4,.DOTGT ;TARGET SPECIFIED BY NAME & SERVER DEFAULTED ?
3471 004175' 254 00 0 00 004207' JRST DFD020 ;NO, SERVER WAS INCLUDED IN MESSAGE
3472 004176' 200 01 0 14 000022 MOVE T1,RQDTGT ;YES, GET POINTER TO ASCIZ TARGET NODE NAME
3473 004177' 260 17 0 00 010525' CALL GETNIB ;GET ADDRESS OF NODE INFORMATION BLOCK
3474 004200' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3475 004201' 200 02 0 01 000011 LOAD T2,NDSRV,(T1) ;GET POINTER TO DEFAULT SERVER FOR TARGET NODE
3476 004202' 322 02 0 00 014036' JUMPE T2,[RETBAD (.NRICF)] ;IF NO SERVER KNOWN, RETURN ERROR
3477 004203' 202 02 0 14 000023 MOVEM T2,RQDSRV ;SAVE POINTER TO ASCIZ SERVER NODE NAME
3478 004204' 200 02 0 01 000012 LOAD T2,NDSL1,(T1) ;GET FIRST PART OF SERVER LINE ID
3479 004205' 200 03 0 01 000013 LOAD T3,NDSL2,(T1) ;GET SECOND HALF OF SERVER LINE ID
3480 004206' 124 02 0 14 000024 DMOVEM T2,RQDLIN ;SAVE SERVER LINE ID
3481
3482 ; HERE TO DEFAULT THE DUMP FILESPEC IF NOT SPECIFIED IN DUMP REQUEST MESSAGE
3483
3484 004207' 200 01 0 14 000026 DFD020: MOVE T1,RQDOPT ;GET OPTIONS FROM NICE MESSAGE
3485 004210' 602 01 0 00 000004 TXNE T1,DO%FIL ;DUMP FILE INCLUDED IN MESSAGE ?
3486 004211' 254 00 0 00 004220' JRST DFD030 ;YES, GO CHECK ADDRESS AND COUNT
3487 004212' 200 01 0 14 000022 MOVE T1,RQDTGT ;GET POINTER TO ASCIZ TARGET NODE NAME
3488 004213' 260 17 0 00 010525' CALL GETNIB ;GET ADR OF NODE INFORMATION BLOCK FOR TARGET
3489 004214' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3490 004215' 200 01 0 01 000004 LOAD T1,NDDMP,(T1) ;GET POINTER TO PRIMARY DUMP FILE
3491 004216' 322 01 0 00 014036' JUMPE T1,[RETBAD (.NRICF)] ;IF NO FILE IN DATABASE, RETURN ERROR
3492 004217' 202 01 0 14 000027 MOVEM T1,RQDFIL ;SAVE POINTER TO DUMP FILE SPEC
3493 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 82
NCU MAC 6-Oct-81 12:41 Routines to Default Information from the Configuration Database
3494 ; ..
3495
3496 ; HERE TO DEFAULT ADDRESS AND COUNT IF NOT INCLUDED IN THE MESSAGE
3497
3498 004220' 200 04 0 14 000026 DFD030: MOVE T4,RQDOPT ;GET OPTIONS
3499 004221' 602 04 0 00 000010 TXNE T4,DO%ADR ;ADDRESS AND COUNT INCLUDED IN MESSAGE ?
3500 004222' 254 00 0 00 004227' JRST DFD040 ;YES, DO NOT DEFAULT THEM
3501
3502 ; ASSUME DUMPS BEGIN AT 0 AND 128K IS TO BE DUMPED
3503
3504 004223' 201 01 0 00 000000 MOVX T1,0 ;GET STARTING ADDRESS FOR DUMP
3505 004224' 202 01 0 14 000030 MOVEM T1,RQDADR ;SAVE STARTING ADDRESS
3506 004225' 205 01 0 00 000001 MOVX T1,DEFCNT ;GET NUMBER OF LOCATIONS TO DUMP
3507 004226' 202 01 0 15 000002 MOVEM T1,RQDCNT ;SAVE COUNT OF LOCATIONS TO DUMP
3508
3509 004227' 254 00 0 00 004154* DFD040: RETSKP ;RETURN TO CALLER
3510
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 83
NCU MAC 6-Oct-81 12:41 Routines to Default Information from the Configuration Database
3511 ;DEFBPW - ROUTINE TO DEFAULT THE BOOT PASSWORD TO TRIGGER A ROM BOOTSTRAP
3512 ;
3513 ;ACCEPTS IN T1/ POINTER TO ASCIZ TARGET NODE NAME
3514 ; CALL DEFBPW
3515 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3516 ; +2 SUCCESS, WITH T3-T4/ BOOT PASSWORD
3517
3518 004230' 260 17 0 00 010525' DEFBPW: CALL GETNIB ;GET ADDRESS OF NODE INFORMATION BLOCK OF TARGET
3519 004231' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3520 004232' 200 03 0 01 000001 LOAD T3,NDBP1,(T1) ;LOAD FIRST PART OF BOOT PASSWORD
3521 004233' 200 04 0 01 000002 LOAD T4,NDBP2,(T1) ;LOAD SECOND PART OF BOOT PASSWORD
3522 004234' 254 00 0 00 004227* RETSKP ;DONE, RETURN SUCCESS
3523
3524
3525 ;DEFPGM - ROUTINE TO DEFAULT THE PROGRAM REQUEST DATA
3526 ;
3527 ;ACCEPTS IN T1/ POINTER TO ASCIZ TARGET NODE NAME
3528 ; CALL DEFPGM
3529 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3530 ; +2 SUCCESS, WITH T1/ BOOT LOAD DEVICE AT TARGET NODE (.DTXXX)
3531 ; T2/ CPU TYPE OF TARGET NODE (.CPXXX)
3532 ; T3/ PROGRAM TYPE REQUESTED (.PTXXX)
3533 ; T4/ POINTER TO SOFTWARE ID REQUESTED
3534
3535 004235' 260 17 0 00 010525' DEFPGM: CALL GETNIB ;GO GET NODE INFORMATION BLOCK ADDRESS OF TARGET
3536 004236' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3537 004237' 200 04 0 00 014040' MOVE T4,[POINT 7,[.CHNUL]] ;SOFTWARE ID DEFAULTS TO NULL
3538 004240' 201 03 0 00 000000 MOVX T3,.PTSLD ;DEFAULT PROGRAM TYE IS SECONDARY LOADER
3539 004241' 550 02 0 01 000017 LOAD T2,NDCPU,(T1) ;GET CPU TYPE OF TARGET NODE
3540 004242' 554 01 0 01 000017 LOAD T1,NDLDV,(T1) ;GET LOAD DEVICE TYPE AT TARGET NODE
3541 004243' 254 00 0 00 004234* RETSKP ;DONE, RETURN
3542
3543
3544 ;DEFPAR - ROUTINE TO DEFAULT THE SYSTEM PARAMETERS FOR A DOWN-LINE LOAD
3545 ;
3546 ;ACCEPTS IN T1/ POINTER TO ASCIZ NAME OF TARGET NODE
3547 ; CALL DEFPAR
3548 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3549 ; +2 SUCCESS, WITH T2/ NAME TARGET NODE IS TO USE ON INIT
3550 ; T3/ NUMBER TARGET NODE IS TO USE
3551 ; T4/ HOST TARGET IS TO USE FOR TASK LOADS
3552
3553 004244' 260 17 0 00 010525' DEFPAR: CALL GETNIB ;GO GET THE NODE INFORMATION BLOCK FOR TARGET
3554 004245' 254 00 0 00 013544' RETBAD (.NRICF) ;FAILED, RETURN "INVALID CONFIGURATION FILE"
3555 004246' 200 02 0 01 000014 LOAD T2,NDPNA,(T1) ;GET NAME TARGET NODE IS TO USE
3556 004247' 200 03 0 01 000015 LOAD T3,NDPNU,(T1) ;GET NUMBER TARGET NODE IS TO USE
3557 004250' 200 04 0 01 000016 LOAD T4,NDPHT,(T1) ;GET HOST TARGET IS TO USE FOR TASK LOADS
3558 004251' 254 00 0 00 004243* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 84
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3559 SUBTTL Routines to Extract Fields from NICE Messages
3560
3561 ;GETRQL - ROUTINE TO EXTRACT THE FIELDS FROM A NICE REQUEST DOWN-LINE LOAD MSG
3562 ;
3563 ;ACCEPTS IN T1/ POINTER TO START OF NICE MESSAGE
3564 ; T2/ NUMBER OF BYTES IN THE MESSAGE
3565 ; CALL GETRQL
3566 ;RETURNS: +1 FAILED, INVALID MESSAGE FORMAT
3567 ; +2 SUCCESS, WITH THE FOLLOWING VARIABLES SET UP IF THE
3568 ; ASSOCIATED FIELD IS PRESENT IN THE MESSAGE:
3569 ;
3570 ; RQLTGT/ POINTER TO ASCIZ NAME OF TARGET NODE
3571 ; RQLSRV/ POINTER TO ASCIZ NAME OF SERVER NODE
3572 ; RQLLIN/ SERVER LINE ID (2 WORDS)
3573 ; RQLPSW/ BOOT PASSWORD TO TRIGGER TARGET'S BOOTSTRAP ROM
3574 ; RQLLDV/ BOOT LINE DEVICE TYPE AT TARGET NODE
3575 ; RQLCPU/ CPU TYPE OF TARGET SYSTEM (.CPXXX)
3576 ; RQLPGM/ PROGRAM TYPE BEING REQUESTED (.PTXXX)
3577 ; RQLSID/ SOFTWARE ID
3578 ; RQLOPS/ POINTER TO ASCIZ OPERATING SYSTEM FILE SPEC
3579 ; RQLNAM/ POINTER TO ASCIZ NAME TARGET NODE IS TO USE
3580 ; RQLNUM/ NUMBER OF TARGET NODE
3581 ; RQLHST/ POINTER TO ASCIZ NAME OF HOST FOR TASK LOADS
3582
3583 004252' GETRQL:
3584
3585 ; SKIP OVER NICE FUNCTION CODE AND GET OPTIONS FROM NICE MESSAGE
3586
3587 004252' 260 17 0 00 004340' CALL GETFCN ;GET FUNCTION CODE FROM NICE MESSAGE
3588 004253' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
3589 004254' 260 17 0 00 005167' CALL GETEXB ;OPTION FIELD IS EXTENSIBLE BINARY
3590 004255' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3591 004256' 202 04 0 14 000003 MOVEM T4,RQLOPT ;SAVE OPTIONS
3592
3593 ; GET NAME OF TARGET NODE IF INCLUDED IN MESSAGE
3594
3595 004257' 200 03 0 14 000003 MOVE T3,RQLOPT ;GET OPTIONS
3596 004260' 135 04 0 00 014041' LOAD T4,LO%TGT,T3 ;GET TARGET SPECIFICATION OPTION
3597 004261' 302 04 0 00 000000 CAIE T4,.LOTGT ;TARGET NODE SPECIFIED BY NAME ?
3598 004262' 306 04 0 00 000002 CAIN T4,.LOPTH ; OR EVEN WITH A PATH SPECIFIED ?
3599 JRST [ CALL GETNOD ;YES, GO GET THE TARGET NODE FROM THE MESSAGE
3600 RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
3601 MOVEM T3,RQLTGT ;SAVE POINTER TO ASCIZ NAME OF TARGET NODE
3602 004263' 254 00 0 00 014042' JRST .+1] ;RETURN TO MAINLINE CODE
3603 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 85
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3604 ; ..
3605
3606 ; GET NAME OF SERVER NODE AND SERVER LINE ID IF SPECIFIED IN MESSAGE
3607
3608 004264' 200 03 0 14 000003 MOVE T3,RQLOPT ;GET OPTIONS
3609 004265' 135 04 0 00 014041' LOAD T4,LO%TGT,T3 ;GET TARGET SPECIFICATION OPTION
3610 004266' 302 04 0 00 000002 CAIE T4,.LOPTH ;TARGET NODE SPECIFIED BY PATH ?
3611 004267' 306 04 0 00 000003 CAIN T4,.LOSRV ; OR SERVER NODE SPECIFIED EXPLICITLY ?
3612 JRST [ CALL GETNOD ;YES, GO GET THE TARGET NODE FROM THE MESSAGE
3613 RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
3614 MOVEM T3,RQLSRV ;SAVE POINTER TO ASCIZ NAME OF SERVER NODE
3615 CALL GETLIN ;GET SERVER LINE IDENTIFICATION
3616 RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
3617 DMOVEM T3,RQLLIN ;SAVE SERVER LINE ID (2 WORDS)
3618 004270' 254 00 0 00 014046' JRST .+1] ;RETURN TO MAINLINE CODE
3619
3620 ; GET TARGET NODE BOOT PASSWORD IF INCLUDED IN NICE MESSAGE
3621
3622 004271' 200 03 0 14 000003 MOVE T3,RQLOPT ;GET OPTIONS
3623 004272' 135 04 0 00 014055' LOAD T4,LO%ROM,T3 ;GET BOOTSTRAP ROM OPTIONS
3624 004273' 306 04 0 00 000003 CAIN T4,.LOTBP ;BOOT PASSWORD INCLUDED IN MESSAGE ?
3625 JRST [ CALL GETBPW ;YES, GO GET BOOT PASSWORD FROM NICE MESSAGE
3626 RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
3627 DMOVEM T3,RQLPSW ;SAVE BOOT PASSWORD
3628 004274' 254 00 0 00 014056' JRST .+1 ] ;RETURN TO MAINLINE CODE
3629
3630 ; GET PROGRAM DATA IF INCLUDED IN NICE MESSAGE
3631
3632 004275' 200 03 0 14 000003 MOVE T3,RQLOPT ;GET OPTIONS
3633 004276' 135 04 0 00 014055' LOAD T4,LO%ROM,T3 ;GET ROM BOOTSTRAP OPTION FIELD
3634 004277' 306 04 0 00 000002 CAIN T4,.LOPGM ;PROGRAM DATA INCLUDED IN NICE MESSAGE ?
3635 JRST [ CALL GETPDT ;YES, GO EXTRACT PROGRAM DATA FROM NICE MESSAGE
3636 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3637 004300' 254 00 0 00 014062' JRST .+1 ] ;RETURN TO MAINLINE CODE
3638
3639 ; GET OPERATING SYSTEM FILE SPECIFICATION IF INCLUDED IN MESSAGE
3640
3641 004301' 200 04 0 14 000003 MOVE T4,RQLOPT ;GET OPTIONS
3642 004302' 602 04 0 00 000020 TXNE T4,LO%OPS ;IS OPERATING SYSTEM FILE SPEC IN MESSAGE ?
3643 JRST [ CALL GETOPS ;YES, GO GET OPERATING SYSTEM FILE
3644 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3645 MOVEM T3,RQLOPS ;SAVE POINTER TO ASCIZ FILE SPEC
3646 004303' 254 00 0 00 014065' JRST .+1] ;RETURN TO MAINLINE CODE
3647 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 86
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3648 ; ..
3649
3650 ; GET SYSTEM PARAMETERS IF INCLUDED IN MESSAGE
3651
3652 004304' 200 04 0 14 000003 MOVE T4,RQLOPT ;GET OPTIONS
3653 004305' 602 04 0 00 000040 TXNE T4,LO%PAR ;ARE PARAMETERS INCLUDED IN MESSAGE ?
3654 JRST [ CALL GETPAR ;YES, GO EXTRACT PARAMETERS FROM MESSAGE
3655 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3656 004306' 254 00 0 00 014071' JRST .+1] ;RETURN TO MAINLINE CODE
3657
3658 ; DONE - ALL FIELDS EXTRACTED FROM NICE DOWN-LINE LOAD REQUEST MESSAGE
3659
3660 004307' 326 02 0 00 013615' JUMPN T2,[RETBAD (.NRPRO)] ;ANY BYTES LEFT => NICE PROTOCOL ERROR
3661 004310' 254 00 0 00 004251* RETSKP ;RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 87
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3662 ;GETRQD - ROUTINE TO EXTRACT THE FIELDS FROM A NICE UP-LINE DUMP
3663 ; REQUEST MESSAGE.
3664 ;
3665 ;ACCEPTS IN T1/ POINTER TO START OF NICE UP-LINE DUMP REQUEST MESSAGE
3666 ; T2/ NUMBER OF BYTES IN THE MESSAGE
3667 ; CALL GETRQD
3668 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3669 ; +2 SUCCESS, WITH THE FOLLOWING FIELDS SET UP:
3670 ;
3671 ; RQDTGT/ POINTER TO ASCIZ NAME OF TARGET NODE
3672 ; RQDSRV/ POINTER TO ASCIZ NAME OF SERVER NODE
3673 ; RQDLIN/ SERVER LINE ID (2 WORDS)
3674 ; RQDFIL/ POINTER TO ASCIZ DUMP FILESPEC
3675 ; RQDOPT/ OPTIONS FOR DUMP OPERATION
3676 ; RQDADR/ STARTING ADDRESS FOR THE DUMP
3677 ; RQDCNT/ NUMBER OF UNITS TO DUMP
3678
3679 004311' 260 17 0 00 004340' GETRQD: CALL GETFCN ;GET FUNCTION CODE FROM NICE MESSAGE
3680 004312' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, RETURN "INVALID MESSAGE FORMAT"
3681 004313' 260 17 0 00 005167' CALL GETEXB ;GO GET OPTIONS FOR DUMP OPERATION
3682 004314' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3683 004315' 202 04 0 14 000026 MOVEM T4,RQDOPT ;SAVE OPTIONS
3684
3685 ; GET NAME OF TARGET NODE TO BE DUMPED
3686
3687 004316' 200 04 0 14 000026 MOVE T4,RQDOPT ;GET OPTION BITS
3688 004317' 135 04 0 00 014030' LOAD T4,DO%TGT,T4 ;GET TARGET SPECIFICATION FIELD
3689 004320' 302 04 0 00 000000 CAIE T4,.DOTGT ;EITHER TARGET & PATH OR JUST THE
3690 004321' 306 04 0 00 000002 CAIN T4,.DOPTH ; TARGET NODE SPECIFIED ?
3691 JRST [ CALL GETNOD ;YES, GO EXTRACT TARGET NODE NAME FROM MESSAGE
3692 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3693 MOVEM T3,RQDTGT ;SAVE POINTER TO ASCIZ TARGET NODE NAME
3694 004322' 254 00 0 00 014074' JRST .+1] ;RETURN TO MAINLINE CODE
3695
3696 ; EXTRACT PATH TO TARGET IF INCLUDED IN THE MESSAGE
3697
3698 004323' 200 04 0 14 000026 MOVE T4,RQDOPT ;GET OPTION BITS
3699 004324' 135 04 0 00 014030' LOAD T4,DO%TGT,T4 ;GET TARGET SPECIFICATION OPTION
3700 004325' 302 04 0 00 000002 CAIE T4,.DOPTH ;BOTH TARGET & PATH, OR JUST THE
3701 004326' 306 04 0 00 000003 CAIN T4,.DOSRV ; PATH ALONE SPECIFIED ?
3702 JRST [ CALL GETNOD ;YES, GET NAME OF SERVER NODE FROM MESSAGE
3703 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3704 MOVEM T3,RQDSRV ;SAVE POINTER TO ASCIZ SERVER NODE NAME
3705 CALL GETLIN ;GO GET SERVER LINE ID
3706 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3707 DMOVEM T3,RQDLIN ;SAVE SERVER LINE ID
3708 004327' 254 00 0 00 014100' JRST .+1] ;RETURN TO MAINLINE CODE
3709 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 88
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3710 ; ..
3711
3712 ; DETERMINE OUTPUT FILE FOR DUMP
3713
3714 004330' 200 04 0 14 000026 MOVE T4,RQDOPT ;GET OPTIONS FOR DUMP OPERATION
3715 004331' 602 04 0 00 000004 TXNE T4,DO%FIL ;OUTPUT FILE SPECIFIED ?
3716 JRST [ SETZM T3 ;NO POINTER PROVIDED
3717 CALL GETIMA ;YES, GO EXTRACT FILE SPEC FROM MESSAGE
3718 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3719 MOVEM T3,RQDFIL ;SAVE POINTER TO ASCIZ FILE SPEC
3720 004332' 254 00 0 00 014107' JRST .+1] ;CONTINUE WITH MAINLINE CODE
3721
3722 ; EXTRACT STARTING ADR AND COUNT IF PRESENT IN DUMP REQUEST MESSAGE
3723
3724 004333' 200 04 0 14 000026 MOVE T4,RQDOPT ;GET OPTION BITS
3725 004334' 602 04 0 00 000010 TXNE T4,DO%ADR ;ADDRESS AND COUNT INCLUDED IN MESSAGE ?
3726 JRST [ CALL GETMEM ;YES, GO EXTRACT THE ADDRESS
3727 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3728 MOVEM T3,RQDADR ;SAVE STARTING ADDRESS FOR THE DUMP
3729 CALL GETMEM ;GO EXTRACT THE COUNT FROM THE MESSAGE
3730 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3731 MOVEM T3,RQDCNT ;SAVE NUMBER OF UNITS TO DUMP
3732 004335' 254 00 0 00 014114' JRST .+1] ;CONTINUE WITH MAINLINE CODE
3733
3734 ; DONE, RETURN TO CALLER
3735
3736 004336' 326 02 0 00 013707' JUMPN T2,[RETBAD (.NRIMF)] ;ALL FIELDS SHOULD NOW HAVE BEEN EXTRACTED
3737 004337' 254 00 0 00 004310* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 89
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3738 ;GETFCN - ROUTINE TO EXTRACT THE FUNCTION CODE FROM A NICE MESSAGE
3739 ;
3740 ;ACCEPTS IN T1/ POINTER TO START OF NICE MESSAGE (I.E., TO THE FUNCTION CODE)
3741 ; T2/ NUMBER OF BYTES IN THE NICE MESSAGE
3742 ; CALL GETFCN
3743 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3744 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN NICE MESSAGE
3745 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
3746 ; T3/ FUNCTION CODE
3747
3748 004340' 375 00 0 00 000002 GETFCN: SOSGE T2 ;AT LEAST ON BYTE (FUNCTION CODE) IN MESSAGE ?
3749 004341' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT"
3750 004342' 134 03 0 00 000001 ILDB T3,T1 ;YES, LOAD THE FUNCTION CODE
3751 004343' 254 00 0 00 004337* RETSKP ;RETURN SUCCESS
3752
3753
3754 ;GETOPT - ROUTINE TO EXTRACT THE OPTION CODE FIELD (SUB-FUNCTION) FROM
3755 ; A NICE MESSAGE
3756 ;
3757 ;ACCEPTS IN T1/ POINTER TO OPTION FIELD
3758 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
3759 ; CALL GETOPT
3760 ;RETURNS: +1 FAILED, NOT ENOUGH BYTES LEFT IN MESSAGE
3761 ; +2 SUCCESS, WITH OPTION CODE IN T4, PTR AND COUNT UPDATED
3762
3763
3764 004344' 254 00 0 00 005167' GETOPT: CALLRET GETEXB ;GET EXTENSIBLE BINARY FIELD
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 90
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3765 ;GETPDT - ROUTINE TO EXTRACT THE PROGRAM DATA FIELDS FROM A NICE
3766 ; DOWN-LINE LOAD REQUEST MESSAGE
3767 ;
3768 ;ACCEPTS IN T1/ POINTER TO START OF PROGRAM DATA FIELDS
3769 ; T2/ COUNT OF BYTES REMAINING IN MESSAGE
3770 ; CALL GETPDT
3771 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3772 ; +2 SUCCESS, WITH THE FOLLOWING VARIABLES SET UP:
3773 ; RQLLDV/ BOOT LINE DEVICE TYPE AT TARGET NODE
3774 ; RQLCPU/ CPU TYPE OF TARGET SYSTEM (.CPXXX)
3775 ; RQLPGM/ PROGRAM TYPE BEING REQUESTED (.PTXXX)
3776 ; RQLSID/ SOFTWARE ID
3777
3778 004345' 265 16 0 00 003750* GETPDT: ASUBR <GTPPTR,GTPCNT>
3779
3780 004346' 260 17 0 00 004363' CALL GETLDV ;GO GET BOOT LINE DEVICE TYPE AT TARGET NODE
3781 004347' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3782 004350' 202 03 0 14 000012 MOVEM T3,RQLLDV ;SAVE BOOT LINE DEVICE TYPE (.DTXXX)
3783 004351' 260 17 0 00 004367' CALL GETCPU ;GO GET CPU TYPE OF TARGET SYSTEM
3784 004352' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3785 004353' 202 03 0 14 000013 MOVEM T3,RQLCPU ;SAVE CPU TYPE OF TARGET (.CPXXX)
3786 004354' 260 17 0 00 004373' CALL GETPGM ;GO GET PROGRAM TYPE REQUESTED
3787 004355' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3788 004356' 202 03 0 14 000014 MOVEM T3,RQLPGM ;SAVE PROGRAM TYPE (.PTXXX)
3789 004357' 260 17 0 00 004377' CALL GETSID ;GO GET SOFTWARE ID OF SOFTWARE REQUESTED
3790 004360' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3791 004361' 202 03 0 14 000015 MOVEM T3,RQLSID ;SAVE FURTHER IDENTIFICATION OF SOFTWARE WANTED
3792 004362' 254 00 0 00 004343* RETSKP ;DONE, RETURN TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 91
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3793 ;GETLDV - ROUTINE TO EXTRACT THE BOOT LOAD DEVICE TYPE FROM A NICE MESSAGE
3794 ;
3795 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (DEVICE TYPE) IN NICE MESSAGE
3796 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
3797 ; CALL GETLDV
3798 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3799 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN NICE MESSAGE
3800 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
3801 ; T3/ DEVICE TYPE CODE (.DTXXX)
3802
3803 004363' 375 00 0 00 000002 GETLDV: SOSGE T2 ;AT LEAST ONE BYTE REMAINING IN MESSAGE ?
3804 004364' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
3805 004365' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET DEVICE TYPE CODE (.DTXXX)
3806 004366' 254 00 0 00 004362* RETSKP ;DONE, RETURN SUCCESS
3807
3808 ;GETCPU - ROUTINE TO EXTRACT THE CPU TYPE FROM A NICE MESSAGE
3809 ;
3810 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (CPU TYPE) IN NICE MESSAGE
3811 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
3812 ; CALL GETCPU
3813 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3814 ; +2 SUCCESS, WITH T1/ UPDQTED POINTER TO NEXT FIELD IN NICE MESSAGE
3815 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
3816 ; T3/ DEVICE TYPE CODE (.CPXXX)
3817 004367' 375 00 0 00 000002 GETCPU: SOSGE T2 ;AT LEAST ONE BYTE REMAINING IN MESSAGE ?
3818 004370' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
3819 004371' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET CPU TYPE CODE (.CPXXX)
3820 004372' 254 00 0 00 004366* RETSKP ;DONE, RETURN SUCCESS
3821
3822
3823 ;GETPGM - ROUTINE TO EXTRACT THE PROGRAM TYPE FROM A NICE MESSAGE
3824 ;
3825 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (PROGRAM TYPE) IN NICE MESSAGE
3826 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
3827 ; CALL GETPGM
3828 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3829 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN NICE MESSAGE
3830 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
3831 ; T3/ PROGRAM TYPE CODE (.PTXXX)
3832
3833 004373' 375 00 0 00 000002 GETPGM: SOSGE T2 ;AT LEAST ONE BYTE REMAINING IN MESSAGE ?
3834 004374' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
3835 004375' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET PROGRAM TYPE CODE (.PTXXX)
3836 004376' 254 00 0 00 004372* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 92
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3837 ;GETSID - ROUTINE TO GET A SOFTWARE ID FIELD FROM A MESSAGE
3838 ;
3839 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (SOFTWARE ID) IN MESSAGE
3840 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
3841 ; CALL GETSID
3842 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3843 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3844 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
3845 ; T3/ POINTER TO ASCIZ SOFTWARE ID STRING
3846
3847 004377' 200 04 0 00 000001 GETSID: MOVE T4,T1 ;COPY POINTER TO # OF CHARACTERS IN STRING
3848 004400' 134 03 0 00 000004 ILDB T3,T4 ;GET NUMBER OF CHARACTERS IN SOFTWARE ID
3849 004401' 303 03 0 00 000020 CAILE T3,MAXSID ;IS STRING LONGER THAN MAX ALLOWED ?
3850 004402' 254 00 0 00 013542' RETBAD (.NRIMF) ;YES, RETURN "INVALID MESSAGE FORMAT" ERROR
3851 004403' 402 00 0 00 000003 SETZM T3 ;NO POINTER PROVIDED
3852 004404' 260 17 0 00 004474' CALL GETIMA ;NO, GO GET AN ASCIZ STRING FROM AN IMAGE FIELD
3853 004405' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3854 004406' 254 00 0 00 004376* RETSKP ;DONE, RETURN WITH T3/ POINTER TO STRING
3855
3856
3857 ;GETBPW - ROUTINE TO EXTRACT THE BOOT PASSWORD FROM A NICE MESSAGE
3858 ;
3859 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (BOOT PASSWORD) IN NICE MESSAGE
3860 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
3861 ; CALL GETBPW
3862 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3863 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN NICE MESSAGE
3864 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
3865 ; T4-T3/ 64 BIT BOOT PASSWORD, RIGHT JUSTIFIED
3866
3867 004407' 200 04 0 00 000001 GETBPW: MOVE T4,T1 ;COPY POINTER TO NUMBER OF BYTES IN PASSWORD
3868 004410' 134 03 0 00 000004 ILDB T3,T4 ;GET NUMBER OF BYTES IN BOOT PASSWORD
3869 004411' 303 03 0 00 000010 CAILE T3,MBPWSZ ;PASSWORD FIELD TOO BIG ?
3870 004412' 254 00 0 00 013542' RETBAD (.NRIMF) ;YES, RETURN "INVALID MESSAGE FORMAT" ERROR
3871 004413' 260 17 0 00 004530' CALL GETIMB ;GO GET BINARY NUMBER FROM IMAGE FIELD
3872 004414' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3873 004415' 254 00 0 00 004406* RETSKP ;DONE, RETURN WITH T3-T4/ BINARY PASSWORD
3874
3875
3876 ;GETOPS - ROUTINE TO EXTRACT THE OPERATION SYSTEM FILE SPEC FROM A MESSAGE
3877 ;
3878 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (FILE SPEC) IN MESSAGE
3879 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
3880 ; CALL GETOPS
3881 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3882 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3883 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
3884 ; T3/ POINTER TO ASCIZ OPERATING SYSTEM FILE SPEC
3885
3886 004416' 402 00 0 00 000003 GETOPS: SETZM T3 ;NO POINTER PROVIDED
3887 004417' 260 17 0 00 004474' CALL GETIMA ;GO GET AN ASCII STRING FROM AN IMAGE FIELD
3888 004420' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3889 004421' 254 00 0 00 004415* RETSKP ;DONE, T3 HAS POINTER TO FILE SPEC
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 93
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3890 ;GETPAR - ROUTINE TO EXTRACT THE SYSTEM PARAMETERS FROM A MESSAGE
3891 ;
3892 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (SYSTEM PARAMETERS) IN MESSAGE
3893 ; T2/ NUMBER OF BYTES REMAINING IN THE MESSAGE
3894 ; CALL GETPAR
3895 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3896 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3897 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
3898 ; PARAMETERS:
3899 ; RQLNAM/ POINTER TO ASCIZ NAME TARGET NODE IS TO USE
3900 ; RQLNUM/ NUMBER OF TARGET NODE
3901 ; RQLHST/ POINTER TO ASCIZ NAME OF HOST FOR TASK LOADS
3902
3903 004422' 265 16 0 00 004345* GETPAR: ASUBR <GTPPTR,GTPCNT>
3904
3905 004423' 476 00 0 14 000017 SETOM RQLNAM ;INITIALIZE THE SYSTEM PARAMETERS TO KNOWN
3906 004424' 476 00 0 14 000020 SETOM RQLNUM ; VALUES SO THAT IT CAN BE DETERMINED WHICH
3907 004425' 476 00 0 14 000021 SETOM RQLHST ; PARAMETERS WERE EXTRACTED FROM THE MESSAGE
3908 004426' 375 00 0 15 000002 SOSGE GTPCNT ;AT LEAST ONE BYTE LEFT IN THE MESSAGE ?
3909 004427' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
3910 004430' 134 04 0 15 000001 ILDB T4,GTPPTR ;GET NUMBER OF BYTES IN PARAMETER FIELD
3911 004431' 313 04 0 00 000002 CAMLE T4,T2 ;AT LEAST THAT MANY BYTES LEFT IN MESSAGE ?
3912 004432' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
3913 004433' 200 01 0 15 000001 MOVE T1,GTPPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
3914 004434' 200 02 0 15 000002 MOVE T2,GTPCNT ;GET COUNT OF BYTES LEFT IN MESSAGE
3915
3916 ; LOOP OVER EACH PARAMETER
3917
3918 004435' 375 00 0 00 000002 GTP010: SOSGE T2 ;DECREMENT BYTE COUNT
3919 004436' 254 00 0 00 013542' RETBAD (.NRIMF) ;NOT ENOUGH BYTES IN MESSAGE, RETURN ERROR
3920 004437' 134 03 0 00 000001 ILDB T3,T1 ;GET PARAMETER VALUE TYPE CODE (.PVXXX)
3921 004440' 303 03 0 00 000003 CAIle T3,.PVHST ;PARAMETER VALUE WITHIN ACCEPTABLE RANGE ?
3922 004441' 254 00 0 00 013711' RETBAD (.NRIPV) ;NO, RETURN "INVALID PARAMETER VALUE" ERROR
3923 004442' 306 03 0 00 000000 CAIN T3,.PVEND ;END MARK ENCOUNTERED ?
3924 004443' 254 00 0 00 004421* RETSKP ;YES, RETURN SUCCESS
3925 004444' 200 03 0 03 004450' MOVE T3,PARTAB(T3) ;GET DISPATCH ADDRESS
3926 004445' 260 17 0 03 000000 CALL (T3) ;GO HANDLE THIS TYPE OF PARAMETER
3927 004446' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3928 004447' 254 00 0 00 004435' JRST GTP010 ;GO GET NEXT PARAMETER
3929
3930
3931 ; TABLE OF DISPATCH ADDRESSES TO EXTRACT PARAMETERS FROM NICE MESSAGES
3932
3933 004450' 000000000000# PARTAB: RSKP ;END MARK, NO OP
3934 004451' 000000 004454' PARNAM ;NAME NODE IS TO USE FOR NODE INIT
3935 004452' 000000 004460' PARNUM ;NUMBER NODE IS TO USE
3936 004453' 000000 004470' PARHST ;HOST FOR TASK LOADS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 94
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3937 ;PARNAM - ROUTINE TO EXTRACT THE NODE NAME PARAMETER FROM A NICE MESSAGE
3938 ;
3939 ;ACCEPTS IN T1/ POINTER TO NODE NAME
3940 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
3941 ; CALL PARNAM
3942 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3943 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3944 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
3945 ; RQLNAM/ POINTER TO NODE NAME
3946
3947 004454' 260 17 0 00 005205' PARNAM: CALL GETNOD ;GO GET THE NODE NAME
3948 004455' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3949 004456' 202 03 0 14 000017 MOVEM T3,RQLNAM ;SAVE NAME PARAMETER
3950 004457' 254 00 0 00 004443* RETSKP ;DONE, RETURN SUCCESS
3951
3952 ;PARNUM - ROUTINE TO RETURN THE NUMBER TO BE USED BY THE TARGET NODE
3953 ;
3954 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (NUMBER) IN NICE MESSAGE
3955 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
3956 ; CALL PARNUM
3957 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3958 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3959 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
3960 ; RQLNUM/ NUMBER TO BE USED
3961
3962 004460' 361 02 0 00 013707' PARNUM: SOJL T2,[RETBAD (.NRIMF)] ;DECREMENT COUNT FOR COUNT-BYTE
3963 004461' 134 04 0 00 000001 ILDB T4,T1 ;GET COUNT BYTE
3964 004462' 302 04 0 00 000002 CAIE T4,2 ;A TWO BYTE NUMBER ?
3965 004463' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT"
3966 004464' 260 17 0 00 004625' CALL GETTWO ;GO GET THE NEXT TWO BYTE FIELD FROM THE MESSAGE
3967 004465' 254 00 0 00 013707' JRST [RETBAD (.NRIMF)] ;FAIL IF INSUFFICIENT BYTES IN MESSAGE
3968 004466' 202 04 0 14 000020 MOVEM T4,RQLNUM ;SAVE THE NUMBER
3969 004467' 254 00 0 00 004457* RETSKP ;DONE, RETURN SUCCESS
3970
3971
3972 ;PARHST - ROUTINE TO EXTRACT THE TASK LOAD HOST NAME FROM A NICE MESSAGE
3973 ;
3974 ;ACCEPTS IN T1/ POINTER TO NODE NAME
3975 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
3976 ; CALL PARHST
3977 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3978 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3979 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
3980 ; RQLHST/ POINTER TO NODE NAME
3981
3982 004470' 260 17 0 00 005205' PARHST: CALL GETNOD ;GO GET THE NODE NAME
3983 004471' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
3984 004472' 202 03 0 14 000021 MOVEM T3,RQLHST ;SAVE POINTER TO NAME OF HOST FOR TASK LOADS
3985 004473' 254 00 0 00 004467* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 95
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
3986 ;GETIMA - ROUTINE TO GET AN ASCII STRING FROM AN IMAGE FIELD IN A NICE MSG
3987 ;
3988 ;ACCEPTS IN T1/ POINTER TO START OF IMAGE FIELD
3989 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
3990 ; T3/ 0 TO USE GENERAL STRING AREA, OR POINTER FOR ASCII STRING
3991 ; CALL GETIMA
3992 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
3993 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
3994 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
3995 ; T3/ POINTER TO ASCIZ STRING IN STRING STORAGE AREA
3996
3997 004474' 265 16 0 00 004422* GETIMA::ASUBR <GIAPTR,GIACNT,GIADST,GIALEN>
3998
3999 004475' 375 03 0 15 000002 SOSGE T3,GIACNT ;AT LEAST ONE BYTE REMAINING IN MESSAGE ?
4000 004476' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
4001 004477' 134 04 0 15 000001 ILDB T4,GIAPTR ;YES, GET # OF CHARACTERS IN STRING
4002 004500' 313 04 0 15 000002 CAMLE T4,GIACNT ;AT LEAST THAT MANY CHARACTERS LEFT IN MESSAGE ?
4003 004501' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
4004 004502' 202 04 0 15 000004 MOVEM T4,GIALEN ;SAVE # OF CHARACTERS IN FIELD
4005 004503' 274 03 0 00 000004 SUB T3,T4 ;COMPUTE # OF BYTES REMAINING AFTER THIS FIELD
4006 004504' 202 03 0 15 000002 MOVEM T3,GIACNT ;SAVE UPDATED BYTE COUNT
4007 004505' 336 03 0 15 000003 SKIPN T3,GIADST ;ANY POINTER PROVIDED AS INPUT ?
4008 004506' 200 03 0 00 014123' MOVE T3,[POINT 7,TMPSTR] ;NO, SET UP POINTER TO TEMPORARY DESTINATION
4009
4010 ; LOOP OVER EACH CHARACTER IN THE STRING
4011
4012 004507' 361 04 0 00 004514' GIA010: SOJL T4,GIA020 ;DECREMENT COUNT OF CHARACTERS LEFT IN STRING
4013 004510' 134 02 0 15 000001 ILDB T2,GIAPTR ;GET A CHARACTER FROM THE STRING
4014 004511' 332 00 0 00 000002 SKIPE T2 ;DISCARD NULLS
4015 004512' 136 02 0 00 000003 IDPB T2,T3 ;STORE CHARACTER INTO TEMPORARY DESTINATION
4016 004513' 254 00 0 00 004507' JRST GIA010 ;LOOP OVER ALL CHARACTERS IN THE STRING
4017
4018 ; TERMINATE THE STRING WITH A NULL AND MOVE TO STRING STORAGE AREA
4019
4020 004514' 201 02 0 00 000000 GIA020: MOVEI T2,.CHNUL ;GET A NULL
4021 004515' 136 02 0 00 000003 IDPB T2,T3 ;TERMINATE THE STRING WITH A NULL
4022 004516' 332 00 0 15 000003 SKIPE GIADST ;WAS A DESTINATION POINTER SUPPLIED ?
4023 JRST [ MOVE T1,T3 ;COPY POINTER TO END OF STRING
4024 004517' 254 00 0 00 014124' JRST GIA030 ] ;GET REMAINING ITEMS TO RETURN
4025 004520' 201 01 0 00 010744' MOVEI T1,TMPSTR ;GET ADDRESS OF TEMPORARY STRING LOCATION
4026 004521' 260 17 0 00 010425' CALL STOSTR ;STORE THE STRING IN THE PERMANENT STRING AREA
4027 004522' 254 00 0 00 013675' RETBAD (.NRRES) ;FAILED, RETURN "RESOURCE ERROR"
4028 004523' 200 03 0 00 000001 MOVE T3,T1 ;GET POINTER TO PERMANENT STRING LOCATION
4029 004524' 200 02 0 15 000002 GIA030: MOVE T2,GIACNT ;GET # OF BYTES REMAINING IN MESSAGE
4030 004525' 200 01 0 15 000001 MOVE T1,GIAPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
4031 004526' 200 04 0 15 000004 MOVE T4,GIALEN ;RETURN LENGTH OF FIELD
4032 004527' 254 00 0 00 004473* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 96
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4033 ;GETIMB - ROUTINE TO EXTRACT A BINARY NUMBER FROM AN IMAGE FIELD
4034 ;
4035 ;ACCEPTS IN T1/ POINTER TO START OF FIELD
4036 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
4037 ; CALL GETIMB
4038 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4039 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4040 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
4041 ; T3-T4/ BINARY NUMBER
4042
4043 004530' 265 16 0 00 004474* GETIMB: ASUBR <GIBPTR,GIBCNT,GIBSFT>
4044
4045 004531' 375 03 0 15 000002 SOSGE T3,GIBCNT ;AT LEAST ONE BYTE REMAINING IN MESSAGE ?
4046 004532' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
4047 004533' 134 01 0 15 000001 ILDB T1,GIBPTR ;YES, GET # OF CHARACTERS IN STRING
4048 004534' 313 01 0 15 000002 CAMLE T1,GIBCNT ;AT LEAST THAT MANY CHARACTERS LEFT IN MESSAGE ?
4049 004535' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
4050 004536' 274 03 0 00 000001 SUB T3,T1 ;COMPUTE COUNT REMAINING AFTER THIS FIELD
4051 004537' 202 03 0 15 000002 MOVEM T3,GIBCNT ;SAVE UPDATED COUNT
4052 004540' 201 02 0 00 000011 MOVEI T2,MAXIMB ;GET MAX NUMBER OF BYTES IN IMAGE BINARY FIELDS
4053 004541' 274 02 0 00 000001 SUB T2,T1 ;COMPUTE NUMBER OF EXTRA HIGH ORDER BYTES
4054 004542' 202 02 0 15 000003 MOVEM T2,GIBSFT ;SAVE NUMBER OF EXTRA SHIFTS TO DO
4055 004543' 403 03 0 00 000004 SETZB T3,T4 ;CLEAR ACCUMULATORS TO RECEIVE RESULT
4056
4057 ; LOOP OVER EACH BYTE IN THE FIELD
4058
4059 004544' 361 01 0 00 004551' GIB010: SOJL T1,GIB020 ;IF ALL BYTES DEPOSITED, GO DO REMAINING SHIFTS
4060 004545' 246 03 0 00 777770 LSHC T3,-8 ;SHIFT ANY PREVIOUS BYTES RIGHT ONE BYTE
4061 004546' 134 02 0 15 000001 ILDB T2,GIBPTR ;GET A BYTE FROM THE IMAGE FIELD
4062 004547' 137 02 0 00 014126' DPB T2,[POINT 8,T3,7] ;DEPOSIT INTO HIGH ORDER END OF BINARY NUMBER
4063 004550' 254 00 0 00 004544' JRST GIB010 ;LOOP OVER ALL BYTES IN THE FIELD
4064
4065 ; HERE TO SHIFT THE NUMBER UNTIL IT IS RIGHT-ADJUSTED IN THE TWO AC'S
4066
4067 004551' 375 00 0 15 000003 GIB020: SOSGE GIBSFT ;ANOTHER SHIFT REQUIRED ?
4068 004552' 254 00 0 00 004555' JRST GIB030 ;NO, GO RETURN TO CALLER
4069 004553' 246 03 0 00 777770 LSHC T3,-8 ;YES, MOVE THE NUMBER ONE BYTE TO THE RIGHT
4070 004554' 254 00 0 00 004551' JRST GIB020 ;LOOP OVER EACH EXTRA HIGH ORDER BYTE
4071
4072 ; HERE TO RETURN TO CALLER
4073
4074 004555' 200 01 0 15 000001 GIB030: MOVE T1,GIBPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
4075 004556' 200 02 0 15 000002 MOVE T2,GIBCNT ;GET UPDATED COUNT OF BYTES LEFT IN MESSAGE
4076 004557' 254 00 0 00 004527* RETSKP ;RETURN, T3 AND T4 CONTAIN THE BINARY NUMBER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 97
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4077 ;GETLIN - ROUTINE TO GET A LINE ID FROM A NICE MESSAGE
4078 ;
4079 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (LINE ID) IN NICE MESSAGE
4080 ; T2/ COUNT OF NUMBER OF BYTES LEFT IN NICE MESSAGE
4081 ; CALL GETLIN
4082 ;RETURNS: +1 FAILED, NICE RETURN CODE
4083 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4084 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
4085 ; T3/ LINE DEVICE TYPE (.DTXXX),,LINE CONTROLLER #
4086 ; T4/ LINE UNIT NUMBER,,LINE STATION ADDRESS
4087 ;
4088 ; NOTE: IF "ALL LINES" IS SPECIFIED AS THE LINE ID, THEN ON A SUCCESS
4089 ; RETURN, T3/ -1 AND T4/ UNDEFINED
4090
4091 004560' 265 16 0 00 004530* GETLIN::ASUBR <GTLPTR,GTLCNT>
4092 004561' 375 00 0 15 000002 SOSGE GTLCNT ;AT LEAST ONE BYTE LEFT IN MESSAGE ?
4093 004562' 254 00 0 00 013670' RETBAD (.NRILN) ;NO, RETURN "INVALID LINE ID" ERROR
4094 004563' 134 04 0 15 000001 ILDB T4,GTLPTR ;GET LINE ID FORMAT BYTE
4095 004564' 301 04 0 00 000000 CAIL T4,.LTALL ;IS THE LINE ID FORMAT WITHIN
4096 004565' 303 04 0 00 000002 CAILE T4,.LTSTR ; LEGAL LIMITS ?
4097 004566' 254 00 0 00 013670' RETBAD (.NRILN) ;NO, RETURN "INVALID LINE ID" ERROR
4098 004567' 200 01 0 15 000001 MOVE T1,GTLPTR ;GET POINTER TO REMAINDER OF LINE ID
4099 004570' 200 02 0 15 000002 MOVE T2,GTLCNT ;GET REMAINING COUNT OF BYTES IN MESSAGE
4100 004571' 254 00 1 04 004572' CALLRET @GTLTAB(T4) ;YES, CALL LINE-FORMAT-SPECIFIC ROUTINE
4101
4102
4103 ; TABLE OF LINE-FORMAT-SPECIFIC ROUTINES TO EXTRACT LINE-ID'S FROM MESSAGES
4104
4105 004572' 000000 004575' GTLTAB: GTLALL ;ALL LINES
4106 004573' 000000 004577' GTLSTD ;STANDARD NICE PROTOCOL LINE IDENTIFIER
4107 004574' 000000 004612' GTLSTR ;ASCII NAME STRING
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 98
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4108 ;GTLALL - ROUTINE TO EXTRACT A FORMAT 0 LINE ID FROM A MESSAGE
4109 ;
4110 ;ACCEPTS IN T1/ POINTER TO BYTE AFTER LINE ID FORMAT
4111 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
4112 ; CALL GTLALL
4113 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4114 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4115 ; T2/ UPDATED COUNT OF BYTES IN MESSAGE
4116 ; T3/ -1, INDICATING "ALL LINES" WAS SPECIFIED
4117
4118 004575' 476 00 0 00 000003 GTLALL: SETOM T3 ;NOTE THAT ALL LINES WAS SPECIFIED IN MESSAGE
4119 004576' 254 00 0 00 004557* RETSKP ;DONE, RETURN
4120
4121 ;GTLSTD - ROUTINE TO EXTRACT A STANDARD NICE LINE ID FROM A NICE MESSAGE
4122 ;
4123 ;ACCEPTS IN T1/ POINTER TO BYTE AFTER LINE ID FORMAT BYTE
4124 ; T2/ COUNT OF BYTES REMAINING IN NICE MESSAGE
4125 ; CALL GTLSTD
4126 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4127 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4128 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
4129 ; T3/ LINE DEVICE TYPE (.DTXXX),,LINE CONTROLLER #
4130 ; T4/ LINE UNIT NUMBER,,LINE STATION ADDRESS
4131
4132 004577' 275 02 0 00 000004 GTLSTD: SUBI T2,4 ;DECREMENT REMAINING BYTES BY LINE ID BYTES
4133 004600' 321 02 0 00 014127' JUMPL T2,[RETBAD (.NRILN)] ;IF NOT ENOUGH BYTES LEFT, RETURN ERROR
4134 004601' 261 17 0 00 000002 PUSH P,T2 ;SAVE COUNT
4135 004602' 134 02 0 00 000001 ILDB T2,T1 ;GET LINE DEVICE TYPE (.DTXXX)
4136 004603' 134 03 0 00 000001 ILDB T3,T1 ;GET LINE CONTROLLER NUMBER
4137 004604' 504 03 0 00 000002 HRL T3,T2 ;PUT DEVICE TYPE IN LH
4138 004605' 134 02 0 00 000001 ILDB T2,T1 ;GET LINE UNIT NUMBER
4139 004606' 134 04 0 00 000001 ILDB T4,T1 ;GET LINE STATION NUMBER
4140 004607' 504 04 0 00 000002 HRL T4,T2 ;FORM UNIT,,STATION NUMBERS
4141 004610' 262 17 0 00 000002 POP P,T2 ;RESTORE COUNT
4142 004611' 254 00 0 00 004576* RETSKP ;DONE, RETURN SUCCESS
4143
4144
4145 ;GTLSTR - ROUTINE TO EXTRACT A LINE IN FORMAT 2 (STRING) FROM A MESSAGE
4146 ;
4147 ;ACCEPTS IN T1/ POINTER TO BYTE AFTER LINE ID FORMAT BYTE
4148 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
4149 ; CALL GTLSTR
4150 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4151 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4152 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
4153 ; T3-T4/ LINE ID IN STANDARD FORMAT
4154
4155 004612' 254 00 0 00 013670' GTLSTR: RETBAD (.NRILN) ;FOR NOW, JUST FAIL- STRINGS NOT SUPPORTED
4156
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 99
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4157 ;GETMEM - ROUTINE TO GET A MEMORY ADDRESS FROM A NICE OR MOP MESSAGE
4158 ;
4159 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (MEM ADDRESS) IN MESSAGE
4160 ; T2/ NUMBER OF BYTES LEFT IN THE MESSAGE
4161 ; CALL GETMEM
4162 ;RETURNS: +1 FAILED, BADLY FORMED MESSAGE
4163 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4164 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
4165 ; T3/ MEMORY ADDRESS (OR MEMORY SIZE)
4166
4167 004613' 265 16 0 00 004560* GETMEM: ASUBR <GTMPTR,GTMCNT>
4168
4169 004614' 200 02 0 15 000002 MOVE T2,GTMCNT ;GET # OF BYTES LEFT IN MESSAGE
4170 004615' 275 02 0 00 000004 SUBI T2,4 ;DECREMENT BY SIZE OF MEM ADDRESS
4171 004616' 321 02 0 00 001552* JUMPL T2,R ;RETURN FAILURE IF NOT ENOUGH BYTES LEFT
4172 004617' 202 02 0 15 000002 MOVEM T2,GTMCNT ;SAVE UPDATED BYTE COUNT
4173 004620' 200 01 0 15 000001 MOVE T1,GTMPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
4174 004621' 260 17 0 00 005142' CALL GET4 ;GET THE NEXT 4-BYTE FIELD FROM MESSAGE
4175 004622' 200 03 0 00 000002 MOVE T3,T2 ;GET MEMORY ADDRESS
4176 004623' 200 02 0 15 000002 MOVE T2,GTMCNT ;GET UPDATED BYTE COUNT
4177 004624' 254 00 0 00 004611* RETSKP ;DONE, RETURN
4178
4179
4180
4181 ;GETTWO - ROUTINE TO GET A TWO BYTE NUMBER FROM A NICE MESSAGE
4182 ;
4183 ;ACCEPTS T1/ POINTER TO NEXT FIELD IN NICE MESSAGE
4184 ; T2/ COUNT OF BYTES LEFT IN NICE MESSAGE
4185 ; CALL GETTWO
4186 ;RETURNS: +1 FAILED
4187 ; +2 WITH T1/ UPDATED BYTE POINTER
4188 ; T2/ UPDATED BYTE COUNTER
4189 ; T3/ NUMBER FROM NICE MESSAGE
4190
4191 004625' 377 00 0 00 000002 GETTWO::SOSG T2 ;ANOTHER BYTE ?
4192 004626' 263 17 0 00 000000 RET
4193 004627' 134 03 0 00 000001 ILDB T3,T1 ;GET NEXT BYTE FROM MESSAGE
4194 004630' 375 00 0 00 000002 SOSGE T2 ;ANOTHER BYTE ?
4195 004631' 263 17 0 00 000000 RET
4196 004632' 134 04 0 00 000001 ILDB T4,T1 ;GET SECOND BYTE FROM MESSAGE
4197 004633' 137 04 0 00 014130' DPB T4,[POINT 8,T3,27] ;ADD HIGH ORDER BYTE OF NUMBER
4198 004634' 254 00 0 00 004624* RETSKP ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 100
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4199 ;GETFLD - ROUTINE TO EXTRACT A FIELD FROM AN EVENT LOGGING NICE MESSAGE
4200 ;
4201 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MSG
4202 ; T2/ NUMBER OF BYTES LEFT IN MESSAGE
4203 ; CALL GETFLD
4204 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4205 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4206 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
4207 ; T3/ DATA TYPE CODE OF THIS FIELD
4208 ; T4/ DATA-TYPE-DEPENDENT INFO
4209
4210 004635' 375 00 0 00 000002 GETFLD: SOSGE T2 ;AT LEAST ONE BYTE LEFT
4211 004636' 254 00 0 00 013542' RETBAD (.NRIMF) ;FAILED, INVALID MESSAGE FORMAT
4212 004637' 134 03 0 00 000001 ILDB T3,T1 ;GET DATA TYPE ID BYTE
4213 004640' 301 03 0 00 000017 CAIL T3,EVTLEN ;VALID DATA TYPE SPECIFIED ?
4214 004641' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL WITH INVALID MESSAGE FORMAT
4215 004642' 254 00 1 03 004643' CALLRET @EVTDSP(T3) ;EXTRACT SPECIFIC DATA
4216
4217 004643' 254 00 0 00 013542' EVTDSP: RETBAD (.NRIMF) ; 0 - ILLEGAL
4218 004644' 000000 005050' REGFLD ; 1 - DEVICE REGISTERS
4219 004645' 000000 005122' TIMFLD ; 2 - TIME OF DAY
4220 004646' 000000 004662' DATFLD ; 3 - DATE
4221 004647' 000000 004712' UPTFLD ; 4 - UPTIME
4222 004650' 000000 004716' DEVFLD ; 5 - DEVICE
4223 004651' 000000 004764' RSNFLD ; 6 - REASON CODE
4224 004652' 000000 005126' RCVFLD ; 7 - RECOVERY ACTION
4225 004653' 000000 005106' OPSFLD ; 8 - OPERATING SYSTEM
4226 004654' 000000 004770' NODFLD ; 9 - NODE ID
4227 004655' 000000 005017' MCDFLD ; 10 - MICROCODE DESCRIPTOR
4228 004656' 000000 005141' LPRFLD ; 11 - LINE PROTOCOL
4229 004657' 000000 005141' TPRFLD ; 12 - TRANSMISSION PROTOCOL
4230 004660' 000000 005134' THRFLD ; 13 - THRESHOLD VALUE
4231 004661' 000000 005026' TXTFLD ; 14 - ASCII TEXT
4232 000017 EVTLEN==.-EVTDSP
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 101
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4233 ; ROUTINES TO EXTRACT SPECIFIC FIELDS FROM NICE EVENT LOGGING MESSAGES
4234
4235 ; DATFLD - EXTRACT DATE FIELD FROM A NICE EVENT LOGGING MESSAGE
4236
4237 004662' 265 16 0 00 004026* DATFLD: STKVAR <DTFDAY,DTFMON,DTFYR,DTFPTR,DTFCNT>
4238 004663' 000005 000005
4239 004664' 275 02 0 00 000002 SUBI T2,2 ;DECREMENT COUNT BY SIZE OF DAY AND MONTH
4240 004665' 323 02 0 00 013707' JUMPLE T2,[RETBAD (.NRIMF)] ;FAIL IF NOT ENOUGH BYTES
4241 004666' 134 03 0 00 000001 ILDB T3,T1 ;GET THE DAY
4242 004667' 202 03 0 17 777776 MOVEM T3,DTFDAY ;SAVE THE DAY
4243 004670' 134 03 0 00 000001 ILDB T3,T1 ;GET THE MONTH
4244 004671' 202 03 0 17 777775 MOVEM T3,DTFMON ;SAVE MONTH
4245 004672' 260 17 0 00 004625' CALL GETTWO ;GET THE YEAR
4246 004673' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR
4247 004674' 202 03 0 17 777774 MOVEM T3,DTFYR ;SAVE YEAR
4248 004675' 202 02 0 17 777772 MOVEM T2,DTFCNT ;SAVE CURRENT COUNT OF BYTES IN MESSAGE
4249 004676' 202 01 0 17 777773 MOVEM T1,DTFPTR ;SAVE POINTER TO NEXT FIELD IN MESSAGE
4250
4251 ; CONVERT DATE TO STANDARD TOPS20 FORMAT
4252
4253 004677' 504 02 0 17 777774 HRL T2,DTFYR ;GET THE YEAR
4254 004700' 540 02 0 17 777775 HRR T2,DTFMON ;GET THE MONTH
4255 004701' 514 03 0 17 777776 HRLZ T3,DTFDAY ;GET THE DAY
4256 004702' 201 04 0 00 000000 MOVX T4,0 ;NO FLAGS
4257 004703' 104 00 0 00 000223 IDCNV ;CONVERT THE DATE
4258 004704' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED
4259 004705' 200 04 0 00 000002 MOVE T4,T2 ;GET DATE
4260 004706' 201 03 0 00 000003 MOVX T3,.EDDAT ;GET EVENT DATA TYPE CODE
4261 004707' 200 02 0 17 777772 MOVE T2,DTFCNT ;GET COUNT OF BYTES IN MESSAGE
4262 004710' 200 01 0 17 777773 MOVE T1,DTFPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
4263 004711' 254 00 0 00 004634* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 102
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4264
4265 ; UPTFLD - ROUTINE TO EXTRACT NODE UPTIME FROM A NICE EVENT LOGGING MESSAGE
4266
4267 004712' 260 17 0 00 005167' UPTFLD: CALL GETEXB ;GET UPTIME
4268 004713' 263 17 0 00 000000 RETBAD () ;FAILED
4269 004714' 201 03 0 00 000004 MOVX T3,.EDUPT ;GET EVENT DATA TYPE CODE
4270 004715' 254 00 0 00 004711* RETSKP ;DONE, RETURN SUCCESS
4271
4272
4273 ; DEVFLD - ROUTINE TO EXTRACT A DEVICE DESIGNATOR FROM A NICE LOGGING MESSAGE
4274
4275 004716' 265 16 0 00 004662* DEVFLD: STKVAR <DVFBLK,DVFPTR,DVFCNT,<DVFDEV,2>>
4276 004717' 000005 000005
4277
4278 ; EXTRACT THE DEVICE ID FROM THE MESSAGE
4279
4280 004720' 375 00 0 00 000002 SOSGE T2 ;AT LEAST IMAGE FIELD BYTE COUNT PRESENT ?
4281 004721' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
4282 004722' 134 04 0 00 000001 ILDB T4,T1 ;YES, GET NUMBER OF BYTES IN DEVICE ID
4283 004723' 274 02 0 00 000004 SUB T2,T4 ;ENOUGH BYTES LEFT IN MESSAGE ?
4284 004724' 321 02 0 00 013707' JUMPL T2,[RETBAD (.NRIMF)] ;NO, FAIL
4285 004725' 275 04 0 00 000003 SUBI T4,3 ;AT LEAST FORMAT CODE BYTE, DEVICE TYPE, AND
4286 004726' 321 04 0 00 014127' JUMPL T4,[RETBAD (.NRILN)] ; CONTROLLER NUMBER MUST BE PRESENT
4287 004727' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET FORMAT CODE BYTE
4288 004730' 302 03 0 00 000001 CAIE T3,.LTSTD ;STANDARD LINE ID FORMAT ?
4289 004731' 254 00 0 00 013670' RETBAD (.NRILN) ;NO, INVALID LINE ID
4290 004732' 134 03 0 00 000001 ILDB T3,T1 ;GET DEVICE TYPE CODE (.DTXXX)
4291 004733' 506 03 0 17 777772 HRLM T3,DVFDEV ;SAVE DEVICE TYPE CODE
4292 004734' 134 03 0 00 000001 ILDB T3,T1 ;GET CONTROLLER NUMBER
4293 004735' 542 03 0 17 777772 HRRM T3,DVFDEV ;SAVE CONTROLLER NUMBER
4294 004736' 476 00 0 17 777773 SETOM 1+DVFDEV ;INITIALIZE UNIT AND STATION NUMBERS
4295 004737' 375 00 0 00 000004 SOSGE T4 ;IS UNIT NUMBER PRESENT ?
4296 004740' 254 00 0 00 004747' JRST DVFLD2 ;NO, GO SAVE DEVICE ID
4297 004741' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET UNIT NUMBER
4298 004742' 506 03 0 17 777773 HRLM T3,1+DVFDEV ;SAVE UNIT NUMBER
4299 004743' 375 00 0 00 000004 SOSGE T4 ;STATION ADDRESS PRESENT ?
4300 004744' 254 00 0 00 004747' JRST DVFLD2 ;NO, GO SAVE DEVICE ID
4301 004745' 134 03 0 00 000001 ILDB T3,T1 ;GET STATION ADDRESS
4302 004746' 542 03 0 17 777773 HRRM T3,1+DVFDEV ;SAVE STATION ADDRESS
4303
4304 ; ASSIGN FREE SPACE TO HOLD DEVICE
4305
4306 004747' 202 02 0 17 777774 DVFLD2: MOVEM T2,DVFCNT ;SAVE COUNT OF BYTES IN MESSAGE
4307 004750' 202 01 0 17 777775 MOVEM T1,DVFPTR ;SAVE UPDATED POINTER
4308 004751' 201 01 0 00 000003 MOVX T1,3 ;DEVICE ID'S ARE 2 WORDS LONG
4309 004752' 260 17 0 00 000000* CALL GETFRE ;GET SOME FREE SPACE
4310 004753' 263 17 0 00 000000 RETBAD () ;FAILED
4311 004754' 202 01 0 17 777776 MOVEM T1,DVFBLK ;SAVE BLOCK ADDRESS
4312
4313 ; RETURN BLOCK WITH DEVICE
4314
4315 004755' 120 02 0 17 777772 DMOVE T2,DVFDEV ;GET DEVICE
4316 004756' 124 02 0 01 000001 DMOVEM T2,1(T1) ;SAVE DEVICE
4317 004757' 200 04 0 00 000001 MOVE T4,T1 ;GET ADDRESS OF BLOCK HOLDING DEV
4318 004760' 201 03 0 00 000005 MOVX T3,.EDDEV ;GET EVENT DATA TYPE FOR A DEVICE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 102-1
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4319 004761' 200 02 0 17 777774 MOVE T2,DVFCNT ;GET COUNT OF BYTES LEFT IN MESSAGE
4320 004762' 200 01 0 17 777775 MOVE T1,DVFPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
4321 004763' 254 00 0 00 004715* RETSKP ;DONE, RETURN SUCCESS
4322
4323
4324 004764' 260 17 0 00 005167' RSNFLD: CALL GETEXB ;GET REASON
4325 004765' 263 17 0 00 000000 RETBAD () ;FAILED
4326 004766' 201 03 0 00 000006 MOVX T3,.EDRSN ;GET EVENT DATA TYPE CODE
4327 004767' 254 00 0 00 004763* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 103
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4328
4329 ;NODFLD - EXTRACT NODE ID FROM NICE EVENT LOGGING MESSAGE
4330
4331 004770' 265 16 0 00 004716* NODFLD: STKVAR <NDFPTR,NDFCNT,NDFBLK>
4332 004771' 000003 000003
4333 004772' 202 01 0 17 777776 MOVEM T1,NDFPTR ;SAVE POINTER INTO NICE MESSAGE
4334 004773' 202 02 0 17 777775 MOVEM T2,NDFCNT ;SAVE NUMBER OF BYTES LEFT IN MSG
4335
4336 ; ASSIGN FREE SPACE FOR THE NODE NAME
4337
4338 004774' 201 01 0 00 000003 MOVX T1,3 ;GET MAX NUMBER OF WORDS IN A NODE NAME
4339 004775' 260 17 0 00 004752* CALL GETFRE ;ASSIGN FREE SPACE
4340 004776' 263 17 0 00 000000 RETBAD () ;FAILED
4341 004777' 202 01 0 17 777774 MOVEM T1,NDFBLK ;SAVE ADDRESS OF FREE BLOCK
4342
4343 ; EXTRACT NODE NAME FROM THE MESSAGE
4344
4345 005000' 200 03 0 17 777774 MOVE T3,NDFBLK ;GET ADDRESS OF FREE BLOCK
4346 005001' 505 03 0 00 000700 HRLI T3,(POINT 7,0,35) ;FORM POINTER TO DESTINATION FOR NAME
4347 005002' 200 02 0 17 777775 MOVE T2,NDFCNT ;GET # OF BYTES LEFT IN NICE MESSAGE
4348 005003' 200 01 0 17 777776 MOVE T1,NDFPTR ;GET POINTER TO NODE NAME FIELD
4349 005004' 260 17 0 00 004474' CALL GETIMA ;EXTRACT NODE ID FROM MESSAGE
4350 005005' 254 00 0 00 005012' JRST NDFERR ;FAILED, FREE SPACE AND RETURN ERROR
4351 005006' 201 03 0 00 000011 MOVX T3,.EDNOD ;GET NODE DATA TYPE CODE
4352 005007' 200 04 0 17 777774 MOVE T4,NDFBLK ;GET ADDRESS OF BLOCK HOLDING NAME
4353 005010' 505 04 0 00 000700 HRLI T4,(POINT 7,0,35) ;POINT TO NODE NAME
4354 005011' 254 00 0 00 004767* RETSKP ;DONE, RETURN SUCCESS
4355
4356 ; HERE ON AN ERROR TO RELEASE SPACE
4357
4358 005012' 250 01 0 17 777774 NDFERR: EXCH T1,NDFBLK ;GET BLOCK ADDRESS AND SAVE ERROR CODE
4359 005013' 260 17 0 00 003346* CALL RELFRE ;RELEASE THE BLOCK
4360 005014' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
4361 005015' 200 01 0 17 777774 MOVE T1,NDFBLK ;RESTORE ERROR CODE
4362 005016' 263 17 0 00 000000 RETBAD () ;FAIL
4363
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 104
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4364
4365 ; MCDFLD - EXTRACT MICROCODE DESCRIPTOR FROM NICE EVENT LOGGING MESSAGE
4366
4367 005017' 275 02 0 00 000002 MCDFLD: SUBI T2,2 ;MICROCODE ID IS TWO BYTES
4368 005020' 321 02 0 00 013707' JUMPL T2,[RETBAD (.NRIMF)] ;FAIL IF NOT ENOUGH BYTES
4369 005021' 134 03 0 00 000001 ILDB T3,T1 ;GET MICROCODE TYPE
4370 005022' 134 04 0 00 000001 ILDB T4,T1 ;GET MICROCODE VERSION
4371 005023' 504 04 0 00 000003 HRL T4,T3 ;FORM TYPE,,VERSION
4372 005024' 201 03 0 00 000012 MOVX T3,.EDMCD ;GET MICROCODE DATA TYPE CODE
4373 005025' 254 00 0 00 005011* RETSKP ;RETURN MICROCODE ID
4374
4375
4376 ; ASCII DATA
4377
4378 005026' 265 16 0 00 004613* TXTFLD: ASUBR <AFDPTR,AFDCNT,AFDBLK,AFDSTR>
4379 005027' 200 01 0 15 000002 MOVE T1,AFDCNT ;GET NUMBER OF BYTES TO EXTRACT
4380 005030' 231 01 0 00 000005 IDIVI T1,5 ;COMPUTE # OF WORDS
4381 005031' 332 00 0 00 000002 SKIPE T2 ;ROUND UP IF
4382 005032' 271 01 0 00 000001 ADDI T1,1 ; NECESSARY
4383 005033' 271 01 0 00 000001 ADDI T1,1 ;ACCOUNT FOR BLOCK HEADER
4384 005034' 260 17 0 00 004775* CALL GETFRE ;GET FREE SPACE FOR THE TEXT
4385 005035' 263 17 0 00 000000 RETBAD () ;FAILED
4386 005036' 505 01 0 00 000700 HRLI T1,(POINT 7,0,35) ;FORM POINTER TO DESTINATION
4387 005037' 202 01 0 15 000004 MOVEM T1,AFDSTR ;SAVE POINTER TO STRING
4388 005040' 200 03 0 00 000001 MOVE T3,T1 ;GET POINTER TO DESTINATION FOR TEXT
4389 005041' 200 02 0 15 000002 MOVE T2,AFDCNT ;GET COUNT OF BYTES LEFT IN MESSAGE
4390 005042' 200 01 0 15 000001 MOVE T1,AFDPTR ;GET POINTER TO MESSAGE
4391 005043' 260 17 0 00 004474' CALL GETIMA ;EXTRACT IMAGE ASCII DATA
4392 005044' 263 17 0 00 000000 RETBAD () ;FAILED
4393 005045' 201 03 0 00 000016 MOVX T3,.EDTXT ;GET ASCII DATA TYPE CODE
4394 005046' 200 04 0 15 000004 MOVE T4,AFDSTR ;GET POINTER TO ASCII STRING
4395 005047' 254 00 0 00 005025* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 105
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4396
4397 ;REGFLD - ROUTINE TO EXTRACT REGISTER DATA FROM NICE EVENT LOGGING MESSAGE
4398
4399
4400 005050' 265 16 0 00 005026* REGFLD: ASUBR <RGFPTR,RGFCNT,RGFNUM,RGFBLK>
4401
4402 ; COMPUTE NUMBER OF BYTES IN REGISTER DATA
4403
4404 005051' 375 00 0 15 000002 SOSGE RGFCNT ;AT LEAST COUNT BYTE PRESENT ?
4405 005052' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
4406 005053' 134 01 0 15 000001 ILDB T1,RGFPTR ;GET NUMBER OF BYTES IN REGISTER DATA
4407 005054' 202 01 0 15 000003 MOVEM T1,RGFNUM ;SAVE NUMBER OF BYTES TO MOVE
4408
4409 ; CHECK THAT ENOUGH BYTES ARE ACTUALLY PRESENT IN MESSAGE
4410
4411 005055' 200 02 0 15 000002 MOVE T2,RGFCNT ;GET NUMBER OF BYTES LEFT IN MESSAGE
4412 005056' 274 02 0 00 000001 SUB T2,T1 ;COMPUTE # LEFT AFTER REMOVING REGISTER DATA
4413 005057' 321 02 0 00 013707' JUMPL T2,[RETBAD (.NRIMF)] ;NOT ENOUGH BYTES LEFT
4414 005060' 202 02 0 15 000002 MOVEM T2,RGFCNT ;STORE UPDATED COUNT OF BYTES LEFT IN MESSAGE
4415
4416 ; ASSIGN SPACE TO HOLD THE REGISTER DATA
4417
4418 005061' 231 01 0 00 000004 IDIVI T1,4 ;COMPUTE # OF WORDS NEEDED FOR THAT MANY BYTES
4419 005062' 332 00 0 00 000002 SKIPE T2 ; AND ROUND UP
4420 005063' 271 01 0 00 000001 ADDI T1,1 ; IF NEEDED
4421 005064' 271 01 0 00 000002 ADDI T1,2 ;ACCOUNT FOR BLOCK HEADER AND WORD HOLDING COUNT
4422 005065' 260 17 0 00 005034* CALL GETFRE ;ASSIGN SPACE FOR REGISTER DATA
4423 005066' 263 17 0 00 000000 RETBAD () ;FAILED
4424 005067' 202 01 0 15 000004 MOVEM T1,RGFBLK ;SAVE BLOCK ADDRESS
4425
4426 ; SET UP TO EXTRACT THE REGISTER DATA
4427
4428 005070' 200 04 0 15 000003 MOVE T4,RGFNUM ;GET COUNT OF BYTES IN REGISTER DATA
4429 005071' 202 04 0 01 000001 MOVEM T4,1(T1) ;STORE IN ASSIGNED BLOCK
4430 005072' 201 03 0 01 000002 MOVEI T3,2(T1) ;GET DESTINATION ADDRESS
4431 005073' 505 03 0 00 441000 HRLI T3,(POINT 8,) ;FORM DESTINATION POINTER
4432
4433 ; PLACE ALL THE REGISTER DATA IN THE ASSIGNED BLOCK
4434
4435 005074' 375 00 0 00 000004 RGF010: SOSGE T4 ;ANY BYTES LEFT TO MOVE ?
4436 005075' 254 00 0 00 005101' JRST RGF020 ;NO, RETURN BLOCK TO CALLER
4437 005076' 134 02 0 15 000001 ILDB T2,RGFPTR ;GET A BYTE OF REGISTER DATA
4438 005077' 136 02 0 00 000003 IDPB T2,T3 ;STORE THE BYTE
4439 005100' 254 00 0 00 005074' JRST RGF010 ;LOOP OVER ALL BYTES
4440
4441 005101' 200 01 0 15 000001 RGF020: MOVE T1,RGFPTR ;RESTORE UPDATED POINTER
4442 005102' 200 02 0 15 000002 MOVE T2,RGFCNT ; AND UPDATED COUNT OF BYTES LEFT IN MESSAGE
4443 005103' 201 03 0 00 000001 MOVX T3,.EDREG ;GET "REGISTER DATA" TYPE CODE
4444 005104' 200 04 0 15 000004 MOVE T4,RGFBLK ;GET ADDRESS OF BLOCK HOLDING REGISTER DATA
4445 005105' 254 00 0 00 005047* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 106
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4446
4447 ;OPSFLD - ROUTINE TO EXTRACT OPERATING SYSTEM ID FROM NICE MESSAGES
4448
4449 005106' 265 16 0 00 004770* OPSFLD: STKVAR <OPFTYP>
4450 005107' 000001 000001
4451 005110' 375 00 0 00 000002 SOSGE T2 ;AT TYPE CODE BYTE PRESENT ?
4452 005111' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
4453 005112' 134 04 0 00 000001 ILDB T4,T1 ;GET OPERATING SYSTEM TYPE CODE
4454 005113' 202 04 0 17 777776 MOVEM T4,OPFTYP ;SAVE OPERATING SYSTEM TYPE
4455 005114' 505 03 0 00 440000 HRLI T3,440000 ;USE ptr WITH ZERO SIZE FIELD TO DISCARD text
4456 005115' 260 17 0 00 004474' CALL GETIMA ;IGNORE ASCII SYSTEM ID
4457 005116' 263 17 0 00 000000 RETBAD () ;FAILED
4458 005117' 201 03 0 00 000010 MOVX T3,.EDOPS ;OPERATING SYSTEM CODE BEING RETURNED
4459 005120' 200 04 0 17 777776 MOVE T4,OPFTYP ;GET OPERATING SYSTEM TYPE CODE
4460 005121' 254 00 0 00 005105* RETSKP
4461
4462 ;TIMFLD - ROUTINE TO EXTRACT THE TIME FROM A NICE EVENT LOGGING MESSAGE
4463
4464 005122' 260 17 0 00 005167' TIMFLD: CALL GETEXB ;GET EXTENSIBLE BINARY FIELD
4465 005123' 263 17 0 00 000000 RETBAD () ;FAILED
4466 005124' 201 03 0 00 000002 MOVX T3,.EDTIM ;GET TIME FIELD DATA TYPE CODE
4467 005125' 254 00 0 00 005121* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 107
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4468
4469 ;RCVFLD - ROUTINE TO EXTRACT THE RECOVERY OPTION FROM NICE EVENT MESSAGES
4470 ;
4471 ; NOTE: THIS FIELD IS NEVER SENT, AND IS THEREFORE IGNORED
4472
4473 005126' 505 03 0 00 440000 RCVFLD: HRLI T3,440000 ;USE PTR WITH ZERO SIZE FIELD TO DISCARD TEXT
4474 005127' 260 17 0 00 004474' CALL GETIMA ;EXTRACT AND DISCARD RECOVERY ACTION
4475 005130' 263 17 0 00 000000 RETBAD () ;FAILED
4476 005131' 201 03 0 00 000007 MOVX T3,.EDRCV ;GET RECOVERY ACTION DATA TYPE CODE
4477 005132' 402 00 0 00 000004 SETZM T4 ;NO DATA UNTIL FIELD CONTENTS SPECIFIED
4478 005133' 254 00 0 00 005125* RETSKP ;DONE, RETURN
4479
4480
4481 ;THRFLD - THRESHOLD VALUE
4482
4483 005134' 260 17 0 00 004625' THRFLD: CALL GETTWO ;GET TWO BYTE BINARY NUMBER
4484 005135' 263 17 0 00 000000 RETBAD () ;FAILED
4485 005136' 200 04 0 00 000003 MOVE T4,T3 ;GET VALUE
4486 005137' 201 03 0 00 000015 MOVX T3,.EDTHR ;GET THRESHOLD TYPE CODE
4487 005140' 254 00 0 00 005133* RETSKP
4488
4489 005141' TPRFLD:
4490 005141' 254 00 0 00 013542' LPRFLD: RETBAD (.NRIMF) ;NOT CODED YET
4491
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 108
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4492 ;GET4 - ROUTINE TO GET A FOUR-BYTE FIELD FROM A MESSAGE
4493 ;
4494 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
4495 ; CALL GET4
4496 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4497 ; T2/ FOUR-BYTE NUMBER FROM MESSAGE
4498
4499 005142' 265 16 0 00 005050* GET4: ASUBR <GT4PTR,GT4NUM>
4500
4501 005143' 200 01 0 15 000001 MOVE T1,GT4PTR ;GET POINTER TO NEXT FIELD IN MESSAGE
4502 005144' 201 02 0 00 000004 MOVEI T2,4 ;WE HAVE ENOUGH
4503 005145' 260 17 0 00 004625' CALL GETTWO ;GO GET NEXT 2-BYTE NUMBER FROM MESSAGE
4504 005146' 255 00 0 00 000000 JFCL
4505 005147' 202 03 0 15 000002 MOVEM T3,GT4NUM ;SAVE FIRST TWO BYTES OF FOUR BYTE NUMBER
4506 005150' 260 17 0 00 004625' CALL GETTWO ;GET TWO HIGH ORDER BYTES OF THE NUMBER
4507 005151' 255 00 0 00 000000 JFCL
4508 005152' 137 03 0 00 014131' DPB T3,[POINT 16,GT4NUM,19] ;ADD HIGH ORDER BYTES TO NUMBER
4509 005153' 200 02 0 15 000002 MOVE T2,GT4NUM ;GET ENTIRE ASSEMBLED NUMBER
4510 005154' 263 17 0 00 000000 RET ;RETURN
4511
4512
4513
4514
4515 ;GETNUM - ROUTINE TO EXTRACT A NODE NUMBER FROM A MESSAGE
4516 ;
4517 ;ACCEPTS IN T1/ POINTER TO NUMBER IN MESSAGE
4518 ; T2/ COUNT OF BYTES LEFT IN MESSAGE
4519 ; CALL GETNUM
4520 ;RETURNS: +1 FAILED
4521 ; +2 SUCCESS, WITH T1/ UPDATED POINTER
4522 ; T2/ UPDATED COUNT
4523 ; T3-T4/ BINARY NUMBER FROM MESSAGE
4524
4525 005155' 254 00 0 00 005167' GETNUM::CALLRET GETEXB ;GET EXTENSIBLE BINARY FIELD FROM MESSAGE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 109
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4526 ;GETEXA - ROUTINE TO GET AN EXTENSIBLE ASCII STRING FROM A NICE MESSAGE
4527 ;
4528 ;ACCEPTS IN T1/ POINTER TO FIRST BYTE OF STRING IN NICE MESSAGE
4529 ; T2/ DESTINATION ADDRESS FOR ASCIZ STRING
4530 ; T3/ NUMBER OF BYTES REMAINING IN MESSAGE
4531 ; CALL GETEXA
4532 ;RETURNS: +1 FAILURE, BADLY FORMED MESSAGE
4533 ; SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4534 ; T2/ UPDATED POINTER TO DESTINATION STRING
4535 ; T3/ UPDATED BYTE COUNT
4536
4537 005156' 505 02 0 00 440700 GETEXA: HRLI T2,(POINT 7,) ;FORM POINTER TO DESTINATION STRING
4538
4539 005157' 361 03 0 00 004616* EXTAS2: SOJL T3,R ;RETURN IF INSUFFICIENT BYTES LEFT IN MESSAGE
4540 005160' 134 04 0 00 000001 ILDB T4,T1 ;GET A BYTE FROM THE NICE MESSAGE
4541 005161' 136 04 0 00 000002 IDPB T4,T2 ;STORE ASCII CHARACTER INTO DESTINATION
4542 005162' 602 04 0 00 000200 TXNE T4,EXTBIT ;IS NEXT BYTE PART OF THIS FIELD ?
4543 005163' 254 00 0 00 005157' JRST EXTAS2 ;YES, GO GET THE NEXT BYTE
4544 005164' 201 04 0 00 000000 MOVEI T4,.CHNUL ;NO, GET A NULL
4545 005165' 136 04 0 00 000002 IDPB T4,T2 ;TERMINATE THE ASCIZ DESTINATION STRING
4546 005166' 254 00 0 00 005140* RETSKP ;RETURN SUCCESS
4547
4548
4549 ;GETEXB - ROUTINE TO EXTRACT AN EXTENSIBLE BINARY FIELD FROM A MESSAGE
4550 ;
4551 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (EXTENSIBLE FIELD) IN MESSAGE
4552 ; T2/ COUNT OF BYTES REMAINING IN MESSAGE
4553 ; CALL GETEXB
4554 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4555 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4556 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
4557 ; T3-T4/ BINARY NUMBER FROM MESSAGE
4558
4559 005167' 265 16 0 00 005142* GETEXB::ASUBR <GEBPTR,GEBCNT>
4560
4561 005170' 403 03 0 00 000004 SETZB T3,T4 ;INITIALIZE THE BINARY NUMBER AC'S
4562 005171' 201 01 0 00 000011 MOVEI T1,MAXEXT ;MAX # OF BYTES ACCEPTED IN EXTENSIBLE FIELDS
4563
4564 ; LOOP OVER EACH BYTE IN THE EXTENSIBLE FIELD
4565
4566 005172' 361 01 0 00 013707' GEB010: SOJL T1,[RETBAD (.NRIMF)] ;FAIL IF THERE ARE MORE THAN MAX BYTES ALLOWED
4567 005173' 375 00 0 15 000002 SOSGE GEBCNT ;ANOTHER BYTE LEFT IN THE MESSAGE ?
4568 005174' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
4569 005175' 246 03 0 00 000007 LSHC T3,7 ;YES, POSITION PREVIOUS BYTES
4570 005176' 134 02 0 15 000001 ILDB T2,GEBPTR ;GET NEXT BYTE FROM THE NICE MESSAGE
4571 005177' 137 02 0 00 014132' DPB T2,[POINT 7,T4,35] ;ADD THE BYTE TO THE BINARY NUMBER BEING FORMED
4572 005200' 602 02 0 00 000200 TXNE T2,EXTBIT ;IS THE NEXT BYTE PART OF THIS FIELD ?
4573 005201' 254 00 0 00 005172' JRST GEB010 ;YES, GO GET THE NEXT BYTE IN THE FIELD
4574
4575 ; HERE WHEN DONE EXTRACTING BYTES - RETURN UPDATED POINTER AND COUNT
4576
4577 005202' 200 02 0 15 000002 MOVE T2,GEBCNT ;GET UPDATED COUNT
4578 005203' 200 01 0 15 000001 MOVE T1,GEBPTR ;GET UPDATED POINTER TO NEXT FIELD
4579 005204' 254 00 0 00 005166* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 110
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4580 ;GETLOC - ROUTINE TO GET A NUMBER OF LOCATIONS FROM A MOP OR NICE MESSAGE
4581 ;
4582 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD (# OF LOCATIONS) IN MESSAGE
4583 ; T2/ COUNT OF BYTES REMAINING IN MESSAGE
4584 ; CALL GETLOC
4585 ;RETURNS: +1 FAILED, MESSAGE TOO SHORT
4586 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4587 ; T2/ UPDATED COUNT OF BYTES LEFT IN MESSAGE
4588 ; T3/ NUMBER OF LOCATIONS
4589
4590 004625' GETLOC==GETTWO
4591
4592 ;GETNOD - ROUTINE TO GET AN ASCIZ NODE NAME FROM A NICE PROTOCOL MESSAGE
4593 ;
4594 ;ACCEPTS IN T1/ POINTER TO FIRST BYTE OF NODE NAME IN NICE MESSAGE
4595 ; T2/ NUMBER OF BYTES REMAINING IN MESSAGE
4596 ; CALL GETNOD
4597 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4598 ; SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4599 ; T2/ UPDATED BYTE COUNT
4600 ; T3/ POINTER TO ASCIZ NODE NAME STRING
4601
4602 005205' 265 16 0 00 005167* GETNOD::ASUBR <NDMPTR,NDMCNT,NDMDST>
4603 005206' 375 00 0 00 000002 SOSGE T2 ;AT LEAST ONE BYTE LEFT IN MESSAGE ?
4604 005207' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN "INVALID MESSAGE FORMAT" ERROR
4605 005210' 200 04 0 15 000001 MOVE T4,NDMPTR ;GET POINTER TO COUNT IN ASCII IMAGE FIELD
4606 005211' 134 03 0 00 000004 ILDB T3,T4 ;GET NUMBER OF CHARACTERS IN NODE NAME
4607 005212' 303 03 0 00 000006 CAILE T3,NNAMSZ ;NAME LONGER THAN MAX ALLOWED IN NICE PROTOCOL ?
4608 005213' 254 00 0 00 014133' RETBAD (.NRINI) ;YES, RETURN "INVALID NODE ID" ERROR
4609 005214' 200 02 0 15 000002 MOVE T2,NDMCNT ;RESTORE ORIGINAL COUNT
4610 005215' 402 00 0 00 000003 SETZM T3 ;USE GENERAL STRING AREA
4611 005216' 260 17 0 00 004474' CALL GETIMA ;GO GET ASCIZ STRING FROM IMAGE FIELD
4612 005217' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
4613 005220' 254 00 0 00 005204* RETSKP ;RETURN SUCCESS, POINTER TO NODE NAME IS IN T3
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 111
NCU MAC 6-Oct-81 12:41 Routines to Extract Fields from NICE Messages
4614 ;GETSEQ - ROUTINE TO EXTRACT THE SEQUENCE NUMBER FROM A NICE PROTOCOL
4615 ; EVENT LOGGING REQUEST MESSAGE
4616 ;
4617 ;ACCEPTS IN T1/ POINTER TO SEQUENCE NUMBER IN NICE MESSAGE
4618 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
4619 ; CALL GETSEQ
4620 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4621 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4622 ; T2/ UPDATED COUNT OF BYTES IN MESSAGE
4623 ; T3/ SEQUENCE NUMBER
4624
4625 005221' 375 00 0 00 000002 GETSEQ: SOSGE T2 ;AT LEAST ONE BYTE LEFT IN MESSAGE ?
4626 005222' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
4627 005223' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET SEQUENCE NUMBER
4628 005224' 254 00 0 00 005220* RETSKP ;DONE, RETURN
4629
4630
4631
4632 ;GETEVT - ROUTINE TO EXTRACT AN EVENT CODE FROM A NICE MESSAGE
4633 ;
4634 ;ACCEPTS IN T1/ POINTER TO EVENT CODE IN NICE MESSAGE
4635 ; T2/ NUMBER OF BYTES REMAINING IN NICE MESSAGE
4636 ; CALL GETEVT
4637 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4638 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4639 ; T2/ UPDATED COUNT OF BYTES IN MESSAGE
4640 ; T3/ EVENT CODE
4641
4642 005225' 254 00 0 00 004625' GETEVT: CALLRET GETTWO ;EXTRACE A TWO-BYTE FIELD FROM MESSAGE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 112
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4643 SUBTTL Routines to Assemble NICE Messages
4644
4645 ;MAKLOD - ROUTINE TO ASSEMBLE A NICE LINE SERVICE MESSAGE TO INITIATE A
4646 ; DOWN LINE LOAD DIALOG.
4647 ;
4648 ;CALL: CALL MAKLOD
4649 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4650 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MESSAGE
4651 ; T2/ COUNT OF NUMBER OF BYTES IN THE MESSAGE
4652
4653 005226' 260 17 0 00 010457' MAKLOD: CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
4654 005227' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF NICE MESSAGE
4655 005230' 201 04 0 00 000016 MOVX T4,.NCLSV ;GET NICE "LINE SERVICE" FUNCTION CODE
4656 005231' 136 04 0 00 000001 IDPB T4,T1 ;ADD FUNCTION CODE TO MESSAGE
4657 005232' 201 04 0 00 000000 MOVX T4,.LSLOD ;OPTION DESIRED IS "ESTABLISH LOAD DIALOG"
4658 005233' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION FIELD TO MESSAGE
4659 005234' 201 02 0 00 000002 MOVEI T2,2 ;MESSAGE CONTAINS TWO BYTES SO FAR
4660 005235' 120 03 0 14 000006 DMOVE T3,RQLLIN ;GET SERVER LINE ID
4661 005236' 260 17 0 00 005303' CALL MAKLIN ;ADD LINE ID TO MESSAGE
4662 005237' 200 04 0 14 000014 MOVE T4,RQLPGM ;GET TYPE OF PROGRAM TO BE LOADED
4663 005240' 136 04 0 00 000001 IDPB T4,T1 ;SAVE PROGRAM TYPE (.PTXXX) IN MESSAGE
4664 005241' 271 02 0 00 000001 ADDI T2,1 ;BUMP COUNT FOR PROGRAM TYPE
4665 005242' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO START OF THE
4666 005243' 541 01 0 14 000033 HRRI T1,MSGBLK ; ASSEMBLED MESSAGE
4667 005244' 254 00 0 00 005224* RETSKP ;DONE, RETURN SUCCESS
4668
4669
4670
4671 ;MAKDMP - ROUTINE TO ASSEMBLE A NICE LINE SERVICE MESSAGE TO INITIATE AN
4672 ; UP LINE DUMP DIALOG.
4673 ;
4674 ;CALL: CALL MAKDMP
4675 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4676 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MESSAGE
4677 ; T2/ COUNT OF NUMBER OF BYTES IN THE MESSAGE
4678
4679 005245' 260 17 0 00 010457' MAKDMP: CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
4680 005246' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF NICE MESSAGE
4681 005247' 201 04 0 00 000016 MOVX T4,.NCLSV ;GET NICE "LINE SERVICE" FUNCTION CODE
4682 005250' 136 04 0 00 000001 IDPB T4,T1 ;ADD FUNCTION CODE TO MESSAGE
4683 005251' 201 04 0 00 000002 MOVX T4,.LsdmP ;OPTION DESIRED IS "ESTABLISH LOAD DIALOG"
4684 005252' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION FIELD TO MESSAGE
4685 005253' 201 02 0 00 000002 MOVEI T2,2 ;MESSAGE CONTAINS TWO BYTES SO FAR
4686 005254' 120 03 0 14 000024 DMOVE T3,RQDLIN ;GET SERVER LINE ID
4687 005255' 260 17 0 00 005303' CALL MAKLIN ;ADD LINE ID TO MESSAGE
4688 005256' 200 02 0 14 000030 MOVE T2,RQDADR ;GET STARTING ADDRESS FOR DUMP
4689 005257' 260 17 0 00 006337' CALL MAK4 ;GO ADD FOUR-BYTE FIELD TO MESSAGE
4690 005260' 200 02 0 15 000002 MOVE T2,RQDCNT ;GET COUNT OF LOCATIONS TO DUMP
4691 005261' 260 17 0 00 006337' CALL MAK4 ;GO ADD COUNT TO DUMP MESSAGE
4692 005262' 201 02 0 00 000017 MOVEI T2,^D15 ;GET NUMBER OF BYTES IN DUMP MESSAGE
4693 005263' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO START OF
4694 005264' 541 01 0 14 000033 HRRI T1,MSGBLK ; NICE LINE SERVICE MESSAGE
4695 005265' 254 00 0 00 005244* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 113
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4696 ;MAKRLC - ROUTINE TO ASSEMBLE A NICE READ LINE COUNTERS MESSAGE
4697 ;
4698 ;ACCEPTS IN T1-T2/ NICE LINE ID FOR WHICH COUNTERS ARE DESIRED
4699 ; CALL MAKRLC
4700 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4701 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MESSAGE
4702 ; T2/ NUMBER OF BYTES IN THE MESSAGE
4703
4704 005266' 265 16 0 00 005205* MAKRLC: ASUBR <<MRLLIN,2>>
4705
4706 005267' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
4707 005270' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
4708 005271' 201 04 0 00 000010 MOVX T4,.NCRED ;GET NICE "READ INFORMATION" FUNCTION CODE
4709 005272' 136 04 0 00 000001 IDPB T4,T1 ;ADD FUNCTION CODE TO MESSAGE
4710 005273' 201 04 0 00 000004 MOVX T4,.RDLCT ;GET "LINE COUNTERS" OPTION FOR READ FUNCTION
4711 005274' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION TO MESSAGE
4712 005275' 201 02 0 00 000002 MOVEI T2,2 ;GET NUMBER OF BYTES IN MESSAGE SO FAR
4713 005276' 120 03 0 15 000001 DMOVE T3,MRLLIN ;GET LINE FOR WHICH COUNTERS ARE DESIRED
4714 005277' 260 17 0 00 005303' CALL MAKLIN ;GO ADD LINE ID TO MESSAGE
4715 005300' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO NICE "READ INFORMATION"
4716 005301' 541 01 0 14 000033 HRRI T1,MSGBLK ; MESSAGE TO GET LINE COUNTERS
4717 005302' 254 00 0 00 005265* RETSKP ;DONE, RETURN SUCCESS
4718
4719
4720
4721 ;MAKLIN - ROUTINE TO ASSEMBLE A STANDARD LINE ID INTO A MESSAGE
4722 ;
4723 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
4724 ; T2/ NUMBER OF BYTES ALREADY IN THE MESSAGE
4725 ; T3-T4/ STANDARD LINE ID:
4726 ; T3/ LINE DEVICE TYPE (.DTXXX),,LINE CONTROLLER #
4727 ; T4/ LINE UNIT NUMBER,,LINE STATION ADDRESS
4728 ; CALL MAKLIN
4729 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
4730 ; T2/ UPDATED COUNT OF BYTES IN THE MESSAGE
4731
4732 005303' 265 16 0 00 005266* MAKLIN::ASUBR <MLNPTR>
4733
4734 005304' 201 01 0 00 000001 MOVX T1,.LTSTD ;GET STANDARD LINE TYPE CODE
4735 005305' 136 01 0 15 000001 IDPB T1,MLNPTR ;ADD LINE ID TYPE CODE TO MESSAGE
4736 005306' 554 01 0 00 000003 HLRZ T1,T3 ;GET LINE DEVICE TYPE
4737 005307' 136 01 0 15 000001 IDPB T1,MLNPTR ;ADD TO MESSAGE
4738 005310' 550 01 0 00 000003 HRRZ T1,T3 ;GET CONTROLLER NUMBER
4739 005311' 136 01 0 15 000001 IDPB T1,MLNPTR ;ADD TO MESSAGE
4740 005312' 554 01 0 00 000004 HLRZ T1,T4 ;GET UNIT NUMBER
4741 005313' 136 01 0 15 000001 IDPB T1,MLNPTR ;ADD TO MESSAGE
4742 005314' 550 01 0 00 000004 HRRZ T1,T4 ;GET STATION ADDRESS
4743 005315' 136 01 0 15 000001 IDPB T1,MLNPTR ;ADD TO MESSAGE
4744 005316' 271 02 0 00 000005 ADDI T2,5 ;INCREMENT BYTE COUNT
4745 005317' 200 01 0 15 000001 MOVE T1,MLNPTR ;RESTORE UPDATED POINTER
4746 005320' 263 17 0 00 000000 RET ;RETURN, FIELD ADDED TO MESSAGE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 114
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4747 ;MAKMPL - ROUTINE TO MAKE A MOP LOAD-WITHOUT-TRANSFER-ADDRESS MESSAGE (.MPLOD)
4748 ;
4749 ;ACCEPTS IN T1/ POINTER TO MEMORY IMAGE DATA IN NICE LINE SERVICE DIALOG MSG
4750 ; T2/ NUMBER OF BYTES IN REMAINDER OF NICE MESSAGE
4751 ; T3/ ADDRESS OF LINE TABLE
4752 ; CALL MAKMPL
4753 ;RETURNS: +1 FAILED, UNEXPECTED NICE PROCESS PROGRAM ERROR
4754 ; +2 SUCCESS, WITH T1/ POINTER TO COMPLETED MOP MESSAGE
4755 ; T2/ NUMBER OF BYTES IN THE MOP MESSAGE
4756
4757 005321' 265 16 0 00 005303* MAKMPL: ASUBR <MMLPTR,MMLCNT,MMLLIN>
4758
4759 ; PUT THE FUNCTION CODE, LOAD NUMBER, AND LOAD ADDRESS INTO THE MESSAGE
4760
4761 005322' 260 17 0 00 010445' CALL CLRMOP ;GO CLEAR THE MOP MESSAGE AREA
4762 005323' 200 04 0 15 000003 MOVE T4,MMLLIN ;GET ADDRESS OF LINE TABLE
4763 005324' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO WHERE MOP MESSAGE GOES
4764 005325' 201 02 0 00 000002 MOVX T2,.MPLOD ;GET MOP FUNCTION CODE
4765 005326' 136 02 0 00 000001 IDPB T2,T1 ;STORE FUNCTION CODE IN MOP MESSAGE
4766 005327' 200 04 0 15 000003 MOVE T4,MMLLIN ;GET ADDRESS OF LINE TABLE
4767 005330' 135 02 0 00 014135' LOAD T2,LNLDN,(T4) ;GET NEXT LOAD NUMBER TO USE
4768 005331' 136 02 0 00 000001 IDPB T2,T1 ;STORE LOAD NUMBER IN MOP MESSAGE
4769 005332' 200 02 0 04 000005 LOAD T2,LNADR,(T4) ;GET LOAD ADDRESS
4770 005333' 260 17 0 00 006337' CALL MAK4 ;GO ADD A FOUR-BYTE NUMBER TO THE MOP MESSAGE
4771
4772 ; ADD THE MEMORY IMAGE DATA TO THE MOP MESSAGE
4773
4774 005334' 200 02 0 15 000001 MOVE T2,MMLPTR ;GET POINTER TO LOAD RECORD
4775 005335' 210 03 0 15 000002 MOVN T3,MMLCNT ;GET -NUMBER OF BYTES IN LOAD RECORD
4776 005336' 104 00 0 00 000053 SOUT ;ADD THE LOAD RECORD TO THE MOP MESSAGE
4777 005337' 320 16 0 00 005157* ERJMP R ;SHOULD NOT FAIL
4778 005340' 200 04 0 15 000003 MOVE T4,MMLLIN ;GET ADDRESS OF LINE TABLE
4779 005341' 200 03 0 04 000005 LOAD T3,LNADR,(T4) ;GET PREVIOUS ADDRESS
4780 005342' 200 02 0 15 000002 MOVE T2,MMLCNT ;GET PREVIOUS MESSAGE SIZE
4781 005343' 270 03 0 00 000002 ADD T3,T2 ;COMPUTE NEXT LOAD ADDRESS
4782 005344' 202 03 0 04 000005 STOR T3,LNADR,(T4) ;STORE NEW ADDRESS
4783 005345' 271 02 0 00 000006 ADDI T2,6 ;ACCOUNT FOR MOP FUNCTION, LOAD #, ADDRESS
4784 005346' 542 02 0 04 000002 STOR T2,LNCNT,(T4) ;STORE COUNT IN LINE TABLE
4785 005347' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO START OF MESSAGE
4786 005350' 254 00 0 00 005302* RETSKP ;RETURN (POINTER IS STILL IN T1)
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 115
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4787 ;MAKBAS - ROUTINE TO ASSEMBLE A NICE LINE SERVICE "SET BASE ADR" MESSAGE
4788 ;
4789 ;ACCEPTS IN T1/ MEMORY ADDRESS TO BE SET
4790 ; CALL MAKBAS
4791 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO START OF MESSAGE
4792 ; T2/ NUMBER OF BYTES IN THE MESSAGE
4793
4794 005351' 265 16 0 00 005321* MAKBAS: ASUBR <MBSADR>
4795
4796 005352' 260 17 0 00 010457' CALL CLRMSG ;GO ZERO THE MESSAGE AREA
4797 005353' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
4798 005354' 201 04 0 00 000001 MOVX T4,.LMBAS ;GET LOAD DIALOG MESSAGE "SET BASE ADR" OPTION
4799 005355' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION BYTE TO MESSAGE
4800 005356' 200 02 0 15 000001 MOVE T2,MBSADR ;GET ADDRESS TO BE SET
4801 005357' 260 17 0 00 006337' CALL MAK4 ;GO ADD THE ADDRESS TO THE MESSAGE
4802 005360' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO THE START OF THE
4803 005361' 541 01 0 14 000033 HRRI T1,MSGBLK ; NICE LINE SERVICE "SET BASE ADR" MESSAGE
4804 005362' 201 02 0 00 000005 MOVX T2,5 ;GET SIZE OF MESSAGE
4805 005363' 263 17 0 00 000000 RET ;DONE, RETURN
4806
4807
4808 ;MAKMLP - ROUTINE TO ASSEMBLE A MOP "LOAD PARAMETERS AND TRANSFER" MESSAGE
4809 ;
4810 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
4811 ; T2/ ADDRESS AT WHICH TO START LOADED PROGRAM
4812 ; CALL MAKMLP
4813 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4814 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MOP MESSAGE
4815 ; T2/ NUMBER OF BYTES IN THE MOP MESSAGE
4816
4817 005364' 265 16 0 00 005351* MAKMLP: ASUBR <MLPLIN,MLPADR,MLPCNT>
4818 005365' 260 17 0 00 010445' CALL CLRMOP ;GO CLEAR THE MOP MESSAGE AREA
4819 005366' 200 04 0 15 000001 MOVE T4,MLPLIN ;GET ADDRESS OF LINE TABLE
4820 005367' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO START OF MESSAGE
4821 005370' 201 04 0 00 000024 MOVX T4,.MPXFR ;GET MOP "PARAMETERS AND TRANSFER" CODE
4822 005371' 136 04 0 00 000001 IDPB T4,T1 ;PUT MOP FUNCTION CODE INTO THE MESSAGE
4823 005372' 200 04 0 15 000001 MOVE T4,MLPLIN ;GET ADDRESS OF LINE TABLE
4824 005373' 135 04 0 00 014135' LOAD T4,LNLDN,(T4) ;GET NEXT LOAD NUMBER
4825 005374' 136 04 0 00 000001 IDPB T4,T1 ;ADD LOAD NUMBER TO MESSAGE
4826 005375' 201 04 0 00 000002 MOVEI T4,2 ;GET NUMBER OF BYTES IN MESSAGE SO FAR
4827 005376' 202 04 0 15 000003 MOVEM T4,MLPCNT ;SAVE MESSAGE SIZE
4828
4829 ; ADD NODE-NAME PARAMETER IF SPECIFIED
4830
4831 005377' 200 03 0 14 000017 MOVE T3,RQLNAM ;GET POINTER TO NAME PARAMETER
4832 005400' 316 03 0 00 014136' CAMN T3,[-1] ;WAS THIS PARAMETER SPECIFIED ?
4833 005401' 254 00 0 00 005411' JRST MLP010 ;NO, GO CHECK NEXT PARAMETER
4834 005402' 201 04 0 00 000001 MOVX T4,.PVNAM ;YES, GET "NODE NAME" PARAMETER TYPE CODE
4835 005403' 136 04 0 00 000001 IDPB T4,T1 ;ADD TYPE CODE TO MESSAGE
4836 005404' 350 00 0 15 000003 AOS MLPCNT ;INCREMENT BYTE COUNT
4837 005405' 201 02 0 00 000006 MOVX T2,NNAMSZ ;GET MAX SIZE OF A NODE NAME
4838 005406' 260 17 0 00 006046' CALL MAKIMA ;GO ADD IMAGE ASCII FIELD TO MOP MESSAGE
4839 005407' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
4840 005410' 272 02 0 15 000003 ADDM T2,MLPCNT ;ADD NUMBER OF BYTES IN NAME TO MESSAGE SIZE
4841 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 116
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4842 ; ..
4843
4844 ; HERE TO ADD THE NODE NUMBER IF SPECIFIED
4845
4846 005411' 200 02 0 14 000020 MLP010: MOVE T2,RQLNUM ;GET NODE NUMBER
4847 005412' 316 02 0 00 014136' CAMN T2,[-1] ;WAS THE NODE NUMBER SPECIFIED ?
4848 005413' 254 00 0 00 005423' JRST MLP020 ;NO, GO CHECK THE NEXT PARAMETER
4849 005414' 201 03 0 00 000002 MOVX T3,.PVNUM ;YES, GET "NODE NUMBER" PARAMETER TYPE CODE
4850 005415' 136 03 0 00 000001 IDPB T3,T1 ;ADD PARAMETER TYPE TO MOP MESSAGE
4851 005416' 201 03 0 00 000002 MOVX T3,2 ;GET SIZE OF NODE NUMBER PARAMETER FIELD
4852 005417' 136 03 0 00 000001 IDPB T3,T1 ;ADD COUNT TO MOP MESSAGE
4853 005420' 201 03 0 00 000004 MOVEI T3,4 ;GET # OF BYTES IN NODE-NUMBER PARAMETER FIELD
4854 005421' 272 03 0 15 000003 ADDM T3,MLPCNT ;INCREMENT TOTAL SIZE OF MOP MESSAGE
4855 005422' 260 17 0 00 006333' CALL MAKTWO ;GO ADD 2-BYTE NODE NUMBER TO MOP MESSAGE
4856
4857 ; HERE TO ADD HOST-NODE PARAMETER IF SPECIFIED
4858
4859 005423' 200 03 0 14 000021 MLP020: MOVE T3,RQLHST ;GET POINTER TO HOST PARAMETER
4860 005424' 316 03 0 00 014136' CAMN T3,[-1] ;WAS THIS PARAMETER SPECIFIED ?
4861 005425' 254 00 0 00 005435' JRST MLP030 ;NO, GO ON
4862 005426' 201 04 0 00 000003 MOVX T4,.PVHST ;YES, GET "HOST" PARAMETER TYPE CODE
4863 005427' 136 04 0 00 000001 IDPB T4,T1 ;ADD TYPE CODE TO MESSAGE
4864 005430' 350 00 0 15 000003 AOS MLPCNT ;INCREMENT BYTE COUNT
4865 005431' 201 02 0 00 000006 MOVX T2,NNAMSZ ;GET MAX SIZE OF A NODE NAME
4866 005432' 260 17 0 00 006046' CALL MAKIMA ;GO ADD IMAGE ASCII FIELD TO MOP MESSAGE
4867 005433' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
4868 005434' 272 02 0 15 000003 ADDM T2,MLPCNT ;ADD NUMBER OF BYTES IN NAME TO MESSAGE SIZE
4869
4870 ; HERE TO ADD TRANSFER ADDRESS TO THE MESSAGE
4871
4872 005435' 201 04 0 00 000000 MLP030: MOVX T4,.PVEND ;GET "END-OF-PARAMETERS" CODE
4873 005436' 136 04 0 00 000001 IDPB T4,T1 ;ADD END MARK TO MOP MESSAGE
4874 005437' 350 00 0 15 000003 AOS MLPCNT ;INCREMENT MESSAGE SIZE
4875 005440' 200 02 0 15 000002 MOVE T2,MLPADR ;GET TRANSFER ADDRESS
4876 005441' 260 17 0 00 006337' CALL MAK4 ;ADD A FOUR-BYTE ADDRESS TO THE MOP MESSAGE
4877 005442' 200 02 0 15 000003 MOVE T2,MLPCNT ;GET MESSAGE SIZE
4878 005443' 271 02 0 00 000004 ADDI T2,4 ;INCREMENT FOR TRANSFER ADDRESS
4879 005444' 200 04 0 15 000001 MOVE T4,MLPLIN ;GET ADDRESS OF LINE TABLE
4880 005445' 542 02 0 04 000002 STOR T2,LNCNT,(T4) ;STORE COUNT IN TABLE
4881 005446' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO START OF MESSAGE
4882 005447' 254 00 0 00 005350* RETSKP ;DONE, RETURN SUCCESS TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 117
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4883 ;MAKIMD - ROUTINE TO ASSEMBLE A NICE MEMORY IMAGE MESSAGE FOR USE DURING
4884 ; A DUMP DIALOG.
4885 ;
4886 ;ACCEPTS IN T1/ ADDRESS OF DATA TO RETURN (8 BIT BYTES)
4887 ; T2/ COUNT OF BYTES TO RETURN
4888 ; CALL MAKIMD
4889 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4890 ; +2 SUCCESS, WITH T1/ POINTER TO MESSAGE
4891 ; T2/ NUMBER OF BYTES IN THE MESSAGE
4892
4893 005450' 265 16 0 00 005364* MAKIMD: ASUBR <MIDADR,MIDCNT,MIDNUM>
4894
4895 005451' 202 02 0 15 000003 MOVEM T2,MIDNUM ;SAVE ORIGINAL NUMBER OF BYTES
4896 005452' 260 17 0 00 010457' CALL CLRMSG ;INITIALIZE THE MESSAGE AREA
4897 005453' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO DESTINATION FOR
4898 005454' 541 01 0 14 000033 HRRI T1,MSGBLK ; "MEMORY IMAGE" MESSAGE
4899 005455' 201 04 0 00 000002 MOVX T4,.LMMEM ;GET "MEMORY IMAGE" TYPE CODE
4900 005456' 136 04 0 00 000001 IDPB T4,T1 ;STORE TYPE CODE IN LINE SERVICE MESSAGE
4901 005457' 201 04 0 00 000001 MOVX T4,.CP11 ;GET CPU TYPE OF TARGET SYSTEM
4902 005460' 136 04 0 00 000001 IDPB T4,T1 ;SAVE CPU TYPE IN MESSAGE
4903 005461' 200 03 0 15 000001 MOVE T3,MIDADR ;GET ADDRESS OF DATA TO RETURN
4904 005462' 336 00 0 15 000002 SKIPN MIDCNT ;NON-ZERO COUNT ?
4905 005463' 254 00 0 00 005476' JRST MID040 ;NO, ALL DONE
4906 005464' 201 02 0 00 000000 MOVEI T2,0 ;START WITH FIRST BYTE
4907 005465' 405 02 0 00 000003 ANDI T2,3 ;MODULO 4
4908 005466' 135 04 0 02 010663' MID020: LDB T4,SLDTAB(T2) ;GET A DATA BYTE
4909 005467' 136 04 0 00 000001 IDPB T4,T1 ;ADD BYTE TO THE MESSAGE
4910 005470' 271 02 0 00 000001 ADDI T2,1 ;POINT TO NEXT BYTE POINTER
4911 005471' 405 02 0 00 000003 ANDI T2,3 ;KEEP JUST RIGHTMOST 2 BITS
4912 005472' 606 02 0 00 000003 TRNN T2,3 ;DONE FOUR BYTES YET ?
4913 005473' 271 03 0 00 000001 ADDI T3,1 ;YES, POINT TO NEXT WORD
4914 005474' 373 00 0 15 000002 SOSLE MIDCNT ;DECREMENT NUMBER OF BYTES REMAINING TO BE MOVED
4915 005475' 254 00 0 00 005466' JRST MID020 ;LOOP OVER ALL BYTES TO MOVE
4916 005476' 200 02 0 15 000003 MID040: MOVE T2,MIDNUM ;GET NUMBER OF DATA BYTES AGAIN
4917 005477' 271 02 0 00 000002 ADDI T2,2 ;ACCOUNT FOR TYPE CODE AND CPU TYPE
4918 005500' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO DESTINATION FOR
4919 005501' 541 01 0 14 000033 HRRI T1,MSGBLK ; "MEMORY IMAGE" MESSAGE
4920 005502' 254 00 0 00 005447* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 118
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4921 ;MAKMDT - ROUTINE TO ASSEMBLE A NICE MEMORY IMAGE MESSAGE FOR USE DURING
4922 ; A DUMP DIALOG.
4923 ;
4924 ;ACCEPTS IN T1/ ADDRESS OF DATA TO RETURN (8 BIT BYTES)
4925 ; T2/ COUNT OF BYTES TO RETURN
4926 ; T3/ NUMBER OF BYTES ALREADY EXTRACTED FROM MSG (MAKMDT ONLY)
4927 ; CALL MAKMDT
4928 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4929 ; +2 SUCCESS, WITH T1/ POINTER TO MESSAGE
4930 ; T2/ NUMBER OF BYTES IN THE MESSAGE
4931
4932 005503' 265 16 0 00 005450* MAKMDT: ASUBR <MDTADR,MDTNUM,MDTCNT>
4933
4934 005504' 260 17 0 00 010457' CALL CLRMSG ;INITIALIZE THE MESSAGE AREA
4935 005505' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO DESTINATION FOR
4936 005506' 541 01 0 14 000033 HRRI T1,MSGBLK ; "MEMORY IMAGE" MESSAGE
4937 005507' 201 04 0 00 000002 MOVX T4,.LMMEM ;GET "MEMORY IMAGE" TYPE CODE
4938 005510' 136 04 0 00 000001 IDPB T4,T1 ;STORE TYPE CODE IN LINE SERVICE MESSAGE
4939 005511' 201 04 0 00 000001 MOVX T4,.CP11 ;GET CPU TYPE OF TARGET SYSTEM
4940 005512' 136 04 0 00 000001 IDPB T4,T1 ;SAVE CPU TYPE IN MESSAGE
4941 005513' 200 03 0 15 000001 MOVE T3,MDTADR ;GET ADDRESS OF DATA TO RETURN
4942 005514' 505 03 0 00 441000 HRLI T3,(POINT 8,) ;FORM POINTER TO DATA TO RETURN
4943 005515' 336 00 0 15 000003 SKIPN MDTCNT ;NON-ZERO COUNT ?
4944 005516' 254 00 0 00 005523' JRST MDT040 ;NO, ALL DONE
4945 005517' 134 04 0 00 000003 MDT020: ILDB T4,T3 ;GET A DATA BYTE
4946 005520' 136 04 0 00 000001 IDPB T4,T1 ;ADD BYTE TO THE MESSAGE
4947 005521' 373 00 0 15 000003 SOSLE MDTCNT ;DECREMENT NUMBER OF BYTES REMAINING TO BE MOVED
4948 005522' 254 00 0 00 005517' JRST MDT020 ;LOOP OVER ALL BYTES TO MOVE
4949 005523' 200 02 0 15 000002 MDT040: MOVE T2,MDTNUM ;GET NUMBER OF DATA BYTES AGAIN
4950 005524' 271 02 0 00 000002 ADDI T2,2 ;ACCOUNT FOR TYPE CODE AND CPU TYPE
4951 005525' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO DESTINATION FOR
4952 005526' 541 01 0 14 000033 HRRI T1,MSGBLK ; "MEMORY IMAGE" MESSAGE
4953 005527' 254 00 0 00 005502* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 119
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4954 ;MAKIMG - ROUTINE TO ASSEMBLE A "MEMORY IMAGE" LINE SERVICE MESSAGE
4955 ;
4956 ;ACCEPTS IN T1/ ADDRESS OF RECORD BLOCK
4957 ; T2/ CPU TYPE OF TARGET SYSTEM (.CPXXX)
4958 ; CALL MAKIMG
4959 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
4960 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MESSAGE
4961 ; T2/ NUMBER OF BYTES IN THE MESSAGE
4962
4963 005530' 265 16 0 00 005503* MAKIMG: ASUBR <MIMREC,MIMCPU,MIMCNT>
4964
4965 005531' 260 17 0 00 010457' CALL CLRMSG ;INITIALIZE THE MESSAGE AREA
4966 005532' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO DESTINATION FOR
4967 005533' 541 01 0 14 000033 HRRI T1,MSGBLK ; "MEMORY IMAGE" MESSAGE
4968 005534' 201 04 0 00 000002 MOVX T4,.LMMEM ;GET "MEMORY IMAGE" TYPE CODE
4969 005535' 136 04 0 00 000001 IDPB T4,T1 ;STORE TYPE CODE IN LINE SERVICE MESSAGE
4970 005536' 200 04 0 15 000002 MOVE T4,MIMCPU ;GET CPU TYPE OF TARGET SYSTEM
4971 005537' 136 04 0 00 000001 IDPB T4,T1 ;SAVE CPU TYPE IN MESSAGE
4972 005540' 200 04 0 15 000001 MOVE T4,MIMREC ;GET ADDRESS OF RECORD BLOCK
4973 005541' 550 03 0 04 000005 LOAD T3,RBCNT,(T4) ;GET NUMBER OF BYTES IN THIS BLOCK
4974 005542' 301 03 0 00 000377 CAIL T3,MAXMEM ;MORE TO SEND THAN MAX IN ONE IMAGE FIELD ?
4975 005543' 201 03 0 00 000377 MOVX T3,MAXMEM ;YES, USE MAXIMUM INSTEAD
4976 005544' 202 03 0 15 000003 MOVEM T3,MIMCNT ;SAVE # OF BYTES ACTUALY BEING SENT
4977 005545' 210 03 0 00 000003 MOVN T3,T3 ;GET - COUNT
4978 005546' 200 02 0 04 000003 LOAD T2,RBPTR,(T4) ;GET POINTER TO THE DATA
4979 005547' 104 00 0 00 000053 SOUT ;ADD THE DATA TO THE MESSAGE
4980 005550' 320 16 0 00 013656' ERJMP [RETBAD (.NRNPE)] ;FAILED, RETURN ERROR
4981 005551' 202 02 0 04 000003 STOR T2,RBPTR,(T4) ;STORE POINTER IN CASE THERE IS MORE DATA
4982 005552' 200 02 0 15 000003 MOVE T2,MIMCNT ;GET # OF DATA BYTES IN MESSAGE
4983 005553' 550 03 0 04 000005 LOAD T3,RBCNT,(T4) ;GET TOTAL # OF BYTES TO BE SENT
4984 005554' 274 03 0 15 000003 SUB T3,MIMCNT ;COMPUTE # OF BYTES LEFT TO SEND
4985 005555' 542 03 0 04 000005 STOR T3,RBCNT,(T4) ;SAVE THAT NUMBER OF BYTES IN RECORD BLOCK
4986 005556' 200 02 0 15 000003 MOVE T2,MIMCNT ;GET NUMBER OF DATA BYTES ACTUALLY IN MESSAGE
4987 005557' 271 02 0 00 000002 ADDI T2,1+1 ;ADD 1 FOR FUNCTION CODE, 1 FOR CPU TYPE
4988 005560' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO START OF
4989 005561' 541 01 0 14 000033 HRRI T1,MSGBLK ; "MEMORY IMAGE" MESSAGE
4990 005562' 254 00 0 00 005527* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 120
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
4991 ;MAKXFR -ROUTINE TO ASSEMBLE A "SYSTEM PARAMETERS AND TRANSFER" MESSAGE
4992 ;
4993 ;ACCEPTS IN T1/ ADDRESS OF RECORD BLOCK
4994 ; CALL MAKXFR
4995 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO START OF MESSAGE
4996 ; T2/ NUMBER OF BYTES IN THE MESSAGE
4997
4998 005563' 265 16 0 00 005530* MAKXFR: ASUBR <MKXREC,MKXPTR,MKXCNT>
4999
5000 005564' 402 00 0 15 000003 SETZM MKXCNT ;INITIALIZE MESSAGE SIZE
5001 005565' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE MESSAGE AREA
5002 005566' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
5003 005567' 201 04 0 00 000003 MOVX T4,.LMXFR ;GET "TRANSFER" LINE SERVICE MESSAGE TYPE
5004 005570' 136 04 0 00 000001 IDPB T4,T1 ;ADD MESSAGE TYPE TO THE MESSAGE
5005
5006 ; SKIP OVER COUNT BYTE AND ADD PARAMETERS TO THE MESSAGE
5007
5008 005571' 202 01 0 15 000002 MOVEM T1,MKXPTR ;SAVE POINTER TO TOTAL COUNT FOR PARAMETERS
5009 005572' 133 00 0 00 000001 IBP T1 ;SKIP THE COUNT BYTE
5010 005573' 336 03 0 14 000017 SKIPN T3,RQLNAM ;NAME OF THIS NODE SPECIFIED ?
5011 005574' 254 00 0 00 005606' JRST MKX010 ;NO, GO CHECK NODE NUMBER
5012 005575' 316 03 0 00 014136' CAMN T3,[-1] ;IF PARAMETER NOT SPECIFIED, GO CHECK
5013 005576' 254 00 0 00 005606' JRST MKX010 ; NEXT PARAMETER
5014 005577' 201 02 0 00 000001 MOVX T2,.PVNAM ;GET PARAMETER TYPE CODE FOR NODE NAME
5015 005600' 136 02 0 00 000001 IDPB T2,T1 ;ADD TYPE CODE TO MESSAGE
5016 005601' 350 00 0 15 000003 AOS MKXCNT ;INCREMENT COUNT OF BYTES IN PARAMETERS
5017 005602' 201 02 0 00 000006 MOVX T2,NNAMSZ ;GET MAX NUMBER OF CHARACTERS IN NODE NAMES
5018 005603' 260 17 0 00 006046' CALL MAKIMA ;GO ADD NODE NAME TO MESSAGE
5019 005604' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
5020 005605' 272 02 0 15 000003 ADDM T2,MKXCNT ;UPDATE NUMBER OF BYTES IN PARAMETERS
5021 005606' 336 04 0 14 000020 MKX010: SKIPN T4,RQLNUM ;NODE NUMBER SPECIFIED ?
5022 005607' 254 00 0 00 005621' JRST MKX020 ;NO, GO CHECK HOST FOR TASK LOADS
5023 005610' 316 04 0 00 014136' CAMN t4,[-1] ;IF PARAMETER NOT SPECIFIED, GO CHECK
5024 005611' 254 00 0 00 005621' JRST MKX020 ; NEXT PARAMETER
5025 005612' 201 02 0 00 000002 MOVX T2,.PVNUM ;YES, GET PARAMETER TYPE CODE FOR NODE NUMBER
5026 005613' 136 02 0 00 000001 IDPB T2,T1 ;ADD TYPE CODE TO THE MESSAGE
5027 005614' 201 02 0 00 000004 MOVEI T2,4 ;ACCOUNT FOR THE PARAMETER TYPE CODE, COUNT
5028 005615' 272 02 0 15 000003 ADDM T2,MKXCNT ; BYTE, AND TWO BYTES OF NODE NUMBER
5029 005616' 201 02 0 00 000002 MOVX T2,2 ;NODE NUMBER IS TWO BYTES
5030 005617' 402 00 0 00 000003 SETZM T3 ;NUMBER IS ALREADY IN T4
5031 005620' 260 17 0 00 006041' CALL MAKIMB ;GO ASSEMBLE THE NODE NUMBER INTO THE MESSAGE
5032 005621' 336 03 0 14 000021 MKX020: SKIPN T3,RQLHST ;ANY HOST SPECIFIED FOR TASK LOADS ?
5033 005622' 254 00 0 00 005634' JRST MKX030 ;NO, GO ADD TOTAL LENGTH OF PARAMETER FIELD
5034 005623' 316 03 0 00 014136' CAMN T3,[-1] ;IF PARAMETER NOT SPECIFIED, GO
5035 005624' 254 00 0 00 005634' JRST MKX030 ; ADD ADDRESS TO MESSAGE
5036 005625' 201 02 0 00 000003 MOVX T2,.PVHST ;YES, GET HOST PARAMETER TYPE CODE
5037 005626' 136 02 0 00 000001 IDPB T2,T1 ;ADD PARAMETER TYPE CODE TO MESSAGE
5038 005627' 350 00 0 15 000003 AOS MKXCNT ;UPDATE BYTE COUNT FOR PARAMETERS
5039 005630' 201 02 0 00 000006 MOVX T2,NNAMSZ ;YES, GET MAX SIZE OF NODE NAMES
5040 005631' 260 17 0 00 006046' CALL MAKIMA ;GO ADD ASCII HOST NAME TO MESSAGE
5041 005632' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
5042 005633' 272 02 0 15 000003 ADDM T2,MKXCNT ;UPDATE NUMBER OF BYTES IN PARAMETERS
5043 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 121
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5044 ; ..
5045
5046 005634' 201 04 0 00 000000 MKX030: MOVX T4,.PVEND ;GET "END-OF-PARAMETERS" MARK
5047 005635' 136 04 0 00 000001 IDPB T4,T1 ;MARK END OF PARMAETERS
5048 005636' 350 02 0 15 000003 AOS T2,MKXCNT ;INCREMENT COUNT OF BYTES FOR PARAMETERS
5049 005637' 136 02 0 15 000002 IDPB T2,MKXPTR ;STORE AS FIRST BYTE OF PARAMETER FIELD
5050
5051 ; HERE TO ADD THE TRANSFER ADDRESS TO THE MESSAGE
5052
5053 005640' 200 04 0 15 000001 MOVE T4,MKXREC ;GET ADDRESS OF RECORD BLOCK
5054 005641' 200 02 0 04 000010 LOAD T2,RBXAD,(T4) ;GET TRANSFER ADDRESS FROM FILE
5055 005642' 260 17 0 00 006337' CALL MAK4 ;GO ASSEMBLE A FOUR-BYTE NUMBER
5056
5057 ; MESSAGE IS NOW ASSMBLED - RETURN
5058
5059 005643' 541 01 0 14 000033 HRRI T1,MSGBLK ;GET ADDRESS OF MESSAGE
5060 005644' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO START OF MESSAGE
5061 005645' 200 02 0 15 000003 MOVE T2,MKXCNT ;GET NUMBER OF BYTES IN PARAMETERS
5062 005646' 271 02 0 00 000006 ADDI T2,1+1+4 ;ADD TYPE CODE, PARAMS CNT, AND XFR ADR COUNT
5063 005647' 254 00 0 00 005562* RETSKP ;RETURN TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 122
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5064 ;MAKRQD - ROUTINE TO MAKE A MOP "REQUEST DUMP RECORD" MESSAGE
5065 ;
5066 ;ACCEPTS IN T1/ MEMORY ADDRESS TO START DUMPING
5067 ; T2/ NUMBER OF LOCATIONS TO DUMP
5068 ; T3/ DESTINATION POINTER FOR NICE MESSAGE
5069 ; CALL MAKRQD
5070 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO MOP MESSAGE
5071 ; T2/ NUMBER OF BYTES IN MOP MESSAGE
5072
5073 005650' 265 16 0 00 005563* MAKRQD: ASUBR <MRDADR,MRDCNT,MRDPTR>
5074
5075 005651' 200 01 0 15 000003 MOVE T1,MRDPTR ;GET POINTER TO DESTINATION OF MESSAGE
5076 005652' 201 04 0 00 000004 MOVX T4,.MPRQD ;GET MOP "REQUEST DUMP RECORD" FUNCTION CODE
5077 005653' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE INTO MOP MESSAGE
5078 005654' 200 02 0 15 000001 MOVE T2,MRDADR ;GET ADDRESS FROM WHICH TO BEGIN DUMPING
5079 005655' 260 17 0 00 006337' CALL MAK4 ;GO ADD THE ADDRESS TO THE MOP MESSAGE
5080 005656' 200 02 0 15 000002 MOVE T2,MRDCNT ;GET NUMBER OF LOCATIONS TO DUMP
5081 005657' 260 17 0 00 006333' CALL MAKTWO ;GO ADD COUNT TO THE MOP MESSAGE
5082 005660' 200 01 0 00 014137' MOVE T1,[POINT 8,MOPMSG] ;GET POINTER TO START OF MOP MESSAGE
5083 005661' 201 02 0 00 000007 MOVEI T2,7 ;GET NUMBER OF BYTES IN "REQUEST DUMP" MESSAGE
5084 005662' 263 17 0 00 000000 RET ;RETURN
5085
5086
5087
5088 ;MAKEMM - ROUTINE TO MAKE A MOP "ENTER MOP MODE" MESSAGE
5089 ;
5090 ;ACCEPTS IN T1/ MAINTENANCE PASSWORD
5091 ; CALL MAKEMM
5092 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO MOP MESSAGE
5093 ; T2/ NUMBER OF BYTES IN MOP MESSAGE
5094
5095 005663' 265 16 0 00 005650* MAKEMM: ASUBR <MEMPSW>
5096
5097 005664' 260 17 0 00 010445' CALL CLRMOP ;CLEAR THE MOP MESSAGE AREA
5098 005665' 200 01 0 00 014137' MOVE T1,[POINT 8,MOPMSG] ;GET POINTER TO START OF MOP MESSAGE AREA
5099 005666' 201 04 0 00 000006 MOVX T4,.MPMOP ;GET "ENTER MOP MODE" MOP FUNCTION CODE
5100 005667' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE INTO MESSAGE
5101 005670' 200 02 0 15 000001 MOVE T2,MEMPSW ;GET MAINTENANCE PASSWORD
5102 005671' 260 17 0 00 006337' CALL MAK4 ;ADD MAINTENANCE PASSWORD TO MESSAGE
5103 005672' 201 02 0 00 000005 MOVEI T2,5 ;GET SIZE OF "ENTER MOP MODE" MESSAGE
5104 005673' 200 01 0 00 014137' MOVE T1,[POINT 8,MOPMSG] ;GET POINTER TO START OF MESSAGE
5105 005674' 263 17 0 00 000000 RET ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 123
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5106 ;MAKEND - ROUTINE TO CHECK A MOP PROGRAM REQUEST MESSAGE AND ASSEMBLE A
5107 ; NICE END-OF-DIALOG LINE SERVICE MESSAGE.
5108 ;
5109 ;ACCEPTS IN T1/ POINTER TO START OF MOP MESSAGE
5110 ; T2/ NUMBER OF BYTES IN THE MOP MESSAGE
5111 ; T3/ ADDRESS OF LINE TABLE
5112 ; CALL MAKEND
5113 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5114 ; +2 SUCCESS, WITH T1/ POINTER TO START OF NICE MESSAGE
5115 ; T2/ NUMBER OF BYTES IN THE NICE MESSAGE
5116
5117 005675' 265 16 0 00 005663* MAKEND: ASUBR <MKDPTR,MKDCNT,MKDLIN>
5118
5119 005676' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
5120 005677' 200 01 0 15 000002 MOVE T1,MKDCNT ;GET # OF BYTES IN THE MOP MESSAGE
5121 005700' 275 01 0 00 000004 SUBI T1,4 ;AT LEAST FUNCTION, DEVICE, PROGRAM & STATION ?
5122 005701' 326 01 0 00 013615' JUMPN T1,[RETBAD (.NRPRO)] ;IF NOT, RETURN "PROTOCOL ERROR"
5123 005702' 202 01 0 15 000002 MOVEM T1,MKDCNT ;SAVE UPDATED COUNT
5124 005703' 200 04 0 00 013534' MOVE T4,[POINT 8,MSGBLK] ;GET POINTER TO START OF NICE MESSAGE
5125 005704' 201 01 0 00 000000 MOVX T1,.LMEND ;GET END-OF-DIALOG TYPE CODE
5126 005705' 136 01 0 00 000004 IDPB T1,T4 ;ADD TYPE CODE TO NICE LINE SERVICE MESSAGE
5127 005706' 201 01 0 00 000001 MOVX T1,.NRSUC ;GET SUCCESS RETURN CODE
5128 005707' 136 01 0 00 000004 IDPB T1,T4 ;ADD RETURN CODE TO THE MESSAGE
5129
5130 ; EXTRACT THE FUNCTION CODE, DEVICE TYPE, AND STATION FROM MOP MESSAGE
5131
5132 005710' 134 01 0 15 000001 ILDB T1,MKDPTR ;GET MOP FUNCTION CODE
5133 005711' 302 01 0 00 000010 CAIE T1,.MPRQP ;REQUEST PROGRAM FUNCTION ?
5134 005712' 254 00 0 00 013613' RETBAD (.NRPRO) ;NO, RETURN "PROTOCOL ERROR"
5135 005713' 134 01 0 15 000001 ILDB T1,MKDPTR ;GET LOAD DEVICE TYPE (.DTXXX)
5136 005714' 302 01 0 00 000024 CAIE T1,.DTDTE ;DTE20 ?
5137 005715' 254 00 0 00 013613' RETBAD (.NRPRO) ;NO, RETURN "PROTOCOL ERROR"
5138 005716' 136 01 0 00 000004 IDPB T1,T4 ;YES, STORE DEVICE TYPE IN NICE MESSAGE
5139 005717' 201 01 0 00 000001 MOVX T1,.CP11 ;ADJACENT NODES ARE ALWAYS PDP-11'S FOR NOW
5140 005720' 136 01 0 00 000004 IDPB T1,T4 ;ADD CPU TYPE TO NICE MESSAGE
5141 005721' 134 01 0 15 000001 ILDB T1,MKDPTR ;GET STATION ADDRESS FROM MOP MESSAGE
5142 005722' 302 01 0 00 000001 CAIE T1,1 ;STATION 1 ?
5143 005723' 254 00 0 00 013613' RETBAD (.NRPRO) ;NO, RETURN "PROTOCOL ERROR"
5144 005724' 134 01 0 15 000001 ILDB T1,MKDPTR ;YES, GET PROGRAM TYPE FROM MOP MESSAGE
5145 005725' 301 01 0 00 000000 CAIL T1,.PTSLD ;VALID PROGRAM TYPE
5146 005726' 303 01 0 00 000002 CAILE T1,.PTOPS ; IN THE MOP PROGRAM REQUEST MESSAGE ?
5147 005727' 254 00 0 00 013613' RETBAD (.NRPRO) ;NO, RETURN "PROTOCOL ERROR"
5148 005730' 136 01 0 00 000004 IDPB T1,T4 ;YES, ADD PROGRAM TYPE TO NICE MESSAGE
5149 005731' 200 02 0 15 000003 MOVE T2,MKDLIN ;GET ADDRESS OF LINE TABLE
5150 005732' 506 01 0 02 000002 STOR T1,LNPGM,(T2) ;UPDATE TYPE OF PROGRAM BEING LOADED
5151 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 124
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5152 ; ..
5153
5154 ; EXTRACT THE SOFTWARE ID FROM THE MOP MESSAGE
5155
5156 005733' 337 02 0 15 000002 SKIPG T2,MKDCNT ;ANY MORE BYTES LEFT IN MOP MESSAGE ?
5157 005734' 254 00 0 00 005744' JRST MKD020 ;NO, GO RETURN POINTER TO NICE MESSAGE
5158 005735' 303 02 0 00 000006 CAILE T2,MSIDMX ;BIGGER THAN MAX SIZE OF MOP SOFTWARE ID FIELD ?
5159 005736' 254 00 0 00 013613' RETBAD (.NRPRO) ;YES, PROTOCOL ERROR
5160 005737' 200 03 0 00 014123' MOVE T3,[POINT 7,TMPSTR] ;SET UP POINTER TO TEMPORARY DESTINATION
5161 005740' 361 02 0 00 005744' MKD010: SOJL T2,MKD020 ;IF ALL BYTES NOW IN STRING, GO ADD TO NICE MSG
5162 005741' 134 01 0 15 000001 ILDB T1,MKDPTR ;GET NEXT CHARACTER FROM MOP MESSAGE
5163 005742' 136 01 0 00 000003 IDPB T1,T3 ;ADD CHARACTER TO STRING BEING FORMED
5164 005743' 254 00 0 00 005740' JRST MKD010 ;LOOP OVER ALL BYTES IN THE SOFTWARE ID
5165
5166 ; HERE WITH SOFTWARE ID EXTRACTED
5167
5168 005744' 200 03 0 00 014123' MKD020: MOVE T3,[POINT 7,TMPSTR] ;GET POINTER TO TEMP LOCATION OF STRING
5169 005745' 200 01 0 00 000004 MOVE T1,T4 ;COPY POINTER TO NEXT FIELD IN NICE MESSAGE
5170 005746' 260 17 0 00 006046' CALL MAKIMA ;GO ADD IMAGE ASCII SOFTWARE ID TO NICE MESSAGE
5171 005747' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
5172
5173 ; RETURN THE POINTER AND SIZE OF THE NICE END-OF-DIALOG LINE SERVICE MESSAGE
5174
5175 005750' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
5176 005751' 271 02 0 00 000005 ADDI T2,5 ;INCREMENT COUNT FOR TYPE CODE, DEV, CPU, PGM
5177 005752' 254 00 0 00 005647* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 125
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5178 ;MAKMPT - ROUTINE TO MAKE A MOP LOAD-WITH-TRANSFER-ADDRESS MESSAGE (.MPLDT)
5179 ;
5180 ;ACCEPTS IN T3/ LOAD NUMBER FOR THIS MESSAGE
5181 ; T4/ TRANSFER ADDRESS FOR THIS RECORD
5182 ; CALL MAKMPT
5183 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO COMPLETED MOP MESSAGE
5184
5185 005753' 265 16 0 00 005106* MAKMPT: STKVAR <MMTLOD,MMTADR>
5186 005754' 000002 000002
5187 005755' 202 03 0 17 777776 MOVEM T3,MMTLOD ;SAVE LOAD NUMBER
5188 005756' 202 04 0 17 777775 MOVEM T4,MMTADR ;SAVE LOAD ADDRESS
5189
5190 ; PUT THE FUNCTION CODE AND LOAD NUMBER INTO THE MESSAGE
5191
5192 005757' 260 17 0 00 010445' CALL CLRMOP ;GO CLEAR THE MOP MESSAGE AREA
5193 005760' 200 04 0 00 014137' MOVE T4,[POINT 8,MOPMSG] ;GET POINTER TO WHERE MOP MESSAGE GOES
5194 005761' 201 01 0 00 000000 MOVX T1,.MPLDT ;GET MOP FUNCTION CODE
5195 005762' 136 01 0 00 000004 IDPB T1,T4 ;STORE FUNCTION CODE IN MOP MESSAGE
5196 005763' 200 01 0 17 777776 MOVE T1,MMTLOD ;GET THE LOAD NUMBER FOR THIS RECORD
5197 005764' 136 01 0 00 000004 IDPB T1,T4 ;STORE LOAD NUMBER IN MOP MESSAGE
5198 005765' 200 01 0 00 000004 MOVE T1,T4 ;GET POINTER TO NEXT FIELD IN MOP MESSAGE
5199 005766' 200 02 0 17 777775 MOVE T2,MMTADR ;GET TRANSFER ADDRESS
5200 005767' 260 17 0 00 006337' CALL MAK4 ;GO ADD A FOUR-BYTE NUMBER TO THE MOP MESSAGE
5201 005770' 201 02 0 00 000006 MOVEI T2,6 ;GET NUMBER OF BYTES IN MESSAGE SO FAR
5202 005771' 200 01 0 00 014137' MOVE T1,[POINT 8,MOPMSG] ;GET POINTER TO MOP LOAD MESSAGE
5203 005772' 263 17 0 00 000000 RET ;RETURN
5204
5205
5206 ;MAKMRL - ROUTINE TO MAKE A MOP "REQUEST LOAD RECORD" MESSAGE
5207 ;
5208 ;ACCEPTS IN T1/ LOAD NUMBER BEING REQUESTED
5209 ; T2/ MOP RESPONSE CODE
5210 ; CALL MAKMRL
5211 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO MOP MESSAGE
5212 ; T2/ # OF BYTES IN MOP MESSAGE
5213
5214 005773' 265 16 0 00 005675* MAKMRL: ASUBR <MRLLOD,MRLCOD>
5215
5216 005774' 260 17 0 00 010445' CALL CLRMOP ;GO CLEAR THE MOP MESSAGE AREA
5217 005775' 200 04 0 00 014137' MOVE T4,[POINT 8,MOPMSG] ;GET A POINTER TO THE MESSAGE
5218 005776' 201 01 0 00 000012 MOVX T1,.MPRQL ;GET "REQUEST LOAD" MOP FUNCTION CODE
5219 005777' 136 01 0 00 000004 IDPB T1,T4 ;PUT FUNCTION CODE INTO MESSAGE
5220 006000' 200 01 0 15 000001 MOVE T1,MRLLOD ;GET LOAD NUMBER BEING REQUESTED
5221 006001' 136 01 0 00 000004 IDPB T1,T4 ;ADD LOAD NUMBER TO MESSAGE
5222 006002' 200 01 0 15 000002 MOVE T1,MRLCOD ;GET RESPONSE CODE
5223 006003' 136 01 0 00 000004 IDPB T1,T4 ;STORE RESPONSE CODE IN MESSAGE
5224 006004' 200 01 0 00 014137' MOVE T1,[POINT 8,MOPMSG] ;GET POINTER TO START OF MOP MESSAGE
5225 006005' 201 02 0 00 000003 MOVEI T2,3 ;GET NUMBER OF BYTES IN MOP MESSAGE
5226 006006' 263 17 0 00 000000 RET ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 126
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5227 ;MAKRQL - ROUTINE TO ASSEMBEL A NICE DOWN LINE LOAD REQUEST MESSAGE
5228 ;
5229 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
5230 ; CALL MAKRQL
5231 ;RETURNS: +1 FAILED
5232 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MESSAGE
5233 ; T2/ COUNT OF BYTES IN THE MESSAGE
5234
5235 006007' 265 16 0 00 005773* MAKRQL: ASUBR <MQLLIN>
5236 006010' 265 16 0 00 005753* STKVAR <<MQLLID,2>,MQLCNT>
5237 006011' 000003 000003
5238
5239 ; GET AND SAVE THE NICE LINE ID FOR THIS DTE20
5240
5241 006012' 200 01 0 15 000001 MOVE T1,MQLLIN ;GET LINE TABLE
5242 006013' 554 01 0 01 000004 LOAD T1,LNDTE,(T1) ;GET DTE20 NUMBER
5243 006014' 260 17 0 00 010517' CALL CVTDEV ;CONVERT TO STANDARD NICE LINE ID
5244 006015' 263 17 0 00 000000 RETBAD () ;FAILED
5245 006016' 124 02 0 17 777775 DMOVEM T2,MQLLID ;SAVE LINE ID
5246
5247 ; ASSEMBLE THE FUNCTION AND OPTION CODES
5248
5249 006017' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
5250 006020' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF NICE MESSAGE
5251 006021' 201 04 0 00 000002 MOVX T4,.NCRQL ;GET NICE "REQUEST DOWN LINE LOAD" FUNCTION
5252 006022' 136 04 0 00 000001 IDPB T4,T1 ;ADD TO MESSAGE
5253 006023' 201 04 0 00 000003 MOVX T4,<FLD(LO%TGT,.LOSRV)+FLD(LO%ROM,.LOPGM)>
5254 006024' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTIONS TO NICE MESSAGE
5255
5256 ; ADD THE SERVER NODE NAME AND SERVER LINE ID TO THE MESSAGE
5257
5258 006025' 201 02 0 00 000002 MOVX T2,2 ;CURRENT COUNT OF BYTES IN MESSAGE
5259 006026' 200 03 0 00 010667' MOVE T3,OURNAM ;GET POINTER TO OUR NODE NAME
5260 006027' 260 17 0 00 006063' CALL MAKNOD ;ADD OUR NODE NAME TO MESSAGE
5261 006030' 120 03 0 17 777775 DMOVE T3,MQLLID ;GET NICE LINE ID
5262 006031' 260 17 0 00 005303' CALL MAKLIN ;ADD NICE LINE ID TO THE MESSAGE
5263
5264 ; ADD PROGRAM REQUEST DATA TO THE DOWN LINE LOAD MESSAGE
5265
5266 006032' 201 04 0 00 000024 MOVX T4,.DTDTE ;GET DTE20 DEVICE TYPE CODE
5267 006033' 136 04 0 00 000001 IDPB T4,T1 ;ADD DEVICE TYPE TO MESSAGE
5268 006034' 201 04 0 00 000001 MOVX T4,.CP11 ;GET PDP-11 CPU TYPE CODE
5269 006035' 136 04 0 00 000001 IDPB T4,T1 ;ADD CPU TYPE CODE TO MESSAGE
5270 006036' 201 04 0 00 000000 MOVX T4,.PTSLD ;GET SECONDARY LOADER PROGRAM TYPE CODE
5271 006037' 136 04 0 00 000001 IDPB T4,T1 ;ADD PROGRAM TYPE CODE TO THE MESSAGE
5272 006040' 271 02 0 00 000003 ADDI T2,3 ;ACCOUNT FOR THE ADDED BYTES IN MESSAGE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 127
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5273 ;MAKIMB - ROUTINE TO ASSEMBLE A BINARY NUMBER INTO AN IMAGE FIELD IN
5274 ; A MESSAGE
5275 ;
5276 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5277 ; T2/ NUMBER OF BYTES IN IMAGE FIELD TO BE ASSEMBLED
5278 ; T3-T4/ BINARY NUMBER TO BE ADDED TO MESSAGE
5279 ; CALL MAKIMB
5280 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5281 ; NOTE: CALLER MUST KEEP TRACK OF TOTAL MESSAGE SIZE
5282
5283 006041' 136 02 0 00 000001 MAKIMB::IDPB T2,T1 ;ADD BYTE COUNT TO THE IMAGE FIELD
5284
5285 ; LOOP OVER EACH BYTE TO BE ADDED TO THE MESSAGE
5286
5287 006042' 361 02 0 00 005337* MKB010: SOJL T2,R ;IF NO MORE BYTES TO ADD, RETURN
5288 006043' 136 04 0 00 000001 IDPB T4,T1 ;ADD NEXT BYTE TO THE MESSAGE
5289 006044' 246 03 0 00 777770 LSHC T3,-8 ;RIGHT JUSTIFY REMAINING BYTES
5290 006045' 254 00 0 00 006042' JRST MKB010 ;LOOP OVER ALL BYTES IN THE FIELD
5291
5292
5293 ;MAKIMA - ROUTINE TO ASSEMBLE AN ASCII STRING INTO AN IMAGE FIELD
5294 ;
5295 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5296 ; T2/ MAXIMUM NUMBER OF BYTES TO BE ASSEMBLED
5297 ; T3/ POINTER TO ASCIZ STRING TO BE ASSEMBLED
5298 ; CALL MAKIMA
5299 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5300 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5301 ; T2/ NUMBER OF BYTES ACTUALLY ASSEMBLED
5302
5303 006046' 265 16 0 00 006007* MAKIMA::ASUBR <MKAPTR,MKACNT,MKASTR>
5304
5305 006047' 133 00 0 00 000001 IBP T1 ;SKIP OVER COUNT BYTE UNTIL STRING MOVED
5306 006050' 201 04 0 00 000000 MOVEI T4,0 ;INITIALIZE BYTE COUNTER
5307 006051' 322 02 0 00 006060' JUMPE T2,MKA020 ;IF NOTHING TO BE ASSEMBLED, JUST ADD BYTE COUNT
5308
5309
5310 ; LOOP OVER EACH BYTE IN THE ASCIZ STRING
5311
5312 006052' 134 03 0 15 000003 MKA010: ILDB T3,MKASTR ;GET NEXT CHARACTER FROM ASCIZ STRING
5313 006053' 322 03 0 00 006060' JUMPE T3,MKA020 ;IF END OF STRING, GO FIX UP COUNT BYTE
5314 006054' 361 02 0 00 006060' SOJL T2,MKA020 ;IF MAX CHARS IN MESSAGE, GO WRAP UP
5315 006055' 136 03 0 00 000001 IDPB T3,T1 ;ADD THE BYTE TO THE MESSAGE
5316 006056' 271 04 0 00 000001 ADDI T4,1 ;INCREMENT COUNT OF CHARACTERS DEPOSITED
5317 006057' 254 00 0 00 006052' JRST MKA010 ;LOOP OVER ALL CHARACTERS IN THE STRING
5318
5319 ; HERE WHEN ALL CHARACTERS ARE IN THE MESSAGE - FIX UP THE COUNT BYTE
5320
5321 006060' 136 04 0 15 000001 MKA020: IDPB T4,MKAPTR ;ADD COUNT TO THE IMAGE FIELD
5322 006061' 201 02 0 04 000001 MOVEI T2,1(T4) ;COPY # OF CHARACTERS ASSEMBLED + COUNT BYTE
5323 006062' 254 00 0 00 005752* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 128
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5324 ;MAKNOD - ROUTINE TO ADD A NODE NAME TO A MESSAGE
5325 ;
5326 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE BEING ASSEMBLED
5327 ; T2/ NUMBER OF BYTES CURRENTLY IN MESSAGE
5328 ; T3/ POINTER TO ASCIZ NODE NAME
5329 ; CALL MAKNOD
5330 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5331 ; T2/ UPDATED COUNT OF BYTES IN MESSAGE
5332
5333 006063' 265 16 0 00 006010* MAKNOD::STKVAR <MNDCNT>
5334 006064' 000001 000001
5335
5336 006065' 202 02 0 17 777776 MOVEM T2,MNDCNT ;SAVE CURRENT BYTE COUNT
5337 006066' 201 02 0 00 000006 MOVX T2,NNAMSZ ;GET MAX SIZE OF NODE NAMES
5338 006067' 260 17 0 00 006046' CALL MAKIMA ;ASSEMBLE NAME AS IMAGE ASCII FIELD
5339 006070' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
5340 006071' 270 02 0 17 777776 ADD T2,MNDCNT ;GET UPDATED BYTE COUNT
5341 006072' 254 00 0 00 006062* RETSKP ;DONE, RETURN
5342
5343
5344 ;MAKMPW - ROUTINE TO ADD A MAINTENANCE PASSWORD TO A MESSAGE
5345 ;
5346 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5347 ; T2/ NUMBER OF BYTES CURRENTLY IN MESSAGE
5348 ; T3/ MAINTENANCE PASSWORD
5349 ; CALL MAKMPW
5350 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5351 ; T2/ UPDATED COUNT OF BYTES IN MESSAGE
5352
5353 006073' 265 16 0 00 006046* MAKMPW: ASUBR <MMPPTR,MMPCNT,MMPPSW>
5354
5355 006074' 200 01 0 15 000001 MOVE T1,MMPPTR ;GET POINTER TO NEXT FIELD
5356 006075' 200 02 0 15 000003 MOVE T2,MMPPSW ;GET PASSWORD
5357 006076' 260 17 0 00 006337' CALL MAK4 ;ADD A FOUR-BYTE FIELD TO THE MESSAGE
5358 006077' 200 02 0 15 000002 MOVE T2,MMPCNT ;GET PREVIOUS BYTE COUNT
5359 006100' 271 02 0 00 000004 ADDI T2,4 ;INCREMENT FOR PASSWORD SIZE
5360 006101' 263 17 0 00 000000 RET ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 129
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5361 ;MAKZRO - ROUTINE TO MAKE A "ZERO LINE COUNTERS" NICE MESSAGE
5362 ;
5363 ;ACCEPTS IN T1-T2/ STANDARD NICE LINE ID
5364 ; T1/ LINE DEVICE TYPE (.DTXXX),,LINE CONTROLLER #
5365 ; T2/ LINE UNIT NUMBER,,LINE STATION ADDRESS
5366 ; CALL MAKZRO
5367 ;RETURNS: +1 ALWAYS, WITH T1/ POINTER TO START OF MESSAGE
5368 ; T2/ COUNT OF BYTES IN THE MESSAGE
5369
5370 006102' 265 16 0 00 006073* MAKZRO: ASUBR <MKZLIN>
5371
5372 006103' 260 17 0 00 010457' CALL CLRMSG ;INITIALIZE MESSAGE AREA
5373 006104' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE AREA
5374 006105' 201 04 0 00 000011 MOVX T4,.NCZRO ;GET "ZERO COUNTERS" NICE FUNCTION CODE
5375 006106' 136 04 0 00 000001 IDPB T4,T1 ;ADD FUNCTION CODE TO MESSAGE
5376 006107' 201 04 0 00 000002 MOVX T4,.NCZLN ;GET OPTION FOR "LINE COUNTERS"
5377 006110' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION BYTE
5378 006111' 120 03 0 15 000001 DMOVE T3,MKZLIN ;GET LINE ID
5379 006112' 201 02 0 00 000002 MOVX T2,2 ;GET NUMBER OF BYTES IN MESSAGE SO FAR
5380 006113' 260 17 0 00 005303' CALL MAKLIN ;ADD LINE ID TO MESSAGE
5381 006114' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;GET POINTER TO START OF ASSEMBLED
5382 006115' 541 01 0 14 000033 HRRI T1,MSGBLK ; "ZERO COUNTERS" MESSAGE
5383 006116' 263 17 0 00 000000 RET ;DONE, RETURN.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 130
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5384 ;MAKEXA - ROUTINE TO ADD AN EXTENSIBLE STRING TO A MESSAGE
5385 ;
5386 ;ACCEPTS IN T1/ POINTER TO DESTINATION FOR EXTENSIBLE STRING
5387 ; T2/ POINTER TO SOURCE STRING
5388 ; T3/ CURRENT NUMBER OF BYTES IN MESSAGE
5389 ; CALL MAKEXA
5390 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5391 ; T3/ UPDATED COUNT OF BYTES IN MESSAGE
5392
5393 006117' 265 16 0 00 006102* MAKEXA: ASUBR <MKEDST,MKESRC>
5394 006120' 134 01 0 15 000002 ILDB T1,MKESRC ;GET A SOURCE BYTE
5395 JUMPE T1,[IDPB T1,MKEDST ;IF NULL STRING, DEPOSIT THE NULL AND
5396 006121' 322 01 0 00 014140' RET] ; RETURN
5397
5398 006122' 134 02 0 15 000002 MKEXA2: ILDB T2,MKESRC ;GET NEXT CHARACTER FROM STRING
5399 006123' 302 02 0 00 000000 CAIE T2,.CHNUL ;GO A NULL BYTE ?
5400 006124' 660 01 0 00 000200 TXO T1,EXTBIT ;NO, NOTE THAT ANOTHER BYTE FOLLOWS
5401 006125' 136 01 0 15 000001 IDPB T1,MKEDST ;STORE FIRST BYTE INTO DESTINATION
5402 006126' 271 03 0 00 000001 ADDI T3,1 ;INCREMENT # OF BYTES IN MESSAGE
5403 006127' 606 01 0 00 000200 TXNN T1,EXTBIT ;HAS THE LAST BYTE BEEN ADDED TO STRING ?
5404 006130' 254 00 0 00 006133' JRST MKEXA3 ;YES, GO RETURN THE UPDATED POINTER AND COUNT
5405 006131' 200 01 0 00 000002 MOVE T1,T2 ;NO, MAKE "NEXT CHARACTER" BE "THIS CHARACTER"
5406 006132' 254 00 0 00 006122' JRST MKEXA2 ;GO TEST NEXT CHARACTER OF STRING
5407
5408 ; HERE WHEN ALL CHARACTERS HAVE BEEN PLACED INTO EXTENSIBLE STRING
5409
5410 006133' 200 01 0 15 000001 MKEXA3: MOVE T1,MKEDST ;RETURN UPDATED POINTER TO MESSAGE
5411 ;COUNT IS STILL IN T3
5412 006134' 263 17 0 00 000000 RET ;RETURN WITH UPDATED BYTE POINTERS AND COUNT
5413
5414
5415
5416 ;MAKMEM - ROUTINE TO ADD A MEMORY ADDRESS OR SIZE TO A MESSAGE
5417 ;
5418 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5419 ; T2/ NUMBER OF BYTES CURRENTLY IN MESSAGE
5420 ; T3/ MEMORY ADDRESS OR SIZE
5421 ; CALL MAKMEM
5422 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5423 ; T2/ UPDATED BYTE COUNT
5424
5425 006135' 265 16 0 00 006117* MAKMEM: ASUBR <MKMPTR,MKMCNT,MKMMEM>
5426
5427 006136' 200 01 0 15 000001 MOVE T1,MKMPTR ;GET POINTER TO NEXT FIELD
5428 006137' 200 02 0 15 000003 MOVE T2,MKMMEM ;GET MEMORY ADDRESS OR SIZE
5429 006140' 260 17 0 00 006337' CALL MAK4 ;ADD A FOUR-BYTE FIELD TO MESSAGE
5430 006141' 200 02 0 15 000002 MOVE T2,MKMCNT ;GET PREVIOUS BYTE COUNT
5431 006142' 271 02 0 00 000004 ADDI T2,4 ;ALLOW FOR MEMORY ADDRESS
5432 006143' 263 17 0 00 000000 RET ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 131
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5433 ;MAKLOC - ROUTINE TO ADD A "NUMBER OF LOCATIONS" FIELD TO A MESSAGE
5434 ;
5435 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5436 ; T2/ NUMBER OF BYTES CURRENTLY IN MESSAGE
5437 ; T3/ NUMBER OF LOCATIONS
5438 ; CALL MAKLOC
5439 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5440 ; T2/ UPDATED BYTE COUNT
5441
5442 006144' 265 16 0 00 006135* MAKLOC: ASUBR <MKLPTR,MKLCNT,MKLLOC>
5443
5444 006145' 200 01 0 15 000001 MOVE T1,MKLPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
5445 006146' 200 02 0 15 000003 MOVE T2,MKLLOC ;GET NUMBER OF LOCATIONS
5446 006147' 260 17 0 00 006333' CALL MAKTWO ;ADD A TWO BYTE FIELD TO THE MESSAGE
5447 006150' 200 02 0 15 000002 MOVE T2,MKLCNT ;GET PREVIOUS BYTE COUNT
5448 006151' 271 02 0 00 000002 ADDI T2,2 ;ADD SIZE OF LOCATION FIELD
5449 006152' 263 17 0 00 000000 RET ;RETURN
5450
5451 ;MAKNAM - ROUTINE TO ADD A NODE NAME PARAMETER TO A MESSAGE
5452 ;
5453 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5454 ; T2/ CURRENT MESSAGE SIZE (IN BYTES)
5455 ; T3/ POINTER TO ASCIZ NODE NAME
5456 ; CALL MAKNAM
5457 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5458 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5459 ; T2/ UPDATED BYTE COUNT
5460
5461 006153' 265 16 0 00 006144* MAKNAM::ASUBR <MNMPTR,MNMCNT,MNMNAM>
5462
5463 006154' 201 04 0 00 000001 MOVX T4,.PVNAM ;GET NODE NAME PARAMETER TYPE CODE
5464 006155' 136 04 0 00 000001 IDPB T4,T1 ;ADD PARAMETER TYPE TO MESSAGE
5465 006156' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT BYTE COUNT FOR PARAMETER TYPE BYTE
5466 006157' 260 17 0 00 006063' CALL MAKNOD ;GO ADD A NODE NAME TO THE MESSAGE
5467 006160' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
5468 006161' 254 00 0 00 006072* RETSKP ;DONE, RETURN SUCCESS
5469
5470 ;MAKHST - ROUTINE TO ADD A HOST NODE NAME PARAMETER TO A MESSAGE
5471 ;
5472 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5473 ; T2/ CURRENT MESSAGE SIZE (IN BYTES)
5474 ; T3/ POINTER TO ASCIZ HOST NODE NAME
5475 ; CALL MAKHST
5476 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5477 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5478 ; T2/ UPDATED BYTE COUNT
5479
5480 006162' 265 16 0 00 006153* MAKHST::ASUBR <MHNPTR,MHNCNT,MHNNAM>
5481
5482 006163' 201 04 0 00 000003 MOVX T4,.PVHST ;GET HOST NODE NAME PARAMETER TYPE CODE
5483 006164' 136 04 0 00 000001 IDPB T4,T1 ;ADD PARAMETER TYPE TO MESSAGE
5484 006165' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT BYTE COUNT FOR PARAMETER TYPE BYTE
5485 006166' 260 17 0 00 006063' CALL MAKNOD ;GO ADD A NODE NAME TO THE MESSAGE
5486 006167' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
5487 006170' 254 00 0 00 006161* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 132
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5488 ;MAKSLN - ROUTINE TO ASSEMBLE A NICE "SET PARAMETERS" MESSAGE TO
5489 ; SET THE STATE OF A LINE
5490 ;
5491 ;ACCEPTS IN T1/ LINE STATE
5492 ; T2-T3/ STANDARD NICE LINE ID
5493 ; T4/ DESTINATION ADDRESS FOR MESSAGE
5494 ; CALL MAKSLN
5495 ;RETURNS: +1 FAILED
5496 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MESSAGE
5497 ; T2/ COUNT OF BYTES IN THE MESSAGE
5498
5499 006171' 265 16 0 00 006063* MAKSLN::STKVAR <MLNSTA,<MLNLIN,2>,MLNPTR>
5500 006172' 000004 000004
5501
5502 006173' 202 01 0 17 777776 MOVEM T1,MLNSTA ;SAVE LINE STATE
5503 006174' 124 02 0 17 777774 DMOVEM T2,MLNLIN ;SAVE LINE ID
5504 006175' 200 01 0 00 000004 MOVE T1,T4 ;COPY ADDRESS OF START OF MESSAGE
5505 006176' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO START OF MESSAGE
5506 006177' 202 01 0 17 777773 MOVEM T1,MLNPTR ;SAVE POINTER TO START OF MESSAGE
5507 006200' 201 04 0 00 000007 MOVX T4,.NCSET ;GET NICE PROTOCOL "SET PARAMETER" FUNCTION
5508 006201' 136 04 0 00 000001 IDPB T4,T1 ;ADD FUNCTION CODE TO MESSAGE
5509 006202' 201 04 0 00 000010 MOVX T4,.NCSLN ;GET NICE "SET LINE STATE" OPTION CODE
5510 006203' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION BYTE TO MESSAGE
5511 006204' 201 02 0 00 000002 MOVX T2,2 ;CURRENTLY TWO BYTES IN THE MESSAGE
5512 006205' 120 03 0 17 777774 DMOVE T3,MLNLIN ;GET LINE ID
5513 006206' 260 17 0 00 005303' CALL MAKLIN ;ADD LINE TO THE MESSAGE
5514 006207' 200 04 0 17 777776 MOVE T4,MLNSTA ;GET LINE STATE
5515 006210' 136 04 0 00 000001 IDPB T4,T1 ;ADD STATE TO MESSAGE
5516 006211' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT COUNT OF BYTES IN THE MESSAGE
5517 006212' 200 01 0 17 777773 MOVE T1,MLNPTR ;RESTORE POINTER TO START OF MESSAGE
5518 006213' 254 00 0 00 006170* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 133
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5519 ;MAKEVT - ROUTINE TO ASSEMBLE THE HEADER PART OF AN EVENT LOG MESSAGE
5520 ;
5521 ;ACCEPTS IN T1/ POINTER TO DESTINATION FOR MESSAGE
5522 ; T2/ EVENT CODE (.EVXXX)
5523 ; CALL MAKEVT
5524 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5525 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5526 ; T2/ NUMBER OF BYTES IN THE MESSAGE
5527
5528 006214' 265 16 0 00 006171* MAKEVT: STKVAR <MKEEVT,MKECNT>
5529 006215' 000002 000002
5530 006216' 202 02 0 17 777776 MOVEM T2,MKEEVT ;SAVE EVENT CODE
5531 006217' 201 04 0 00 000001 MOVX T4,.NCLOG ;GET NICE "LOG DATA" FUNCTION CODE
5532 006220' 136 04 0 00 000001 IDPB T4,T1 ;ADD TO NICE MESSAGE
5533 006221' 201 04 0 00 000001 MOVX T4,.LGMNT ;GET MAINTENANCE LOG OPTION
5534 006222' 136 04 0 00 000001 IDPB T4,T1 ;ADD TO NICE MESSAGE
5535 006223' 201 02 0 00 000006 MOVX T2,NNAMSZ ;GET MAX SIZE OF NODE NAMES
5536 006224' 200 03 0 00 013666' MOVE T3,[POINT 7,OURNAM] ;GET POINTER TO NAME OF THIS NODE
5537 006225' 260 17 0 00 006046' CALL MAKIMA ;ADD ASCII STRING TO MESSAGE
5538 006226' 263 17 0 00 000000 RETBAD () ;FAILED
5539 006227' 202 02 0 17 777775 MOVEM T2,MKECNT ;SAVE COUNT OF CHARS ACTUALLY ASSEMBLED
5540 006230' 200 03 0 00 014144' MOVE T3,[POINT 7,[ASCIZ/NETCON/]] ;GET PROGRAM NAME
5541 006231' 201 02 0 00 000006 MOVX T2,6 ;GET SIZE OF OUR PROGRAM NAME
5542 006232' 260 17 0 00 006046' CALL MAKIMA ;ADD PROGRAM NAME TO THIS MESSAGE
5543 006233' 263 17 0 00 000000 RETBAD () ;FAILED
5544 006234' 350 04 0 00 011015' AOS T4,EVTSEQ ;GET NEXT EVENT LOG SEQUENCE NUMBER TO USE
5545 006235' 136 04 0 00 000001 IDPB T4,T1 ;ADD SEQUENCE NUMBER TO MESSAGE
5546 006236' 200 02 0 17 777776 MOVE T2,MKEEVT ;GET EVENT TYPE CODE
5547 006237' 260 17 0 00 006333' CALL MAKTWO ;ADD EVENT CODE TO NICE MESSAGE
5548 006240' 200 02 0 17 777775 MOVE T2,MKECNT ;GET NUMBER OF BYTES USED IN NODE NAME
5549 006241' 271 02 0 00 000014 ADDI T2,^D12 ;ACCOUNT OF NON-VARYING INFORMATION
5550 006242' 254 00 0 00 006213* RETSKP ;RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 134
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5551
5552 ;MAKENA - ROUTINE TO ASSEMBLE A NICE SET PARAMETER MESSAGE TO ENABLE
5553 ; EVENT LOGGING AT A NODE
5554 ;
5555 ;CALL: CALL MAKENA
5556 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5557 ; +2 SUCCESS, WITH T1/ ADDRESS OF MESSAGE
5558 ; T2/ NUMBER OF BYTES IN THE MESSAGE
5559
5560 006243' 200 01 0 00 014146' MAKENA::MOVE T1,[POINT 8,[BYTE (8) .NCSET, .NCNLS, .NSON ]]
5561 006244' 201 02 0 00 000003 MOVX T2,3 ;3 BYTES IN MESSAGE
5562 006245' 254 00 0 00 006242* RETSKP ;DONE
5563
5564
5565
5566 ;MAKDIS - ROUTINE TO ASSEMBLE A NICE SET PARAMETER MESSAGE TO DISABLE
5567 ; EVENT LOGGING AT A NODE
5568 ;
5569 ;CALL: CALL MAKDIS
5570 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
5571 ; +2 SUCCESS, WITH T1/ ADDRESS OF MESSAGE
5572 ; T2/ NUMBER OF BYTES IN THE MESSAGE
5573
5574 006246' 200 01 0 00 014150' MAKDIS::MOVE T1,[POINT 8,[BYTE (8) .NCSET, .NCNLS, .NSOFF ]]
5575 006247' 201 02 0 00 000003 MOVX T2,3 ;3 BYTES IN MESSAGE
5576 006250' 254 00 0 00 006245* RETSKP ;DONE
5577
5578
5579 ;MAKENL - ROUTINE TO ASSEMBLE A NICE SET PARAMETER MESSAGE TO ENABLE
5580 ; EVENT LOGGING FOR A LINE OR LINES.
5581 ;
5582 ;ACCEPTS IN T1-T2/ STANDARD NICE LINE ID (-1 IN FIRST WORD FOR ALL LINES)
5583 ; T3/ DESTINATION ADDRESS FOR MESSAGE
5584 ; CALL MAKENL
5585 ;RETURNS: +1 FAILED
5586 ; +2 SUCCESS, WITH T1/ ADDRESS OF MESSAGE
5587 ; T2/ NUMBER OF BYTES IN THE MESSAGE
5588
5589 006251' 265 16 0 00 006214* MAKENL::STKVAR <<MNLLID,2>,MNLDST>
5590 006252' 000003 000003
5591 006253' 124 01 0 17 777775 DMOVEM T1,MNLLID ;SAVE LINE ID
5592 006254' 550 01 0 00 000003 HRRZ T1,T3 ;GET DESTINATION ADDRESS FOR MESSAGE
5593 006255' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO MESSAGE DESTINATION
5594 006256' 202 01 0 17 777774 MOVEM T1,MNLDST ;SAVE POINTER TO MESSAGE
5595 006257' 201 03 0 00 000007 MOVX T3,.NCSET ;GET NICE "SET PARAMETER" FUNCTION CODE
5596 006260' 136 03 0 00 000001 IDPB T3,T1 ;STORE IN MESSAGE
5597 006261' 201 03 0 00 000012 MOVX T3,.NCLLS ;GET "LINE LOGGING STATE" OPTION
5598 006262' 136 03 0 00 000001 IDPB T3,T1 ;STORE OPTION IN MESSAGE
5599 006263' 201 02 0 00 000002 MOVX T2,2 ;TWO BYTES IN MESSAGE SO FAR
5600 006264' 120 03 0 17 777775 DMOVE T3,MNLLID ;GET LINE ID
5601 006265' 316 03 0 00 014136' CAMN T3,[-1] ;ALL LINES SPECIFIED ?
5602 JRST [ MOVX T3,.LTALL ;YES, GET "ALL LINES" CODE
5603 IDPB T3,T1 ;STORE IN MESSAGE
5604 ADDI T2,1 ;INCREMENT COUNT FOR LINE ID
5605 006266' 254 00 0 00 014151' JRST MAKNL1 ] ;AND CONTINUE
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 134-1
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5606 006267' 260 17 0 00 005303' CALL MAKLIN ;ADD LINE ID TO MESSAGE
5607
5608 006270' 201 03 0 00 000000 MAKNL1: MOVX T3,.NSON ;GET STATE CODE FOR "ON"
5609 006271' 136 03 0 00 000001 IDPB T3,T1 ;ADD STATE TO MESSAGE
5610 006272' 271 02 0 00 000001 ADDI T2,1 ;ACCOUNT FOR STATE CODE IN BYTE COUNT
5611 006273' 200 01 0 17 777774 MOVE T1,MNLDST ;RESTORE POINTER TO START OF MESSAGE
5612 006274' 254 00 0 00 006250* RETSKP ;DONE, RETURN
5613
5614
5615
5616 ;MAKDSL - ROUTINE TO ASSEMBLE A NICE SET PARAMETER MESSAGE TO DISABLE
5617 ; EVENT LOGGING FOR A LINE OR LINES.
5618 ;
5619 ;ACCEPTS IN T1-T2/ STANDARD NICE LINE ID (-1 IN FIRST WORD FOR ALL LINES)
5620 ; T3/ DESTINATION ADDRESS FOR MESSAGE
5621 ; CALL MAKDSL
5622 ;RETURNS: +1 FAILED
5623 ; +2 SUCCESS, WITH T1/ ADDRESS OF MESSAGE
5624 ; T2/ NUMBER OF BYTES IN THE MESSAGE
5625
5626 006275' 265 16 0 00 006251* MAKDSL::STKVAR <<MDLLID,2>,MDLDST>
5627 006276' 000003 000003
5628 006277' 124 01 0 17 777775 DMOVEM T1,MDLLID ;SAVE LINE ID
5629 006300' 550 01 0 00 000003 HRRZ T1,T3 ;GET DESTINATION ADDRESS FOR MESSAGE
5630 006301' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM DESTINATION ADDRESS FOR MESSAGE
5631 006302' 202 01 0 17 777774 MOVEM T1,MDLDST ;SAVE ADDRESS OF START OF MESSAGE
5632 006303' 201 03 0 00 000007 MOVX T3,.NCSET ;GET NICE "SET PARAMETER" FUNCTION CODE
5633 006304' 136 03 0 00 000001 IDPB T3,T1 ;STORE IN MESSAGE
5634 006305' 201 03 0 00 000012 MOVX T3,.NCLLS ;GET "LINE LOGGING STATE" OPTION
5635 006306' 136 03 0 00 000001 IDPB T3,T1 ;STORE OPTION IN MESSAGE
5636 006307' 201 02 0 00 000002 MOVX T2,2 ;TWO BYTES IN MESSAGE SO FAR
5637 006310' 120 03 0 17 777775 DMOVE T3,MDLLID ;GET LINE ID
5638 006311' 316 03 0 00 014136' CAMN T3,[-1] ;ALL LINES SPECIFIED ?
5639 JRST [ MOVX T3,.LTALL ;YES, GET "ALL LINES" CODE
5640 IDPB T3,T1 ;STORE IN MESSAGE
5641 ADDI T2,1 ;INCREMENT COUNT FOR LINE ID
5642 006312' 254 00 0 00 014151' JRST MAKNL1 ] ;AND CONTINUE
5643 006313' 260 17 0 00 005303' CALL MAKLIN ;ADD LINE ID TO MESSAGE
5644
5645 006314' 201 03 0 00 000001 MKLIN1: MOVX T3,.NSOFF ;GET STATE CODE FOR "ON"
5646 006315' 136 03 0 00 000001 IDPB T3,T1 ;ADD STATE TO MESSAGE
5647 006316' 271 02 0 00 000001 ADDI T2,1 ;ACCOUNT FOR STATE CODE IN BYTE COUNT
5648 006317' 200 01 0 17 777774 MOVE T1,MDLDST ;GET POINTER TO START OF MESSAGE
5649 006320' 254 00 0 00 006274* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 135
NCU MAC 6-Oct-81 12:41 Routines to Assemble NICE Messages
5650 ;MAKNUM - ROUTINE TO ADD A NODE NUMBER PARAMETER TO A MESSAGE
5651 ;
5652 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5653 ; T2/ NUMBER OF BYTES IN THE MESSAGE
5654 ; T3/ NODE NUMBER
5655 ; CALL MAKNUM
5656 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5657 ; T2/ UPDATED MESSAGE SIZE
5658
5659 006321' 265 16 0 00 006162* MAKNUM::ASUBR <MNUPTR,MNUCNT,MNUNUM>
5660
5661 006322' 201 04 0 00 000002 MOVX T4,.PVNUM ;GET NODE NUMBER PARAMETER VALUE TYPE CODE
5662 006323' 136 04 0 00 000001 IDPB T4,T1 ;ADD PARAMETER TYPE CODE TO MESSAGE
5663 006324' 201 04 0 00 000002 MOVX T4,2 ;GET NUMBER OF BYTES IN THE NUMBER FIELD
5664 006325' 136 04 0 00 000001 IDPB T4,T1 ;ADD FIELD SIZE TO MESSAGE
5665 006326' 200 02 0 15 000003 MOVE T2,MNUNUM ;GET NODE NUMBER TO ADD TO MESSAGE
5666 006327' 260 17 0 00 006333' CALL MAKTWO ;GO ADD A TWO BYTE FIELD TO THE MESSAGE
5667 006330' 200 02 0 15 000002 MOVE T2,MNUCNT ;GET ORIGINAL COUNT
5668 006331' 271 02 0 00 000003 ADDI T2,3 ;ACCOUNT FOR TYPE CODE AND 2-BYTE NUMBER
5669 006332' 263 17 0 00 000000 RET ;DONE, RETURN
5670
5671
5672 ;MAKTWO - ROUTINE TO ADD A TWO-BYTE NUMBER TO A MESSAGE
5673 ;
5674 ;ACCEPTS IN T1/ BYTE POINTER TO DESTINATION IN MESSAGE
5675 ; T2/ NUMBER TO BE ADDED TO MESSAGE
5676 ; CALL MAKTWO
5677 ;RETURNS: +1 ALWAYS, WITH T1/ UPDATED BYTE POINTER TO NEXT FIELD IN MESSAGE
5678
5679 006333' 136 02 0 00 000001 MAKTWO:: IDPB T2,T1 ;PUT LOW ORDER BYTE INTO MESSAGE FIRST
5680 006334' 242 02 0 00 777770 LSH T2,-8 ;RIGHT-ADJUST HIGH ORDER BYTE OF NUMBER
5681 006335' 136 02 0 00 000001 IDPB T2,T1 ;DEPOSIT HIGH ORDER BYTE INTO MESSAGE NEXT
5682 006336' 263 17 0 00 000000 RET ;RETURN, WITH UPDATED POINTER IN T1
5683
5684
5685 ;MAK4 - ROUTINE TO ADD A FOUR-BYTE NUMBER TO A MESSAGE
5686 ;
5687 ;ACCEPTS IN T1/ POINTER TO NEXT FIELD IN MESSAGE
5688 ; T2/ NUMBER TO BE ADDED TO THE MESSAGE
5689 ; CALL MAK4
5690 ;RETURNS +1 ALWAYS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
5691
5692 006337' 265 16 0 00 006321* MAK4: ASUBR <PT4PTR,PT4NUM>
5693
5694 ; ADD THE FIRST TWO BYTES TO THE MESSAGE
5695
5696 006340' 200 01 0 15 000001 MOVE T1,PT4PTR ;GET POINTER TO NEXT FIELD
5697 006341' 200 02 0 15 000002 MOVE T2,PT4NUM ;GET NUMBER TO BE ADDED
5698 006342' 260 17 0 00 006333' CALL MAKTWO ;ADD NEXT TWO BYTES TO MESSAGE
5699
5700 ; ADD THE NEXT TWO BYTES TO THE MESSAGE
5701
5702 006343' 200 02 0 15 000002 MOVE T2,PT4NUM ;GET THE NUMBER TO BE ADDED AGAIN
5703 006344' 242 02 0 00 777760 LSH T2,-^D16 ;SHIFT TO POSITION THE NEXT TWO BYTES TO ADD
5704 006345' 254 00 0 00 006333' CALLRET MAKTWO ;ADD NEXT TWO BYTES TO THE MESSAGE AND RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 136
NCU MAC 6-Oct-81 12:41 Routines to Manipulate DTE-20's
5705 SUBTTL Routines to Manipulate DTE-20's
5706
5707 ;DTESTP - Routine to Terminate any Protocol Running on the Specified DTE20.
5708 ;
5709 ;ACCEPTS IN T1/ LINE TABLE ADDRESS
5710 ; CALL DTESTP
5711 ;RETURNS: +1 FAILED, DEVICE IS NOT IN KNOWN STATE
5712 ; +2 SUCCESS, READY TO LOAD SECONDARY BOOTSTRAP
5713
5714 006346' 265 16 0 00 006337* DTESTP: ASUBR <SDTLIN>
5715 006347' 260 17 0 00 010452' CALL CLRBOT ;INITIALIZE THE BOOT JSYS ARGUMENT BLOCK
5716 006350' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARGUMENT BLOCK
5717 006351' 200 04 0 15 000001 MOVE T4,SDTLIN ;GET LINE TABLE ADDRESS
5718 006352' 554 04 0 04 000004 LOAD T4,LNDTE,(T4) ;GET DTE20 NUMBER
5719 006353' 202 04 0 02 000000 MOVEM T4,.BTDTE(T2) ;STORE DTE-20 NUMBER TO STOP
5720 006354' 201 01 0 00 000005 MOVEI T1,.BTTPR ;FUNCTION IS "TERMINATE PROTOCOL"
5721 006355' 104 00 0 00 000562 BOOT ;STOP THE SPECIFIED DTE-20
5722 006356' 320 16 0 00 006042* ERJMP R ;THIS IS NOT EXPECTED TO FAIL
5723 006357' 254 00 0 00 006320* RETSKP ;SUCCESS, BOOTSTRAP CAN NOW BE LOADED
5724
5725
5726
5727 ;DTESLD - ROUTINE TO SEND DATA ACROSS THE DTE20
5728 ;
5729 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
5730 ; CALL DTESLD
5731 ;RETURNS: +1 FAILED, TRANSFER ERROR
5732 ; +2 SUCCESS, DATA SENT
5733
5734 006360' 265 16 0 00 006346* DTESLD: ASUBR <LDTLIN>
5735
5736 006361' 260 17 0 00 010452' CALL CLRBOT ;CLEAR THE BOOT JSYS ARGUMENT BLOCK
5737
5738 ; SEND SECONDARY BOOTSTRAP ACROSS THE DTE20
5739
5740 006362' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT ARGUMENT BLOCK
5741 006363' 200 04 0 15 000001 MOVE T4,LDTLIN ;GET ADDRESS OF LINE TABLE ENTRY
5742 006364' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET ADDRESS OF DATA TO BE SENT
5743 006365' 552 01 0 02 000002 HRRZM T1,.BTSEC(T2) ;SAVE ADDRESS OF SECONDARY DATA
5744 006366' 554 01 0 04 000004 LOAD T1,LNDTE,(T4) ;GET DTE20 NUMBER
5745 006367' 202 01 0 02 000000 MOVEM T1,.BTDTE(T2) ;SAVE DTE20 NUMBER IN ARGUMENT BLOCK
5746 006370' 201 01 0 00 000001 MOVEI T1,.BTLDS ;GET BOOT JSYS FUNCTION CODE
5747 006371' 104 00 0 00 000562 BOOT ;LOAD THE SECONDARY BOOTSTRAP
5748 006372' 320 16 0 00 006356* ERJMP R ;FAILED, RETURN ERROR
5749 006373' 254 00 0 00 006357* RETSKP ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 137
NCU MAC 6-Oct-81 12:41 Routines to Manipulate DTE-20's
5750 ;DTESND - ROUTINE TO SEND A MOP MESSAGE ACROSS THE DTE20
5751 ;
5752 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
5753 ; CALL DTESND
5754 ;RETURNS: +1 FAILED
5755 ; +2 SUCCESS, MESSAGE SENT ACROSS THE DTE20
5756
5757 006374' 265 16 0 00 006360* DTESND: ASUBR <SDTLIN>
5758
5759 006375' 260 17 0 00 010452' CALL CLRBOT ;GO CLEAR THE BOOT JSYS ARGUMENT BLOCK
5760 006376' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARGUMENT BLOCK
5761 006377' 200 04 0 15 000001 MOVE T4,SDTLIN ;GET ADDRESS OF LINE TABLE
5762 006400' 554 01 0 04 000004 LOAD T1,LNDTE,(T4) ;GET DTE20 NUMBER
5763 006401' 202 01 0 02 000000 MOVEM T1,.BTDTE(T2) ;STORE PHYSICAL LINE NUMBER (DTE20 NUMBER)
5764 006402' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO MOP MESSAGE TO SEND
5765 006403' 202 01 0 02 000005 MOVEM T1,.BTLPT(T2) ;PUT POINTER INTO BOOT JSYS ARGUMENT BLOCK
5766 006404' 205 01 0 00 400000 MOVX T1,BT%BEL ;GET "DOORBELL WANTED" FLAG
5767 006405' 202 01 0 02 000003 MOVEM T1,.BTFLG(T2) ;SAVE FLAGS IN ARGUMENT BLOCK
5768 006406' 550 01 0 04 000002 LOAD T1,LNCNT,(T4) ;GET NUMBER OF BYTES IN THE MOP MESSAGE
5769 006407' 202 01 0 02 000004 MOVEM T1,.BTCNT(T2) ;STORE BYTE COUNT IN BOOT JSYS ARGUMENT BLOCK
5770 006410' 201 01 0 00 000002 MOVEI T1,.BTLOD ;GET "LOAD" FUNCTION CODE
5771 006411' 104 00 0 00 000562 BOOT ;SEND THE DATA ACROSS THE DTE20
5772 006412' 320 16 0 00 006372* ERJMP R ;FAILED, RETURN ERROR
5773 006413' 254 00 0 00 006373* RETSKP ;RETURN, DATA SENT
5774
5775
5776 ;DTEWAT - ROUTINE TO WAIT FOR A DOORBELL FROM A DTE20
5777 ;
5778 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
5779 ; CALL DTEWAT
5780 ;RETURNS: +1 FAILED
5781 ; +2 SUCCESS
5782
5783 006414' 265 16 0 00 006374* DTEWAT: ASUBR <DTWLIN>
5784
5785 006415' 260 17 0 00 010452' CALL CLRBOT ;CLEAR BOOT JSYS ARGUMENT BLOCK
5786 006416' 200 04 0 15 000001 MOVE T4,DTWLIN ;GET ADDRESS OF LINE TABLE
5787 006417' 554 01 0 04 000004 LOAD T1,LNDTE,(T4) ;GET DTE20 NUMBER
5788 006420' 200 02 0 00 014155' MOVX T2,BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK
5789 006421' 202 01 0 02 000000 MOVEM T1,.BTDTE(T2) ;SAVE DTE20 NUMBER
5790 006422' 201 01 0 00 000007 MOVX T1,.BTBEL ;GET "WAIT FOR DOORBELL" FUNCTION CODE
5791 006423' 104 00 0 00 000562 BOOT ;WAIT FOR THE DOORBELL
5792 006424' 320 16 0 00 006412* ERJMP R ;FAILED, RETURN ERROR
5793 006425' 254 00 0 00 006413* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 138
NCU MAC 6-Oct-81 12:41 Routines to Manipulate DTE-20's
5794 ;DTEDMP - ROUTINE TO GET DUMP DATA OVER THE DTE20
5795 ;
5796 ;ACCEPTS IN T1/ LINE TABLE ADDRESS
5797 ; CALL DTEDMP
5798 ;RETURNS: +1 FAILED, BOOT JSYS ERROR
5799 ; +2 SUCCESS, DATA BYTES DUMPED INTO DATA AREA FOR THIS LINE
5800
5801 006426' 265 16 0 00 006414* DTEDMP: ASUBR <DTDLIN>
5802
5803 006427' 260 17 0 00 010452' CALL CLRBOT ;GO CLEAR THE BOOT JSYS ARGUMENT BLOCK
5804 006430' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARGUMENT BLOCK
5805 006431' 200 03 0 15 000001 MOVE T3,DTDLIN ;GET ADDRESS OF LINE TABLE ENTRY
5806 006432' 554 04 0 03 000004 LOAD T4,LNDTE,(T3) ;GET DTE20 NUMBER FOR THIS LINE
5807 006433' 202 04 0 02 000000 MOVEM T4,.BTDTE(T2) ;STORE DTE20 NUMBER IN BOOT JSYS ARG BLOCK
5808 006434' 200 01 0 03 000007 LOAD T1,LNDCT,(T3) ;GET TOTAL NUMBER OF BYTES LEFT TO BE DUMPED
5809 006435' 301 01 0 00 000377 CAIL T1,MAXMEM ;LESS THAN MAX FOR ONE IMAGE DATA MESSAGE ?
5810 006436' 201 01 0 00 000377 MOVX T1,MAXMEM ;NO, USE ENOUGH TO FILL ONE DATA MESSAGE
5811 006437' 602 01 0 00 000001 TRNE T1,1 ;ODD NUMBER OF BYTES ?
5812 006440' 275 01 0 00 000001 SUBI T1,1 ;YES, DUMP INTEGRAL NUMBER OF WORDS
5813 006441' 542 01 0 03 000002 STOR T1,LNCNT,(T3) ;STORE # OF BYTES TO RETURN
5814 006442' 242 01 0 00 777777 LSH T1,-1 ;COMPUTE NUMBER OF WORDS TO DUMP
5815 006443' 202 01 0 02 000004 MOVEM T1,.BTCNT(T2) ;STORE NUMBER OF BYTES TO TRANSFER
5816 006444' 200 04 0 03 000006 LOAD T4,LNMSG,(T3) ;GET ADDRESS OF DATA AREA FOR THIS LINE
5817 006445' 505 04 0 00 441000 HRLI T4,(POINT 8,) ;FORM BYTE POINTER TO DESTINATION
5818 006446' 202 04 0 03 000003 STOR T4,LNPTR,(T3) ;STORE NEW POINTER TO DATA TO RETURN
5819 006447' 505 04 0 00 442000 HRLI T4,(POINT 16,) ;FORM POINTER FOR BOOT JSYS
5820 006450' 202 04 0 02 000005 MOVEM T4,.BTDPT(T2) ;STORE POINTER TO DESTINATION IN ARG BLOCK
5821 006451' 201 01 0 00 000003 MOVEI T1,.BTDMP ;GET BOOT JSYS FUNCTION CODE (DUMP)
5822 006452' 104 00 0 00 000562 BOOT ;DUMP THE DATA
5823 006453' 320 16 0 00 006424* ERJMP R ;FAILED, RETURN ERROR
5824 006454' 254 00 0 00 006425* RETSKP ;SUCCESS, DONE.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 139
NCU MAC 6-Oct-81 12:41 Routines to Manipulate DTE-20's
5825 ;DTERCV - ROUTINE TO RECEIVE A MOP MESSAGE ACROSS THE DTE20
5826 ;
5827 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
5828 ; CALL DTERCV
5829 ;RETURNS: +1 FAILED
5830 ; +2 SUCCESS, WITH T1/ POINTER TO START OF MOP MESSAGE
5831 ; T2/ NUMBER OF BYTES IN MOP MESSAGE
5832
5833 006455' 265 16 0 00 006426* DTERCV: ASUBR <RDTLIN>
5834
5835 006456' 260 17 0 00 010452' CALL CLRBOT ;GO CLEAR THE BOOT JSYS ARGUMENT BLOCK
5836 006457' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARGUMENT BLOCK
5837 006460' 200 04 0 15 000001 MOVE T4,RDTLIN ;GET ADDRESS OF LINE TABLE
5838 006461' 554 01 0 04 000004 LOAD T1,LNDTE,(T4) ;GET DTE20 NUMBER
5839 006462' 202 01 0 02 000000 MOVEM T1,.BTDTE(T2) ;STORE NUMBER OF DTE20 TO USE
5840
5841 ; SYNCHRONIZE WITH THE BOOTSTRAP PROGRAM BY WAITING FOR A TO-20 DOORBELL
5842
5843 006463' 201 01 0 00 000007 MOVEI T1,.BTBEL ;GET "WAIT FOR DOORBELL" FUNCTION
5844 006464' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARGUMENT BLOCK
5845 006465' 104 00 0 00 000562 BOOT ;WAIT TILL BOOTSTRAP STARTS UP
5846 006466' 320 16 0 00 006453* ERJMP R ;FAILED, RETURN ERROR
5847
5848 ; THE PROGRAM JUST LOADED IS NOW READY TO SEND BACK A MOP MESSAGE
5849
5850 006467' 200 01 0 15 000001 MOVE T1,RDTLIN ;GET ADDRESS OF LINE TABLE
5851 006470' 260 17 0 00 010445' CALL CLRMOP ;GO CLEAR THE MOP MESSAGE AREA
5852 006471' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARGUMENT BLOCK
5853 006472' 201 01 0 00 002000 MOVEI T1,RCVMAX ;GET MAX NUMBER OF BYTES WE CAN RECEIVE
5854 006473' 202 01 0 02 000004 MOVEM T1,.BTCNT(T2) ;STORE BYTE COUNT
5855 006474' 200 04 0 15 000001 MOVE T4,RDTLIN ;GET ADDRESS OF LINE TABLE
5856 006475' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO MESSAGE AREA
5857 006476' 202 01 0 02 000005 MOVEM T1,.BTDPT(T2) ;STORE POINTER TO WHERE MESSAGE GOES
5858 006477' 402 00 0 02 000003 SETZM .BTFLG(T2) ;CLEAR FLAGS
5859 006500' 201 01 0 00 000010 MOVEI T1,.BTRMP ;GET "READ MOP MESSAGE" FUNCTION CODE
5860 006501' 104 00 0 00 000562 BOOT ;GET A MOP MESSAGE
5861 006502' 320 16 0 00 006466* ERJMP R ;FAILED, RETURN ERROR
5862 006503' 200 04 0 15 000001 MOVE T4,RDTLIN ;GET ADDRESS OF LINE TABLE
5863 006504' 200 01 0 04 000006 LOAD T1,LNMSG,(T4) ;GET POINTER TO MESSAGE AREA
5864 006505' 200 02 0 14 003240 MOVE T2,.BTCNT+BTARG ;GET NUMBER OF BYTES RECEIVED
5865 006506' 254 00 0 00 006454* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 140
NCU MAC 6-Oct-81 12:41 Routines to Manipulate DTE-20's
5866 ;DTEINI - ROUTINE TO ACTIVATE THE ROM ASSOCIATED WITH A DTE20
5867 ;
5868 ;ACCEPTS IN T1/ LINE TABLE ADDRESS
5869 ; CALL DTEINI
5870 ;RETURNS: +1 FAILED, COULD NOT ACTIVATE THE ROM
5871 ; +2 SUCCESS, ROM ACTIVATED
5872
5873 006507' 265 16 0 00 006455* DTEINI: ASUBR <DTILIN>
5874 006510' 260 17 0 00 010452' CALL CLRBOT ;CLEAR THE BOOT JSYS ARGUMENT BLOCK
5875 006511' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK
5876 006512' 200 04 0 15 000001 MOVE T4,DTILIN ;GET ADDRESS OF LINE TABLE
5877 006513' 554 04 0 04 000004 LOAD T4,LNDTE,(T4) ;GET DTE20 NUMBER
5878 006514' 202 04 0 02 000000 MOVEM T4,.BTDTE(T2) ;STORE DTE20 NUMBER IN JSYS ARG BLOCK
5879 006515' 201 01 0 00 000000 MOVX T1,.BTROM ;GET "INITIALIZE ROM" FUNCTION CODE
5880 006516' 104 00 0 00 000562 BOOT ;INITIALIZE THE ROM FOR THIS DTE20
5881 006517' 320 16 0 00 006502* ERJMP R ;RETURN ERROR IF FAILED
5882 006520' 254 00 0 00 006506* RETSKP ; ELSE DONE, RETURN SUCCESS.
5883
5884
5885
5886 ;DTEGO - ROUTINE TO INITIATE A PROTOCOL STARTUP ON A GIVEN DTE20
5887 ;
5888 ;ACCEPTS IN T1/ ADDRESS OF LINE TABLE
5889 ; T2/ PROTOCOL VERSION TYPE (.VNXXX) TO USE
5890 ; CALL DTEGO
5891 ;RETURNS: +1 FAILED, DTE20 ERROR
5892 ; +2 SUCCESS, PROTOCOL INITIATED
5893
5894 006521' 265 16 0 00 006507* DTEGO: ASUBR <DTGLIN,DTGPRO>
5895
5896 006522' 260 17 0 00 010452' CALL CLRBOT ;GO CLEAR THE BOOT JSYS ARGUMENT BLOCK
5897 006523' 201 02 0 14 003234 MOVEI T2,BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK
5898 006524' 200 04 0 15 000001 MOVE T4,DTGLIN ;GET ADDRESS OF LINE TABLE
5899 006525' 554 01 0 04 000004 LOAD T1,LNDTE,(T4) ;GET DTE20 NUMBER FOR THIS LINE
5900 006526' 202 01 0 02 000000 MOVEM T1,.BTDTE(T2) ;STORE DTE20 NUMBER IN JSYS ARG BLOCK
5901 006527' 200 01 0 15 000002 MOVE T1,DTGPRO ;GET PROTOCOL VERSION TYPE
5902 006530' 202 01 0 02 000001 MOVEM T1,.BTPRV(T2) ;SAVE PROTOCOL TO USE IN BOOT JSYS ARG BLOCK
5903 006531' 201 01 0 00 000004 MOVEI T1,.BTIPR ;GET "INITIATE PROTOCOL" FUNCTION CODE
5904 006532' 104 00 0 00 000562 BOOT ;STARTUP THE PROTOCOL
5905 006533' 320 16 0 00 006517* ERJMP R ;FAILED, RETURN ERROR
5906 006534' 254 00 0 00 006520* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 141
NCU MAC 6-Oct-81 12:41 I/O Subroutines
5907 SUBTTL I/O Subroutines
5908
5909 ;INPBYT - ROUTINE TO INPUT THE NEXT BYTE FROM A PDP-11 FORMAT FILE
5910 ;
5911 ;ACCEPTS IN T1/ ADDRESS OF RECORD TABLE ENTRY
5912 ; CALL INPBYT
5913 ;RETURNS: +1 ERROR OR END OF FILE
5914 ; +2 SUCCESS, WITH BYTE IN T2
5915
5916 006535' 200 04 0 00 000001 INPBYT: MOVE T4,T1 ;SAVE RECORD TABLE ENTRY ADDRESS
5917 006536' 200 03 0 04 000002 LOAD T3,RBBYT,(T4) ;GET NUMBER OF NEXT BYTE IN WORD
5918 006537' 305 03 0 00 000004 CAIGE T3,BPWRD ;ALREADY GOT LAST BYTE IN WORD ?
5919 006540' 254 00 0 00 006546' JRST GTBT10 ;NO, GO GET NEXT BYTE IN WORD
5920
5921 ; ALL BYTES IN CURRENT WORD HAVE BEEN READ. INPUT THE NEXT DATA WORD
5922
5923 006541' 402 00 0 04 000002 SETZRO RBBYT,(T4) ;WRAP AROUND TO FIRST BYTE IN WORD
5924 006542' 554 01 0 04 000001 LOAD T1,RBJFN,(T4) ;GET JFN OF CURRENT INPUT FILE
5925 006543' 104 00 0 00 000050 BIN ;INPUT THE NEXT WORD
5926 006544' 320 16 0 00 006533* ERJMP R ;FAILED, RETURN ERROR
5927 006545' 202 02 0 04 000004 STOR T2,RBDAT,(T4) ;STORE NEXT DATA WORD FROM INPUT FILE
5928
5929 ; HERE TO ACTUALLY GET THE NEXT BYTE OF DATA
5930
5931 006546' 200 01 0 04 000004 GTBT10: LOAD T1,RBDAT,(T4) ;GET CURRENT DATA WORD
5932 006547' 200 03 0 04 000002 LOAD T3,RBBYT,(T4) ;GET NUMBER OF NEXT BYTE TO LOAD
5933 006550' 135 02 0 03 006600' LDB T2,BYTTAB(T3) ;LOAD NEXT BYTE FROM CURRENT WORD
5934 006551' 350 00 0 04 000002 INCR RBBYT,(T4) ;POINT TO NEXT BYTE IN WORD
5935 006552' 254 00 0 00 006534* RETSKP ;RETURN WITH BYTE IN T2
5936
5937
5938 ; INPWRD -- INPUT A 16-BIT WORD AS TWO 8-BIT BYTES
5939 ;
5940 ; ACCEPTS IN T1/ ADDRESS OF RECORD BLOCK FOR THIS OPERATION
5941 ;
5942 ; RETURNS:
5943 ; +1: I/O ERROR OR END-OF-FILE
5944 ; +2: SUCCESS,
5945 ; T1/ SUM OF BYTES
5946 ; T2/ 16-BIT WORD, RIGHT-JUSTIFIED
5947 ;
5948 006553' INPWRD:
5949 006553' 261 17 0 00 000001 PUSH P,T1 ;SAVE RECORD BLOCK ADDRESS
5950 006554' 260 17 0 00 006535' CALL INPBYT ;READ FIRST (LOW) BYTE
5951 006555' 263 17 0 00 000000 RET ;ERROR-- RETURN +1 FROM INPWRD
5952 006556' 262 17 0 00 000001 POP P,T1 ;RESTORE RECORD BLOCK ADDRESS
5953 006557' 261 17 0 00 000002 PUSH P,T2 ;SAVE LOW BYTE
5954 006560' 260 17 0 00 006535' CALL INPBYT ;READ SECOND (HIGH) BYTE
5955 006561' 263 17 0 00 000000 RET ;ERROR-- RETURN +1 FROM INPWRD
5956 006562' 262 17 0 00 000003 POP P,T3 ;RESTORE LOW BYTE
5957 006563' 200 01 0 00 000003 MOVE T1,T3 ;COPY IT FOR SUM
5958 006564' 270 01 0 00 000002 ADD T1,T2 ;COMPUTE SUM OF BYTES TO T1
5959 006565' 242 02 0 00 000010 LSH T2,^D8 ;SHIFT HIGH BYTE TO BITS 15-8
5960 006566' 434 02 0 00 000003 IOR T2,T3 ;MUSH TOGETHER WITH LOW BYTE INTO WORD IN T2
5961 006567' 254 00 0 00 006552* RETSKP ;RETURN +2 FROM INPWRD, SUM IN T1, WORD IN T2
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 142
NCU MAC 6-Oct-81 12:41 I/O Subroutines
5962 ;WRTDMP - ROUTINE TO OUTPUT A DUMP RECORD TO THE DUMP FILE
5963 ;
5964 ;ACCEPTS IN T1/ POINTER TO DATA TO BE OUTPUT
5965 ; T2/ NUMBER OF BYTES TO OUTPUT
5966 ; T3/ ADDRESS OF RECORD TABLE ENTRY
5967 ; CALL WRTDMP
5968 ;RETURNS: +1 FAILED, FILE DATA OR OTHER ERROR
5969 ; +2 SUCCESS, DATA OUTPUT TO FILE
5970
5971 006570' 265 16 0 00 006521* WRTDMP: ASUBR <WTDPTR,WTDCNT,WTDREC>
5972
5973 006571' 377 00 0 15 000002 WDMP10: SOSG WTDCNT ;DECREMENT # OF BYTES LEFT TO WRITE
5974 006572' 254 00 0 00 006567* RETSKP ;DONE, ALL BYTES OUTPUT
5975 006573' 200 01 0 15 000003 MOVE T1,WTDREC ;GET RECORD TABLE ENTRY ADDRESS
5976 006574' 134 02 0 15 000001 ILDB T2,WTDPTR ;GET NEXT BYTE TO OUTPUT
5977 006575' 260 17 0 00 006604' CALL WRTBYT ;GO OUTPUT THE BYTE
5978 006576' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
5979 006577' 254 00 0 00 006571' JRST WDMP10 ;LOOP OVER ALL BYTES TO OUTPUT
5980
5981
5982
5983 ; TABLE OF BYTE POINTERS TO GET THE "NEXT" BYTE IN PDP-11 FORMAT
5984
5985 006600' 22 10 0 00 000001 BYTTAB: POINT 8,T1,17
5986 006601' 32 10 0 00 000001 POINT 8,T1,9
5987 006602' 00 10 0 00 000001 POINT 8,T1,35
5988 006603' 10 10 0 00 000001 POINT 8,T1,27
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 143
NCU MAC 6-Oct-81 12:41 I/O Subroutines
5989 ;WRTBYT - ROUTINE TO WRITE A BYTE INTO A PDP-11 FORMAT FILE
5990 ;
5991 ;ACCEPTS IN T1/ ADDRESS OF RECORD TABLE ENTRY
5992 ; T2/ BYTE TO BE OUTPUT
5993 ; CALL WRTBYT
5994 ;RETURNS: +1 FAILED, OUTPUT ERROR
5995 ; +2 SUCCESS, BYTE HAS BEEN OUTPUT
5996
5997 006604' 265 16 0 00 006570* WRTBYT: ASUBR <WTDREC,WTDBYT>
5998
5999 ; DETERMINE IF AN ENTIRE WORD HAS BEEN FILLED - IF SO, OUTPUT THE WORD
6000
6001 006605' 200 04 0 15 000001 MOVE T4,WTDREC ;GET ADDRESS OF RECORD TABLE ENTRY
6002 006606' 200 03 0 04 000002 LOAD T3,RBBYT,(T4) ;GET NUMBER OF NEXT BYTE TO DEPOSIT
6003 006607' 305 03 0 00 000004 CAIGE T3,BPWRD ;THIS WORD ENTIRELY FILLED YET ?
6004 006610' 254 00 0 00 006616' JRST WTDT10 ;NO, GO DEPOSIT THE BYTE
6005
6006 ; THE CURRENT WORD HAS NO MORE ROOM AND MUST BE WRITTEN INTO THE FILE
6007
6008 006611' 554 01 0 04 000001 LOAD T1,RBJFN,(T4) ;GET JFN OF OUTPUT FILE
6009 006612' 200 02 0 04 000004 LOAD T2,RBDAT,(T4) ;GET WORD TO BE WRITTEN
6010 006613' 104 00 0 00 000051 BOUT ;OUTPUT THE WORD
6011 006614' 320 16 0 00 006544* ERJMP R ;FAILED, RETURN ERROR
6012 006615' 402 00 0 04 000002 SETZRO RBBYT,(T4) ;RESET THE BYTE COUNTER
6013
6014 ; HERE TO DEPOSIT THE BYTE INTO THE CURRENT DATA WORD
6015
6016 006616' 200 04 0 15 000001 WTDT10: MOVE T4,WTDREC ;GET ADDRESS OF RECORD TABLE ENTRY
6017 006617' 200 03 0 04 000002 LOAD T3,RBBYT,(T4) ;GET NUMBER OF NEXT BYTE TO DEPOSIT
6018 006620' 200 01 0 04 000004 LOAD T1,RBDAT,(T4) ;GET THE CURRENT DATA WORD
6019 006621' 200 02 0 15 000002 MOVE T2,WTDBYT ;GET THE DATA BYTE TO DEPOSIT
6020 006622' 137 02 0 03 006600' DPB T2,BYTTAB(T3) ;STORE THE BYTE INTO PROPER PLACE IN THE WORD
6021 006623' 202 01 0 04 000004 STOR T1,RBDAT,(T4) ;REPLACE CURRENT DATA WORD
6022 006624' 350 00 0 04 000002 INCR RBBYT,(T4) ;INCREMENT NUMBER OF NEXT BYTE TO DEPOSIT
6023 006625' 254 00 0 00 006572* RETSKP ;RETURN SUCCESS, DONE.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 144
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6024
6025 ;OPNIFL - ROUTINE TO OPEN A FILE FOR INPUT
6026 ;
6027 ;ACCEPTS IN T1/ POINTER TO ASCIZ FILESPEC
6028 ; CALL OPNIFL
6029 ;RETURNS: +1 FAILED, GTJFN OR OPENF FAILURE
6030 ; +2 SUCCESS, WITH T1/ JFN OF INPUT FILE
6031 ; T2/ FILE FORMAT TYPE (.FTXXX)
6032
6033 006626' 265 16 0 00 006275* OPNIFL: STKVAR <<OPITYP,8>,OPIJFN>
6034 006627' 000011 000011
6035 006630' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO FILESPEC
6036 006631' 205 01 0 00 100001 MOVX T1,GJ%OLD!GJ%SHT ;EXISTING FILE, SHORT CALL
6037 006632' 104 00 0 00 000020 GTJFN ;GET A JFN FOR INPUT FILE
6038 006633' 263 17 0 00 000000 RET ;FAILED, RETURN
6039 006634' 200 02 0 00 014156' MOVE T2,[440000,,OF%RD] ;36-BIT BYTES, READ ACCESS ONLY
6040 006635' 104 00 0 00 000021 OPENF ;OPEN THE FILE
6041 JRST [ RLJFN ;FAILED, RELEASE THE JFN
6042 JFCL ;IGNORE ERRORS HERE
6043 006636' 254 00 0 00 014157' RET ] ;RETURN ERROR
6044
6045 ; FIND THE FILE FORMAT TYPE FROM THE FILE TYPE
6046
6047 006637' 202 01 0 17 777766 MOVEM T1,OPIJFN ;SAVE JFN
6048 006640' 550 02 0 00 000001 HRRZ T2,T1 ;COPY THE JFN FOR JFNS
6049 006641' 561 01 0 17 777767 HRROI T1,OPITYP ;POINT STRING POINTER TO SCRATCH
6050 006642' 205 03 0 00 000100 MOVX T3,<FLD(.JSAOF,JS%TYP)> ;GET ONLY FILE TYPE
6051 006643' 104 00 0 00 000030 JFNS
6052 006644' 320 16 0 00 006614* ERJMP R ;FAILED, RETURN ERROR
6053 006645' 201 01 0 00 006657' MOVEI T1,FTYTAB ;POINT TO FILE TYPE TABLE
6054 006646' 561 02 0 17 777767 HRROI T2,OPITYP ;POINT TO SCRATCH STRING
6055 006647' 104 00 0 00 000537 TBLUK ;FIND FILE TYPE
6056 006650' 320 16 0 00 006644* ERJMP R ;FAILED, RETURN ERROR
6057 006651' 200 03 0 00 000002 MOVE T3,T2 ;COPY FLAGS
6058 006652' 550 02 0 01 000000 HRRZ T2,(T1) ;GET TABLE ENTRY, FILE TYPE FORMAT
6059 006653' 607 03 0 00 040000 TXNN T3,TL%EXM ;EXACT MATCH?
6060 006654' 263 17 0 00 000000 RET ;FAIL IF UNKNOWN FILE TYPE
6061 006655' 200 01 0 17 777766 MOVE T1,OPIJFN ;RESTORE JFN
6062 006656' 254 00 0 00 006625* RETSKP ;SUCCESS, RETURN WITH T1/ JFN, T2/ FILE FORMAT TYPE
6063
6064 ; FILE FORMAT TYPE TABLE FOR OPNIFL (TBLUK FORMAT)
6065
6066 006657' FTYTAB:
6067 006657' 000005 000005 XWD FTYTBZ,FTYTBZ
6068 006660' 014162' 000001 TB (.FTLDA,BIN)
6069 006661' 014163' 000003 TB (.FTDMP,DMP)
6070 006662' 014164' 000001 TB (.FTLDA,LDA)
6071 006663' 014165' 000002 TB (.FTTSK,SYS)
6072 006664' 014166' 000002 TB (.FTTSK,TSK)
6073 000005 FTYTBZ==.-FTYTAB-1
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 145
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6074 ;OPNOFL - ROUTINE TO OPEN A FILE FOR OUTPUT
6075 ;
6076 ;ACCEPTS IN T1/ POINTER TO ASCIZ FILESPEC
6077 ; CALL OPNOFL
6078 ;RETURNS: +1 FAILED, GTJFN OR OPENF FAILURE
6079 ; +2 SUCCESS, WITH T1/ JFN OF OUTPUT FILE
6080
6081 006665' 200 02 0 00 000001 OPNOFL: MOVE T2,T1 ;COPY POINTER TO FILESPEC
6082 006666' 205 01 0 00 400001 MOVX T1,GJ%FOU!GJ%SHT ;FILE FOR OUTPUT USE, SHORT CALL
6083 006667' 104 00 0 00 000020 GTJFN ;GET A JFN FOR OUTPUT FILE
6084 006670' 263 17 0 00 000000 RET ;FAILED, RETURN
6085 006671' 200 02 0 00 014167' MOVE T2,[440000,,OF%WR] ;36-BIT BYTES, WRITE ACCESS ONLY
6086 006672' 104 00 0 00 000021 OPENF ;OPEN THE FILE
6087 JRST [ RLJFN ;FAILED, RELEASE THE JFN
6088 JFCL ;IGNORE ERRORS HERE
6089 006673' 254 00 0 00 014157' RET ] ;RETURN ERROR
6090 006674' 254 00 0 00 006656* RETSKP ;SUCCESS, RETURN WITH T1/ JFN
6091
6092
6093
6094 ;CLSOFL - ROUTINE TO CLOSE AN OUTPUT FILE. ANY DATA REMAINING IN THE
6095 ; RECORD TABLE ENTRY MUST BE WRITTEN INTO THE FILE BEFORE THE
6096 ; FILE IS ACUTALLY CLOSED.
6097 ;
6098 ;ACCEPTS IN T1/ ADDRESS OF RECORD BLOCK
6099 ; CALL CLSOFL
6100 ;RETURNS: +1 FAILED, COULD NOT CLOSE FILE
6101 ; +2 SUCCESS, ALL DATA OUTPUT AND FILE CLOSED
6102
6103 006675' 200 04 0 00 000001 CLSOFL: MOVE T4,T1 ;COPY ADDRESS OF RECORD TABLE ENTRY
6104 006676' 554 01 0 04 000001 LOAD T1,RBJFN,(T4) ;GET JFN OF OUTPUT FILE
6105 006677' 200 02 0 04 000004 LOAD T2,RBDAT,(T4) ;GET CURRENT DATA WORD
6106 006700' 336 00 0 04 000002 JE RBBYT,(T4),CLOF10 ;IF NO BYTES IN THIS WORD, SKIP OUTPUT
6107 006701' 254 00 0 00 006704'
6108 006702' 104 00 0 00 000051 BOUT ;OUTPUT THE REMAINING BYTES
6109 006703' 320 16 0 00 006704' ERJMP CLOF10 ;TRY TO CLOSE FILE ANYWAY ON ERROR
6110 006704' 104 00 0 00 000022 CLOF10: CLOSF ;CLOSE THE FILE
6111 006705' 320 16 0 00 006650* ERJMP R ;RETURN FAILURE IF COULD NOT CLOSE FILE
6112 006706' 254 00 0 00 006674* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 146
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6113
6114 ;INPLDA - ROUTINE TO INPUT ONE BLOCK FROM A PDP-11 FORMAT .LDA FILE
6115 ;
6116 ;ACCEPTS IN T1/ ADDRESS OF RECORD BLOCK
6117 ; CALL INPLDA
6118 ;RETURNS: +1 FAILED, BAD FILE FORMAT, PREMATURE EOF, OR BAD CHECKSUM
6119 ; +2 SUCCESS, WITH DATA INPUT INTO RECORD BLOCK
6120
6121 006707' 265 16 0 00 006604* INPLDA: ASUBR <IBKREC,IBKSUM,IBKCTR,IBKCNT>
6122 006710' 265 16 0 00 006626* STKVAR <IBKPTR>
6123 006711' 000001 000001
6124 006712' 402 00 0 15 000002 SETZM IBKSUM ;INITIALIZE THE CHECKSUM
6125
6126 ; SKIP OVER INITIAL ZERO BYTES
6127
6128 006713' 200 01 0 15 000001 IBLK10: MOVE T1,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6129 006714' 260 17 0 00 006535' CALL INPBYT ;GO GET A BYTE FROM THE INPUT FILE
6130 006715' 263 17 0 00 000000 RET ;FAILED, RETURN
6131 006716' 322 02 0 00 006713' JUMPE T2,IBLK10 ;SKIP OVER ZERO BYTES
6132
6133 ; THE NEXT TWO BYTES SHOULD BE A 1-BYTE FOLLOWED BY A 0-BYTE
6134
6135 006717' 272 02 0 15 000002 ADDM T2,IBKSUM ;ADD BYTE JUST INPUT TO CHECKSUM
6136 006720' 302 02 0 00 000001 CAIE T2,1 ;NEXT BYTE A 1-BYTE ?
6137 006721' 263 17 0 00 000000 RET ;NO, BAD FILE FORMAT
6138 006722' 200 01 0 15 000001 MOVE T1,IBKREC ;YES, GET ADDRESS OF RECORD TABLE ENTRY
6139 006723' 260 17 0 00 006535' CALL INPBYT ;GO GET THE NEXT BYTE FROM THE INPUT FILE
6140 006724' 263 17 0 00 000000 RET ;FAILED, RETURN
6141 006725' 272 02 0 15 000002 ADDM T2,IBKSUM ;ADD BYTE JUST INPUT TO CHECKSUM
6142 006726' 302 02 0 00 000000 CAIE T2,0 ;JUST READ A 0-BYTE ?
6143 006727' 263 17 0 00 000000 RET ;NO, BAD FILE FORMAT
6144
6145 ; INPUT THE BYTE COUNT (2 BYTES)
6146
6147 006730' 200 01 0 15 000001 MOVE T1,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6148 006731' 260 17 0 00 006553' CALL INPWRD ;GET NEXT WORD FROM FILE
6149 006732' 263 17 0 00 000000 RET ;FAILED, RETURN
6150 006733' 272 01 0 15 000002 ADDM T1,IBKSUM ;UPDATE THE CHECKSUM
6151 006734' 202 02 0 15 000004 MOVEM T2,IBKCNT ;SAVE BYTE COUNT
6152 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 147
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6153 ; ..
6154
6155 ; READ THE LOAD OR TRANSFER ADDRESS (2 BYTES)
6156
6157 006735' 200 01 0 15 000001 MOVE T1,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6158 006736' 260 17 0 00 006553' CALL INPWRD ;GO GET A WORD FROM THE INPUT FILE
6159 006737' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
6160 006740' 272 01 0 15 000002 ADDM T1,IBKSUM ;ADD THIS WORD TO THE CHECKSUM
6161 006741' 200 04 0 15 000001 MOVE T4,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6162 006742' 202 02 0 04 000006 STOR T2,RBNAD,(T4) ;STORE LOAD ADR IN RECORD TABLE ENTRY
6163 006743' 202 02 0 04 000010 STOR T2,RBXAD,(T4) ;STORE TRANSFER ADR IN RECORD TABLE ENTRY
6164
6165 ; SET UP TO READ THE DATA BYTES FROM THE BLOCK
6166
6167 006744' 200 01 0 15 000004 MOVE T1,IBKCNT ;GET BYTE COUNT
6168 006745' 275 01 0 00 000006 SUBI T1,BINHDR ;ALLOW FOR BYTES IN HEADER
6169 006746' 202 01 0 15 000003 MOVEM T1,IBKCTR ;SAVE NUMBER OF DATA BYTES TO READ
6170 006747' 200 04 0 15 000001 MOVE T4,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6171 006750' 542 01 0 04 000005 STOR T1,RBCNT,(T4) ;SAVE NUMBER OF DATA BYTES IN RECORD TABLE ENTRY
6172 006751' 200 01 0 04 000003 LOAD T1,RBPTR,(T4) ;GET POINTER TO DESTINATION FOR DATA
6173 006752' 202 01 0 17 777776 MOVEM T1,IBKPTR ;SAVE POINTER TO DESTINATION OF NEXT DATA BYTE
6174
6175 ; READ THE DATA BYTES FROM THE BLOCK
6176
6177 006753' 375 00 0 15 000003 IBLK20: SOSGE IBKCTR ;ANOTHER BYTE TO READ ?
6178 006754' 254 00 0 00 006763' JRST IBLK30 ;NO, GO READ AND VERIFY BLOCK CHECKSUM
6179 006755' 200 01 0 15 000001 MOVE T1,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6180 006756' 260 17 0 00 006535' CALL INPBYT ;GET A BYTE FROM THE FILE
6181 006757' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
6182 006760' 272 02 0 15 000002 ADDM T2,IBKSUM ;UPDATE THE CHECKSUM
6183 006761' 136 02 0 17 777776 IDPB T2,IBKPTR ;STORE THE BYTE IN THE RECORD BLOCK
6184 006762' 254 00 0 00 006753' JRST IBLK20 ;GO GET THE NEXT BYTE FROM THE FILE
6185
6186 ; HERE TO READ AND VERIFY THE CHECKSUM AFTER READING THE DATA BYTES
6187
6188 006763' 200 01 0 15 000001 IBLK30: MOVE T1,IBKREC ;GET ADDRESS OF RECORD TABLE ENTRY
6189 006764' 260 17 0 00 006535' CALL INPBYT ;GO GET A BYTE FROM THE FILE
6190 006765' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
6191 006766' 210 01 0 15 000002 MOVN T1,IBKSUM ;GET -CHECKSUM
6192 006767' 135 01 0 00 014170' LDB T1,[POINT 8,T1,35] ;GET JUST THE LOW ORDER BYTE OF CHECKSUM
6193 006770' 312 01 0 00 000002 CAME T1,T2 ;CHECKSUM VERIFY CORRECLTY ?
6194 006771' 263 17 0 00 000000 RET ;NO, RETURN FAILURE
6195
6196 ; HERE WHEN DONE - RETURN TO CALLER
6197
6198 006772' 254 00 0 00 006706* RETSKP ;RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 148
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6199 ; INPTSK/INPDMP - INPUT A BLOCK FROM A TASK-IMAGE OR DUMP FORMAT FILE
6200 ;
6201 ; ACCEPTS IN:
6202 ; T1/ RECORD BLOCK ADDRESS
6203 ;
6204 ; RETURNS:
6205 ; +1: FAILED, I/O ERROR, INVALID FORMAT OR PREMATURE EOF
6206 ; +2: SUCCESS, DATA LOADED INTO RECORD BLOCK
6207 ;
6208 006773' INPDMP:
6209 006773' INPTSK:
6210 006773' 265 16 0 00 000000* TRVAR <ITSREC,ITSCNT,ITSPTR>
6211 006774' 000003 000003
6212 006775' 202 01 0 15 000001 MOVEM T1,ITSREC ;SAVE ADDRESS OF RECORD BLOCK
6213 ;
6214 ; SEE IF WE HAVE READ LABEL BLOCKS ALREADY
6215 ; SET NEW ADDRESS FOR THIS BLOCK
6216 ;
6217 006776' 200 02 0 01 000007 LOAD T2,RBCAD,(T1) ;GET CURRENT ADDRESS
6218 006777' 202 02 0 01 000006 STOR T2,RBNAD,(T1) ;SET CURRENT ADDRESS AS NEXT ADDRESS
6219 007000' 312 02 0 00 014136' CAME T2,[EXP -1] ;HAS ADDRESS
6220 007001' 301 02 0 00 777777 CAIL T2,777777 ; BEEN SET YET?
6221 007002' 334 00 0 00 000000 SKIPA ;NO-- READ LABEL BLOCKS
6222 007003' 254 00 0 00 007006' JRST ITSCBC ;YES-- JUST MOVE DATA FROM FILE
6223 ;
6224 ; SET UP BYTE COUNTS, READING LABEL BLOCKS IF NEEDED
6225
6226 007004' 260 17 0 00 007027' CALL INPCNT ;GO SET UP COUNTS
6227 007005' 263 17 0 00 000000 RET ;FAILED
6228 ;
6229 ; COMPUTE BYTE COUNT FOR THIS RECORD
6230 ;
6231 007006' 554 02 0 01 000005 ITSCBC: LOAD T2,RBFCT,(T1) ;GET REMAINING BYTE COUNT IN FILE
6232 007007' 200 03 0 00 000002 MOVE T3,T2 ;COPY BYTE COUNT
6233 007010' 303 02 0 00 000377 CAILE T2,MAXMEM ;MORE THAN MAX ALLOWED IN MEMORY MESSAGES?
6234 007011' 201 02 0 00 000377 MOVX T2,MAXMEM ;YES-- USE MAXIMUM
6235 007012' 274 03 0 00 000002 SUB T3,T2 ;COMPUTE REMAINING BYTE COUNT
6236 007013' 506 03 0 01 000005 STOR T3,RBFCT,(T1) ;STORE UPDATED COUNT
6237 007014' 202 02 0 15 000002 MOVEM T2,ITSCNT ;REMEMBER THE COUNT
6238 007015' 542 02 0 01 000005 STOR T2,RBCNT,(T1) ; ALSO FOR EVERYBODY ELSE
6239 ;
6240 ; READ BYTES INTO RECORD
6241 ;
6242 007016' 200 02 0 01 000003 LOAD T2,RBPTR,(T1) ;GET POINTER TO DATA REGION
6243 007017' 202 02 0 15 000003 MOVEM T2,ITSPTR ;SAVE THAT
6244 ;
6245 ; LOOP THROUGH THE BYTES . . .
6246 ;
6247 007020' 375 00 0 15 000002 ITSBLP: SOSGE ITSCNT ;COUNT DOWN, WE DONE?
6248 007021' 254 00 0 00 006772* RETSKP ;YES-- RETURN +2 FROM INPTSK
6249 007022' 200 01 0 15 000001 MOVE T1,ITSREC ;GET RECORD BLOCK ADDRESS
6250 007023' 260 17 0 00 006535' CALL INPBYT ;GET NEXT FILE BYTE
6251 007024' 263 17 0 00 000000 RET ;ERROR OR EOF-- RETURN NOW
6252 007025' 136 02 0 15 000003 IDPB T2,ITSPTR ;STORE BYTE
6253 007026' 254 00 0 00 007020' JRST ITSBLP ;LOOP FOR ALL BYTES
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 149
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6254 ; INPCNT - SET UP COUNTS AND READ LABEL BLOCKS IF NEEDED
6255 ;
6256 ; ACCEPTS IN:
6257 ; ITSREC/ ADDRESS OF RECORD BLOCK
6258 ;
6259 ; RETURNS:
6260 ; +1 ERROR
6261 ; +2 SUCCESS, WITH RBFCT, RBSAD, RBNAD SET UP
6262 ;
6263 007027' 200 01 0 15 000001 INPCNT: MOVE T1,ITSREC ;GET ADDRESS OF RECORD BLOCK
6264 007030' 550 02 0 01 000001 LOAD T2,RBTYP,(T1) ;GET FILE TYPE (.FTXXX)
6265 007031' 301 02 0 00 000000 CAIL T2,0 ;RANGE CHECK THE FILE
6266 007032' 301 02 0 00 000004 CAIL T2,FTYPLN ; TYPE CODE
6267 007033' 263 17 0 00 000000 RET ;FAIL, INVALID FILE TYPE
6268 007034' 254 00 1 02 007035' CALLRET @FLTYPE(T2) ;DISPATCH TO ROUTINE TO SET UP COUNTS
6269
6270 007035' 263 17 0 00 000000 FLTYPE: RET ; 0 IS ILLEGAL
6271 007036' 263 17 0 00 000000 RET ; .FTLDA - SHOULD NOT BE HERE FOR LDA FILES
6272 007037' 000000 007041' INPTCT ; .FTTSK - TASK-IMAGE FILE TYPE
6273 007040' 000000 007110' INPDCT ; .FTDMP - DUMP FORMAT FILE TYPE
6274 000004 FTYPLN==.-FLTYPE ;SIZE OF TYPE DISPATCH TABLE
6275
6276
6277 ; INPTCT - INPUT COUNTS FOR A TASK-IMAGE FILE TYPE
6278 ;
6279 ; ACCEPTS:
6280 ; ITSREC/ ADDRESS OF RECORD BLOCK
6281 ;
6282 ; RETURNS:
6283 ; +1 FAILED
6284 ; +2 SUCCESS, WITH COUNTS SET UP IN RECORD BLOCK
6285
6286 007041' INPTCT:
6287 ;
6288 ; READ LABEL BLOCKS
6289 ;
6290 ; SETS UP RBFCT, RBXAD, AND RBNAD
6291 ;
6292 007041' 201 02 0 00 000010 MOVEI T2,L$BSA-0 ;SKIP TO L$BSA
6293 007042' 260 17 0 00 007131' CALL ITSSKP ; . .
6294 007043' 263 17 0 00 000000 RET ;ERROR OR END-OF-FILE
6295 ;
6296 007044' 260 17 0 00 006553' CALL INPWRD ;GET BASE ADDRESS: L$BSA
6297 007045' 263 17 0 00 000000 RET ;ERROR/EOF
6298 007046' 200 01 0 15 000001 MOVE T1,ITSREC ;POINT TO RECORD BLOCK
6299 007047' 202 02 0 01 000006 STOR T2,RBNAD,(T1) ;STORE BASE ADDRESS
6300 ;
6301 007050' 201 02 0 00 000004 MOVEI T2,L$BLDZ-<L$BSA+2> ;SKIP TO L$BLDZ
6302 007051' 260 17 0 00 007131' CALL ITSSKP ; . .
6303 007052' 263 17 0 00 000000 RET ;ERROR/EOF
6304 ;
6305 007053' 260 17 0 00 006553' CALL INPWRD ;GET LOAD SIZE / 64.: L$BLSZ
6306 007054' 263 17 0 00 000000 RET ;ERROR/EOF
6307 007055' 242 02 0 00 000006 LSH T2,^D6 ;CONVERT LOAD SIZE TO BYTES
6308 007056' 200 01 0 15 000001 MOVE T1,ITSREC ;POINT TO RECORD BLOCK
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 149-1
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6309 007057' 506 02 0 01 000005 STOR T2,RBFCT,(T1) ;STORE LOAD SIZE AS BYTES LEFT IN FILE
6310 ;
6311 007060' 201 02 0 00 000010 MOVEI T2,L$BFLG-<L$BLDZ+2> ;SKIP TO L$BFLG
6312 007061' 260 17 0 00 007131' CALL ITSSKP ; . .
6313 007062' 263 17 0 00 000000 RET ;ERROR/EOF
6314 ;
6315 007063' 260 17 0 00 006553' CALL INPWRD ;GET FLAGS WORD: L$BFLG
6316 007064' 263 17 0 00 000000 RET ;ERROR/EOF
6317 007065' 606 02 0 00 040000 TXNN T2,TS$NHD ;TASK FILE HAVE NO HEADER: TS$NHD= 1?
6318 007066' 263 17 0 00 000000 RET ;NO-- NOT SYSTEM IMAGE
6319 ;
6320 007067' 201 02 0 00 000316 MOVEI T2,L$BXFR-<L$BFLG+2> ;SKIP TO L$BXFR
6321 007070' 260 17 0 00 007131' CALL ITSSKP ; . .
6322 007071' 263 17 0 00 000000 RET ;ERROR/EOF
6323 ;
6324 007072' 260 17 0 00 006553' CALL INPWRD ;GET TRANSFER ADDRESS: L$BXFR
6325 007073' 263 17 0 00 000000 RET ;ERROR/EOF
6326 007074' 200 01 0 15 000001 MOVE T1,ITSREC ;POINT TO RECORD BLOCK
6327 007075' 202 02 0 01 000010 STOR T2,RBXAD,(T1) ;STORE TRANSFER ADDRESS
6328 ;
6329 007076' 201 02 0 00 000004 MOVEI T2,L$BHRB-<L$BXFR+2> ;SKIP TO L$BHRB
6330 007077' 260 17 0 00 007131' CALL ITSSKP ; . .
6331 007100' 263 17 0 00 000000 RET ;ERROR/EOF
6332 ;
6333 007101' 260 17 0 00 006553' CALL INPWRD ;GET RELATIVE BLOCK OF IMAGE: L$BHRB
6334 007102' 263 17 0 00 000000 RET ;ERROR/EOF
6335 007103' 242 02 0 00 000011 LSH T2,^D9 ;CONVERT TO BYTES (512. BYTES/BLOCK)
6336 007104' 275 02 0 00 000360 SUBI T2,L$BHRB+2 ;MINUS BYTES ALREADY READ
6337 007105' 260 17 0 00 007131' CALL ITSSKP ;SKIP REMAINING LABEL BLOCKS
6338 007106' 263 17 0 00 000000 RET ;ERROR/EOF
6339 007107' 254 00 0 00 007021* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 150
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6340 ; INPDCT - ROUTINE TO SET UP THE COUNT FOR A DUMP FORMAT FILE
6341 ;
6342 ; ACCEPTS:
6343 ; ITSREC/ ADDRESS OF RECORD BLOCK
6344 ;
6345 ; RETURNS:
6346 ; +1 FAILED
6347 ; +2 SUCCESS, WITH COUNTS SET UP
6348
6349 007110' 200 01 0 15 000001 INPDCT: MOVE T1,ITSREC ;GET ADDRESS OF RECORD BLOCK
6350 007111' 402 00 0 01 000006 SETZRO <RBNAD,RBXAD>,(T1) ;INITIALIZE COUNTS
6351 007112' 402 00 0 01 000010
6352 007113' 554 01 0 01 000001 LOAD T1,RBJFN,(T1) ;GET JFN OF INPUT FILE
6353 007114' 200 02 0 00 014171' MOVX T2,<2,,.FBBYV> ;TWO WORDS, BYTE SIZE WORD & FILE SIZE
6354 007115' 201 03 0 00 000002 MOVX T3,T2 ;PUT RESULTS INTO T2 AND T3
6355 007116' 104 00 0 00 000063 GTFDB ;GET FILE DATA
6356 007117' 320 16 0 00 006705* ERJMP R ;FAILED
6357 007120' 135 02 0 00 014172' LOAD T2,FB%BSZ,T2 ;GET FILE BYTE SIZE
6358 007121' 201 01 0 00 000044 MOVX T1,^D36 ;GET # OF BITS PER WORD
6359 007122' 230 01 0 00 000002 IDIV T1,T2 ;COMPUTE NUMBER OF BYTES PER WORD IN FILE
6360 007123' 271 03 0 01 777777 ADDI T3,-1(T1) ;FILE SIZE + BYTES/WORD -1
6361 007124' 230 03 0 00 000001 IDIV T3,T1 ;ROUND FILES SIZE
6362 007125' 221 03 0 00 000004 IMULI T3,BPWRD ;COMPUTE NUMBER OF KL20 WORDS
6363 007126' 200 01 0 15 000001 MOVE T1,ITSREC ;GET ADDRESS OF RECORD BLOCK
6364 007127' 506 03 0 01 000005 STOR T3,RBFCT,(T1) ;STORE COUNT
6365 007130' 254 00 0 00 007107* RETSKP ;DONE, RETURN
6366
6367
6368
6369 ; ITSSKP -- SKIP SOME BYTES IN T2
6370 ;
6371 ; ACCEPTS IN:
6372 ; T2/ COUNT OF BYTES TO SKIP
6373 ;
6374 ; RETURNS:
6375 ; +1: ERROR/EOF
6376 ; +2: SUCCESS, T1 POINTS TO RECORD BLOCK
6377 ;
6378 007131' ITSSKP:
6379 007131' 202 02 0 15 000002 MOVEM T2,ITSCNT ;SAVE COUNT
6380 007132' ITSSLP:
6381 007132' 200 01 0 15 000001 MOVE T1,ITSREC ;POINT TO RECORD BLOCK
6382 007133' 375 00 0 15 000002 SOSGE ITSCNT ;BYTES LEFT?
6383 007134' 254 00 0 00 007130* RETSKP ;NO-- RETURN +2 FROM ITSSKP
6384 007135' 260 17 0 00 006535' CALL INPBYT ;GET A BYTE
6385 007136' 263 17 0 00 000000 RET ;ERROR/EOF
6386 007137' 254 00 0 00 007132' JRST ITSSLP ;SKIP MORE....
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 151
NCU MAC 6-Oct-81 12:41 I/O Subroutines
6387 ;GETLNK - ROUTINE TO GET A LOGICAL LINK TO A NICE PROCESS
6388 ;
6389 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME OF DESTINATION
6390 ; CALL GETLNK
6391 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
6392 ; +2 SUCCESS, WITH T1/ LOGICAL LINK NUMBER (I.E., JFN)
6393
6394 007140' 265 16 0 00 006710* GETLNK: STKVAR <GLLNOD,<GLLNAM,20>,<GLLBLK,20>>
6395 007141' 000041 000041
6396 007142' 202 01 0 17 777776 MOVEM T1,GLLNOD ;SAVE POINTER TO NAME OF DESTINATION NODE
6397 007143' 205 01 0 17 777736 MOVSI T1,GLLBLK ;SET UP TO CLEAR
6398 007144' 541 01 0 17 777737 HRRI T1,1+GLLBLK ; THE GTJFN BLOCK
6399 007145' 402 00 0 17 777736 SETZM GLLBLK ;CLEAR FIRST WORD OF BLOCK
6400 007146' 251 01 0 17 777755 BLT T1,17+GLLBLK ;CLEAR REMAINDER OF BLOCK
6401 007147' 561 01 0 00 014173' HRROI T1,[ASCIZ/DCN/] ;GET POINTER TO ASCIZ DEVICE NAME OF DESTINATION
6402 007150' 202 01 0 17 777740 MOVEM T1,.GJDEV+GLLBLK ;SAVE POINTER TO DEVICE
6403 007151' 561 01 0 17 777756 HRROI T1,GLLNAM ;GET POINTER TO TEMPORARY STRING AREA
6404 007152' 200 02 0 17 777776 MOVE T2,GLLNOD ;GET POINTER TO NAME OF DESTINATION NODE
6405 007153' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
6406 007154' 104 00 0 00 000053 SOUT ;COPY THE NAME OF THE DESTINATION NODE
6407 007155' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNCATIONS ERROR"
6408 007156' 201 02 0 00 000055 MOVEI T2,"-" ;GET DELIMITER BETWEEN NODE AND SERVER NAME
6409 007157' 136 02 0 00 000001 IDPB T2,T1 ;ADD DELIMITER TO FILE NAME
6410 007160' 561 02 0 00 014174' HRROI T2,[ASCIZ/NCU/] ;GET POINTER TO NAME OF NICE PROCESS SERVER
6411 007161' 104 00 0 00 000053 SOUT ;ADD SERVER NAME TO FILESPEC
6412 007162' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
6413 007163' 561 01 0 17 777756 HRROI T1,GLLNAM ;GET POINTER TO FILE NAME
6414 007164' 202 01 0 17 777742 MOVEM T1,.GJNAM+GLLBLK ;SAVE POINTER TO NAME OF FILE
6415 007165' 402 00 0 17 777743 SETZM .GJEXT+GLLBLK ;NO EXTENSION NEEDED
6416 007166' 402 00 0 17 777736 SETZM .GJGEN+GLLBLK ;NO FLAGS
6417 007167' 200 01 0 00 014175' MOVE T1,[.NULIO,,.NULIO] ;NO JFN'S NEEDED
6418 007170' 202 01 0 17 777737 MOVEM T1,.GJSRC+GLLBLK ;SAVE NULL JFN'S AS SOURCE, ECHOING JFN'S
6419 007171' 402 00 0 00 000002 SETZM T2 ;NO STRING POINTER
6420 007172' 201 01 0 17 777736 MOVEI T1,GLLBLK ;GET ADDRESS OF GTJFN BLOCK
6421 007173' 104 00 0 00 000020 GTJFN ;GET A JFN FOR THE NICE PROCESS
6422 007174' 320 16 0 00 013647' ERJMP [RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
6423 007175' 202 01 0 00 000004 MOVEM T1,T4 ;SAVE JFN IN CASE OPENF FAILS
6424 007176' 200 02 0 00 014176' MOVE T2,[100000,,OF%RD+OF%WR] ;8 BIT BYTES, READ AND WRITE ACCESS
6425 007177' 104 00 0 00 000021 OPENF ;OPEN THE LOGICAL LINK
6426 ERJMP [MOVE T1,T4 ;FAILED, RESTORE JFN
6427 RLJFN ;RELEASE JFN
6428 JFCL ;IGNORE FAILURE, NOT CRITICAL
6429 007200' 320 16 0 00 014177' RETBAD (.NRCME)] ;FAILED, RETURN "COMMUNICATIONS ERROR"
6430 007201' 254 00 0 00 007134* RETSKP ;DONE, JFN (LOGICAL LINK NUMBER) IS IN T1
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 152
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6431 SUBTTL SYSERR Routines
6432
6433 ;LOGGER - ROUTINE TO PERFORM LOGGING OF LINE COUNTER DATA
6434 ;
6435
6436 007202' 200 17 0 00 014203' LOGGER::MOVE P,[-PDLEN,,LOGPDL-1] ;SET UP STACK POINTER
6437 007203' 201 14 0 00 300000 MOVEI P5,LOGFFP_9 ;GET ADDRESS OF SCRATCH AREA FOR LOGGING PROCESS
6438
6439
6440 ; PERIODICALLY LOG LINE COUNTERS
6441
6442 007204' 260 17 0 00 007210' LOGR20: CALL TSTLOG ;DO ANY LINE COUNTER LOGGING NEEDED
6443 007205' 200 01 0 00 010632' MOVE T1,LOGTIM ;GET TIME INTERVAL BETWEEN LOGGINGS
6444 007206' 104 00 0 00 000167 DISMS ;WAIT
6445 007207' 254 00 0 00 007204' JRST LOGR20 ;GO CHECK TO SEE IF LOGGING IS STILL ENABLED
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 153
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6446 ;TSTLOG - ROUTINE TO LOOP OVER ALL NODES LOOKING FOR LINES WHOSE
6447 ; COUNTERS ARE TO BE LOGGED
6448
6449 007210' TSTLOG:
6450
6451 ; LOOP OVER ALL NIBS, CHECKING FOR LINES FOR WHICH COUNTERS SHOULD BE LOGGED
6452
6453 007210' 201 10 0 00 000000* TSTL05: MOVEI P1,NIBTAB ;GET BASE ADDRESS OF NIB TABLES
6454 007211' 335 11 0 00 010742' SKIPGE P2,NXTNIB ;GET NUMBER OF NIBS
6455 007212' 263 17 0 00 000000 RET ;NO NIBS DEFINED YET, DONE
6456 007213' 200 01 0 00 000010 TSTL10: MOVE T1,P1 ;GET NIB ADDRESS
6457 007214' 260 17 0 00 007220' CALL CHKLOG ;GO SEE IF ANY OF THESE LINES SHOULD BE LOGGED
6458 007215' 271 10 0 00 000022 ADDI P1,NIBSIZ ;POINT TO NEXT NIB
6459 007216' 365 11 0 00 007213' SOJGE P2,TSTL10 ;DO ALL NIBS
6460 007217' 263 17 0 00 000000 RET ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 154
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6461 ;CHKLOG - ROUTINE TO CHECK IF ANY LINES SHOULD HAVE COUNTERS LOGGED
6462 ; FOR A GIVEN NODE.
6463 ;
6464 ;ACCEPTS IN T1/ NIB ADDRESS FOR THE NODE
6465 ; CALL CHKLOG
6466 ;RETURNS: +1 ALWAYS, COUNTERS LOGGED IF NEEDED
6467
6468 007220' 265 16 0 00 006707* CHKLOG: ASUBR <CHLNIB,CHLNAM>
6469 007221' 265 16 0 00 000000* ACVAR <W3,W4>
6470 007222' 200 04 0 01 000007 LOAD T4,NDNAM,(T1) ;GET POINTER TO NAME OF THIS NODE
6471 007223' 202 04 0 15 000002 MOVEM T4,CHLNAM ;SAVE POINTER TO NAME
6472
6473 ; LOCK THE NODE IN CASE IT IS BEING LOADED OR DUMPED
6474
6475 007224' 200 01 0 15 000001 MOVE T1,CHLNIB ;GET NIB ADDRESS
6476 007225' 205 02 0 00 400000 MOVX T2,RM%PRI ;PRIMARY RESOURCE (LOAD OR DUMP)
6477 007226' 260 17 0 00 000556* CALL LOKNOD ;LOCK THE NODE
6478
6479 ; LOOP OVER THE NODE'S LINES
6480
6481 007227' 200 01 0 15 000001 MOVE T1,CHLNIB ;GET NIB ADDRESS
6482 007230' 200 06 0 01 000006 LOAD W4,NDLIN,(T1) ;GET ADDRESS OF LINE TABLE FOR OUR NODE
6483 007231' 205 05 0 00 777773 MOVSI W3,-MXLNOD ;SET UP TO LOOP OVER EACH ENTRY IN LINE TABLE
6484 007232' 200 01 0 15 000002 CHL010: MOVE T1,CHLNAM ;GET POINTER TO NAME
6485 007233' 120 02 0 06 000000 DMOVE T2,(W4) ;GET LINE ID
6486 007234' 200 16 0 06 000002 JE LTUSE,(W4),CHL020 ;SKIP THIS ENTRY IF NOT IN USE
6487 007235' 325 16 0 00 007243'
6488 007236' 200 16 0 06 000002 JE LTLOG,(W4),CHL020 ;IF LOGGING NOT ENABLES FOR THIS LINE, GO ON
6489 007237' 607 16 0 00 200000
6490 007240' 254 00 0 00 007243'
6491 007241' 260 17 0 00 007251' CALL LOGCTR ;LOG COUNTERS IF THIS LINE ENABLED
6492 007242' 254 00 0 00 014204' NON.FATAL.ERROR (.ERR21)
6493 007243' 271 06 0 00 000004 CHL020: ADDI W4,LATSIZ ;POINT TO NEXT TABLE ENTRY
6494 007244' 253 05 0 00 007232' AOBJN W3,CHL010 ;LOOP OVER ALL LINE TABLE ENTRIES
6495
6496 ; UNLOCK THE NODE AND RETURN
6497
6498 007245' 200 01 0 15 000001 MOVE T1,CHLNIB ;GET NIB ADDRESS
6499 007246' 205 02 0 00 400000 MOVX T2,RM%PRI ;PRIMARY RESOURCE
6500 007247' 260 17 0 00 000653* CALL ULKNOD ;UNLOCK THE NIB
6501 007250' 263 17 0 00 000000 RET ;DONE, RETURN
6502
6503 ENDAV.
6504 ENDAS.
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 155
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6505 ;LOGCTR - ROUTINE TO LOG LINE COUNTERS FOR A SPECIFIED LINE
6506 ;
6507 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
6508 ; T2-T3/ LINE ID OF LINE FOR WHICH COUNTERS ARE WANTED
6509 ; CALL LOGCTR
6510 ;RETURNS: +1 FAILED, COULD NOT LOG COUNTERS
6511 ; +2 SUCCESS, COUNTERS LOGGED IN SYSERR FILE
6512
6513 007251' 265 16 0 00 007220* LOGCTR: ASUBR <LCTNOD,LCTBLK,LCTNUM>
6514 007252' 265 16 0 00 007140* STKVAR <LCTPTR,LCTCNT,LCTLEN,<LCTLIN,2>>
6515 007253' 000005 000005
6516 007254' 124 02 0 17 777772 DMOVEM T2,LCTLIN ;SAVE LINE ID
6517
6518 ; READ THE LINE COUNTERS FROM THE OBJECT NODE NCU
6519
6520 007255' 200 01 0 15 000001 MOVE T1,LCTNOD ;GET POINTER TO ASCIZ NODE NAME
6521 007256' 120 02 0 17 777772 DMOVE T2,LCTLIN ;GET LINE ID
6522 007257' 260 17 0 00 007515' CALL REDCTR ;GO READ THE COUNTERS
6523 007260' 263 17 0 00 000000 RET ;FAILED
6524 007261' 134 04 0 00 000001 ILDB T4,T1 ;GET COUNTER TYPE CODE
6525 007262' 302 04 0 00 000004 CAIE T4,.RDLCT ;LINE COUNTERS RETURNED ?
6526 007263' 263 17 0 00 000000 RET ;NO, FAIL
6527 007264' 275 02 0 00 000001 SUBI T2,1 ;ACCOUNT FOR TYPE CODE
6528
6529 ; EXTRACT THE LINE ID FROM THE NICE MESSAGE
6530
6531 007265' 260 17 0 00 004560' CALL GETLIN ;GO GET THE LINE ID
6532 007266' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR TO CALLER
6533 007267' 316 03 0 17 777772 CAMN T3,LCTLIN ;DID WE RECEIVE THE INFO FOR THE LINE
6534 007270' 312 04 0 17 777773 CAME T4,1+LCTLIN ; FOR WHICH IT WAS REQUESTED ?
6535 007271' 263 17 0 00 000000 RET ;NO, ERROR
6536 007272' 202 01 0 17 777776 MOVEM T1,LCTPTR ;YES, SAVE POINTER TO NEXT FIELD IN MESSAGE
6537 007273' 202 02 0 17 777775 MOVEM T2,LCTCNT ;SAVE NUMBER OF BYTES REMAINING IN MESSAGE
6538
6539 ; GET A BLOCK TO USE FOR SYSERR ENTRIES
6540
6541 007274' 201 01 0 00 000050 MOVEI T1,MAXSYE ;GET MAX SIZE OF SYSERR ENTRIES
6542 007275' 260 17 0 00 005065* CALL GETFRE ;ASSIGN A BLOCK
6543 007276' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
6544 007277' 271 01 0 00 000001 ADDI T1,1 ;POINT PAST THE HEADER
6545 007300' 202 01 0 15 000002 MOVEM T1,LCTBLK ;SAVE ADDRESS OF SYSERR BLOCK
6546
6547 ; ASSEMBLE THE SYSERR ENTRY HEADER
6548
6549 007301' 201 01 0 00 000230 MOVX T1,SY%LCT ;GET ENTRY TYPE CODE (LINE COUNTERS)
6550 007302' 201 02 0 00 000013 MOVX T2,^D11 ;SIZE OF LINE COUNTER ENTRIES
6551 007303' 200 03 0 15 000002 MOVE T3,LCTBLK ;ADDRESS OF SYSERR ENTRY
6552 007304' 260 17 0 00 007607' CALL SYRHDR ;ASSEMBLE A SYSERR ENTRY HEADER
6553 ;..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 156
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6554 ;..
6555
6556 ; MARK FIELDS IN ENTRY THAT ARE NOT APPROPRIATE OR KNOWN
6557
6558 007305' 200 01 0 15 000002 MOVE T1,LCTBLK ;GET ADDRESS OF SYSERR BLOCK
6559 007306' 271 01 0 00 000004 ADDI T1,.SYDAT ;POINT TO START OF COUNTER ENTRY DATA
6560 007307' 201 02 0 00 000002 MOVX T2,2 ;PERIODIC ENTRY
6561 007310' 542 02 0 01 000013 STOR T2,SYRSN,(T1) ;NO REASON
6562 007311' 476 00 0 01 000012 SETONE SYRCT,(T1) ;NO COUNT
6563 007312' 476 00 0 01 000011 SETONE SYNTM,(T1) ;NO NODE UPTIME
6564 007313' 476 00 0 01 000006 SETONE SYSEQ,(T1) ;SEQ NUMBER UNKOWN
6565 007314' 476 00 0 01 000004 SETONE SYFCN,(T1) ;SYSTEM TYPE UNKNOWN
6566 007315' 476 00 0 01 000003 SETONE SYADJ,(T1) ;ADJACENT NODE NOT KNOWN
6567 007316' 476 00 0 01 000000 SETONE SYMID,(T1) ;ID'S NOT KNOWN
6568
6569
6570 ; ADD THE COUNTERS TO THE SYSERR ENTRY
6571
6572 007317' 402 00 0 15 000003 SETZM LCTNUM ;INITIALIZE NUMBER OF COUNTERS
6573 007320' 200 10 0 15 000002 MOVE P1,LCTBLK ;GET BASE ADDRESS OF SYSERR ENTRY
6574 007321' 271 10 0 00 000021 ADDI P1,.SYCTR ;COMPUTE STARTING ADDRESS OF COUNTER DATA
6575 007322' 200 01 0 17 777776 MOVE T1,LCTPTR ;RESTORE POINTER TO NICE MESSAGE
6576 007323' 200 02 0 17 777775 LCT010: MOVE T2,LCTCNT ;GET NUMBER OF BYTES LEFT IN MESSAGE
6577 007324' 260 17 0 00 005167' CALL GETEXB ;GO GET COUNTER TYPE FROM MESSAGE
6578 007325' 254 00 0 00 007335' JRST LCT020 ;NO MORE COUNTERS, DONE
6579 007326' 506 04 0 10 000000 STOR T4,SYTYP,(P1) ;STORE COUNTER TYPE IN SYSERR ENTRY
6580 007327' 260 17 0 00 004625' CALL GETTWO ;EXTRACT COUNTER VALUE FROM MESSAGE
6581 007330' 255 00 0 00 000000 JFCL
6582 007331' 202 02 0 17 777775 MOVEM T2,LCTCNT ;SAVE UPDATED COUNT
6583 007332' 542 03 0 10 000000 STOR T3,SYCTR,(P1) ;STORE COUNTER VALUE IN SYSERR ENTRY
6584 007333' 350 00 0 15 000003 AOS LCTNUM ;INCREMENT NUMBER OF COUNTERS IN THE ENTRY
6585 007334' 344 10 0 00 007323' AOJA P1,LCT010 ;LOOP OVER EACH COUNTER RETURNED
6586
6587 ; ADD NUMBER OF COUNTERS TO THE SYSERR ENTRY
6588
6589 007335' 200 04 0 15 000002 LCT020: MOVE T4,LCTBLK ;GET ADDRESS OF SYSERR ENTRY
6590 007336' 271 04 0 00 000004 ADDI T4,.SYDAT ;COMPUTE START OF DATA PORTION OF SYSERR ENTRY
6591 007337' 200 01 0 15 000003 MOVE T1,LCTNUM ;GET NUMBER OF COUNTERS
6592 007340' 202 01 0 04 000005 STOR T1,SYNCT,(T4) ;ADD NUMBER OF COUNTERS TO SYSERR ENTRY
6593
6594 ; COMPUTE POINTER TO LOG DATA (IE TO THE COUNTERS)
6595
6596 007341' 213 00 0 00 000001 MOVNS T1 ;GET -NUMBER OF COUNTERS
6597 007342' 504 01 0 00 000001 HRL T1,T1 ;GET -# OF COUNTERS,,0
6598 007343' 541 01 0 00 000015 HRRI T1,.SYCTR-.SYDAT ;FORM -# OF COUNTERS,,OFFSET TO COUNTER DATA
6599 007344' 200 02 0 15 000002 MOVE T2,LCTBLK ;GET BASE ADDRESS OF SYSERR ENTRY
6600 007345' 271 02 0 00 000004 ADDI T2,.SYDAT ;COMPUTE BASE ADDRESS FOR DATA PART OF ENTRY
6601 007346' 202 01 0 02 000014 STOR T1,SYPTR,(T2) ;STORE THE POINTER TO THE LOG DATA
6602 ;..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 157
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6603 ;..
6604
6605 ; ADD THE TRANSMITTING NODE NAME TO THE SYSERR ENTRY
6606
6607 007347' 200 01 0 15 000002 MOVE T1,LCTBLK ;GET BASE ADDRESS OF SYSERR ENTRY
6608 007350' 200 11 0 00 000010 MOVE P2,P1 ;COPY ADDRESS WHERE NAME WILL GO
6609 007351' 275 11 0 01 000004 SUBI P2,.SYDAT(T1) ;COMPUTE OFFSET TO NAME IN ENTRY
6610 007352' 561 01 0 10 000000 HRROI T1,(P1) ;FORM POINTER TO WHERE NAME GOES
6611 007353' 200 02 0 15 000001 MOVE T2,LCTNOD ;GET POINTER TO ASCIZ NODE NAME
6612 007354' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
6613 007355' 104 00 0 00 000053 SOUT ;ADD NODE NAME TO SYSERR ENTRY
6614 007356' 133 00 0 00 000001 IBP T1 ;INCREMENT POINTER FOR MULTIPLES OF 5 BYTES
6615 007357' 200 02 0 00 000001 MOVE T2,T1 ;COPY CURRENT POINTER
6616 007360' 275 02 0 10 777777 SUBI T2,-1(P1) ;COMPUTE NUMBER OF WORDS USED
6617 007361' 210 02 0 00 000002 MOVN T2,T2 ;COMPUTE -WORD COUNT
6618 007362' 504 11 0 00 000002 HRL P2,T2 ;COMPUTE -WORD COUNT,,OFFSET
6619 007363' 200 02 0 15 000002 MOVE T2,LCTBLK ;GET ADDRESS OF SYSERR ENTRY
6620 007364' 271 02 0 00 000004 ADDI T2,.SYDAT ;COMPUTE START OF DATA AREA
6621 007365' 202 11 0 02 000001 STOR P2,SYNOD,(T2) ;STORE OFFSET TO ASCIZ NODE NAME
6622 007366' 201 10 0 01 000001 MOVEI P1,1(T1) ;POINT TO NEXT WORD IN SYSERR ENTRY
6623
6624 ; ADD DESTINATION NODE (OUR NAME)
6625
6626 007367' 200 01 0 15 000002 MOVE T1,LCTBLK ;GET BASE ADDRESS OF SYSERR ENTRY
6627 007370' 200 11 0 00 000010 MOVE P2,P1 ;COPY ADDRESS WHERE NAME WILL GO
6628 007371' 275 11 0 01 000004 SUBI P2,.SYDAT(T1) ;COMPUTE OFFSET TO NAME IN ENTRY
6629 007372' 561 01 0 10 000000 HRROI T1,(P1) ;FORM POINTER TO WHERE NAME GOES
6630 007373' 561 02 0 00 010667' HRROI T2,OURNAM ;WE ARE DESTINATION NODE
6631 007374' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
6632 007375' 104 00 0 00 000053 SOUT ;ADD NODE NAME TO SYSERR ENTRY
6633 007376' 200 02 0 00 000001 MOVE T2,T1 ;COPY CURRENT POINTER
6634 007377' 275 02 0 10 777777 SUBI T2,-1(P1) ;COMPUTE NUMBER OF WORDS USED
6635 007400' 210 02 0 00 000002 MOVN T2,T2 ;COMPUTE -WORD COUNT
6636 007401' 504 11 0 00 000002 HRL P2,T2 ;COMPUTE -WORD COUNT,,OFFSET
6637 007402' 200 02 0 15 000002 MOVE T2,LCTBLK ;GET ADDRESS OF SYSERR ENTRY
6638 007403' 271 02 0 00 000004 ADDI T2,.SYDAT ;COMPUTE START OF DATA AREA
6639 007404' 202 11 0 02 000002 STOR P2,SYDST,(T2) ;STORE OFFSET TO ASCIZ NODE NAME
6640 007405' 201 10 0 01 000001 MOVEI P1,1(T1) ;POINT TO NEXT WORD IN SYSERR ENTRY
6641 007406' 551 01 0 01 000001 HRRZI T1,1(T1) ;GET JUST ADDRESS OF LAST WORD IN ENTRY
6642 007407' 274 01 0 15 000002 SUB T1,LCTBLK ;COMPUTE SIZE OF ENTIRE SYSERR ENTRY
6643 007410' 202 01 0 17 777774 MOVEM T1,LCTLEN ;SAVE SYSERR ENTRY LENGTH
6644 007411' 275 01 0 00 000004 SUBI T1,.SYDAT ;COMPUTE SIZE OF DATA PORTION OF ENTRY
6645 007412' 200 02 0 15 000002 MOVE T2,LCTBLK ;GET BASE ADDRESS OF SYSERR ENTRY
6646 007413' 137 01 0 00 014207' STOR T1,SYLEN,(T2) ;STORE SIZE OF DATA PART OF SYSERR ENTRY
6647 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 158
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6648 ; ..
6649
6650 ; ADD THE LINE ID TO THE SYSERR ENTRY
6651
6652 007414' 200 02 0 15 000002 MOVE T2,LCTBLK ;GET BASE ADDRESS OF SYSERR ENTRY
6653 007415' 271 02 0 00 000004 ADDI T2,.SYDAT ;POINT TO DATA PORTION OF ENTRY
6654 007416' 504 03 0 17 777772 HRL T3,LCTLIN ;GET CONTROLLER #
6655 007417' 544 03 0 17 777773 HLR T3,1+LCTLIN ;GET UNIT NUMBER
6656 007420' 202 03 0 02 000007 STOR T3,SYLID,(T2) ;SAVE LINE ID
6657 007421' 550 04 0 17 777773 HRRZ T4,1+LCTLIN ;GET STATION ADDRESS AND SAVE IN
6658 007422' 202 04 0 02 000010 STOR T4,SYLI1,(T2) ; IN SYSERR ENTRY
6659 007423' 554 03 0 17 777772 HLRZ T3,LCTLIN ;GET HARDWARE OPTION TYPE
6660 007424' 205 04 0 00 777774 MOVSI T4,-HDWSZ ;SET UP TO LOOK FOR DEVICE TYPE
6661 007425' 550 01 0 04 010651' LCT030: HRRZ T1,HDWTB(T4) ;GET OUR DEVICE TYPE CODE
6662 007426' 316 01 0 00 000003 CAMN T1,T3 ;FOUND RIGHT DEVICE TYPE ?
6663 JRST [HLRZ T3,HDWTB(T4) ;YES, GET SYSERR TYPE CODE
6664 007427' 254 00 0 00 014210' JRST LCT040] ;GO STORE CODE
6665 007430' 253 04 0 00 007425' AOBJN T4,LCT030 ;LOOP OVER ALL CODES
6666 007431' 476 00 0 00 000003 SETOM T3 ;COULD NOT FIND CODE, USE UNKNOWN
6667 007432' 137 03 0 00 014212' LCT040: STOR T3,SYHDW,(T2) ;STORE HARDWARE DEVICE TYPE
6668
6669 ; ADD THE ENTRY TO THE SYSERR FILE
6670
6671 007433' 200 01 0 15 000002 MOVE T1,LCTBLK ;GET ADDRESS OF SYSERR ENTRY
6672 007434' 200 02 0 17 777774 MOVE T2,LCTLEN ;GET LENGTH OF ENTRY
6673 007435' 104 00 0 00 000527 SYERR ;MAKE A SYSERR ENTRY
6674 007436' 320 16 0 00 007450' ERJMP LCTERR ;FAILED, RELEASE SPACE AND RETURN
6675
6676 ; RELEASE FREE SPACE
6677
6678 007437' 200 01 0 15 000002 MOVE T1,LCTBLK ;GET ADDRESS OF SYSERR ENTRY
6679 007440' 275 01 0 00 000001 SUBI T1,1 ;RESTORE FREE BLOCK ADDRESS
6680 007441' 260 17 0 00 005013* CALL RELFRE ;RETURN THE BLOCK
6681 007442' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
6682
6683 ; ZERO THE COUNTERS JUST REQUESTED AND RETURN TO CALLER
6684
6685 007443' 200 01 0 15 000001 MOVE T1,LCTNOD ;GET POINTER TO NODE NAME
6686 007444' 120 02 0 17 777772 DMOVE T2,LCTLIN ;GET LINE ID
6687 007445' 260 17 0 00 007455' CALL ZROCTR ;GO ZERO THE COUNTERS
6688 007446' 255 00 0 00 000000 JFCL ;FAILED, IGNORE FAILURE SINCE LOGGING WORKED OK
6689 007447' 254 00 0 00 007201* RETSKP ;DONE, RETURN SUCCESS
6690
6691 ; HERE ON AN ERROR TO RELEASE THE FREE SPACE AND RETURN
6692
6693 007450' 200 01 0 15 000002 LCTERR: MOVE T1,LCTBLK ;GET ADDRESS OF SYSERR ENTRY
6694 007451' 275 01 0 00 000001 SUBI T1,1 ;RESTORE FREE BLOCK ADDRESS
6695 007452' 260 17 0 00 007441* CALL RELFRE ;RETURN THE BLOCK
6696 007453' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
6697 007454' 263 17 0 00 000000 RET ;RETURN ERROR TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 159
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6698 ;ZROCTR - ROUTINE TO ZERO THE LINE COUNTERS FOR A LINE
6699 ;
6700 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
6701 ; T2-T3/ LINE ID
6702 ; CALL ZROCTR
6703 ;RETURNS: +1 FAILED
6704 ; +2 SUCCESS, COUNTERS CLEARED
6705
6706 007455' 265 16 0 00 007251* ZROCTR: ASUBR <ZCTNOD,<ZCTLID,2>,ZCTLNK>
6707
6708 ; GET A LOGICAL LINK TO THE NCU ON THE NODE
6709
6710 007456' 200 01 0 15 000001 MOVE T1,ZCTNOD ;GET POINTER TO ASCIZ NODE NAME
6711 007457' 260 17 0 00 007140' CALL GETLNK ;GO GET A LOGICAL LINK TO THE NCU
6712 007460' 263 17 0 00 000000 RET ;FAILED
6713 007461' 202 01 0 15 000004 MOVEM T1,ZCTLNK ;SAVE LOGICAL LINK TO NCU
6714
6715 ; ASSEMBLE A NICE PROTOCOL "ZERO COUNTERS" MESSAGE
6716
6717 007462' 120 01 0 15 000002 DMOVE T1,ZCTLID ;GET LINE ID TO PUT INTO MESSAGE
6718 007463' 260 17 0 00 006102' CALL MAKZRO ;GO ASSEMBLE ZERO COUNTERS MESSAGE
6719
6720 ; SEND THE MESSAGE TO THE NCU ON THE SPECIFIED NODE
6721
6722 007464' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT OF BYTES IN MESSAGE
6723 007465' 200 02 0 00 000001 MOVE T2,T1 ;GET POINTER TO START OF MESSAGE
6724 007466' 200 01 0 15 000004 MOVE T1,ZCTLNK ;GET LOGICAL LINK TO NCU
6725 007467' 104 00 0 00 000532 SOUTR ;OUTPUT THE NICE PROTOCOL MESSAGE
6726 007470' 320 16 0 00 007511' ERJMP ZCTERR ;FAILED, CLEAN UP AND RETURN FAILURE
6727
6728 ; RECEIVE THE RESPONSE MESSAGE FROM THE NCU
6729
6730 007471' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR NICE MESSAGE AREA
6731 007472' 200 01 0 15 000004 MOVE T1,ZCTLNK ;GET LOGICAL LINK TO NCU
6732 007473' 200 02 0 00 013534' MOVE T2,[POINT 8,MSGBLK] ;GET POINTER TO WHERE MESSAGE GOES
6733 007474' 211 03 0 00 764000 MOVNI T3,-MAXNIC ;GET MAX BYTE COUNT
6734 007475' 104 00 0 00 000531 SINR ;RECEIVE THE MESSAGE
6735 007476' 320 16 0 00 007511' ERJMP ZCTERR ;FAILED, CLEAN UP AND RETURN ERROR
6736 007477' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;GET NUMBER OF BYTES RECEIVED
6737 007500' 302 02 0 00 000001 CAIE T2,1 ;JUST RESPONSE CODE ?
6738 007501' 254 00 0 00 007511' JRST ZCTERR ;NO, CLEAN UP AND RETURN ERROR
6739 007502' 135 01 0 00 013535' LDB T1,[POINT 8,MSGBLK,7] ;GET NICE RETURN CODE VALUE
6740 007503' 302 01 0 00 000001 CAIE T1,.NRSUC ;SUCCESS CODE ?
6741 007504' 254 00 0 00 007511' JRST ZCTERR ;NO, FAIL
6742
6743 ; COUNTERS SUCCESSFULLY ZERO'ED - CLEAN UP LOGICAL LINK AND RETURN SUCCESS
6744
6745 007505' 200 01 0 15 000004 MOVE T1,ZCTLNK ;GET LOGICAL LINK
6746 007506' 104 00 0 00 000022 CLOSF ;CLOSE THE LINK
6747 007507' 255 00 0 00 000000 JFCL ;IGNORE FAILURE, FUNCTION WAS COMPLETED OK
6748 007510' 254 00 0 00 007447* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 160
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6749 ; HERE ON ERROR - RELEASE LOGICAL LINK AND RETURN FAILURE
6750
6751 007511' 200 01 0 15 000004 ZCTERR: MOVE T1,ZCTLNK ;GET LOGICAL LINK
6752 007512' 104 00 0 00 000022 CLOSF ;CLOSE THE LINK
6753 007513' 255 00 0 00 000000 JFCL ;IGNORE FAILURE, FUNCTION WAS COMPLETED OK
6754 007514' 263 17 0 00 000000 RET ;RETURN FAILURE TO CALLER
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 161
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6755 ;REDCTR - ROUTINE TO GET THE LINE COUNTERS FROM AN OBJECT NODE
6756 ;
6757 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
6758 ; T2-T3/ LINE ID
6759 ; CALL REDCTR
6760 ;RETURNS: +1 FAILED
6761 ; +2 SUCCESS, WITH T1/ POINTER TO COUNTER DATA FROM NICE MESSAGE
6762 ; T2/ NUMBER OF BYTES REMAINING IN COUNTER DATA
6763
6764 007515' 265 16 0 00 007455* REDCTR: ASUBR <RCTNOD,<RCTLIN,2>,RCTLNK>
6765 007516' 265 16 0 00 007252* STKVAR <RCTPTR,RCTCNT,RCTERR>
6766 007517' 000003 000003
6767 ; SEND A NICE PROTOCOL "READ INFORMATION" MESSAGE TO GET LINE COUNTERS
6768
6769 007520' 200 01 0 15 000001 MOVE T1,RCTNOD ;GET POINTER TO ASCIZ NODE NAME
6770 007521' 260 17 0 00 007140' CALL GETLNK ;GO GET A LOGICAL LINK TO NCU ON THAT NODE
6771 007522' 263 17 0 00 000000 RET ;FAILED
6772 007523' 202 01 0 15 000004 MOVEM T1,RCTLNK ;SAVE LOGICAL LINK (JFN) TO NCU
6773
6774 ; REQUEST THE COUNTERS FROM THE NCU
6775
6776 007524' 402 00 0 17 777774 SETZM RCTERR ;INITIALIZE ERROR CODE
6777 007525' 200 01 0 15 000004 MOVE T1,RCTLNK ;GET LOGICAL LINK
6778 007526' 120 02 0 15 000002 DMOVE T2,RCTLIN ;GET LINE ID
6779 007527' 260 17 0 00 007542' CALL REQCTR ;GO GET THE COUNTERS
6780 007530' 202 01 0 17 777774 MOVEM T1,RCTERR ;FAILED, SAVE ERROR CODE
6781 007531' 202 02 0 17 777775 MOVEM T2,RCTCNT ;SAVE NUMBER OF BYTES IN COUNTER DATA
6782
6783 ; DISCONNECT THE LOGICAL LINK
6784
6785 007532' 200 01 0 15 000004 MOVE T1,RCTLNK ;GET LOGICAL LINK
6786 007533' 104 00 0 00 000022 CLOSF ;DISCONNECT THE LINK
6787 007534' 255 00 0 00 000000 JFCL ;FAILED, IGNORE FAILURE.
6788
6789 ; RETURN POINTER TO COUNTER DATA
6790
6791 007535' 332 01 0 17 777774 SKIPE T1,RCTERR ;ANY ERRORS GETTING COUNTERS ?
6792 007536' 263 17 0 00 000000 RETBAD () ;YES, RETURN THE ERROR
6793 007537' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;NO, GET POINTER TO START OF MESSAGE
6794 007540' 200 02 0 17 777775 MOVE T2,RCTCNT ;GET SIZE OF COUNTER DATA
6795 007541' 254 00 0 00 007510* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 162
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6796 ;REQCTR - ROUTINE TO REQUEST THE LINE COUNTERS FROM A NODE
6797 ;
6798 ;ACCEPTS IN T1/ LOGICAL LINK TO NCU IN THE NODE
6799 ; T2-T3/ LINE ID FOR WHICH COUNTERS ARE DESIRED
6800 ; CALL REQCTR
6801 ;RETURNS: +1 FAILED, ERROR CODE IN T1
6802 ; +2 SUCCESS, WITH T2/ COUNT OF BYTES IN RESPONSE MESSAGE
6803
6804 007542' 265 16 0 00 007515* REQCTR: ASUBR <RQCLNK,<RQCLIN,2>>
6805 007543' 120 01 0 15 000002 DMOVE T1,RQCLIN ;GET LINE ID
6806 007544' 260 17 0 00 005266' CALL MAKRLC ;GO ASSEMBLE A NICE "READ INFO" MESSAGE
6807 007545' 263 17 0 00 000000 RETBAD () ;FAILED
6808 007546' 210 03 0 00 000002 MOVN T3,T2 ;GET -COUNT
6809 007547' 200 02 0 00 000001 MOVE T2,T1 ;GET POINTER TO START OF READ INFO MESSAGE
6810 007550' 200 01 0 15 000001 MOVE T1,RQCLNK ;GET LOGICAL LINK (JFN) TO NCU
6811 007551' 104 00 0 00 000532 SOUTR ;SEND NICE "READ INFO" MSG TO GET LINE COUNTERS
6812 007552' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;RETURN IF SEND FAILED
6813
6814 ; RECEIVE THE REPLY FROM THE NCU
6815
6816 007553' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
6817 007554' 200 01 0 15 000001 MOVE T1,RQCLNK ;GET LOGICAL LINK (JFN) TO NCU
6818 007555' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO START
6819 007556' 541 02 0 14 000033 HRRI T2,MSGBLK ; OF NICE MESSAGE AREA
6820 007557' 211 03 0 00 014000 MOVNI T3,MAXNIC ;GET -MAX COUNT
6821 007560' 104 00 0 00 000531 SINR ;RECEIVE REPLY FROM NCU
6822 007561' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;RETURN IF SEND FAILED
6823 007562' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;GET NUMBER OF BYTES RECEIVED
6824 007563' 302 02 0 00 000003 CAIE T2,3 ;RECEIVED 1-BYTE RETURN CODE & 2-BYTE COUNT ?
6825 007564' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN FAILURE
6826 007565' 200 01 0 00 013534' MOVE T1,[POINT 8,MSGBLK] ;GET POINTER TO START OF MESSAGE
6827 007566' 134 04 0 00 000001 ILDB T4,T1 ;GET NICE RETURN CODE
6828 007567' 302 04 0 00 000001 CAIE T4,.NRSUC ;GOT SUCCESS RETURN CODE ?
6829 007570' 254 00 0 00 014213' RETBAD (,<MOVE T1,T4>) ;NO, FAIL AND RETURN THE NICE ERROR CODE
6830 007571' 201 02 0 00 000002 MOVEI T2,2 ;HAVE TWO BYTES
6831 007572' 260 17 0 00 004625' CALL GETTWO ;YES, GO GET TWO-BYTE COUNT
6832 007573' 255 00 0 00 000000 JFCL
6833 007574' 302 03 0 00 000001 CAIE T3,1 ;ONE DATA BLOCK TO BE RECEIVED ?
6834 007575' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, RETURN FAILURE
6835
6836 ; RECEIVE THE LINE COUNTERS FROM THE NCU
6837
6838 007576' 260 17 0 00 010457' CALL CLRMSG ;GO CLEAR THE NICE MESSAGE AREA
6839 007577' 200 01 0 15 000001 MOVE T1,RQCLNK ;GET LOGICAL LINK (JFN) TO NCU
6840 007600' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO START
6841 007601' 541 02 0 14 000033 HRRI T2,MSGBLK ; OF NICE MESSAGE AREA
6842 007602' 211 03 0 00 014000 MOVNI T3,MAXNIC ;GET -MAX COUNT
6843 007603' 104 00 0 00 000531 SINR ;RECEIVE REPLY FROM NCU
6844 007604' 320 16 0 00 013740' ERJMP [RETBAD (.NRNCE)] ;RETURN IF SEND FAILED
6845 007605' 201 02 0 03 014000 MOVEI T2,MAXNIC(T3) ;GET NUMBER OF BYTES RECEIVED
6846 007606' 254 00 0 00 007541* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 163
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6847 ;SYRHDR - ROUTINE TO MAKE A SYSERR ENTRY HEADER
6848 ;
6849 ;ACCEPTS IN T1/ SYSERR EVENT CODE (SY%XXX)
6850 ; T2/ LENGTH OF ENTRY
6851 ; T3/ ADDRESS OF SYSERR BLOCK
6852 ; CALL SYRHDR
6853 ;RETURNS: +1 ALWAYS, WITH HEADER SET UP AT LOCATION "SYRENT"
6854
6855 007607' 137 01 0 00 014215' SYRHDR: STOR T1,SYCOD,(T3) ;STORE EVENT CODE (SY%XXX)
6856 007610' 137 02 0 00 014216' STOR T2,SYLEN,(T3) ;STORE LENGTH OF ENTRY
6857 007611' 201 01 0 00 000004 MOVX T1,4 ;GET LENGTH OF SYSERR ENTRY HEADER
6858 007612' 137 01 0 00 014217' STOR T1,SYHLN,(T3) ;STORE IN HEADER
6859 007613' 201 01 0 00 000001 MOVX T1,1 ;GET VERSION OF SYSERR HEADER
6860 007614' 137 01 0 00 014220' STOR T1,SYVER,(T3) ;STORE IN HEADER
6861 007615' 205 16 0 00 000001 SETONE SYT20,(T3) ;NOTE THAT THIS ENTRY MADE BY TOPS-20
6862 007616' 436 16 0 03 000000
6863 007617' 104 00 0 00 000227 GTAD ;GET CURRENT TIME AND DATE
6864 007620' 202 01 0 03 000001 STOR T1,SYDAT,(T3) ;STORE TIME AND DATE IN ENTRY
6865 007621' 104 00 0 00 000014 TIME ;GET CURRENT UPTIME
6866 007622' 230 01 0 00 014221' IDIV T1,[<^D1000*^D3600*^D24>/<1_^D18>] ;CONVERT TO DAYS,,FRACTIONS OF DAYS
6867 007623' 202 01 0 03 000002 STOR T1,SYUPT,(T3) ;STORE UPTIME IN ENTRY HEADER
6868 007624' 200 01 0 00 014222' MOVE T1,[SIXBIT/APRID/] ;GET TABLE NAME
6869 007625' 104 00 0 00 000016 SYSGT ;GET PROCESSOR SERIAL NUMBER
6870 007626' 202 01 0 03 000003 STOR T1,SYPSN,(T3) ;SAVE PROCESSOR SERIAL NUMBER
6871 007627' 263 17 0 00 000000 RET ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 164
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6872 ;SYRSTR - ROUTINE TO ADD A STRING TO A SYSERR ENTRY
6873 ;
6874 ;ACCEPTS IN T1/ BASE ADDRESS OF SYSERR ENTRY
6875 ; T2/ POINTER TO ASCIZ STRING TO ADD
6876 ; T3/ DESTINATION ADDRESS IN ENTRY FOR STRING
6877 ; CALL SYRSTR
6878 ;RETURNS: +1 FAILED
6879 ; +2 SUCCESS, WITH T1/ ADDRESS OF NEXT WORD TO USE IN SYSERR ENTRY
6880 ; T2/ -WORD COUNT,,OFFSET TO STRING
6881
6882 007630' 265 16 0 00 007542* SYRSTR: ASUBR <STRBLK,STRSTR,STRDST,STROFS>
6883 007631' 200 04 0 15 000003 MOVE T4,STRDST ;COPY ADDRESS WHERE NAME WILL GO
6884 007632' 275 04 0 01 000004 SUBI T4,.SYDAT(T1) ;COMPUTE OFFSET TO NAME IN ENTRY
6885 007633' 200 01 0 15 000003 MOVE T1,STRDST ;GET DESTINATION ADDRESS FOR STRING
6886 007634' 505 01 0 00 440700 HRLI T1,(POINT 7,) ;FORM POINTER TO WHERE STRING GOES
6887 007635' 200 02 0 15 000002 MOVE T2,STRSTR ;GET POINTER TO ASCIZ NODE NAME
6888 007636' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
6889 007637' 104 00 0 00 000053 SOUT ;ADD NODE NAME TO SYSERR ENTRY
6890 007640' 133 00 0 00 000001 IBP T1 ;INCREMENT POINTER FOR MULTIPLES OF 5 BYTES
6891 007641' 550 02 0 00 000001 HRRZ T2,T1 ;COPY CURRENT ADDRESS
6892 007642' 200 03 0 15 000003 MOVE T3,STRDST ;GET DESTINATION ADDRESS AGAIN
6893 007643' 275 02 0 03 777777 SUBI T2,-1(T3) ;COMPUTE NUMBER OF WORDS USED
6894 007644' 210 02 0 00 000002 MOVN T2,T2 ;COMPUTE -WORD COUNT
6895 007645' 504 04 0 00 000002 HRL T4,T2 ;COMPUTE -WORD COUNT,,OFFSET
6896 007646' 200 02 0 00 000004 MOVE T2,T4 ;COPY -WORD COUNT,,OFFSET TO STRING
6897 007647' 201 01 0 01 000001 MOVEI T1,1(T1) ;POINT TO NEXT WORD IN SYSERR ENTRY
6898 007650' 254 00 0 00 007606* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 165
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6899 ;SYRLOD - ROUTINE TO MAKE A SYSERR ENTRY WHEN A NODE IS LOADED
6900 ;
6901 ;ACCEPTS IN T1/ NICE RETURN CODE
6902 ; CALL SYRLOD
6903 ;RETURNS: +1 ALWAYS
6904
6905 007651' 265 16 0 00 007630* SYRLOD: ASUBR <SYLCOD,SYLTGT,SYLSRV,SYLSVL>
6906 007652' 265 16 0 00 007516* STKVAR <SYLFIL,SYLSIZ,SYLBLK>
6907 007653' 000003 000003
6908
6909 ; ALLOCATE A BLOCK FOR THE SYSERR ENTRY
6910
6911 007654' 201 01 0 00 000050 MOVX T1,MAXSYE ;GET MAX SIZE OF SYSERR ENTRIES
6912 007655' 260 17 0 00 007275* CALL GETFRE ;GO GET SOME FREE SPACE
6913 007656' 254 00 0 00 013675' RETBAD (.NRRES) ;FAILED, RESOURCE ERROR
6914 007657' 271 01 0 00 000001 ADDI T1,1 ;ALLOW FOR BLOCK HEADER
6915 007660' 202 01 0 17 777774 MOVEM T1,SYLBLK ;SAVE ADDRESS OF SYSERR BLOCK
6916 007661' 200 04 0 17 777774 MOVE T4,SYLBLK ;GET ADDRESS OF SYSERR ENTRY
6917 007662' 561 01 0 04 000011 HRROI T1,.SYLDD(T4) ;FORM POINTER TO DESTINATION
6918
6919 ; PUT TARGET NODE NAME INTO ENTRY
6920
6921 007663' 552 01 0 15 000002 HRRZM T1,SYLTGT ;SAVE ADDRESS OF TARGET NAME
6922 007664' 200 02 0 14 000004 MOVE T2,RQLTGT ;GET POINTER TO NAME OF TARGET NODE
6923 007665' 402 00 0 00 000003 SETZM T3 ;ASCIZ STRING, ENDS IN NULL
6924 007666' 104 00 0 00 000053 SOUT ;PUT THE TARGET NODE NAME INTO ENTRY
6925 007667' 320 16 0 00 007670' ERJMP .+1 ;DO NOT DIE ON ERRORS
6926 007670' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
6927 007671' 561 01 0 01 000001 HRROI T1,1(T1) ;FORM POINTER TO NEXT STRING IN ENTRY
6928
6929 ; PUT NAME OF SERVER NODE INTO SYSERR ENTRY
6930
6931 007672' 552 01 0 15 000003 HRRZM T1,SYLSRV ;SAVE ADDRESS OF SERVER NODE NAME
6932 007673' 200 02 0 14 000005 MOVE T2,RQLSRV ;GET POINTER TO NAME OF SERVER NODE
6933 007674' 104 00 0 00 000053 SOUT ;ADD SERVER NODE NAME STRING TO ENTRY
6934 007675' 320 16 0 00 007676' ERJMP .+1 ;DO NOT DIE ON ERRORS
6935 007676' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
6936 007677' 561 01 0 01 000001 HRROI T1,1(T1) ;FORM POINTER TO NEXT STRING IN ENTRY
6937
6938 ; PUT NAME OF SERVER LINE INTO SYSERR ENTRY
6939
6940 007700' 552 01 0 15 000004 HRRZM T1,SYLSVL ;SAVE ADDRESS OF SERVER LINE NAME
6941 007701' 120 02 0 14 000006 DMOVE T2,RQLLIN ;GET SERVER LINE ID
6942 007702' 260 17 0 00 010601' CALL ASCLIN ;OUTPUT LINE AS ASCIZ
6943 007703' 255 00 0 00 000000 JFCL ;IGNORE ERROR
6944 007704' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
6945 007705' 561 01 0 01 000001 HRROI T1,1(T1) ;FORM POINTER TO NEXT STRING IN ENTRY
6946 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 166
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6947 ; ..
6948
6949 ; PUT FILE-SPEC INTO SYSERR ENTRY
6950
6951 007706' 552 01 0 17 777776 HRRZM T1,SYLFIL ;SAVE ADDRESS OF FILESPEC
6952 007707' 200 02 0 14 000016 MOVE T2,RQLOPS ;GET POINTER TO OPERATING SYSTEM FILE
6953 007710' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
6954 007711' 104 00 0 00 000053 SOUT ;ADD FILE SPEC TO SYSERR ENTRY
6955 007712' 320 16 0 00 007713' ERJMP .+1 ;DO NOT DIE ON ERRORS
6956 007713' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
6957
6958 ; ADD NICE RETURN CODE AND OFFSETS TO ENTRY
6959
6960 007714' 551 01 0 01 000001 HRRZI T1,1(T1) ;KEEP JUST ADDRESS
6961 007715' 274 01 0 17 777774 SUB T1,SYLBLK ;COMPUTE SIZE OF SYSERR BLOCK
6962 007716' 202 01 0 17 777775 MOVEM T1,SYLSIZ ;SAVE SIZE OF SYSERR BLOCK
6963 007717' 200 04 0 17 777774 MOVE T4,SYLBLK ;GET ADDRESS OF SYSERR ENTRY
6964 007720' 200 02 0 15 000001 MOVE T2,SYLCOD ;GET NICE RETURN CODE
6965 007721' 202 02 0 04 000010 STOR T2,SYRCD,(T4) ;STORE RETURN CODE IN ENTRY
6966 007722' 201 03 0 04 000004 MOVEI T3,.SYDAT(T4) ;OFFSETS ARE FROM END OF HEADER
6967 007723' 200 02 0 15 000002 MOVE T2,SYLTGT ;GET ADDRESS OF TARGET STRING
6968 007724' 274 02 0 00 000003 SUB T2,t3 ;COMPUTE OFFSET INTO SYSERR BLOCK
6969 007725' 542 02 0 04 000004 STOR T2,SYTGT,(T4) ;STORE OFFSET TO TARGET NODE NAME
6970 007726' 200 02 0 15 000003 MOVE T2,SYLSRV ;GET ADDRESS OF SERVER NODE NAME
6971 007727' 274 02 0 00 000003 SUB T2,T3 ;COMPUTE OFFSET INTO SYSERR BLOCK
6972 007730' 542 02 0 04 000005 STOR T2,SYSRV,(T4) ;STORE OFFSET TO SERVER NODE NAME
6973 007731' 200 02 0 15 000004 MOVE T2,SYLSVL ;GET ADDRESS OF SERVER LINE STRING
6974 007732' 274 02 0 00 000003 SUB T2,T3 ;COMPUTE OFFSET INTO SYSERR BLOCK
6975 007733' 542 02 0 04 000006 STOR T2,SYSVL,(T4) ;STORE OFFSET TO SERVER LINE NAME
6976 007734' 200 02 0 17 777776 MOVE T2,SYLFIL ;GET ADDRESS OF FILESPEC
6977 007735' 274 02 0 00 000003 SUB T2,T3 ;COMPUTE OFFSET INTO SYSERR BLOCK
6978 007736' 542 02 0 04 000007 STOR T2,SYFIL,(T4) ;STORE OFFSET TO FILE SPEC
6979 007737' 201 01 0 00 000202 MOVEI T1,SY%LOD ;ASSUME LOADING OPERATION
6980 007740' 200 02 0 17 777775 MOVE T2,SYLSIZ ;GET SIZE OF ENTRY
6981 007741' 275 02 0 00 000004 SUBI T2,.SYDAT ;COMPUTE SIZE OF ENTRY MINUS HEADER
6982 007742' 200 03 0 17 777774 MOVE T3,SYLBLK ;GET ADDRESS OF ENTRY
6983 007743' 260 17 0 00 007607' CALL SYRHDR ;GO MAKE THE SYSERR HEADER
6984 007744' 200 01 0 17 777774 MOVE T1,SYLBLK ;GET ADDRESS OF SYSERR BLOCK
6985 007745' 200 02 0 17 777775 MOVE T2,SYLSIZ ;GET BACK SIZE OF BLOCK
6986 007746' 104 00 0 00 000527 SYERR ;MAKE A SYSERR ENTRY
6987 007747' 320 16 0 00 007750' ERJMP .+1 ;DO NOT DIE IF THIS FAILS
6988
6989 ; RELEASE SYSERR BLOCK AND RETURN
6990
6991 007750' 200 01 0 17 777774 MOVE T1,SYLBLK ;GET ADDRESS OF SYSERR BLOCK
6992 007751' 275 01 0 00 000001 SUBI T1,1 ;RESTORE FREE BLOCK ADDRESS
6993 007752' 260 17 0 00 007452* CALL RELFRE ;RELEASE THE BLOCK
6994 007753' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
6995 007754' 263 17 0 00 000000 RET ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 167
NCU MAC 6-Oct-81 12:41 SYSERR Routines
6996 ;SYRDMP - ROUTINE TO MAKE A SYSERR ENTRY WHEN A NODE IS DUMPED
6997 ;
6998 ;ACCEPTS IN T1/ NICE RETURN CODE
6999 ; CALL SYRDMP
7000 ;RETURNS: +1 ALWAYS
7001
7002 007755' 265 16 0 00 007651* SYRDMP: ASUBR <SYDCOD,SYDTGT,SYDSRV,SYDSVL>
7003 007756' 265 16 0 00 007652* STKVAR <SYDFIL,SYDSIZ,SYDBLK>
7004 007757' 000003 000003
7005
7006 ; ALLOCATE A BLOCK FOR THE SYSERR ENTRY
7007
7008 007760' 201 01 0 00 000050 MOVX T1,MAXSYE ;GET MAX SIZE OF SYSERR ENTRIES
7009 007761' 260 17 0 00 007655* CALL GETFRE ;GO GET SOME FREE SPACE
7010 007762' 254 00 0 00 013675' RETBAD (.NRRES) ;FAILED, RESOURCE ERROR
7011 007763' 271 01 0 00 000001 ADDI T1,1 ;ALLOW FOR BLOCK HEADER
7012 007764' 202 01 0 17 777774 MOVEM T1,SYDBLK ;SAVE ADDRESS OF SYSERR BLOCK
7013 007765' 200 04 0 17 777774 MOVE T4,SYDBLK ;GET ADDRESS OF SYSERR ENTRY
7014 007766' 561 01 0 04 000011 HRROI T1,.SYLDD(T4) ;FORM POINTER TO DESTINATION
7015
7016 ; PUT TARGET NODE NAME INTO ENTRY
7017
7018 007767' 552 01 0 15 000002 HRRZM T1,SYDTGT ;SAVE ADDRESS OF TARGET NAME
7019 007770' 200 02 0 14 000022 MOVE T2,RQDTGT ;GET POINTER TO NAME OF TARGET NODE
7020 007771' 402 00 0 00 000003 SETZM T3 ;ASCIZ STRING, ENDS IN NULL
7021 007772' 104 00 0 00 000053 SOUT ;PUT THE TARGET NODE NAME INTO ENTRY
7022 007773' 320 16 0 00 007774' ERJMP .+1 ;DO NOT DIE ON ERRORS
7023 007774' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
7024 007775' 561 01 0 01 000001 HRROI T1,1(T1) ;FORM POINTER TO NEXT STRING IN ENTRY
7025
7026 ; PUT NAME OF SERVER NODE INTO SYSERR ENTRY
7027
7028 007776' 552 01 0 15 000003 HRRZM T1,SYDSRV ;SAVE ADDRESS OF SERVER NODE NAME
7029 007777' 200 02 0 14 000023 MOVE T2,RQDSRV ;GET POINTER TO NAME OF SERVER NODE
7030 010000' 104 00 0 00 000053 SOUT ;ADD SERVER NODE NAME STRING TO ENTRY
7031 010001' 320 16 0 00 010002' ERJMP .+1 ;DO NOT DIE ON ERRORS
7032 010002' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
7033 010003' 561 01 0 01 000001 HRROI T1,1(T1) ;FORM POINTER TO NEXT STRING IN ENTRY
7034
7035 ; PUT NAME OF SERVER LINE INTO SYSERR ENTRY
7036
7037 010004' 552 01 0 15 000004 HRRZM T1,SYDSVL ;SAVE ADDRESS OF SERVER LINE NAME
7038 010005' 120 02 0 14 000024 DMOVE T2,RQDLIN ;GET SERVER LINE ID
7039 010006' 260 17 0 00 010601' CALL ASCLIN ;OUTPUT LINE AS ASCIZ
7040 010007' 255 00 0 00 000000 JFCL ;IGNORE ERROR
7041 010010' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
7042 010011' 561 01 0 01 000001 HRROI T1,1(T1) ;FORM POINTER TO NEXT STRING IN ENTRY
7043 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 168
NCU MAC 6-Oct-81 12:41 SYSERR Routines
7044 ; ..
7045
7046 ; PUT FILE-SPEC INTO SYSERR ENTRY
7047
7048 010012' 552 01 0 17 777776 HRRZM T1,SYDFIL ;SAVE ADDRESS OF FILESPEC
7049 010013' 200 02 0 14 000027 MOVE T2,RQDFIL ;GET POINTER TO OPERATING SYSTEM FILE
7050 010014' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
7051 010015' 104 00 0 00 000053 SOUT ;ADD FILE SPEC TO SYSERR ENTRY
7052 010016' 320 16 0 00 010017' ERJMP .+1 ;DO NOT DIE ON ERRORS
7053 010017' 133 00 0 00 000001 IBP T1 ;POINT TO TERMINATING CHARACTER
7054
7055 ; ADD NICE RETURN CODE AND OFFSETS TO ENTRY
7056
7057 010020' 551 01 0 01 000001 HRRZI T1,1(T1) ;KEEP JUST ADDRESS
7058 010021' 274 01 0 17 777774 SUB T1,SYDBLK ;COMPUTE SIZE OF SYSERR BLOCK
7059 010022' 202 01 0 17 777775 MOVEM T1,SYDSIZ ;SAVE SIZE OF SYSERR BLOCK
7060 010023' 200 04 0 17 777774 MOVE T4,SYDBLK ;GET ADDRESS OF SYSERR ENTRY
7061 010024' 200 02 0 15 000001 MOVE T2,SYDCOD ;GET NICE RETURN CODE
7062 010025' 202 02 0 04 000010 STOR T2,SYRCD,(T4) ;STORE RETURN CODE IN ENTRY
7063 010026' 201 03 0 04 000004 MOVEI T3,.SYDAT(T4) ;OFFSETS ARE FROM END OF HEADER
7064 010027' 200 02 0 15 000002 MOVE T2,SYDTGT ;GET ADDRESS OF TARGET STRING
7065 010030' 274 02 0 00 000003 SUB T2,t3 ;COMPUTE OFFSET INTO SYSERR BLOCK
7066 010031' 542 02 0 04 000004 STOR T2,SYTGT,(T4) ;STORE OFFSET TO TARGET NODE NAME
7067 010032' 200 02 0 15 000003 MOVE T2,SYDSRV ;GET ADDRESS OF SERVER NODE NAME
7068 010033' 274 02 0 00 000003 SUB T2,T3 ;COMPUTE OFFSET INTO SYSERR BLOCK
7069 010034' 542 02 0 04 000005 STOR T2,SYSRV,(T4) ;STORE OFFSET TO SERVER NODE NAME
7070 010035' 200 02 0 15 000004 MOVE T2,SYDSVL ;GET ADDRESS OF SERVER LINE STRING
7071 010036' 274 02 0 00 000003 SUB T2,T3 ;COMPUTE OFFSET INTO SYSERR BLOCK
7072 010037' 542 02 0 04 000006 STOR T2,SYSVL,(T4) ;STORE OFFSET TO SERVER LINE NAME
7073 010040' 200 02 0 17 777776 MOVE T2,SYDFIL ;GET ADDRESS OF FILESPEC
7074 010041' 274 02 0 00 000003 SUB T2,T3 ;COMPUTE OFFSET INTO SYSERR BLOCK
7075 010042' 542 02 0 04 000007 STOR T2,SYFIL,(T4) ;STORE OFFSET TO FILE SPEC
7076 010043' 201 01 0 00 000203 MOVEI T1,SY%DMP ;ASSUME DUMPING OPERATION
7077 010044' 200 02 0 17 777775 MOVE T2,SYDSIZ ;GET SIZE OF ENTRY
7078 010045' 275 02 0 00 000004 SUBI T2,.SYDAT ;COMPUTE SIZE OF ENTRY MINUS HEADER
7079 010046' 200 03 0 17 777774 MOVE T3,SYDBLK ;GET ADDRESS OF ENTRY
7080 010047' 260 17 0 00 007607' CALL SYRHDR ;GO MAKE THE SYSERR HEADER
7081 010050' 200 01 0 17 777774 MOVE T1,SYDBLK ;GET ADDRESS OF SYSERR BLOCK
7082 010051' 200 02 0 17 777775 MOVE T2,SYDSIZ ;GET BACK SIZE OF BLOCK
7083 010052' 104 00 0 00 000527 SYERR ;MAKE A SYSERR ENTRY
7084 010053' 320 16 0 00 010054' ERJMP .+1 ;DO NOT DIE IF THIS FAILS
7085
7086 ; RELEASE SYSERR BLOCK AND RETURN
7087
7088 010054' 200 01 0 17 777774 MOVE T1,SYDBLK ;GET ADDRESS OF SYSERR BLOCK
7089 010055' 275 01 0 00 000001 SUBI T1,1 ;RESTORE FREE BLOCK ADDRESS
7090 010056' 260 17 0 00 007752* CALL RELFRE ;RELEASE THE BLOCK
7091 010057' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
7092 010060' 263 17 0 00 000000 RET ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 169
NCU MAC 6-Oct-81 12:41 SYSERR Routines
7093 ;SYRNCU - ROUTINE TO MAKE A SYSERR ENTRY WHEN NETCON IS STARTED UP
7094 ;
7095 ;CALL: CALL SYRNCU
7096 ;RETURNS: +1 ALWAYS
7097
7098 010061' 265 16 0 00 007756* SYRNCU::STKVAR <SYNBLK,SYNSIZ,SYNOFS>
7099 010062' 000003 000003
7100
7101 ; ALLOCATE A BLOCK FOR THE SYSERR ENTRY
7102
7103 010063' 201 01 0 00 000050 MOVX T1,MAXSYE ;GET MAX SIZE OF SYSERR ENTRIES
7104 010064' 260 17 0 00 007761* CALL GETFRE ;GO GET SOME FREE SPACE
7105 010065' 254 00 0 00 013675' RETBAD (.NRRES) ;FAILED, RESOURCE ERROR
7106 010066' 271 01 0 00 000001 ADDI T1,1 ;ALLOW FOR BLOCK HEADER
7107 010067' 202 01 0 17 777776 MOVEM T1,SYNBLK ;SAVE ADDRESS OF SYSERR BLOCK
7108
7109 ; ASSEMBLE THE SYSERR ENTRY
7110
7111 010070' 200 04 0 17 777776 MOVE T4,SYNBLK ;GET ADDRESS OF SYSERR ENTRY
7112 010071' 200 01 0 00 014223' MOVX T1,VNETCON ;GET NETCON VERSION NUMBER
7113 010072' 202 01 0 04 000004 STOR T1,SYNCV,(T4) ;ADD NETCON VERSION NUMBER TO ENTRY
7114 010073' 561 01 0 04 000007 HRROI T1,.SYNDD(T4) ;FORM POINTER TO DESTINATION
7115 010074' 561 02 0 00 010667' HRROI T2,OURNAM ;GET POINTER TO THIS NODE'S NAME
7116 010075' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
7117 010076' 104 00 0 00 000053 SOUT ;ADD NODE NAME TO ENTRY
7118 010077' 320 16 0 00 010100' ERJMP .+1 ;DO NOT CRUMP ON ERROR
7119 010100' 200 03 0 00 000001 MOVE T3,T1 ;COPY FINAL DESTINATION POINTER
7120 010101' 275 03 0 04 000006 SUBI T3,.SYNDD-1(T4) ;COMPUTE NUMBER OF WORDS IN STRING
7121 010102' 210 03 0 00 000003 MOVN T3,T3 ;FORM WORD COUNT
7122 010103' 504 03 0 00 000003 HRL T3,T3 ;FORM -WORD COUNT,,0
7123 010104' 541 03 0 00 000003 HRRI T3,.SYNDD-.SYDAT ;GET OFFSET TO NODE NAME STRING
7124 010105' 202 03 0 04 000005 STOR T3,SYNAM,(T4) ;ADD OFFSET TO NODE NAME TO ENTRY
7125 010106' 561 01 0 01 000001 HRROI T1,1(T1) ;POINT TO START OF NEXT WORD
7126 010107' 552 01 0 17 777774 HRRZM T1,SYNOFS ;SAVE OFFSET TO PROGRAM NAME
7127 010110' 561 02 0 00 014142' HRROI T2,[ASCIZ/NETCON/] ;GET PROGRAM NAME
7128 010111' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
7129 010112' 104 00 0 00 000053 SOUT ;ADD PROGRAM NAME TO ENTRY
7130 010113' 320 16 0 00 010114' ERJMP .+1 ;CONTINUE ON ERRORS
7131 010114' 200 03 0 00 000001 MOVE T3,T1 ;COPY FINAL DESTINATION POINTER
7132 010115' 274 03 0 17 777774 SUB T3,SYNOFS ;COMPUTE WORD COUNT-1
7133 010116' 211 03 0 03 000001 MOVNI T3,1(T3) ;COMPUTE -WORD COUNT
7134 010117' 504 03 0 00 000003 HRL T3,T3 ;FORM -WORD COUNT,,0
7135 010120' 550 02 0 17 777774 HRRZ T2,SYNOFS ;GET OFFSET TO START OF PROGRAM NAME
7136 010121' 275 02 0 04 000004 SUBI T2,.SYDAT(T4) ;COMPUTE OFFSET TO PROGRAM NAME STRING
7137 010122' 540 03 0 00 000002 HRR T3,T2 ;COMPUTE -WORD COUNT,,OFFSET
7138 010123' 202 03 0 04 000006 STOR T3,SYPGM,(T4) ;STORE OFFSET TO PROGRAM NAME
7139 010124' 551 01 0 01 000001 HRRZI T1,1(T1) ;COMPUTE THE SIZE OF THIS
7140 010125' 274 01 0 00 000004 SUB T1,T4 ; SYSERR ENTRY
7141 010126' 202 01 0 17 777775 MOVEM T1,SYNSIZ ;SAVE ENTRY SIZE
7142 010127' 201 02 0 01 777774 MOVEI T2,-.SYDAT(T1) ;GET JUST SIZE OF DATA PORTION
7143 010130' 201 01 0 00 000201 MOVEI T1,SY%NCU ;GET NETCON-STARTED ENTRY TYPE
7144 010131' 200 03 0 17 777776 MOVE T3,SYNBLK ;GET ADDRESS OF SYSERR ENTRY
7145 010132' 260 17 0 00 007607' CALL SYRHDR ;ADD THE HEADER INFO TO THE ENTRY
7146 ; ..
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 170
NCU MAC 6-Oct-81 12:41 SYSERR Routines
7147 ; ..
7148
7149 ; MAKE THE SYSERR ENTRY
7150
7151 010133' 200 01 0 17 777776 MOVE T1,SYNBLK ;GET ADDRESS OF SYSERR BLOCK
7152 010134' 200 02 0 17 777775 MOVE T2,SYNSIZ ;GET SIZE OF THE ENTRY
7153 010135' 104 00 0 00 000527 SYERR ;MAKE A SYSERR ENTRY
7154 010136' 320 16 0 00 010137' ERJMP .+1 ;FAILED, IGNORE FAILURE
7155 010137' 200 01 0 17 777776 MOVE T1,SYNBLK ;GET ADDRESS OF SYSERR BLOCK
7156 010140' 275 01 0 00 000001 SUBI T1,1 ;RESTORE ADDRESS OF FREE BLOCK
7157 010141' 260 17 0 00 010056* CALL RELFRE ;RELEASE THE BLOCK
7158 010142' 254 00 0 00 013623' FATAL.ERROR ; Die on release failure
7159 010143' 263 17 0 00 000000 RET ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 171
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7160 SUBTTL Network Topology Change Server
7161
7162 ;ADVTOP - ROUTINE TO ADVISE THE MONITOR OF TOPOLOGY CHANGES
7163 ;
7164 ;ACCEPTS IN T1/ ADDRESS OF TOPOLOGY CHANGE PROTOCOL MESSAGE
7165 ; T2/ NUMBER OF BYTES IN MESSAGE
7166 ; CALL ADVTOP
7167 ;RETURNS: +1 FAILED
7168 ; +2 SUCCESS, WITH MONITOR NOTIFIED
7169
7170 010144' 265 16 0 00 004025* ADVTOP::SAVEPQ
7171 010145' 265 16 0 00 006773* TRVAR <ADVPTR,ADVCNT,ADVUNI,ADVLST,ADVHST>
7172 010146' 000005 000005
7173 010147' 265 16 0 00 010061* STKVAR <<ADVSTR,2>,<ADVSTK,30>>
7174 010150' 000032 000032
7175
7176 010151' 202 01 0 15 000001 MOVEM T1,ADVPTR ;SAVE POINTER TO MESSAGE
7177 010152' 202 02 0 15 000002 MOVEM T2,ADVCNT ;SAVE NUMBER OF BYTES IN MESSAGE
7178 010153' 202 03 0 15 000005 MOVEM T3,ADVHST ;SAVE POINTER TO HOST NODE NAME
7179 010154' 402 00 0 15 000004 SETZM ADVLST ;INITIALIZE ADR OF NODE LIST
7180
7181 ; SET UP STACK OF BLOCKS TO RELEASE ON CLEANUP
7182
7183 010155' 541 11 0 17 777745 HRRI P2,ADVSTK ;GET ADDRESS OF BLOCK STACK
7184 010156' 275 11 0 00 000001 SUBI P2,1 ;FORM STACK POINTER TO
7185 010157' 505 11 0 00 777750 HRLI P2,-30 ; CLEANUP PDL
7186
7187 ; ASSIGN SPACE FOR NEW NODE LIST
7188
7189 010160' 201 01 0 00 000020 MOVX T1,MAXTOP ;NUMBER OF NODES PLUS BLOCK HEADER
7190 010161' 260 17 0 00 010064* CALL GETFRE ;GET SOME FREE SPACE
7191 010162' 254 00 0 00 013675' RETBAD (.NRRES) ;No more free space .. give error return
7192 010163' 271 01 0 00 000001 ADDI T1,1 ;POINT TO START OF LIST
7193 010164' 202 01 0 15 000004 MOVEM T1,ADVLST ;SAVE ADDRESS OF NODE LIST
7194 010165' 201 04 0 00 000020 MOVX T4,MAXTOP ;GET MAX SIZE OF NODE LIST
7195 010166' 202 04 0 01 000000 MOVEM T4,(T1) ;INITIALIZE NODE LIST TABLE (TBLUK FORMAT)
7196
7197 ; ASSIGN FREE SPACE FOR THE NODE JSYS ARG BLOCK
7198
7199 010167' 201 01 0 00 000454 MOVX T1,^D300 ;ALLOCATE LOTS OF SPACE FOR MANY NODE UNITS
7200 010170' 260 17 0 00 010161* CALL GETFRE ;ASSIGN SPACE
7201 010171' 254 00 0 00 010271' JRST ADVTPX ;GO CLEAN UP FREE SPACE AND RETURN ERROR
7202 010172' 261 11 0 00 000001 PUSH P2,T1 ;SAVE ADDRESS OF BLOCK ON CLEANUP STACK
7203 010173' 271 01 0 00 000001 ADDI T1,1 ;POINT PAST BLOCK HEADER
7204 010174' 200 05 0 00 000001 MOVE Q1,T1 ;SAVE ADDRESS OF NODE JSYS ARG BLOCK
7205 010175' 201 10 0 01 000002 MOVEI P1,.NDBK1(T1) ;GET POINTER TO NEXT ARG BLOCK ADR TO USE
7206
7207 ; FIRST FIELD MUST BE THE COUNT OF THE NUMBER OF NODE UNITS FOLLOWING
7208
7209 010176' 375 00 0 15 000002 SOSGE ADVCNT ;AT LEAST ONE BYTE ?
7210 010177' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
7211 010200' 134 04 0 15 000001 ILDB T4,ADVPTR ;YES, GET FIELD TYPE
7212 010201' 302 04 0 00 000007 CAIE T4,.TPCNT ;COUNT OF NODE UNITS TO FOLLOW ?
7213 010202' 254 00 0 00 010271' JRST ADVTPX ;NO, FAIL
7214 010203' 375 00 0 15 000002 SOSGE ADVCNT ;AT LEAST ONE BYTE ?
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 171-1
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7215 010204' 254 00 0 00 013542' RETBAD (.NRIMF) ;NO, FAIL
7216 010205' 134 04 0 15 000001 ILDB T4,ADVPTR ;GET NUMBER OF NODE UNITS
7217 010206' 202 04 0 15 000003 MOVEM T4,ADVUNI ;SAVE NUMBER OF NODE UNITS TO FOLLOW
7218 010207' 202 04 0 05 000000 MOVEM T4,.NDNND(Q1) ;STORE NUMBER OF NODE UNITS IN NODE JSYS BLOCK
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 172
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7219 ; PROCESS THE NEXT NODE UNIT IN THE MESSAGE
7220
7221 010210' 375 00 0 15 000003 ADVT10: SOSGE ADVUNI ;ANOTHER NODE UNIT TO PROCESS ?
7222 JRST [ SKIPE ADVCNT ;NO. SHOULD BE NO MORE BYTES IN MESSAGE
7223 JRST ADVTPX ;FAIL, MESSAGE TOO LONG
7224 010211' 254 00 0 00 014224' JRST ADVT30 ] ;DONE, NOTIFY MONITOR OF NEW TOPOLOGY
7225 010212' 201 13 0 00 000000 MOVEI P4,0 ;INITIALIZE "LAST FIELD TYPE" SEEN
7226 010213' 201 01 0 00 000004 MOVX T1,.NDNBS+1 ;GET NUMBER OF WORDS FOR NODE UNIT
7227 010214' 260 17 0 00 010170* CALL GETFRE ;ASSIGN A FREE BLOCK FOR NODE UNIT
7228 010215' 254 00 0 00 010271' JRST ADVTPX ;FAILED, GO CLEAN UP
7229 010216' 261 11 0 00 000001 PUSH P2,T1 ;ADD BLOCK TO CLEANUP LIST
7230 010217' 271 01 0 00 000001 ADDI T1,1 ;POINT PAST HEADER BLOCK
7231 010220' 202 01 0 10 000000 MOVEM T1,(P1) ;STORE POINTER TO NODE UNIT IN ARG BLOCK
7232 010221' 200 12 0 00 000001 MOVE P3,T1 ;GET ADDRESS OF NODE UNIT
7233
7234 ; EXTRACT AND PROCESS EACH FIELD OF THE MESSAGE
7235
7236 010222' 375 02 0 15 000002 ADVT20: SOSGE T2,ADVCNT ;AT LEAST ONE BYTE ?
7237 010223' 254 00 0 00 010254' JRST ADVT30 ;NO, MUST BE END OF MESSAGE
7238 010224' 134 04 0 15 000001 ILDB T4,ADVPTR ;YES, GET FIELD TYPE
7239 010225' 301 04 0 00 000010 CAIL T4,FTPLEN ;WITHIN VALID RANGE ?
7240 010226' 254 00 0 00 010271' JRST ADVTPX ;NO, FAIL
7241 010227' 317 04 0 00 000013 CAMG T4,P4 ;NEXT FIELD HAVE HIGHER FIELD TYPE THAN LAST ?
7242 010230' 254 00 0 00 010236' JRST ADVT25 ;NO, MUST BE NEXT NODE UNIT
7243 010231' 200 13 0 00 000004 MOVE P4,T4 ;UPDATE "LAST FIELD SEEN"
7244 010232' 200 01 0 15 000001 MOVE T1,ADVPTR ;GET POINTER TO NEXT FIELD IN MESSAGE
7245 010233' 260 17 1 04 010244' CALL @FTPTAB(T4) ;YES, DISPATCH BASED ON FUNCTION CODE
7246 010234' 254 00 0 00 010271' JRST ADVTPX ;FAILED, GO CLEAN UP
7247 010235' 254 00 0 00 010222' JRST ADVT20 ;GO EXTRACT NEXT FIELD FROM MESSAGE
7248
7249 ; HERE AT END OF EACH NODE UNIT
7250
7251 010236' 476 00 0 00 000004 ADVT25: SETOM T4 ;DECREMENT BYTE POINTER BY ONE
7252 010237' 133 04 0 15 000001 ADJBP T4,ADVPTR ; BYTE BECAUSE WE'VE ALREADY PROCESSED
7253 010240' 202 04 0 15 000001 MOVEM T4,ADVPTR ; FIRST BYTE OF THE NEXT NODE UNIT
7254 010241' 350 00 0 15 000002 AOS ADVCNT ;AND UNDO DECREMENTING OF COUNT
7255 010242' 271 10 0 00 000001 ADDI P1,1 ;POINT TO WHERE ADR OF NEXT NODE UNIT GOES
7256 010243' 254 00 0 00 010210' JRST ADVT10 ;GO PROCESS NEXT NODE UNIT
7257
7258
7259 ; TABLE OF TOPOLOGY PROTOCOL FIELD PROCESSING ROUTINES
7260
7261 010244' 263 17 0 00 000000 FTPTAB: RET ; 0 ILLEGAL
7262 010245' 000000 010302' TPNOD ; 1 NODE NAME
7263 010246' 000000 010330' TPNUM ; 2 NODE NUMBER
7264 010247' 000000 010335' TPNST ; 3 NODE STATE
7265 010250' 000000 010345' TPLID ; 4 LINE ID
7266 010251' 000000 010354' TPLST ; 5 LINE STATE
7267 010252' 000000 010360' TPVER ; 6 VERSION INFO
7268 010253' 000000 010361' TPUNI ; 7 NODE UNITS TO FOLLOW
7269
7270 000010 FTPLEN==.-FTPTAB
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 173
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7271 ; HERE WHEN DONE WITH ALL NODE UNITS
7272
7273 010254' 201 01 0 00 000007 ADVT30: MOVX T1,.NDSNT ;GET "SET NETWORK TOPOLOGY" FUNCTION CODE
7274 010255' 200 02 0 00 000005 MOVE T2,Q1 ;GET ADDRESS OF NODE JSYS ARG BLOCK
7275 010256' 201 04 0 00 000003 MOVX T4,.NDNBS ;GET SIZE OF A NODE BLOCK
7276 010257' 202 04 0 02 000001 MOVEM T4,.NDCNT(T2) ;STORE IN ARG BLOCK
7277 010260' 104 00 0 00 000567 NODE ;TELL MONITOR ABOUT NETWORK TOPOLOGY
7278 010261' 320 16 0 00 010271' ERJMP ADVTPX ;FAILED, CLEAN UP AND RETURN ERROR
7279
7280 ; CLEAN UP ALL THE FREE BLOCKS ON THE BLOCK STACK
7281
7282 010262' 574 01 0 00 000011 ADVT40: HLRE T1,P2 ;GET STACK COUNTER
7283 010263' 317 01 0 00 014227' CAMG T1,[-30] ;MORE BLOCKS ON STACK ?
7284 JRST [ MOVE T1,ADVLST ;NO, GET ADDRESS OF NODE LIST
7285 010264' 254 00 0 00 014230' RETSKP ] ;DONE. RETURN SUCCESS
7286 010265' 262 11 0 00 000001 POP P2,T1 ;YES, GET BLOCK ADDRESS
7287 010266' 260 17 0 00 010141* CALL RELFRE ;RELEASE THE BLOCK
7288 010267' 254 00 0 00 013623' FATAL.ERROR ;FAILED
7289 010270' 254 00 0 00 010262' JRST ADVT40 ;LOOP OVER ALL BLOCKS ASSIGNED
7290
7291 ; HERE ON AN ERROR TO CLEAN UP THE FREE BLOCKS
7292
7293 010271' 200 01 0 15 000004 ADVTPX: MOVE T1,ADVLST ;GET ADDRESS OF NODE LIST
7294 010272' 260 17 0 00 010400' CALL TOPFRE ;Release the topology table
7295
7296 010273' 574 01 0 00 000011 ADVTX1: HLRE T1,P2 ;GET STACK COUNTER
7297 010274' 317 01 0 00 014227' CAMG T1,[-30] ;MORE BLOCKS ON STACK ?
7298 010275' 263 17 0 00 000000 RET ;NO, DONE. RETURN FAILURE
7299 010276' 262 11 0 00 000001 POP P2,T1 ;YES, GET BLOCK ADDRESS
7300 010277' 260 17 0 00 010266* CALL RELFRE ;RELEASE THE BLOCK
7301 010300' 254 00 0 00 013623' FATAL.ERROR ;FAILED
7302 010301' 254 00 0 00 010273' JRST ADVTX1 ;LOOP OVER ALL BLOCKS ASSIGNED
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 174
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7303 ; ROUTINES TO PROCESS FIELDS FROM TOPOLOGY CHANGE MESSAGES
7304
7305 010302' 201 03 0 17 777775 TPNOD: MOVEI T3,ADVSTR ;GET ADDRESS OF TEMPORARY STRING AREA
7306 010303' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;FORM POINTER TO TEMPORARY STRING DESTINATION
7307 010304' 260 17 0 00 004474' CALL GETIMA ;GET NODE NAME FROM MESSAGE
7308 010305' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
7309 010306' 202 01 0 15 000001 MOVEM T1,ADVPTR ;SAVE POINTER TO NEXT FIELD
7310 010307' 202 02 0 15 000002 MOVEM T2,ADVCNT ;SAVE COUNT OF REMAINING BYTES
7311 010310' 201 01 0 00 000000 MOVEI T1,0 ;NO OLD BLOCK TO RELEASE
7312 010311' 201 02 0 17 777775 MOVEI T2,ADVSTR ;GET ADDRESS WHERE STRING IS
7313 010312' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO STRING
7314 010313' 201 03 0 00 000002 MOVX T3,2 ;NODE NAMES ARE TWO WORDS MAX
7315 010314' 260 17 0 00 000000* CALL CPYASC ;PUT NODE NAME IN A BLOCK
7316 010315' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
7317 010316' 202 01 0 12 000000 MOVEM T1,.NDNAM(P3) ;STORE POINTER TO NODE NAME
7318 010317' 515 02 0 01 000001 HRLZI T2,1(T1) ;GET ADDRESS OF NODE NAME STRING
7319 010320' 200 01 0 15 000004 MOVE T1,ADVLST ;GET ADDRESS OF NODE LIST
7320 010321' 104 00 0 00 000536 TBADD ;ADD THIS NODE TO NODE LIST
7321 010322' 320 16 0 00 007117* ERJMP R ;FAILED
7322 010323' 200 01 0 12 000000 MOVE T1,.NDNAM(P3) ;GET NODE NAME POINTER
7323 010324' 200 02 0 15 000005 MOVE T2,ADVHST ;GET POINTER TO SOURCE NODE NAME
7324 010325' 260 17 0 00 010362' CALL STOHST ;STORE SOURCE NODE NAME IF NEEDED
7325 010326' 263 17 0 00 000000 RETBAD () ;FAILED
7326 010327' 254 00 0 00 007650* RETSKP ;DONE, RETURN SUCCESS
7327
7328
7329 010330' 260 17 0 00 005167' TPNUM: CALL GETEXB ;GET NODE NUMBER FROM MESSAGE
7330 010331' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
7331 010332' 202 01 0 15 000001 MOVEM T1,ADVPTR ;SAVE POINTER TO NEXT FIELD
7332 010333' 202 02 0 15 000002 MOVEM T2,ADVCNT ;SAVE COUNT OF ITEMS IN MESSAGE
7333 ;IGNORE NODE NUMBER
7334 010334' 254 00 0 00 010327* RETSKP ;DONE, RETURN SUCCESS
7335
7336
7337 010335' 375 00 0 15 000002 TPNST: SOSGE ADVCNT ;AT LEAST ONE BYTE IN THE MESSAGE ?
7338 010336' 263 17 0 00 000000 RET ;NO, FAIL
7339 010337' 134 04 0 15 000001 ILDB T4,ADVPTR ;YES, SKIP NODE STATE
7340 010340' 202 04 0 12 000001 MOVEM T4,.NDSTA(P3) ;STORE STATE IN NODE BLOCK
7341 010341' 375 00 0 15 000002 SOSGE ADVCNT ;ANOTHER BYTE IN MESSAGE ?
7342 010342' 263 17 0 00 000000 RET ;NO, FAIL
7343 010343' 133 00 0 15 000001 IBP ADVPTR ;YES, SKIP NODE TYPE
7344 010344' 254 00 0 00 010334* RETSKP ;DONE, RETURN SUCCESS
7345
7346
7347 010345' 275 02 0 00 000005 TPLID: SUBI T2,5 ;ENOUGH BYTES IN MESSAGE FOR A LINE ID ?
7348 010346' 321 02 0 00 010322* JUMPL T2,R ;NO, FAIL
7349 010347' 202 02 0 15 000002 MOVEM T2,ADVCNT ;SAVE NEW BYTE COUNT
7350 010350' 201 01 0 00 000005 MOVX T1,5 ;GET NUMBER OF BYTES IN LINE ID
7351 010351' 133 01 0 15 000001 ADJBP T1,ADVPTR ;SKIP OVER LINE ID IN MESSAGE
7352 010352' 202 01 0 15 000001 MOVEM T1,ADVPTR ;SAVE POINTER TO NEXT FIELD
7353 010353' 254 00 0 00 010344* RETSKP ;DONE, RETURN SUCCESS
7354
7355
7356 010354' 375 00 0 15 000002 TPLST: SOSGE ADVCNT ;AT LEAST ONE MORE BYTE ?
7357 010355' 263 17 0 00 000000 RET ;NO, FAIL
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 174-1
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7358 010356' 133 00 0 15 000001 IBP ADVPTR ;YES, SKIP TO NEXT FIELD IN MESSAGE
7359 010357' 254 00 0 00 010353* RETSKP ;DONE, RETURN SUCCESS
7360
7361
7362 010360' 263 17 0 00 000000 TPVER: RET ;FAIL, VERSION SHOULD NOT APPEAR IN MIDDLE
7363 ; OF TOPOLOGY INFORMATION
7364
7365
7366 010361' 263 17 0 00 000000 TPUNI: RET ;FAIL, SHOULD NOT SEE NODE UNIT COUNT
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 175
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7367
7368 ;STOHST - ROUTINE TO STORE THE SOURCE NODE NAME IN THE NODE BLOCK
7369 ;
7370 ;ACCEPTS IN T1/ POINTER TO NAME OF THIS NODE
7371 ; T2/ POINTER TO NAME OF SOURCE NODE
7372 ; CALL STOHST
7373 ;RETURNS: +1 FAILED
7374 ; +2 SUCCESS, POINTER STORED IF NEEDED
7375
7376 010362' 265 16 0 00 007755* STOHST: ASUBR <STHNOD,STHHST>
7377
7378 010363' 200 01 0 15 000001 MOVE T1,STHNOD ;GET POINTER TO NODE NAME
7379 010364' 200 02 0 15 000002 MOVE T2,STHHST ;GET POINTER TO SOURCE NODE NAME
7380 010365' 104 00 0 00 000540 STCMP ;DID SOURCE TELL US ABOUT ITSELF ?
7381 010366' 320 16 0 00 010346* ERJMP R ;FAILED, RETURN ERROR
7382 010367' 322 01 0 00 010357* JUMPE T1,RSKP ;YES, DO NOT STORE SOURCE NAME
7383 010370' 200 01 0 15 000001 MOVE T1,STHNOD ;GET NODE NAME
7384 010371' 561 02 0 00 010667' HRROI T2,OURNAM ;GET POINTER TO OUR NODE NAME
7385 010372' 104 00 0 00 000540 STCMP ;DID SOURCE NODE TELL US ABOUT US ?
7386 010373' 320 16 0 00 010366* ERJMP R ;FAILED, RETURN ERROR
7387 010374' 322 01 0 00 010367* JUMPE T1,RSKP ;YES, DO NOT STORE SOURCE NAME
7388 010375' 200 01 0 15 000002 MOVE T1,STHHST ;NO, GET SOURCE NODE NAME
7389 010376' 202 01 0 12 000002 MOVEM T1,.NDNXT(P3) ;STORE IN NODE BLOCK
7390 010377' 254 00 0 00 010374* RETSKP ;DONE, RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 176
NCU MAC 6-Oct-81 12:41 Network Topology Change Server
7391
7392 ;TOPFRE - Routine to release a topology table.
7393 ;
7394 ;Accepts in T1/ Address of topology table.
7395 ;
7396 ;Returns: +1 Always
7397
7398 010400' 265 16 0 00 010362* TOPFRE:: ASUBR <TOPTBL> ; Address of topology table
7399 010401' 322 01 0 00 010373* JUMPE T1,R ; If no address given .. just return
7400 010402' 261 17 0 00 000010 PUSH P,P1 ; Save a register
7401 010403' 554 10 0 01 000000 HLRZ P1,(T1) ; Get count of entries in table
7402 010404' 211 10 0 10 000001 MOVNI P1,1(P1) ; Put count in LH for AOBJP index
7403 010405' 517 00 0 00 000010 HRLZS P1
7404 010406' 541 10 0 01 000000 HRRI P1,(T1) ; Get address of start of table
7405
7406 010407' 252 10 0 00 010417' TPF.1: AOBJP P1,TPF.D ; If no more entries .. return table block
7407 010410' 336 01 0 10 000000 SKIPN T1,(P1) ; Get address of node name entry
7408 010411' 254 00 0 00 010407' JRST TPF.1 ; Not really there if zero .. move on
7409 010412' 557 00 0 00 000001 HLRZS T1 ; Put into right half
7410 010413' 275 01 0 00 000001 SUBI T1,1 ; Point to beginning of allocated block
7411 010414' 260 17 0 00 010277* CALL RELFRE ; Release the block
7412 010415' 254 00 0 00 013623' FATAL.ERROR ; Couldn't do it .. die
7413 010416' 254 00 0 00 010407' JRST TPF.1 ; Go release the next entry
7414
7415 010417' 200 01 0 15 000001 TPF.D: MOVE T1,TOPTBL ; Get address of table again
7416 010420' 275 01 0 00 000001 SUBI T1,1 ; Point to actual allocated block
7417 010421' 260 17 0 00 010414* CALL RELFRE ; Release the table
7418 010422' 254 00 0 00 013623' FATAL.ERROR ; Can't so crap out
7419 010423' 262 17 0 00 000010 POP P,P1 ; Restore register (inane comment)
7420 010424' 263 17 0 00 000000 RET ; Return to caller
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 177
NCU MAC 6-Oct-81 12:41 Utility Routines
7421 SUBTTL Utility Routines
7422
7423 ;STOSTR - ROUTINE TO STORE A STRING IN THE GENERAL STRING AREA
7424 ;
7425 ;ACCEPTS IN T1/ CURRENT ADDRESS OF STRING
7426 ; CALL STOSTR
7427 ;RETURNS: +1 FAILED, INSUFFICIENT ROOM TO STORE STRING
7428 ; +2 SUCCESS, WITH T1/ ADDRESS OF STRING IN STRING AREA
7429
7430 010425' 505 01 0 00 440700 STOSTR: HRLI T1,(POINT 7) ;FORM POINTER TO EXISTING STRING
7431 010426' 200 02 0 14 000001 MOVE T2,STRPTR ;GET POINTER TO WHERE STRING WILL GO
7432 010427' 210 03 0 14 000000 MOVN T3,STRSIZ ;GET # OF WORDS REMAINING IN STRING STORAGE AREA
7433 010430' 221 03 0 00 000005 IMULI T3,NCHPW ;COMPUTE -# OF CHARACTERS REMAINING IN AREA
7434
7435 ; LOOP OVER EACH CHARACTER IN THE STRING, MOVING IT TO THE STRING AREA
7436
7437 010431' 347 03 0 00 010401* STOST2: AOJG T3,R ;RETURN FAILURE IF NO ROOM FOR NEXT CHARACTER
7438 010432' 134 04 0 00 000001 ILDB T4,T1 ;GET NEXT CHARACTER IN STRING
7439 010433' 136 04 0 14 000001 IDPB T4,STRPTR ;STORE CHARACTER IN STRING AREA
7440 010434' 326 04 0 00 010431' JUMPN T4,STOST2 ;IF NOT NULL, GO MOVE NEXT CHARACTER
7441 010435' 350 01 0 14 000001 AOS T1,STRPTR ;POINT TO NEXT FREE LOCATION IN STRING AREA
7442 010436' 505 01 0 00 440700 HRLI T1,(POINT 7,) ;POINT TO FIRST CHARACTER IN NEXT WORD
7443 010437' 202 01 0 14 000001 MOVEM T1,STRPTR ;SAVE NEW POINTER TO FREE LOC IN STRING AREA
7444 010440' 200 04 0 14 000002 MOVE T4,STREND ;GET ADDRESS OF LAST LOCATION IN STRING AREA
7445 010441' 275 04 0 01 000001 SUBI T4,1(T1) ;COMPUTE LENGTH OF REMAINING STRING AREA
7446 010442' 202 04 0 14 000000 MOVEM T4,STRSIZ ;SAVE NUMBER OF WORDS LEFT IN STRING AREA
7447 010443' 200 01 0 00 000002 MOVE T1,T2 ;GET ORIGINAL POINTER TO STRING
7448 010444' 254 00 0 00 010377* RETSKP ;RETURN SUCCESS
7449
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 178
NCU MAC 6-Oct-81 12:41 Utility Routines
7450 ;CLRMOP - ROUTINE TO CLEAR THE MOP MESSAGE AREA
7451 ;
7452 ;CALL: CALL CLRMOP
7453 ;RETURNS: +1 ALWAYS
7454
7455 010445' 541 01 0 14 003034 CLRMOP: HRRI T1,1+MOPMSG ;GET ADDRESS OF MOP MESSAGE AREA + 1
7456 010446' 505 01 0 01 777777 HRLI T1,-1(T1) ;FORM ADDRESS,,ADDRESS+1 FOR BLT
7457 010447' 402 00 0 14 003033 SETZM MOPMSG ;CLEAR THE FIRST WORD OF THE AREA
7458 010450' 251 01 0 14 003233 BLT T1,MOPSIZ-1+MOPMSG ;CLEAR REMAINDER OF MOP MESSAGE AREA
7459 010451' 263 17 0 00 000000 RET ;RETURN
7460
7461 ;CLRBOT - ROUTINE TO CLEAR THE BOOT JSYS ARGUMENT BLOCK
7462 ;
7463 ;CALL: CALL CLRBOT
7464 ;RETURNS: +1 ALWAYS
7465
7466 010452' 541 01 0 14 003235 CLRBOT: HRRI T1,1+BTARG ;GET ADDRESS OF BOOT JSYS ARG BLOCK+1
7467 010453' 505 01 0 01 777777 HRLI T1,-1(T1) ;FORM ADDRESS,,ADDRESS+1 FOR BLT
7468 010454' 402 00 0 14 003234 SETZM BTARG ;CLEAR THE FIRST WORD OF THE AREA
7469 010455' 251 01 0 14 003253 BLT T1,BTSIZ-1+BTARG ;CLEAR REMAINDER OF AREA
7470 010456' 263 17 0 00 000000 RET ;RETURN
7471
7472 ;CLRMSG - ROUTINE TO CLEAR THE NICE MESSAGE BLOCK
7473 ;
7474 ;CALL: CALL CLRMSG
7475 ;RETURNS: +1 ALWAYS
7476
7477 010457' 541 01 0 14 000034 CLRMSG: HRRI T1,1+MSGBLK ;GET ADDRESS OF NICE MESSAGE AREA + 1
7478 010460' 505 01 0 01 777777 HRLI T1,-1(T1) ;FORM ADDRESS,,ADDRESS+1 FOR BLT
7479 010461' 402 00 0 14 000033 SETZM MSGBLK ;CLEAR THE FIRST WORD OF THE AREA
7480 010462' 251 01 0 14 003032 BLT T1,MSGSIZ-1+MSGBLK ;CLEAR REMAINDER OF NICE MESSAGE AREA
7481 010463' 263 17 0 00 000000 RET ;RETURN
7482
7483
7484 ;CHKLIN - ROUTINE TO CHECK A STANDARD NICE LINE ID
7485 ;
7486 ;ACCEPTS IN T3/ LINE DEVICE TYPE (.DTXXX),,LINE CONTROLLER NUMBER
7487 ; T4/ LINE UNIT NUMBER,,STATION ADDRESS
7488 ; CALL CHKLIN
7489 ;RETURNS: +1 FAILED, NO SUCH LINE. NICE RETURN CODE IN T1
7490 ; +2 SUCCESS, WITH T1/ DTE20 NUMBER
7491
7492 010464' 554 01 0 00 000003 CHKLIN: HLRZ T1,T3 ;GET DEVICE TYPE CODE
7493 010465' 302 01 0 00 000024 CAIE T1,.DTDTE ;DTE TYPE DEVICE ?
7494 010466' 254 00 0 00 013670' RETBAD (.NRILN) ;NO, RETURN "INVALID LINE ID"
7495 010467' 550 01 0 00 000004 HRRZ T1,T4 ;GET STATION ADDRESS
7496 010470' 326 01 0 00 014127' JUMPN T1,[RETBAD (.NRILN)] ;RETURN ERROR IF NOT CONTROLLER 0
7497 010471' 550 01 0 00 000003 HRRZ T1,T3 ;GET CONTROLLER NUMBER (DTE20 NUMBER)
7498 010472' 254 00 0 00 010444* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 179
NCU MAC 6-Oct-81 12:41 Utility Routines
7499 ;SETPGM - ROUTINE TO GET A POINTER TO A FILESPEC GIVEN A PROGRAM TYPE
7500 ; AND A LOAD DEVICE.
7501 ;
7502 ;CALL: CALL SETPGM
7503 ;RETURNS: +1 FAILED, NO FILESPEC FOR THAT DEVICE/PROGRAM
7504 ; +2 SUCCESS, WITH T1/ POINTER TO ASCIZ FILESPEC
7505
7506 010473' 265 16 0 00 010147* SETPGM: STKVAR <SPGTAB>
7507 010474' 000001 000001
7508
7509 ; DETERMINE IF PROGRAM ABOUT TO BE LOADED IS AN OPERATING SYSTEM OR
7510 ; A BOOTSTRAP PROGRAM.
7511
7512 010475' 200 01 0 14 000014 MOVE T1,RQLPGM ;GET PROGRAM TYPE TO BE LOADED (.PTXXX)
7513 010476' 306 01 0 00 000002 CAIN T1,.PTOPS ;ABOUT TO LOAD AN OPERATING SYSTEM ?
7514 JRST [ MOVE T1,rqlops ;YES, GET POINTER TO PRIMARY FILESPEC
7515 010477' 254 00 0 00 014232' RETSKP ] ;DONE, RETURN SUCCESS
7516
7517 ; LOADING A BOOTSTRAP - DETERMINE FILESPEC BASED ON LOAD DEVICE AND CPU
7518
7519 010500' 200 04 0 00 014234' MOVE T4,[-MAXPGM,,PGMTAB] ;SET UP TO LOOP OVER ALL PROGRAM TABLE ENTRIES
7520 010501' 554 01 0 04 000000 SPGM10: LOAD T1,PGLDV,(T4) ;GET LOAD DEVICE FROM THIS TABLE ENTRY
7521 010502' 312 01 0 14 000012 CAME T1,RQLLDV ;FOUND DESIRED LOAD DEVICE ?
7522 010503' 254 00 0 00 010512' JRST SPGM20 ;NO, GO LOOK AT NEXT ENTRY
7523 010504' 550 01 0 04 000000 LOAD T1,PGCPU,(T4) ;GET CPU TYPE FROM THIS TABLE ENTRY
7524 010505' 312 01 0 14 000013 CAME T1,RQLCPU ;SAME AS TYPE OF SYSTEM BEING LOADED ?
7525 010506' 254 00 0 00 010512' JRST SPGM20 ;NO, GO CHECK NEXT ENTRY
7526 010507' 554 01 0 04 000001 LOAD T1,PGPGM,(T4) ;GET PROGRAM TYPE CODE
7527 010510' 316 01 0 14 000014 CAMN T1,RQLPGM ;FOUND DESIRED PROGRAM TYPE ?
7528 010511' 254 00 0 00 010515' JRST SPGM30 ;YES, GO GET THE FILESPEC
7529 010512' 271 04 0 00 000002 SPGM20: ADDI T4,PGLEN-1 ;SET UP TO POINT TO NEXT ENTRY
7530 010513' 253 04 0 00 010501' AOBJN T4,SPGM10 ;NO, LOOP OVER ALL ENTRIES IN THE TABLE
7531 010514' 263 17 0 00 000000 RET ;FAIL, NO SUCH PROGRAM TYPE KNOWN
7532
7533 010515' 200 01 0 04 000002 SPGM30: LOAD T1,PGFIL,(T4) ;GET POINTER TO FILE-SPEC TO BE LOADED
7534 010516' 254 00 0 00 010472* RETSKP ;DONE, RETURN SUCCESS
7535
7536
7537
7538 ;CVTDEV - ROUTINE TO CONVERT A DTE20 NUMBER INTO A STANDARD NICE
7539 ; LINE ID.
7540 ;
7541 ;ACCEPTS IN T1/ DTE20 NUMBER
7542 ; CALL CVTDEV
7543 ;RETURNS: +1 FAILED, INVALID DTE20 NUMBER
7544 ; +2 SUCCESS, WITH T2-T3/ STANDARD NICE LINE ID
7545
7546 010517' 301 01 0 00 000004 CVTDEV::CAIL T1,MAXDTE ;VALID DTE20 NUMBER
7547 010520' 254 00 0 00 013670' RETBAD (.NRILN) ;NO, RETURN "INVALIID LINE ID"
7548 010521' 205 02 0 00 000024 MOVSI T2,.DTDTE ;GET DEVICE TYPE CODE
7549 010522' 540 02 0 00 000001 HRR T2,T1 ;YES, GET CONTROLLER (DTE20 #)
7550 010523' 402 00 0 00 000003 SETZM T3 ;NO UNIT OR CONTROLLER NUMBER
7551 010524' 254 00 0 00 010516* RETSKP ;DONE, RETURN SUCCESS
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 180
NCU MAC 6-Oct-81 12:41 Utility Routines
7552 ;GETNIB - ROUTINE TO RETURN THE ADDRESS OF THE NIB FOR A GIVEN NODE
7553 ;
7554 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
7555 ; CALL GETNIB
7556 ;RETURNS: +1 FAILURE, NO SUCH NODE IS KNOWN
7557 ; +2 SUCCESS, WITH T1/ ADDRESS OF NODE INFORMATION BLOCK
7558
7559 010525' 200 02 0 00 000001 GETNIB::MOVE T2,T1 ;GET STRING TO SEARCH FOR (NODE NAME)
7560 010526' 201 01 0 00 011440' MOVEI T1,NODTAB ;GET ADDRESS OF KNOWN NODE TABLE
7561 010527' 104 00 0 00 000537 TBLUK ;SEARCH FOR THE SPECIFIED NODE
7562 010530' 320 16 0 00 010431* ERJMP R ;FAILED, RETURN ERROR
7563 010531' 607 02 0 00 040000 TXNN T2,TL%EXM ;EXACT MATCH ?
7564 010532' 263 17 0 00 000000 RET ;NO, RETURN FAILURE
7565 010533' 550 01 0 01 000000 HRRZ T1,(T1) ;GET ADDRESS OF NODE INFORMATION BLOCK
7566 010534' 254 00 0 00 010524* RETSKP ;RETURN SUCCESS
7567
7568
7569
7570 ;ASGREC - ROUTINE TO ASSIGN A BLOCK TO HOLD A RECORD BEING SENT IN A
7571 ; SERIES OF MOP "LOAD RECORD" MESSAGES.
7572 ;
7573 ;ACCEPTS IN T1/ FLAGS:
7574 ; OF%RD IF INPUT IS TO BE DONE
7575 ; OF%WR IF OUTPUT IS TO BE DONE
7576 ; CALL ASGREC
7577 ;RETURNS: +1 FAILED, NO MORE BLOCKS AVAILABLE
7578 ; +2 SUCCESS, WITH T1/ ADDRESS OF BLOCK ASSIGNED
7579
7580 010535' 265 16 0 00 010400* ASGREC: ASUBR <ARBFLG>
7581
7582 ; MOVEI T1,RCTSIZ+MAXREC ;GET SIZE OF A RECORD BLOCK
7583 010536' 201 01 0 00 000500 MOVEI T1,500 ;Big record size.. so that INPLDA doesn't
7584 ;read into area not assigned
7585 010537' 260 17 0 00 010214* CALL GETFRE ;GET A FREE BLOCK FOR THE RECORD BLOCK
7586 010540' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN ERROR TO CALLER
7587 010541' 200 03 0 15 000001 MOVE T3,ARBFLG ;GET FLAGS
7588 010542' 201 02 0 00 000004 MOVX T2,BPWRD ;GET NUMBER OF PDP-11 BYTES PER -20 WORD
7589 010543' 602 03 0 00 100000 TXNE T3,OF%WR ;OUTPUT TO BE DONE ?
7590 010544' 201 02 0 00 000000 MOVEI T2,0 ;YES, START WITH BYTE NUMBER 0
7591 010545' 202 02 0 01 000002 STOR T2,RBBYT,(T1) ;INITIALIZE THE NEXT BYTE TO READ
7592 010546' 553 00 0 01 000001 SETZRO RBJFN,(T1) ;INITIALIZE JFN FIELD FOR THIS ENTRY
7593 010547' 201 04 0 01 000011 MOVEI T4,.RBDAT(T1) ;GET OFFSET TO DATA AREA IN RECORD BLOCK
7594 010550' 505 04 0 00 441000 HRLI T4,(POINT 8,) ;FORM POINTER TO WHERE THE DATA GOES
7595 010551' 202 04 0 01 000003 STOR T4,RBPTR,(T1) ;STORE POINTER TO DESTINATION FOR DATA
7596 010552' 254 00 0 00 010534* RETSKP ;RETURN
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 181
NCU MAC 6-Oct-81 12:41 Utility Routines
7597 ;CHKDEV - ROUTINE TO VERIFY A DEVICE TYPE CODE
7598 ;
7599 ;ACCEPTS IN T1/ DEVICE TYPE CODE (.DTXXX)
7600 ; CALL CHKDEV
7601 ;RETURNS: +1 FAILED, DEVICE TYPE CODE IS INVALID
7602 ; +2 SUCCESS, DEVICE ISOK, T1/ POINTER TO ASCIZ DEV NAME
7603
7604 010553' 554 04 0 00 010633' CHKDEV: HLRZ T4,LINNAM ;GET NUMBER OF ENTRIES IN DEVICE TABLE
7605 010554' 213 00 0 00 000004 MOVNS T4 ;GET -NUMBER OF ENTRIES
7606 010555' 504 04 0 00 000004 HRL T4,T4 ;GET -TABLE SIZE,,0
7607 010556' 541 04 0 00 010634' HRRI T4,LINNAM+1 ;FORM AOBJN POINTER TO SEARCH DEVICE TABLE
7608
7609 010557' 550 02 0 04 000000 CHKDV1: HRRZ T2,(T4) ;GET A DEVICE TYPE FROM TABLE
7610 010560' 316 02 0 00 000001 CAMN T2,T1 ;FOUND DESIRED DEVICE TYPE CODE ?
7611 010561' 254 00 0 00 010564' JRST CHKDV2 ;YES, GO ADD NAME TO STRING
7612 010562' 253 04 0 00 010557' AOBJN T4,CHKDV1 ;LOOP OVER ALL TABLE ENTRIES
7613 010563' 263 17 0 00 000000 RET ;NOT FOUND, FAILED
7614
7615 010564' 544 01 0 04 000000 CHKDV2: HLR T1,(T4) ;GET ADDRESS OF DEVICE NAME STRING
7616 010565' 505 01 0 00 440700 HRLI T1,(POINT 7,) ;FORM POINTER TO NAME
7617 010566' 254 00 0 00 010552* RETSKP ;DONE, SUCCESS
7618
7619
7620
7621 ;FNDTGT - ROUTINE TO FIND A TARGET NODE'S NIB GIVEN A LINE ADJACENCY TABLE
7622 ; AND A SERVER LINE ID.
7623 ;
7624 ;ACCEPTS IN T1/ ADDRESS OF A LINE ADJACENCEY TABLE
7625 ; T2-T3/ STANDARD LINE ID
7626 ; CALL FNDTGT
7627 ;RETURNS: +1 FAILED, NICE RETURN CODE IN T1
7628 ; +2 SUCCESS, WITH T1/ ADDRESS OF NIB FOR NODE AT END OF THE
7629 ; GIVEN SERVER LINE.
7630
7631 010567' 205 04 0 00 777773 FNDTGT: MOVSI T4,-MXLNOD ;SET UP TO LOOP OVER EACH ENTRY IN THE TABLE
7632
7633 010570' 200 16 0 01 000002 FTGT10: JE LTUSE,(T1),FTGT20 ;IF THIS ENTRY NOT IN USE, GO ON TO NEXT ENTRY
7634 010571' 325 16 0 00 010576'
7635 010572' 316 02 0 01 000000 CAMN T2,0(T1) ;TYPE AND CONTROLLER NUMBER COMPARE ?
7636 010573' 312 03 0 01 000001 CAME T3,1(T1) ; AND ALSO UNIT NUMBER AND STATION ADDRESS ?
7637 010574' 334 00 0 00 000000 SKIPA ;NO, GO CHECK NEXT ENTRY
7638 JRST [ LOAD T1,LTNIB,(T1) ;YES, GET ADDRESS OF NIB FOR TARGET NODE
7639 010575' 254 00 0 00 014235' RETSKP ] ;DONE, RETURN SUCCESS
7640 010576' 271 01 0 00 000004 FTGT20: ADDI T1,LATSIZ ;FORM ADDRESS OF NEXT ENTRY IN TABLE
7641 010577' 253 04 0 00 010570' AOBJN T4,FTGT10 ;LOOP OVER ALL ENTRIES IN TABLE
7642 010600' 254 00 0 00 013544' RETBAD (.NRICF) ;ENTRY NOT FOUND, RETURN "DATABASE ERROR"
7643
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 182
NCU MAC 6-Oct-81 12:41 Utility Routines
7644 ;ASCLIN - ROUTINE TO CONVERT A STANDARD NICE LINE ID TO A STRING
7645 ;
7646 ;ACCEPTS IN T1/ DESTINATION POINTER FOR STRING
7647 ; T2-T3/ NICE LINE ID
7648 ; CALL ASCLIN
7649 ;RETURNS: +1 FAILED
7650 ; +2 SUCCESS, WITH T1/ UPDATED DESTINATION POINTER
7651
7652 010601' 265 16 0 00 010535* ASCLIN::ASUBR <ASLPTR,<ASLLIN,2>>
7653
7654 ; ADD DEVICE TYPE NAME TO THE STRING
7655
7656 010602' 554 01 0 15 000002 HLRZ T1,ASLLIN ;GET DEVICE TYPE CODE (.DTXXX)
7657 010603' 260 17 0 00 010553' CALL CHKDEV ;GO CHECK DEVICE TYPE
7658 010604' 263 17 0 00 000000 RET ;FAILED, BAD DEVICE
7659 010605' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO DEVICE NAME STRING
7660 010606' 200 01 0 15 000001 MOVE T1,ASLPTR ;GET DESTINATION POINTER
7661 010607' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
7662 010610' 104 00 0 00 000053 SOUT ;ADD DEVICE TYPE TO TABLE
7663
7664 ; ADD CONTROLLER, UNIT, AND STATION TO DESTINATION STRING
7665
7666 010611' 201 04 0 00 000137 MOVX T4,"_" ;GET UNDERSCORE
7667 010612' 136 04 0 00 000001 IDPB T4,T1 ;ADD UNDERSCORE TO DESTINATION STRING
7668 010613' 550 02 0 15 000002 HRRZ T2,ASLLIN ;GET CONTROLLER NUMBER
7669 010614' 201 03 0 00 000010 MOVX T3,10 ;USE OCTAL
7670 010615' 104 00 0 00 000224 NOUT ;ADD CONTROLLER TO STRING
7671 010616' 320 16 0 00 010530* ERJMP R ;FAILED, RETURN ERROR
7672 010617' 136 04 0 00 000001 IDPB T4,T1 ;ADD UNDERSCORE TO STRING
7673 010620' 554 02 0 15 000003 HLRZ T2,1+ASLLIN ;GET UNIT NUMBER
7674 010621' 104 00 0 00 000224 NOUT ;ADD UNIT TO STRING
7675 010622' 320 16 0 00 010616* ERJMP R ;FAILED, RETURN ERROR
7676 010623' 550 02 0 15 000003 HRRZ T2,1+ASLLIN ;GET STATION ADDRESS
7677 010624' 336 00 0 00 000002 SKIPN T2 ;If the station number is zero
7678 JRST [ HLRZ T2,ASLLIN ; Get device type code (.DTXXX)
7679 CAIE T2,.DTKDP ; Check for KDP
7680 CAIN T2,.DTKDZ ; or KDZ
7681 SKIPA ; Yes .. output a tab
7682 RETSKP ; No .. just return
7683 MOVEI T2,.CHTAB ; Get a tab
7684 BOUT ; Put it instead of _n
7685 010625' 254 00 0 00 014237' RETSKP] ; And return
7686 010626' 136 04 0 00 000001 IDPB T4,T1 ;ADD UNDERSCORE TO STRING
7687 010627' 104 00 0 00 000224 NOUT ;ADD STATION TO STRING
7688 010630' 320 16 0 00 010622* ERJMP R ;FAILED, RETURN ERROR
7689 010631' 254 00 0 00 010566* RETSKP ;DONE, RETURN WITH UPDATED POINTER IN T1
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 183
NCU MAC 6-Oct-81 12:41 Constants and Tables
7690 SUBTTL Constants and Tables
7691
7692 ; INTERVAL BETWEEN LINE COUNTER LOGGINGS IN SYSERR FILE
7693
7694 010632' 000015 567200 LOGTIM::EXP ^D60*^D60*^D1000
7695
7696
7697 ; TABLE OF DEVICE NAME/DEVICE TYPE CORRESPONDENCES
7698
7699 010633' 000016 000015 LINNAM: LINSIZ,,LINSIZ-1
7700 010634' 014247' 000010 TB (.DTA11,DA11A)
7701 010635' 014251' 000020 TB (.DTL1A,DL11A)
7702 010636' 014253' 000004 TB (.DTL1E,DL11E)
7703 010637' 014255' 000016 TB (.DTDLV,DLV11)
7704 010640' 014257' 000014 TB (.DTDMC,DMC11)
7705 010641' 014261' 000000 TB (.DTP11,DP11)
7706 010642' 014262' 000006 TB (.DTQ11,DQ11)
7707 010643' 014263' 000024 TB (.DTDTE,DTE20)
7708 010644' 014265' 000002 TB (.DTU11,DU11)
7709 010645' 014266' 000012 TB (.DTDUP,DUP11)
7710 010646' 014270' 000026 TB (.DTDV1,DV11)
7711 010647' 014271' 000034 TB (.DTKDP,KDP)
7712 010650' 014272' 000036 TB (.DTKDZ,KDZ)
7713 000016 LINSIZ=.-LINNAM
7714
7715
7716 ; TABLE OF NETCON DEVICE TYPE/SYSERR DEVICE TYPE CORRESPONDENCE
7717
7718 010651' 000015 000024 HDWTB: .SYDTE,,.DTDTE
7719 010652' 000003 000034 .SYKDP,,.DTKDP
7720 010653' 000027 000012 .SYDUP,,.DTDUP
7721 010654' 000005 000014 .SYDMC,,.DTDMC
7722
7723 000004 HDWSZ==.-HDWTB
7724
7725
7726
7727 ; BYTE POINTER TABLES
7728
7729 010655' 000000 010663' PTRTAB: .PTSLD,,SLDTAB ;POINTERS FOR LOADING SECONDARY BOOTSTRAPS
7730 010656' 000002 010657' .PTOPS,,OPSTAB ;POINTERS FOR LOADING OPERATING SYSTEMS
7731
7732 000002 PTRSIZ==.-PTRTAB
7733
7734
7735 010657' 34 10 0 03 000000 OPSTAB: POINT 8,(T3),7
7736 010660' 24 10 0 03 000000 POINT 8,(T3),15
7737 010661' 14 10 0 03 000000 POINT 8,(T3),23
7738 010662' 04 10 0 03 000000 POINT 8,(T3),31
7739
7740 010663' 24 10 0 03 000000 SLDTAB: POINT 8,(T3),15
7741 010664' 34 10 0 03 000000 POINT 8,(T3),7
7742 010665' 04 10 0 03 000000 POINT 8,(T3),31
7743 010666' 14 10 0 03 000000 POINT 8,(T3),23
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 184
NCU MAC 6-Oct-81 12:41 Constants and Tables
7744
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 185
NCU MAC 6-Oct-81 12:41 Variable Data Storage
7745 SUBTTL Variable Data Storage
7746
7747 ;NETCON FREE SPACE AND VARIABLES
7748
7749
7750 ; LOGGING PROCESS PAGES
7751
7752 000300 LOGFFP==300 ;FIRST FREE PAGE FOR LOGGING PROCESS
7753 000010 NLOGPG==10 ;NUMBER OF PAGES FOR THE LOGGING PROCESS
7754
7755 ;START OF SPACE THAT IS ZEROED AT PROGRAM START UP
7756
7757 010667' BEGFRE::
7758
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 186
NCU MAC 6-Oct-81 12:41 Variable Data Storage
7759 010667' OURNAM::BLOCK 2 ;NAME OF NODE NETCON IS RUNNING ON
7760 010671' OURNUM::BLOCK 1 ;OUR NODE NUMBER
7761
7762 010672' 000000 000000 EXCUTR::0 ;POINTER TO EXECUTOR NAME
7763
7764 000020 ERRSTL==20 ;LENGTH OF ERROR STRING
7765 010673' ERRSTR::BLOCK ERRSTL ;USED BY ERROR TO HOLD ERROR STRING
7766
7767 010713' 000000 000000 LEV1PC::0 ;LEVEL 1 PC ADDRESS
7768 010714' 000000 000000 LEV2PC::0
7769 010715' 000000 000000 LEV3PC::0
7770
7771 010716' 000000 000000 L1SAV1::0 ;AC SAVE AREA
7772 010717' 000000 000000 L1SAV2::0
7773 010720' 000000 000000 L1SAV3::0
7774 010721' 000000 000000 L1SAV4::0
7775 010722' 000000 000000 L1SAVC::0
7776
7777 010723' 000000 000000 L2SAV1::0
7778 010724' 000000 000000 L2SAV2::0
7779 010725' 000000 000000 L2SAV3::0
7780 010726' 000000 000000 L2SAV4::0
7781 010727' 000000 000000 L2SAVC::0
7782
7783 010730' 000000 000000 L3SAV1::0
7784 010731' 000000 000000 L3SAV2::0
7785 010732' 000000 000000 L3SAV3::0
7786 010733' 000000 000000 L3SAV4::0
7787 010734' 000000 000000 L3SAVC::0
7788
7789 ;NCU VARIABLE DEFINITIONS
7790
7791 010735' SAVRET: BLOCK 1 ;RETURN ADDRESS OF CMDINI CALLER
7792 010736' SAVREP: BLOCK 1 ;SAVED STACK POINTER TO RESTORE ON REPARSE
7793 010737' RHDWC1: BLOCK 1 ;RETURN PC FOR INTERRUPT LEVEL 1
7794 010740' RHDWC2: BLOCK 1 ;RETURN PC FOR INTERRUPT LEVEL 2
7795 010741' RHDWC3: BLOCK 1 ;RETURN PC FOR INTERRUPT LEVEL 3
7796
7797
7798 010742' NXTNIB::BLOCK 1 ;NEXT FREE NODE INFORMATION BLOCK
7799 010743' NXTLIN::BLOCK 1 ;NEXT FREE LINE TABLE IN ADJTAB
7800
7801
7802 010744' TMPSTR: BLOCK 50 ;TEMPORARY STRING STORAGE LOCATION
7803 011014' NXTTIM: BLOCK 1 ;REMAINING CURRENT TIME INTERVAL
7804 011015' EVTSEQ::BLOCK 1 ;NEXT SEQUENCE NUMBER FOR EVENT LOGGING MESSAGES
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page 187
NCU MAC 6-Oct-81 12:41 Variable Data Storage
7805
7806 ;GLOBAL STORAGE DEFINITIONS
7807
7808
7809 ; PROGRAM TABLE USED TO DETERMINE WHAT BOOTSTRAP FILE TO LOAD
7810
7811 011016' PGMTAB::BLOCK PGLEN*MAXPGM ;TABLE OF BOOT FILE-DEVICE/CPU CORRESPONDENCE
7812
7813
7814 ; LINE TABLES CONTAINING INFO FOR LINE SERVICE PART OF PROGRAM
7815
7816 011046' LINTAB: BLOCK MAXNOD*MXLNOD ;NUMBER OF NODES * NUMBER OF LINES/NODE
7817
7818 ; TABLE OF NODE NAMES FOR COMMAND PARSING (TBLUK JSYS FORMAT)
7819
7820 011440' 000000 000062 NODTAB::0 ,, MAXNOD ;CURRENT,,MAX NUMBER OF ENTRIES
7821 011441' BLOCK MAXNOD ;ALLOCATE SPACE FOR MAX NUMBER OF NODES
7822
7823 011523' LOGFLG: BLOCK 1 ;NON-ZERO IF LOGGING PROBLEMS GET REPORTED
7824
7825
7826 011523' LSTFRE==:.-1 ;LAST LOCATION IN ZEROED FREE SPACE
7827
7828 011524' ITPTR: BLOCK 1 ;INPUT TRACING POINTER
7829 011525' OTPTR: BLOCK 1 ;OUTPUT TRACING POINTER
7830 011526' LOGPDL: BLOCK PDLEN ;LOGGER PROCESS PDL
7831
7832
7833 XLIST ;THE LITERALS ARE ASSEMBLED IN THIS
7834 LIST ; "XLIST'ED" CODE.
7835
7836
7837 END
NO ERRORS DETECTED
PROGRAM BREAK IS 014517
CPU TIME USED 01:19.999
141P CORE USED
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page S-1
NCU MAC 6-Oct-81 12:41 SYMBOL TABLE
ADVT10 010210' DEFRQL 004061' EVTASC 004057' GETRQD 004311'
ADVT20 010222' DEVFLD 004716' EVTDSP 004643' GETRQL 004252'
ADVT25 010236' DFD010 004172' EVTEXA 003316' GETSEQ 005221'
ADVT30 010254' DFD020 004207' EVTHDW 003503' GETSID 004377'
ADVT40 010262' DFD030 004220' EVTHDX 003546' GETTWO 004625' int
ADVTOP 010144' int DFD040 004227' EVTLEN 000017 spd GIA010 004507'
ADVTPX 010271' DIABAS 002036' EVTSEQ 011015' int GIA020 004514'
ADVTX1 010273' DIAMEM 002047' EVTSFT 004060' GIA030 004524'
AIC 104000 000131 int DIAXFR 002110' EVTSIZ 000006 spd GIB010 004544'
ASCLIN 010601' int DIC 104000 000133 int EVTSYR 004025' GIB020 004551'
ASCPRS 001400' DISMS 104000 000167 int EVTTAB 003310' GIB030 004555'
ASGPAG 003254' ext DLGTAB 002032' EVTTOP 003403' GJ%FOU 400000 000000 sin
ASGREC 010535' DLOCK 001751' ext EVTTPX 003466' GJ%OLD 100000 000000 sin
BEGFRE 010667' int DMPEND 000674' EXCUTR 010672' int GJ%SHT 000001 000000 sin
BIN 104000 000050 int DMPMAX 000004 spd EXTAS2 005157' GTAD 104000 000227 int
BINHDR 000006 spd DMPMEM 000702' EXTBIT 000200 spd GTBT10 006546'
BOOT 104000 000562 int DMPSET 000711' FB%BSZ 007700 000000 sin GTFDB 104000 000063 int
BOUT 104000 000051 int DMPTAB 000670' FLTYPE 007035' GTJFN 104000 000020 int
BPWRD 000004 spd DO%ADR 000010 spd FNDCTL 003763' GTLALL 004575'
BT%BEL 400000 000000 sin DO%FIL 000004 spd FNDDSP 003773' ext GTLSTD 004577'
BT%ZRO 400000 000000 sin DO%TGT 000003 spd FNDTGT 010567' GTLSTR 004612'
BTSIZ 000020 spd DOLOG 003243' FNDUDR 001411' GTLTAB 004572'
BYTTAB 006600' DOLOGX 003303' FRELST 000000 ext GTP010 004435'
CALL 260740 000000 DRQ010 004076' FTGT10 010570' HALTF 104000 000170 int
CALLRE 254000 000000 spd DRQ020 004113' FTGT20 010576' HDW010 003521'
CHKDEV 010553' DRQ030 004130' FTPLEN 000010 spd HDW015 003527'
CHKDV1 010557' DRQ040 004143' FTPTAB 010244' HDW020 003555'
CHKDV2 010564' DRQ050 004154' FTYPLN 000004 spd HDWLEN 000016 spd
CHKLIN 010464' DTEDMP 006426' FTYTAB 006657' HDWSZ 000004 spd
CHKLOG 007220' DTEGO 006521' FTYTBZ 000005 spd HDWTAB 003530'
CHKMMR 003155' DTEINI 006507' GEB010 005172' HDWTB 010651'
CHKMOP 002460' DTERCV 006455' GET4 005142' HSTDEV 004003'
CHL010 007232' DTESLD 006360' GETBPW 004407' HSTMCD 004017'
CHL020 007243' DTESND 006374' GETCPU 004367' HSTNOD 004021'
CIS 104000 000141 int DTESTP 006346' GETEVT 005225' HSTOPS 004015'
CLOF10 006704' DTEWAT 006414' GETEXA 005156' HSTRCV 004013'
CLOSF 104000 000022 int DVFLD2 004747' GETEXB 005167' int HSTREG 004005'
CLRBOT 010452' EIR 104000 000126 int GETFCN 004340' HSTRSN 004011'
CLRMOP 010445' ELOCK 001724' ext GETFLD 004635' HSTTHR 004023'
CLRMSG 010457' ERJMP 320700 000000 int GETFRE 010537' ext HSTUPT 004007'
CLSOFL 006675' ERROR 013623' ext GETIMA 004474' int HTPLEN 000005 spd
CPYASC 010314' ext ERRSTL 000020 spd GETIMB 004530' HTPTAB 003776'
CVTDEV 010517' int ERRSTR 010673' int GETLDV 004363' IBLK10 006713'
CVTHDW 003771' ESTLID 003501' GETLIN 004560' int IBLK20 006753'
CVTNUM 001457' ESTNOD 003477' GETLNK 007140' IBLK30 006763'
CX 000016 ESTRSN 003475' GETLOC 004625' spd IDCNV 104000 000223 int
CZ%ABT 004000 000000 sin ETP010 003412' GETMEM 004613' INIDMP 200000 spd
DATFLD 004662' ETP015 003420' GETNIB 010525' int INIP10 002544'
DBOOT 002621' ETP020 003436' GETNOD 005205' int INIPRO 002521'
DEBRK 104000 000136 int ETP030 003450' GETNUM 005155' int INPBYT 006535'
DEFBPW 004230' ETP040 003456' GETOPS 004416' INPCNT 007027'
DEFCNT 000001 000000 spd ETPLEN 000015 spd GETOPT 004344' INPDCT 007110'
DEFPAR 004244' ETPTAB 003421' GETPAR 004422' INPDMP 006773'
DEFPGM 004235' EVTA05 003327' GETPDT 004345' INPLDA 006707'
DEFRQD 004155' EVTA10 003365' GETPGM 004373' INPTCT 007041'
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page S-2
NCU MAC 6-Oct-81 12:41 SYMBOL TABLE
INPTSK 006773' LO%TGT 000003 spd MAKLIN 005303' int MONINI 000344' ext
INPWRD 006553' LODDMP 003021' MAKLOC 006144' MOPCHK 003200'
INTSET 000513' LODM10 002422' MAKLOD 005226' MOPD10 003055'
ITPTR 011524' LODM20 002427' MAKMDT 005503' MOPDMP 003037'
ITSBLP 007020' LODM30 002443' MAKMEM 006135' MOPLDR 002414'
ITSCBC 007006' LOGCTR 007251' MAKMLP 005364' MOPSIZ 000201 spd
ITSSKP 007131' LOGFFP 000300 spd MAKMPL 005321' MOPVER 002221'
ITSSLP 007132' LOGFLG 011523' MAKMPT 005753' MP%DMP 000002 spd
JFNS 104000 000030 int LOGGER 007202' int MAKMPW 006073' MPV020 002266'
JS%TYP 000700 000000 sin LOGPDL 011526' MAKMRL 005773' MPV030 002274'
L$BFLG 000030 spd LOGR20 007204' MAKNAM 006153' int MPVERR 002302'
L$BHRB 000356 spd LOGTIM 010632' int MAKNL1 006270' MSGSIZ 003000 spd
L$BLDZ 000016 spd LOKNOD 007226' ext MAKNOD 006063' int MSIDMX 000006 spd
L$BSA 000010 spd LPRFLD 005141' MAKNUM 006321' int MTOPR 104000 000077 int
L$BXFR 000350 spd LSDMP 002551' MAKRLC 005266' MXLNOD 000005 spd
L1SAV1 010716' int LSLOD 001765' MAKRQD 005650' NCHPW 000005 spd
L1SAV2 010717' int LSLOD1 002005' MAKRQL 006007' NCTSIZ 000007 spd
L1SAV3 010720' int LSTBLD 001332' MAKSLN 006171' int NCU 000000' int
L1SAV4 010721' int LSTBP 002361' MAKTWO 006333' int NCU010 000022'
L1SAVC 010722' int LSTBT 002360' MAKXFR 005563' NCUDSP 000045'
L2SAV1 010723' int LSTCBL 001606' MAKZRO 006102' NDBP1 777777 777777 spd
L2SAV2 010724' int LSTCTL 001600' MAXDTE 000004 spd NDBP2 777777 777777 spd
L2SAV3 010725' int LSTFRE 011523' sin MAXEXT 000011 spd NDCPU 777777 spd
L2SAV4 010726' int LSTLEN 000005 spd MAXIMB 000011 spd NDDIP 002000 000000 spd
L2SAVC 010727' int LSTMNT 001577' MAXMEM 000377 spd NDDMP 777777 777777 spd
L3SAV1 010730' int LSTOFF 001560' MAXNIC 014000 spd NDFERR 005012'
L3SAV2 010731' int LSTON 001537' MAXNOD 000062 spd NDLDV 777777 000000 spd
L3SAV3 010732' int LSTOUT 001376' MAXPGM 000010 spd NDLIN 777777 777777 spd
L3SAV4 010733' int LSTTAB 001532' MAXSID 000020 spd NDLIP 001000 000000 spd
L3SAVC 010734' int LSV010 001727' MAXSYE 000050 spd NDLOD 777777 777777 spd
LATSIZ 000004 spd LSV020 001735' MAXTOP 000020 spd NDNAM 777777 777777 spd
LCT010 007323' LSVERR 001746' MBPWSZ 000010 spd NDPHT 777777 777777 spd
LCT020 007335' LSVSIZ 000004 spd MCDFLD 005017' NDPNA 777777 777777 spd
LCT030 007425' LSVTAB 001761' MDT020 005517' NDPNU 777777 777777 spd
LCT040 007432' LTBSIZ 000010 spd MDT040 005523' NDPRO 777777 spd
LCTERR 007450' LTLOG 200000 000000 spd MEM010 002070' NDPST 010000 000000 spd
LEV1PC 010713' int LTNIB 777777 spd MID020 005466' NDSL1 777777 777777 spd
LEV2PC 010714' int LTUSE 400000 000000 spd MID040 005476' NDSL2 777777 777777 spd
LEV3PC 010715' int MAK4 006337' MKA010 006052' NDSRV 777777 777777 spd
LIDPRT 001646' ext MAKBAS 005351' MKA020 006060' NEGBIT 000200 spd
LINNAM 010633' MAKDIS 006246' int MKB010 006042' NETCON 013625' ext
LINSIZ 000016 spd MAKDMP 005245' MKD010 005740' NIBSIZ 000022 spd
LINSTA 001515' MAKDSL 006275' int MKD020 005744' NIBTAB 007210' ext
LINTAB 011046' MAKEMM 005663' MKEXA2 006122' NICTAB 000060'
LNADR 777777 777777 spd MAKENA 006243' int MKEXA3 006133' NKMCRG 000010 spd
LNCNT 777777 spd MAKEND 005675' MKLIN1 006314' NLOGPG 000010 spd
LNDCT 777777 777777 spd MAKENL 006251' int MKX010 005606' NNAMSZ 000006 spd
LNDTE 777777 000000 spd MAKEVT 006214' MKX020 005621' NODE 104000 000567 int
LNLDN 000377 000000 spd MAKEXA 006117' MKX030 005634' NODFLD 004770'
LNMSG 777777 777777 spd MAKHST 006162' int MLP010 005411' NODTAB 011440' int
LNPGM 777777 000000 spd MAKIMA 006046' int MLP020 005423' NOUT 104000 000224 int
LNPTR 777777 777777 spd MAKIMB 006041' int MLP030 005435' NRILN 001037'
LO%OPS 000020 spd MAKIMD 005450' MO%CDN 777000 000000 sin NSPD10 000047'
LO%PAR 000040 spd MAKIMG 005530' MO%DAV 777000 sin NSPD40 000054'
LO%ROM 000014 spd MAKLCT 001132' MO%INA 000777 000000 sin NXTLIN 010743' int
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page S-3
NCU MAC 6-Oct-81 12:41 SYMBOL TABLE
NXTNIB 010742' int REGLEN 000005 spd SAVRET 010735' SYNTM 777777 777777 spd
NXTTIM 011014' REGTAB 003655' SAVT 000000 ext SYOPS 177400 spd
OF%RD 200000 sin RELFRE 014024' ext SETLIN 001614' SYPGM 777777 777777 spd
OF%WR 100000 sin RELPGA 003304' ext SETPGM 010473' SYPSN 777777 777777 spd
OPENF 104000 000021 int REPLNK 002346' SIBE 104000 000102 int SYPTR 777777 777777 spd
OPNIFL 006626' REQCTR 007542' SINR 104000 000531 int SYRCD 777777 777777 spd
OPNOFL 006665' REQDLL 000067' SIR 104000 000125 int SYRCT 777777 777777 spd
OPRMES 000000 ext REQDMP 000544' SLDTAB 010663' SYRCV 740000 000000 spd
OPSFLD 005106' REQLOG 003210' SNDDAT 003113' SYRDMP 007755'
OPSTAB 010657' REQLSV 001672' SNDEND 002503' SYRHDR 007607'
OTPTR 011525' REQRED 000713' SNDTXT 002307' SYRLOD 007651'
OURNAM 010667' int REQSET 001471' SOUT 104000 000053 int SYRNCU 010061' int
OURNUM 010671' int REQZRO 001631' SOUTR 104000 000532 int SYRSN 777777 spd
P 000017 RET 263740 000000 SPGM10 010501' SYRSTR 007630'
P1 000010 RGF010 005074' SPGM20 010512' SYSEQ 777777 777777 spd
P2 000011 RGF020 005101' SPGM30 010515' SYSGT 104000 000016 int
P3 000012 RHDWC1 010737' SPRIW 104000 000243 int SYSNAM 013667' ext
P4 000013 RHDWC2 010740' STCMP 104000 000540 int SYSRV 777777 spd
P5 000014 RHDWC3 010741' STKDP2 003706' SYSVL 777777 spd
PARHST 004470' RLJFN 104000 000023 int STKDP4 003716' SYT20 000001 000000 spd
PARNAM 004454' RM%PRI 400000 000000 spd STODMC 003721' SYTGT 777777 spd
PARNUM 004460' RMDMP2 003127' STODTE 003736' SYTHR 777777 000000 spd
PARTAB 004450' ROMDMP 003126' STODUP 003750' SYTYP 777777 000000 spd
PDLEN 002000 spd RQD010 000622' STOHST 010362' SYUPT 777777 777777 spd
PGCPU 777777 spd RQINT1 000353' STOKDP 003662' SYVER 770000 spd
PGFIL 777777 777777 spd RQINT2 000370' STOKDZ 003662' T1 000001
PGLDV 777777 000000 spd RQL010 000076' STOREG 003635' T2 000002
PGLEN 000003 spd RQL020 000126' STOST2 010431' T3 000003
PGMTAB 011016' int RQL030 000162' STOSTR 010425' T4 000004
PGPGM 777777 000000 spd RQL035 000207' STX010 002310' TBADD 104000 000536 int
PRARG 104000 000545 int RQL040 000214' SY%CHK 000222 spd TBLUK 104000 000537 int
PRSBLD 001452' RQL070 000231' SY%DMP 000203 spd TBT020 000477'
PRSEND 001465' RQL071 000247' SY%LCT 000230 spd THRFLD 005134'
PRSFND 001416' RQL080 000316' SY%LOD 000202 spd TIME 104000 000014 int
PRTINF 001265' RQL085 000333' SY%MLG 000210 spd TIMFLD 005122'
PRTLOP 001274' RQL090 000346' SY%NCU 000201 spd TL%ABR 100000 000000 sin
PTRSIZ 000002 spd RQLCHN 000001 spd SY%TOP 000221 spd TL%EXM 040000 000000 sin
PTRTAB 010655' RQLE.1 000430' SYADJ 777777 777777 spd TMPSTR 010744'
Q1 000005 RQLERR 000412' SYCOD 777000 000000 spd TOPCHK 000341' ext
Q2 000006 RQLINT 000350' SYCTR 777777 spd TOPFRE 010400' int
R 010630' ext RQLOUT 001261' SYDAT 777777 777777 spd TPF.1 010407'
RBBYT 777777 777777 spd RQRLAL 001220' SYDST 777777 777777 spd TPF.D 010417'
RBCAD 777777 777777 spd RQRLCT 001027' SYERR 104000 000527 int TPLID 010345'
RBCNT 777777 spd RQRLNS 000732' SYFCN 777777 777777 spd TPLST 010354'
RBDAT 777777 777777 spd RQRLOP 001240' SYFIL 777777 spd TPNOD 010302'
RBFCT 777777 000000 spd RQRLST 001140' SYHDW 000377 spd TPNST 010335'
RBJFN 777777 000000 spd RQRSIZ 000007 spd SYHLN 007000 spd TPNUM 010330'
RBNAD 777777 777777 spd RQRTAB 000723' SYLEN 000777 spd TPRFLD 005141'
RBPTR 777777 777777 spd RSKP 014246' ext SYLI1 777777 777777 spd TPUNI 010361'
RBTYP 777777 spd RSNFLD 004764' SYLID 777777 777777 spd TPVER 010360'
RBXAD 777777 777777 spd RSTLEN 000015 spd SYMID 777777 777777 spd TRGGER 000432'
RCVFLD 005126' RSTTAB 001500' SYNAM 777777 777777 spd TS$NHD 040000 spd
RCVMAX 002000 spd SAVPQ 010144' ext SYNCT 777777 777777 spd TSTL05 007210'
REDCTR 007515' SAVQ 001332' ext SYNCV 777777 777777 spd TSTL10 007213'
REGFLD 005050' SAVREP 010736' SYNOD 777777 777777 spd TSTLOG 007210'
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page S-4
NCU MAC 6-Oct-81 12:41 SYMBOL TABLE
TXTFLD 005026' $DTSRE 000015 000001 spd $IBKCT 000015 000003 spd $LTLOG 000002 spd
ULKNOD 007247' ext $DTUDS 000015 000002 spd $IBKPT 000017 777776 spd $LTNIB 000002 spd
UPTFLD 004712' $DTURE 000015 000001 spd $IBKRE 000015 000001 spd $LTUSE 000002 spd
VARLEN 003374 spd $DTWLI 000015 000001 spd $IBKSU 000015 000002 spd $MBSAD 000015 000001 spd
VNETCO 000400 004001 spd $DVFBL 000017 777776 spd $INTLN 000015 000001 spd $MDLDS 000017 777774 spd
WDMP10 006571' $DVFCN 000017 777774 spd $IPRAD 000015 000004 spd $MDLLI 000017 777775 spd
WRNING 014205' ext $DVFDE 000017 777772 spd $IPRCN 000015 000003 spd $MDTAD 000015 000001 spd
WRTBYT 006604' $DVFPT 000017 777775 spd $IPRLI 000015 000001 spd $MDTCN 000015 000003 spd
WRTDMP 006570' $ESRSE 000017 777775 spd $IPRPR 000015 000002 spd $MDTNU 000015 000002 spd
WTDT10 006616' $ESRSR 000017 777776 spd $ITSCN 000015 000002 spd $MEMCN 000015 000002 spd
XFR010 002134' $ETPDS 000017 777774 spd $ITSPT 000015 000003 spd $MEMLI 000015 000003 spd
XFR030 002172' $ETPER 000017 777773 spd $ITSRE 000015 000001 spd $MEMPS 000015 000001 spd
ZCTERR 007511' $ETPLI 000017 777775 spd $LCTBL 000015 000002 spd $MEMPT 000015 000001 spd
ZROCTR 007455' $ETPNO 000017 777776 spd $LCTCN 000017 777775 spd $MHNCN 000015 000002 spd
$ADVCN 000015 000002 spd $ETPRS 000017 777772 spd $LCTLE 000017 777774 spd $MHNNA 000015 000003 spd
$ADVHS 000015 000005 spd $EVABL 000017 777775 spd $LCTLI 000017 777772 spd $MHNPT 000015 000001 spd
$ADVLS 000015 000004 spd $EVACN 000015 000002 spd $LCTNO 000015 000001 spd $MIDAD 000015 000001 spd
$ADVPT 000015 000001 spd $EVALG 000015 000003 spd $LCTNU 000015 000003 spd $MIDCN 000015 000002 spd
$ADVST 000017 777745 spd $EVAMS 000015 000004 spd $LCTPT 000017 777776 spd $MIDNU 000015 000003 spd
$ADVUN 000015 000003 spd $EVAPT 000015 000001 spd $LDPLI 000015 000001 spd $MIMCN 000015 000003 spd
$AFDBL 000015 000003 spd $EVATM 000017 777776 spd $LDPLN 000015 000004 spd $MIMCP 000015 000002 spd
$AFDCN 000015 000002 spd $GEBCN 000015 000002 spd $LDPNO 000015 000002 spd $MIMRE 000015 000001 spd
$AFDPT 000015 000001 spd $GEBPT 000015 000001 spd $LDTLI 000015 000001 spd $MKACN 000015 000002 spd
$AFDST 000015 000004 spd $GIACN 000015 000002 spd $LINCN 000017 777675 spd $MKAPT 000015 000001 spd
$ARBFL 000015 000001 spd $GIADS 000015 000003 spd $LINLI 000017 777775 spd $MKAST 000015 000003 spd
$ASLLI 000015 000002 spd $GIALE 000015 000004 spd $LINMS 000017 777575 spd $MKDCN 000015 000002 spd
$ASLPT 000015 000001 spd $GIAPT 000015 000001 spd $LNADR 000005 spd $MKDLI 000015 000003 spd
$BASLI 000017 777776 spd $GIBCN 000015 000002 spd $LNCNT 000002 spd $MKDPT 000015 000001 spd
$CHLNA 000015 000002 spd $GIBPT 000015 000001 spd $LNDCT 000007 spd $MKECN 000017 777775 spd
$CHLNI 000015 000001 spd $GIBSF 000015 000003 spd $LNDTE 000004 spd $MKEDS 000015 000001 spd
$CKMCN 000015 000002 spd $GLLBL 000017 777736 spd $LNLDN 000001 spd $MKEEV 000017 777776 spd
$CKMLI 000015 000003 spd $GLLNA 000017 777756 spd $LNMSG 000006 spd $MKESR 000015 000002 spd
$CKMPT 000015 000001 spd $GLLNO 000017 777776 spd $LNPGM 000002 spd $MKLCN 000015 000002 spd
$CMRCN 000015 000002 spd $GT4NU 000015 000002 spd $LNPTR 000003 spd $MKLLO 000015 000003 spd
$CMRPT 000015 000001 spd $GT4PT 000015 000001 spd $LNSCN 000017 777726 spd $MKLPT 000015 000001 spd
$COMBL 000017 777723 spd $GTLCN 000015 000002 spd $LNSMS 000017 777727 spd $MKMCN 000015 000002 spd
$COMVE 000017 777720 spd $GTLPT 000015 000001 spd $LSDCN 000015 000002 spd $MKMME 000015 000003 spd
$DLGCN 000015 000002 spd $GTMCN 000015 000002 spd $LSDLI 000015 000003 spd $MKMPT 000015 000001 spd
$DLGEV 000015 000004 spd $GTMPT 000015 000001 spd $LSDNU 000015 000004 spd $MKXCN 000015 000003 spd
$DLGPT 000015 000001 spd $GTPCN 000015 000002 spd $LSDPT 000015 000001 spd $MKXPT 000015 000002 spd
$DLGSE 000017 777776 spd $GTPPT 000015 000001 spd $LSLCN 000015 000002 spd $MKXRE 000015 000001 spd
$DLGSR 000015 000003 spd $HDWDA 000017 777772 spd $LSLLI 000015 000003 spd $MKZLI 000015 000001 spd
$DSPCN 000015 000002 spd $HDWDE 000017 777775 spd $LSLPG 000015 000004 spd $MLDCN 000015 000002 spd
$DSPFC 000015 000003 spd $HDWDS 000017 777764 spd $LSLPT 000015 000001 spd $MLDCT 000017 777776 spd
$DSPPT 000015 000001 spd $HDWER 000017 777766 spd $LSTBP 000017 777773 spd $MLDLI 000015 000003 spd
$DTDLI 000015 000001 spd $HDWLX 000017 777762 spd $LSTFL 000017 777775 spd $MLDPT 000017 777775 spd
$DTFCN 000017 777772 spd $HDWMC 000017 777765 spd $LSTHL 000017 777773 spd $MLNLI 000017 777774 spd
$DTFDA 000017 777776 spd $HDWNO 000017 777776 spd $LSTLI 000017 777776 spd $MLNPT 000017 777773 spd
$DTFMO 000017 777775 spd $HDWOP 000017 777767 spd $LSTPR 000017 777774 spd $MLNST 000017 777776 spd
$DTFPT 000017 777773 spd $HDWRC 000017 777770 spd $LSVCN 000015 000002 spd $MLPAD 000015 000002 spd
$DTFYR 000017 777774 spd $HDWRE 000017 777774 spd $LSVCO 000017 777773 spd $MLPCN 000015 000003 spd
$DTGLI 000015 000001 spd $HDWRS 000017 777771 spd $LSVDT 000017 777775 spd $MLPLI 000015 000001 spd
$DTGPR 000015 000002 spd $HDWTH 000017 777763 spd $LSVLT 000017 777774 spd $MMLCN 000015 000002 spd
$DTILI 000015 000001 spd $HDWUP 000017 777773 spd $LSVOP 000017 777776 spd $MMLLI 000015 000003 spd
$DTSDS 000015 000002 spd $IBKCN 000015 000004 spd $LSVPT 000015 000001 spd $MMLPT 000015 000001 spd
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page S-5
NCU MAC 6-Oct-81 12:41 SYMBOL TABLE
$MMPCN 000015 000002 spd $NDSRV 000011 spd $RQRCN 000015 000002 spd $SYNAM 000005 spd
$MMPPS 000015 000003 spd $OPFTY 000017 777776 spd $RQRHL 000017 777775 spd $SYNBL 000017 777776 spd
$MMPPT 000015 000001 spd $OPIJF 000017 777766 spd $RQRPT 000015 000001 spd $SYNCT 000005 spd
$MMTAD 000017 777775 spd $OPITY 000017 777767 spd $SDMDS 000015 000002 spd $SYNCV 000004 spd
$MMTLO 000017 777776 spd $PGCPU 000000 spd $SDMRE 000015 000001 spd $SYNOD 000001 spd
$MNDCN 000017 777776 spd $PGFIL 000002 spd $SDTCN 000015 000002 spd $SYNOF 000017 777774 spd
$MNLDS 000017 777774 spd $PGLDV 000000 spd $SDTLI 000015 000001 spd $SYNSI 000017 777775 spd
$MNLLI 000017 777775 spd $PGPGM 000001 spd $SDTPT 000015 000001 spd $SYNTM 000011 spd
$MNMCN 000015 000002 spd $PRSCT 000017 777775 spd $SEMCO 000015 000001 spd $SYOPS 000004 spd
$MNMNA 000015 000003 spd $PRSLD 000017 777776 spd $SKDCN 000015 000004 spd $SYPGM 000006 spd
$MNMPT 000015 000001 spd $PRSST 000017 777773 spd $SKDDS 000015 000002 spd $SYPSN 000003 spd
$MNUCN 000015 000002 spd $PRSUN 000017 777774 spd $SKDMC 000015 000003 spd $SYPTR 000014 spd
$MNUNU 000015 000003 spd $PRTBU 000017 777757 spd $SKDRE 000015 000001 spd $SYRCD 000010 spd
$MNUPT 000015 000001 spd $PT4NU 000015 000002 spd $SPGTA 000017 777776 spd $SYRCT 000012 spd
$MPDCN 000015 000004 spd $PT4PT 000015 000001 spd $SRGDE 000015 000001 spd $SYRCV 000012 spd
$MPDLI 000015 000002 spd $RBBYT 000002 spd $SRGDS 000015 000003 spd $SYRSN 000013 spd
$MPDNU 000015 000001 spd $RBCAD 000007 spd $SRGMC 000015 000004 spd $SYSEQ 000006 spd
$MPDPT 000015 000003 spd $RBCNT 000005 spd $SRGRE 000015 000002 spd $SYSRV 000005 spd
$MPVCN 000015 000002 spd $RBDAT 000004 spd $STHHS 000015 000002 spd $SYSVL 000006 spd
$MPVLE 000017 777775 spd $RBFCT 000005 spd $STHNO 000015 000001 spd $SYT20 000000 spd
$MPVLI 000015 000003 spd $RBJFN 000001 spd $STRBL 000015 000001 spd $SYTGT 000004 spd
$MPVLN 000017 777776 spd $RBNAD 000006 spd $STRDS 000015 000003 spd $SYTHR 000013 spd
$MPVMS 000015 000004 spd $RBPTR 000003 spd $STROF 000015 000004 spd $SYTYP 000000 spd
$MPVPT 000015 000001 spd $RBTYP 000001 spd $STRST 000015 000002 spd $SYUPT 000002 spd
$MQLCN 000017 777774 spd $RBXAD 000010 spd $STXCN 000015 000002 spd $SYVER 000000 spd
$MQLLI 000017 777775 spd $RCTCN 000017 777775 spd $STXLI 000015 000003 spd $TBTFL 000015 000003 spd
$MRDAD 000015 000001 spd $RCTER 000017 777774 spd $STXLN 000015 000004 spd $TBTLN 000015 000001 spd
$MRDCN 000015 000002 spd $RCTLI 000015 000002 spd $STXPT 000015 000001 spd $TBTOP 000015 000002 spd
$MRDPT 000015 000003 spd $RCTLN 000015 000004 spd $SYADJ 000003 spd $TOPTB 000015 000001 spd
$MRLCO 000015 000002 spd $RCTNO 000015 000001 spd $SYCOD 000000 spd $W1 000005 spd
$MRLLI 000015 000001 spd $RCTPT 000017 777776 spd $SYCTR 000000 spd $W3 000005 spd
$MRLLO 000015 000001 spd $RDMLI 000015 000001 spd $SYDAT 000001 spd $W4 000006 spd
$NDBP1 000001 spd $RDTLI 000015 000001 spd $SYDBL 000017 777774 spd $WTDBY 000015 000002 spd
$NDBP2 000002 spd $RGFBL 000015 000004 spd $SYDCO 000015 000001 spd $WTDCN 000015 000002 spd
$NDCPU 000017 spd $RGFCN 000015 000002 spd $SYDFI 000017 777776 spd $WTDPT 000015 000001 spd
$NDDIP 000000 spd $RGFNU 000015 000003 spd $SYDSI 000017 777775 spd $WTDRE 000015 000001 spd
$NDDMP 000004 spd $RGFPT 000015 000001 spd $SYDSR 000015 000003 spd $XFRAD 000015 000004 spd
$NDFBL 000017 777774 spd $RLGOP 000017 777773 spd $SYDST 000002 spd $XFRCN 000015 000002 spd
$NDFCN 000017 777775 spd $RLGSE 000017 777774 spd $SYDSV 000015 000004 spd $XFRLI 000015 000003 spd
$NDFPT 000017 777776 spd $RLGSR 000017 777775 spd $SYDTG 000015 000002 spd $XFRPT 000015 000001 spd
$NDLDV 000017 spd $RLSMS 000017 777764 spd $SYFCN 000004 spd $ZCTLI 000015 000002 spd
$NDLIN 000006 spd $ROUVE 000017 777715 spd $SYFIL 000007 spd $ZCTLN 000015 000004 spd
$NDLIP 000000 spd $RPLHS 000017 777776 spd $SYHDW 000004 spd $ZCTNO 000015 000001 spd
$NDLOD 000003 spd $RPLLN 000017 777775 spd $SYHLN 000000 spd $ZROBL 000017 777735 spd
$NDMCN 000015 000002 spd $RQCLI 000015 000002 spd $SYLBL 000017 777774 spd $ZROLI 000017 777775 spd
$NDMDS 000015 000003 spd $RQCLN 000015 000001 spd $SYLCO 000015 000001 spd ..ACT 000000 spd
$NDMPT 000015 000001 spd $RQDCN 000015 000002 spd $SYLEN 000000 spd ..CSC 000002 spd
$NDNAM 000007 spd $RQDLN 000015 000003 spd $SYLFI 000017 777776 spd ..CSN 000001 spd
$NDPHT 000016 spd $RQDPT 000015 000001 spd $SYLI1 000010 spd ..IFT 000000 spd
$NDPNA 000014 spd $RQDRE 000015 000004 spd $SYLID 000007 spd ..JX1 400000 000000 spd
$NDPNU 000015 spd $RQLCN 000015 000002 spd $SYLSI 000017 777775 spd ..MSK 000000 spd
$NDPRO 000010 spd $RQLLN 000015 000003 spd $SYLSR 000015 000003 spd ..MX1 000010 spd
$NDPST 000000 spd $RQLPT 000015 000001 spd $SYLSV 000015 000004 spd ..MX2 000001 spd
$NDSL1 000012 spd $RQLRE 000015 000004 spd $SYLTG 000015 000002 spd ..NAC 000002 spd
$NDSL2 000013 spd $RQRBU 000017 777774 spd $SYMID 000000 spd ..NS 000001 spd
NCU - TOPS20 Network Information and Control Exchange (NICE) Process MACRO %53B(1215) 15:17 7-May-82 Page S-6
NCU MAC 6-Oct-81 12:41 SYMBOL TABLE
..NV 000004 spd .EDMCD 000012 spd .MPDMP 000016 spd .NRLPE 777777 777757 spd
..PST 000001 spd .EDNOD 000011 spd .MPLDT 000000 spd .NRNCE 777777 777755 spd
..STKN 000001 spd .EDOPS 000010 spd .MPLOD 000002 spd .NRNPE 777777 777773 spd
..STKQ 000002 spd .EDRCV 000007 spd .MPMMR 000014 spd .NRPNA 777777 777753 spd
..STKR 000010 spd .EDREG 000001 spd .MPMOP 000006 spd .NRPRO 777777 777774 spd
..TRR 000010 spd .EDRSN 000006 spd .MPRQD 000004 spd .NRRES 777777 777761 spd
..TSA1 000001 000002 spd .EDTHR 000015 spd .MPRQL 000012 spd .NRSUC 000001 spd
..TX1 100000 spd .EDTIM 000002 spd .MPRQP 000010 spd .NSOFF 000001 sin
..TX2 000001 spd .EDTXT 000016 spd .MPXFR 000024 spd .NSON 000000 sin
.A16 000016 spd .EDUPT 000004 spd .NCLLS 000012 spd .NULIO 377777 sin
.ASSET 010601' ext .ERR21 014204' ext .NCLOG 000001 spd .PRARD 000001 sin
.BTBEL 000007 sin .ERR29 013761' ext .NCLSV 000016 spd .PTOPS 000002 spd
.BTCNT 000004 sin .EVASC 000002 spd .NCNLS 000007 spd .PTSLD 000000 spd
.BTCPN 000015 sin .FBBYV 000011 sin .NCRED 000010 spd .PVEND 000000 spd
.BTDMP 000003 sin .FHSLF 400000 sin .NCRQD 000003 spd .PVHST 000003 spd
.BTDPT 000005 sin .FP 000015 spd .NCRQL 000002 spd .PVNAM 000001 spd
.BTDTE 000000 sin .FPAC 000005 spd .NCSET 000007 spd .PVNUM 000002 spd
.BTFLG 000003 sin .FTDMP 000003 spd .NCSLN 000010 spd .RBDAT 000011 spd
.BTIPR 000004 sin .FTLDA 000001 spd .NCZLN 000002 spd .RDLCT 000004 spd
.BTLDS 000001 sin .FTTSK 000002 spd .NCZRO 000011 spd .RDLNS 000001 spd
.BTLID 000001 sin .GJDEV 000002 sin .NDBK1 000002 spd .RDLST 000005 spd
.BTLOD 000002 sin .GJEXT 000005 sin .NDCNT 000001 sin .SAC 000016
.BTLPT 000005 sin .GJGEN 000000 sin .NDCST 000002 sin .SAV1 001265' ext
.BTPRT 000000 sin .GJNAM 000004 sin .NDCVR 000001 sin .SAV2 007221' ext
.BTPRV 000001 sin .GJSRC 000001 sin .NDECO 000001 sin .STKST 010473' ext
.BTRCC 000004 sin .JSAOF 000001 sin .NDGLI 000014 sin .SYCTR 000021 spd
.BTRLC 000013 sin .LGMNT 000001 spd .NDGVR 000013 sin .SYDAT 000004 spd
.BTRMP 000010 sin .LMBAS 000001 spd .NDLCB 000004 sin .SYDMC 000005 spd
.BTROM 000000 sin .LMEND 000000 spd .NDLCN 000003 sin .SYDTE 000015 spd
.BTSCC 000002 sin .LMMEM 000002 spd .NDLND 000002 sin .SYDUP 000027 spd
.BTSEC 000002 sin .LMXFR 000003 spd .NDLNM 000000 sin .SYKDP 000003 spd
.BTTCC 000006 sin .LODEF 000000 spd .NDLOF 000002 sin .SYKDZ 000004 spd
.BTTPR 000005 sin .LOPGM 000002 spd .NDLON 000001 sin .SYLDD 000011 spd
.BTZTM 000001 sin .LOPTH 000002 spd .NDLST 000001 sin .SYNDD 000007 spd
.CHNUL 000000 sin .LOSRV 000003 spd .NDNAM 000000 sin .SYPTR 000014 spd
.CHTAB 000011 sin .LOTBD 000001 spd .NDNBS 000003 sin .TPCNT 000007 spd
.CP11 000001 spd .LOTBP 000003 spd .NDNLN 000000 sin .TRSET 010145' ext
.DOPTH 000002 spd .LOTGT 000000 spd .NDNND 000000 sin .VNCBL 000005 sin
.DOSRV 000003 spd .LSDMP 000002 spd .NDNXT 000002 sin .VNCNL 000004 sin
.DOTGT 000000 spd .LSLOD 000000 spd .NDRVR 000002 sin .VNDDC 000002 sin
.DTA11 000010 spd .LSTBP 000003 spd .NDSNT 000007 sin .VNMCB 000001 sin
.DTDLV 000016 spd .LSTBT 000004 spd .NDSTA 000001 sin
.DTDMC 000014 spd .LSTCB 000006 spd .NDVER 000000 sin
.DTDTE 000024 spd .LSTCN 000005 spd .NPAC 000010 spd
.DTDUP 000012 spd .LSTMN 000004 spd .NRCME 777777 777766 spd
.DTDV1 000026 spd .LSTOF 000001 spd .NRFNC 777777 777777 spd
.DTKDP 000034 spd .LSTON 000000 spd .NRICF 777777 777762 spd
.DTKDZ 000036 spd .LTALL 000000 spd .NRIFL 777777 777763 spd
.DTL1A 000020 spd .LTSTD 000001 spd .NRILN 777777 777770 spd
.DTL1E 000004 spd .LTSTR 000002 spd .NRILS 777777 777767 spd
.DTP11 000000 spd .MOACN 000024 sin .NRIMF 777777 777776 spd
.DTQ11 000006 spd .MONCI 000777 sin .NRINI 777777 777765 spd
.DTU11 000002 spd .MORHN 000026 sin .NRIOE 777777 777756 spd
.EDDAT 000003 spd .MPACK 000000 spd .NRIPV 777777 777760 spd
.EDDEV 000005 spd .MPDIA 000034 spd .NRIST 777777 777775 spd
ADVCNT 7171
ADVHST 7171
ADVLST 7171
ADVPTR 7171
ADVSTK 7173
ADVSTR 7173
ADVT10 7221# 7256
ADVT20 7236# 7247
ADVT25 7242 7251#
ADVT30 7224 7237 7273#
ADVT40 7282# 7289
ADVTOP 7170#
ADVTPX 7201 7213 7223 7228 7240 7246 7278 7293#
ADVTX1 7296# 7302
ADVUNI 7171
AFDBLK 4378
AFDCNT 4378
AFDPTR 4378
AFDSTR 4378
ARBFLG 7580
ASCLIN 6942 7039 7652#
ASCPRS 1200 1286#
ASGPAG 102# 1077 1558 1912 2739
ASGREC 330 783 7580#
ASLLIN 7652
ASLPTR 7652
BASLIN 1692
BEGFRE 7757#
BINHDR 6168
BPWRD 156 162 1655 1661 2134 2831 2834 3075 5918 6003 6362 7588
BT%BEL 5766
BT%ZRO 1507
BTSIZ 7469
BYTTAB 5933 5985# 6020
CHKDEV 7604# 7657
CHKDV1 7609# 7612
CHKDV2 7611 7615#
CHKLIN 1550 7492#
CHKLOG 6457 6468#
CHKMMR 2517 2640#
CHKMOP 1756 1836 2174#
CHL010 6484# 6494
CHL020 6487 6490 6493#
CHLNAM 6468
CHLNIB 6468
CKMCNT 2174
CKMLIN 2174
CKMPTR 2174
CLOF10 6107 6109 6110#
CLRBOT 1418 1436 1454 1461 5715 5736 5759 5785 5803 5835 5874 5896 7466#
CLRMOP 4761 4818 5097 5192 5216 5851 7455#
CLRMSG 152 432 524 623 661 1651 1841 1862 2204 4653 4679 4706 4796 4896
4934 4965 5001 5119 5249 5372 6730 6816 6838 7477#
CLSOFL 857 6103#
CMRCNT 2640
CMRPTR 2640
COMBLK 920
COMVER 920
CPYASC 102# 7315
CVTDEV 2237 5243 7546#
CVTHDW 3036 3243#
CVTNUM 1316 1321 1326 1345#
CX 272 308 313 319 322 331 334 336 358 377 395 400 420 428
437 447 451 472 478 565 593 1071 1231 1563 1593 1867 1877 1881
2684 2724 2793 2857 2967 3305 7170
CZ%ABT 1929 1943
DATFLD 4220 4237#
DBOOT 2313 2339#
DEFBPW 3382 3518#
DEFCNT 3506
DEFPAR 3437 3553#
DEFPGM 3424 3535#
DEFRQD 730 3452#
DEFRQL 241 3358#
DEVFLD 4222 4275#
DFD010 3455 3468#
DFD020 3471 3484#
DFD030 3486 3498#
DFD040 3500 3509#
DIABAS 1680 1692#
DIAMEM 1681 1712#
DIAXFR 1682 1769#
DLGCNT 2725
DLGEVT 2725
DLGPTR 2725
DLGSEQ 2726
DLGSRC 2725
DLGTAB 1670 1679#
DLOCK 103# 566 594 1594
DMPEND 842 855#
DMPMAX 806 847#
DMPMEM 844 872#
DMPSET 843 890#
DMPTAB 811 842# 847
DO%ADR 3499 3725
DO%FIL 3485 3715
DO%TGT 3453 3469 3688 3699
DOLOG 2714 2724#
DOLOGX 2750 2759 2772#
DRQ010 3365 3378#
DRQ020 3391 3403#
DRQ030 3406 3419#
DRQ040 3422 3433#
DRQ050 3435 3443#
DSPCNT 187
DSPFCN 187
DSPPTR 187
DTDLIN 5801
DTEDMP 2605 5801#
DTEGO 2254 5894#
DTEINI 2079 2299 5873#
DTERCV 1750 1792 1822 2009 2515 2553 5833#
DTESLD 1789 2316 5734#
DTESND 1747 1816 2547 5757#
DTESTP 2076 2296 5714#
DTEWAT 5783#
DTFCNT 4237
DTFDAY 4237
DTFMON 4237
DTFPTR 4237
DTFYR 4237
DTGLIN 5894
DTGPRO 5894
DTILIN 5873
DTSDST 3195
DTSREG 3195
DTUDST 3208
DTUREG 3208
DTWLIN 5783
DVFBLK 4275
DVFCNT 4275
DVFDEV 4275
DVFLD2 4296 4300 4306#
DVFPTR 4275
ELOCK 103# 1564
ERROR 105# 466 558 586 829 2824 2927 2931 2944 2948 3022 3026 3089 3093
4360 6681 6696 6994 7091 7158 7288 7301 7412 7418
ERRSTL 7764# 7765
ERRSTR 7765#
ESRSEQ 3306
ESRSRC 3306
ESTLID 2887 2962#
ESTNOD 2891 2959#
ESTRSN 2888 2955#
ETP010 2870# 2878
ETP015 2878# 2884 2885 2956 2960 2963
ETP020 2870 2899#
ETP030 2914 2916#
ETP040 2917 2925#
ETPDST 2858
ETPERR 2858
ETPLEN 2873 2896#
ETPLID 2858
ETPNOD 2858
ETPRSN 2858
ETPTAB 2876 2882# 2896
EVABLK 2795
EVACNT 2794
EVALGD 2794
EVAMSG 2794
EVAPTR 2794
EVATMP 2795
EVTA05 2808# 2812 2837
EVTA10 2827 2841#
EVTASC 2785 3346#
EVTDSP 4215 4217# 4232
EVTEXA 2786 2793#
EVTHDW 2787 2967#
EVTHDX 2991 2994 3001 3012 3013 3019# 3037 3055 3067
EVTLEN 4213 4232#
EVTSEQ 5544 7804#
EVTSFT 2788 3348#
EVTSIZ 2734 2791#
EVTSYR 2749 3305#
EVTTAB 2758 2784# 2791
EVTTOP 2789 2857#
EVTTPX 2872 2875 2882 2883 2886 2889 2890 2892 2893 2894 2907 2941#
EXCUTR 7762#
EXTAS2 4539# 4543
EXTBIT 4542 4572 5400 5403
FB%BSZ 6357
FLTYPE 6268 6270# 6274
FNDCTL 3054 3229#
FNDDSP 104# 1404 3116 3245
FNDTGT 2240 3371 3461 7631#
FNDUDR 1299# 1302
FRELST 104#
FTGT10 7633# 7641
FTGT20 7634 7640#
FTPLEN 7239 7270#
FTPTAB 7245 7261# 7270
FTYPLN 6266 6274#
FTYTAB 6053 6066# 6073
FTYTBZ 6067 6073#
GEB010 4566# 4573
GEBCNT 4559
GEBPTR 4559
GET4 4174 4499#
GETBPW 2067 3625 3867#
GETCPU 3783 3817#
GETEVT 2708 4642#
GETEXA 4537#
GETEXB 1494 3589 3681 3764 4267 4324 4464 4525 4559# 6577 7329
GETFCN 898 1367 1492 2690 3587 3679 3748#
GETFLD 2808 2871 2990 4210#
GETFRE 102# 4309 4339 4384 4422 6542 6912 7009 7104 7190 7200 7227 7585
GETIMA 2697 2700 3717 3852 3887 3997# 4349 4391 4456 4474 4611 7307
GETIMB 3871 4043#
GETLDV 3780 3803#
GETLIN 989 1074 1396 1498 1546 3615 3705 4091# 6531
GETLNK 260 749 2050 2487 6394# 6711 6770
GETLOC 4590#
GETMEM 1695 1775 2273 2278 2653 2678 3726 3729 4167#
GETNIB 247 495 561 589 736 821 2231 3367 3393 3408 3457 3473 3488 3518
3535 3553 7559#
GETNOD 3599 3612 3691 3702 3947 3982 4602#
GETNUM 4525#
GETOPS 3643 3886#
GETOPT 900 1369 2692 3764#
GETPAR 1773 3654 3903#
GETPDT 477 678 3635 3778#
GETPGM 3786 3833#
GETRQD 728 3679#
GETRQL 236 3583#
GETSEQ 2702 4625#
GETSID 3789 3847#
GETTWO 3966 4191# 4245 4483 4503 4506 4590 4642 6580 6831
GIA010 4012# 4016
GIA020 4012 4020#
GIA030 4024 4029#
GIACNT 3997
GIADST 3997
GIALEN 3997
GIAPTR 3997
GIB010 4059# 4063
GIB020 4059 4067# 4070
GIB030 4068 4074#
GIBCNT 4043
GIBPTR 4043
GIBSFT 4043
GJ%FOU 6082
GJ%OLD 6036
GJ%SHT 6036 6082
GLLBLK 6394
GLLNAM 6394
GLLNOD 6394
GT4NUM 4499
GT4PTR 4499
GTBT10 5919 5931#
GTLALL 4105 4118#
GTLCNT 4091
GTLPTR 4091
GTLSTD 4106 4132#
GTLSTR 4107 4155#
GTLTAB 4100 4105#
GTMCNT 4167
GTMPTR 4167
GTP010 3918# 3928
GTPCNT 3778 3903
GTPPTR 3778 3903
HDW010 2989# 2997
HDW015 2997# 3003 3004 3008 3263 3267 3271 3275 3279 3283 3287 3291 3295
HDW020 2989 3034#
HDWDAT 2969
HDWDEV 2969
HDWDST 2969
HDWERR 2969
HDWLEN 2992 3016#
HDWLXX 2969
HDWMCD 2969
HDWNOD 2969
HDWOPS 2969
HDWRCV 2969
HDWREG 2969
HDWRSN 2969
HDWSZ 6660 7723#
HDWTAB 2995 3001# 3016
HDWTB 6661 6663 7718# 7723
HDWTHR 2969
HDWUPT 2969
HSTDEV 3006 3262#
HSTMCD 3011 3286#
HSTNOD 3010 3290#
HSTOPS 3009 3282#
HSTRCV 3278#
HSTREG 3002 3266#
HSTRSN 3007 3274#
HSTTHR 3014 3294#
HSTUPT 3005 3270#
HTPLEN 3244 3257#
HTPTAB 3243 3251# 3257
IBKCNT 6121
IBKCTR 6121
IBKPTR 6122
IBKREC 6121
IBKSUM 6121
IBLK10 6128# 6131
IBLK20 6177# 6184
IBLK30 6178 6188#
INIDMP 2281 2525 2528
INIP10 2252# 2260
INIPRO 1839 2228#
INPBYT 5916# 5950 5954 6129 6139 6180 6189 6250 6384
INPCNT 6226 6263#
INPDCT 6273 6349#
INPDMP 356 6208#
INPLDA 354 6121#
INPTCT 6272 6286#
INPTSK 355 6209#
INPWRD 5948# 6148 6158 6296 6305 6315 6324 6333
INTLNK 688
INTSET 343 688#
IPRADJ 2228
IPRCNT 2228
IPRLIN 2228
IPRPRO 2228
ITPTR 7828#
ITSBLP 6247# 6253
ITSCBC 6222 6231#
ITSCNT 6210
ITSPTR 6210
ITSREC 6210
ITSSKP 6293 6302 6312 6321 6330 6337 6378#
ITSSLP 6380# 6386
JS%TYP 6050
L$BFLG 6311 6320
L$BHRB 6329 6336
L$BLDZ 6301 6311
L$BSA 6292 6301
L$BXFR 6320 6329
L1SAV1 7771#
L1SAV2 7772#
L1SAV3 7773#
L1SAV4 7774#
L1SAVC 7775#
L2SAV1 7777#
L2SAV2 7778#
L2SAV3 7779#
L2SAV4 7780#
L2SAVC 7781#
L3SAV1 7783#
L3SAV2 7784#
L3SAV3 7785#
L3SAV4 7786#
L3SAVC 7787#
LATSIZ 6493 7640
LCT010 6576# 6585
LCT020 6578 6589#
LCT030 6661# 6665
LCT040 6664 6667#
LCTBLK 6513
LCTCNT 6514
LCTERR 6674 6693#
LCTLEN 6514
LCTLIN 6514
LCTNOD 6513
LCTNUM 6513
LCTPTR 6514
LDPLIN 2477
LDPLNK 2477
LDPNOD 2477
LDTLIN 5734
LEV1PC 7767#
LEV2PC 7768#
LEV3PC 7769#
LIDPRT 103# 996 1094 1420 1438 1456 1463 1505
LINCNT 992
LINLID 992
LINMSG 992
LINNAM 1308 7604 7607 7699# 7713
LINSIZ 7699 7713#
LINSTA 1385 1394#
LINTAB 1554 7816#
LNADR 1698 2133 2160 2162 2277 2529 2537 2562 2564 4769 4779 4782
LNCNT 1814 2545 2609 4784 4880 5768 5813
LNDCT 2283 2527 2535 2565 2567 2608 2611 2629 5808
LNDTE 1557 2236 5242 5718 5744 5762 5787 5806 5838 5877 5899
LNLDN 1632 2182 2184 2187 4767 4824
LNMSG 1562 1595 1813 2136 2312 2542 2616 4763 4785 4820 4881 5742 5764 5816
5856 5863
LNPGM 1631 1725 1782 1828 2117 5150
LNPTR 5818
LNSCNT 920
LNSMSG 920
LO%OPS 3390 3642
LO%PAR 3434 3653
LO%ROM 267 617 3379 3420 3623 3633 5253
LO%TGT 3363 3404 3596 3609 5253
LODDMP 2477#
LODM10 2119# 2122
LODM20 2121 2127#
LODM30 2148# 2155
LOGCTR 6491 6513#
LOGFFP 6437 7752#
LOGFLG 515 7823#
LOGGER 6436#
LOGPDL 6436 7830#
LOGR20 6442# 6445
LOGTIM 6443 7694#
LOKNOD 103# 251 740 6477
LPRFLD 4228 4490#
LSDCNT 2271
LSDLIN 2271
LSDMP 1606 2271#
LSDNUM 2271
LSDPTR 2271
LSLCNT 1620
LSLLIN 1620
LSLOD 1605 1620#
LSLOD1 1651# 1675
LSLPGM 1620
LSLPTR 1620
LSTBLD 1113 1152 1231#
LSTBP 1608 2062#
LSTBPW 2063
LSTBT 1607 2061#
LSTCBL 1413 1461#
LSTCTL 1412 1454#
LSTFLG 2063
LSTFRE 7826#
LSTHLD 1232
LSTLEN 1403 1415#
LSTLID 1232
LSTLIN 1394 2063
LSTMNT 1411 1452#
LSTOFF 1410 1436#
LSTON 1409 1418#
LSTOUT 1258 1272#
LSTPRT 1394
LSTTAB 1402 1409# 1415
LSV010 1572# 1575
LSV020 1574 1581#
LSVCNT 1535
LSVCOD 1536
LSVDTE 1536
LSVERR 1577 1591#
LSVLTB 1536
LSVOPT 1536
LSVPTR 1535
LSVSIZ 1570 1610#
LSVTAB 1570 1605# 1610
LTBSIZ 1553
LTLOG 6488 6489
LTNIB 7638
LTUSE 6486 6487 7633 7634
MAK4 4689 4691 4770 4801 4876 5055 5079 5102 5200 5357 5429 5692#
MAKBAS 372 4794#
MAKDIS 5574#
MAKDMP 761 4679#
MAKDSL 5626#
MAKEMM 5095#
MAKENA 5560#
MAKEND 1799 1963 5117#
MAKENL 5589#
MAKEVT 1918 5528#
MAKEXA 5393#
MAKHST 5480#
MAKIMA 977 4838 4866 5018 5040 5170 5303# 5338 5537 5542
MAKIMB 636 5031 5283#
MAKIMD 2618 4893#
MAKIMG 394 4963#
MAKLCT 1025 1028 1032 1035 1039 1046 1050 1059#
MAKLIN 633 1022 1243 4661 4687 4714 4732# 5262 5380 5513 5606 5643
MAKLOC 5442#
MAKLOD 307 4653#
MAKMDT 4932#
MAKMEM 5425#
MAKMLP 1810 4817#
MAKMPL 1741 4757#
MAKMPT 5185#
MAKMPW 5353#
MAKMRL 5214#
MAKNAM 5461#
MAKNL1 5605 5608# 5642
MAKNOD 933 5260 5333# 5466 5485
MAKNUM 5659#
MAKRLC 4704# 6806
MAKRQD 2543 5073#
MAKRQL 2494 5235#
MAKSLN 5499#
MAKTWO 1101 1133 4855 5081 5446 5547 5666 5679# 5698 5704
MAKXFR 422 4998#
MAKZRO 5370# 6718
MAXDTE 7546
MAXEXT 4562
MAXIMB 4052
MAXMEM 4974 4975 5809 5810 6233 6234
MAXNIC 435 442 527 531 799 802 1865 1872 6733 6736 6820 6823 6842 6845
MAXNOD 7816 7820 7821
MAXPGM 7519 7811
MAXSID 3849
MAXSYE 6541 6911 7008 7103
MAXTOP 7189 7194
MBPWSZ 635 640 3869
MBSADR 4794
MCDFLD 4227 4367#
MDLDST 5626
MDLLID 5626
MDT020 4945# 4948
MDT040 4944 4949#
MDTADR 4932
MDTCNT 4932
MDTNUM 4932
MEM010 1727 1738#
MEMCNT 1712
MEMLIN 1712
MEMPSW 5095
MEMPTR 1712
MHNCNT 5480
MHNNAM 5480
MHNPTR 5480
MID020 4908# 4915
MID040 4905 4916#
MIDADR 4893
MIDCNT 4893
MIDNUM 4893
MIMCNT 4963
MIMCPU 4963
MIMREC 4963
MKA010 5312# 5317
MKA020 5307 5313 5314 5321#
MKACNT 5303
MKAPTR 5303
MKASTR 5303
MKB010 5287# 5290
MKD010 5161# 5164
MKD020 5157 5161 5168#
MKDCNT 5117
MKDLIN 5117
MKDPTR 5117
MKECNT 5528
MKEDST 5393
MKEEVT 5528
MKESRC 5393
MKEXA2 5398# 5406
MKEXA3 5404 5410#
MKLCNT 5442
MKLIN1 5645#
MKLLOC 5442
MKLPTR 5442
MKMCNT 5425
MKMMEM 5425
MKMPTR 5425
MKX010 5011 5013 5021#
MKX020 5022 5024 5032#
MKX030 5033 5035 5046#
MKXCNT 4998
MKXPTR 4998
MKXREC 4998
MKZLIN 5370
MLDCNT 2110
MLDCTR 2111
MLDLIN 2110
MLDPTB 2111
MLDPTR 2110
MLNLIN 5499
MLNPTR 4732 5499
MLNSTA 5499
MLP010 4833 4846#
MLP020 4848 4859#
MLP030 4861 4872#
MLPADR 4817
MLPCNT 4817
MLPLIN 4817
MMLCNT 4757
MMLLIN 4757
MMLPTR 4757
MMPCNT 5353
MMPPSW 5353
MMPPTR 5353
MMTADR 5185
MMTLOD 5185
MNDCNT 5333
MNLDST 5589
MNLLID 5589
MNMCNT 5461
MNMNAM 5461
MNMPTR 5461
MNUCNT 5659
MNUNUM 5659
MNUPTR 5659
MO%CDN 705
MO%DAV 708
MO%INA 707
MONINI 104# 513
MOPCHK 2559 2673#
MOPD10 2534# 2573
MOPDMP 2329 2510#
MOPLDR 1731 2110#
MOPSIZ 7458
MOPVER 1830 1894#
MP%DMP 2656
MPDCNT 2510
MPDLIN 2510
MPDNUM 2510
MPDPTR 2510
MPV020 1953#
MPV030 1906 1960#
MPVCNT 1894
MPVERR 1919 1922 1933 1947 1969#
MPVLEN 1895
MPVLIN 1894
MPVLNK 1895
MPVMSG 1894
MPVPTR 1894
MQLCNT 5236
MQLLID 5236
MQLLIN 5235
MRDADR 5073
MRDCNT 5073
MRDPTR 5073
MRLCOD 5214
MRLLIN 4704
MRLLOD 5214
MSGSIZ 156 162 1655 1661 2831 2834 7480
MSIDMX 5158
MXLNOD 6483 7631 7816
NCHPW 7433
NCTSIZ 189 216#
NCU 113#
NCU010 152# 167 177
NCUDSP 165 187#
NDBP1 3520
NDBP2 3521
NDCPU 3539
NDDIP 742 823
NDDMP 3490
NDFBLK 4331
NDFCNT 4331
NDFERR 4350 4358#
NDFPTR 4331
NDLDV 3540
NDLIN 2233 3369 3459 6482
NDLIP 253 498 563 591
NDLOD 3395
NDMCNT 4602
NDMDST 4602
NDMPTR 4602
NDNAM 3373 3463 6470
NDPHT 3557
NDPNA 3555
NDPNU 3556
NDPRO 2245
NDPST 2242 2243
NDSL1 3413 3478
NDSL2 3414 3479
NDSRV 3410 3475
NEGBIT 654 775 807
NETCON 105# 466 558 586 829 2824 2927 2931 2944 2948 3022 3026 3089 3093
4360 6681 6696 6994 7091 7158 7288 7301 7412 7418
NIBSIZ 6458
NIBTAB 107# 6453
NICTAB 189 208# 216
NKMCRG 3147 3156
NLOGPG 7753#
NNAMSZ 4607 4837 4865 5017 5039 5337 5535
NODFLD 4226 4331#
NODTAB 7560 7820#
NRILN 991 997# 1500 1506 1518
NSPD10 190# 193
NSPD40 192 199#
NXTLIN 7799#
NXTNIB 6454 7798#
NXTTIM 7803#
OF%RD 329 6039 6424
OF%WR 782 6085 6424 7589
OPFTYP 4449
OPIJFN 6033
OPITYP 6033
OPNIFL 335 6033#
OPNOFL 787 6081#
OPRMES 105#
OPSFLD 4225 4449#
OPSTAB 7730 7735#
OTPTR 7829#
OURNAM 932 2230 3337 5259 5536 6630 7115 7384 7759#
OURNUM 937 7760#
P 126 127 574 596 920 927 936 950 951 953 961 968 979 981
992 994 998 1000 1002 1004 1006 1008 1016 1021 1024 1027 1030 1031
1034 1037 1038 1043 1044 1045 1048 1049 1053 1072 1076 1079 1088 1093
1096 1107 1108 1111 1117 1131 1139 1147 1150 1156 1161 1179 1191 1232
1235 1245 1286 1289 1290 1291 1292 1314 1318 1323 1328 1332 1333 1334
1335 1394 1398 1419 1422 1424 1430 1437 1455 1462 1501 1503 1508 1510
1512 1513 1514 1516 1536 1542 1552 1555 1556 1560 1571 1585 1587 1591
1592 1599 1692 1694 1697 1895 1920 1923 1926 1928 1940 1953 2035 2040
2048 2063 2065 2066 2069 2075 2078 2092 2111 2128 2139 2149 2150 2152
2685 2694 2695 2704 2711 2712 2726 2728 2748 2795 2810 2817 2818 2822
2825 2858 2860 2864 2865 2866 2903 2904 2909 2913 2916 2925 2929 2933
2941 2942 2946 2950 2955 2959 2962 2969 2972 2976 2977 2978 2979 2980
2981 2982 2983 2984 2985 3019 3020 3024 3028 3034 3042 3044 3046 3048
3053 3061 3062 3063 3065 3072 3086 3087 3091 3095 3262 3266 3270 3274
3278 3282 3286 3290 3294 3306 3308 3309 3322 3328 4134 4141 4237 4242
4244 4247 4248 4249 4253 4254 4255 4261 4262 4275 4291 4293 4294 4298
4302 4306 4307 4311 4315 4319 4320 4331 4333 4334 4341 4345 4347 4348
4352 4358 4361 4449 4454 4459 5185 5187 5188 5196 5199 5236 5245 5261
5333 5336 5340 5499 5502 5503 5506 5512 5514 5517 5528 5530 5539 5546
5548 5589 5591 5594 5600 5611 5626 5628 5631 5637 5648 5949 5952 5953
5956 6033 6047 6049 6054 6061 6122 6173 6183 6394 6396 6397 6398 6399
6400 6402 6403 6404 6413 6414 6415 6416 6418 6420 6436 6514 6516 6521
6533 6534 6536 6537 6575 6576 6582 6643 6654 6655 6657 6659 6672 6686
6765 6776 6780 6781 6791 6794 6906 6915 6916 6951 6961 6962 6963 6976
6980 6982 6984 6985 6991 7003 7012 7013 7048 7058 7059 7060 7073 7077
7079 7081 7082 7088 7098 7107 7111 7126 7132 7135 7141 7144 7151 7152
7155 7173 7183 7305 7312 7400 7419 7506
P1 2741 2742 2746 2760 2761 2765 2772 2775 2842 2852 2853 2905 2934 3083
3085 3313 3314 3327 3338 6453 6456 6458 6573 6574 6579 6583 6585 6608
6610 6616 6622 6627 6629 6634 6640 7205 7231 7255 7400 7401 7402 7403
7404 7406 7407 7419
P2 2742 2848 2850 2908 2915 2919 2921 3038 3043 3045 3047 3049 3056 3057
3064 3076 3079 3081 3161 3314 3315 3316 3317 3318 3323 3329 3332 3341
6454 6459 6608 6609 6618 6621 6627 6628 6636 6639 7183 7184 7185 7202
7229 7282 7286 7296 7299
P3 7232 7317 7322 7340 7389
P4 2797 2815 2826 7225 7241 7243
P5 131 132 134 137 140 141 153 154 163 164 171 246 259 266
393 434 441 494 504 509 512 521 526 535 543 560 588 625
632 634 641 668 677 690 691 693 696 697 735 748 786 798
803 820 833 922 983 1011 1052 1104 1116 1136 1155 1440 1445 1477
1480 1484 1519 1634 1652 1653 1662 1842 1847 1854 1863 1864 1871 2042
2084 2094 2205 2215 2216 2287 2481 2584 2622 2828 2829 2835 3362 3366
3370 3374 3378 3381 3384 3389 3392 3397 3403 3407 3412 3415 3419 3423
3426 3427 3428 3429 3433 3436 3439 3440 3441 3452 3456 3460 3464 3468
3472 3477 3480 3484 3487 3492 3498 3505 3591 3595 3601 3608 3614 3617
3622 3627 3632 3641 3645 3652 3683 3687 3693 3698 3704 3707 3714 3719
3724 3728 3782 3785 3788 3791 3905 3906 3907 3949 3968 3984 4654 4660
4662 4666 4680 4686 4688 4694 4707 4716 4797 4803 4831 4846 4859 4898
4919 4936 4952 4967 4989 5002 5010 5021 5032 5059 5082 5098 5104 5124
5175 5193 5202 5217 5224 5250 5373 5382 5716 5740 5760 5788 5804 5836
5844 5852 5864 5875 5897 6437 6732 6739 6793 6819 6826 6841 6922 6932
6941 6952 7019 7029 7038 7049 7431 7432 7439 7441 7443 7444 7446 7455
7457 7458 7466 7468 7469 7477 7479 7480 7512 7514 7521 7524 7527
PARHST 3936 3982#
PARNAM 3934 3947#
PARNUM 3935 3962#
PARTAB 3925 3933#
PDLEN 127 131 139 6436 7830
PGCPU 7523
PGFIL 7533
PGLDV 7520
PGLEN 7529 7811
PGMTAB 7519 7811#
PGPGM 7526
PRSBLD 1320 1325 1330 1332#
PRSCTL 1286
PRSEND 1319 1324 1329 1359#
PRSFND 1301 1304#
PRSLDV 1286
PRSSTN 1286
PRSUNT 1286
PRTBUF 1179
PRTINF 1109 1148 1178#
PRTLOP 1185# 1190
PT4NUM 5692
PT4PTR 5692
PTRSIZ 2118 7732#
PTRTAB 2119 2127 7729# 7732
Q1 1111 1112 1150 1151 1237 1242 1244 1246 1249 1251 1253 1270 7204 7218
7274
Q2 1139 1140 1143 1144 1145 1234 1238 1247 1250 1252 1272
R 353 985 1183 1429 4171 4539 4777 5287 5722 5748 5772 5792 5823 5846
5861 5881 5905 5926 6011 6052 6056 6111 6356 7321 7348 7381 7386 7399
7437 7562 7671 7675 7688
RBBYT 5917 5923 5932 5934 6002 6012 6017 6022 6106 7591
RBCAD 340 366 388 6217
RBCNT 360 386 405 4973 4983 4985 6171 6238
RBDAT 5927 5931 6009 6018 6021 6105
RBFCT 6231 6236 6309 6364
RBJFN 338 460 463 552 580 790 5924 6008 6104 6352 7592
RBNAD 365 385 6162 6218 6299 6350
RBPTR 351 4978 4981 6172 6242 7595
RBTYP 339 352 6264
RBXAD 414 5054 6163 6327 6350 6351
RCTCNT 6765
RCTERR 6765
RCTLIN 6764
RCTLNK 6764
RCTNOD 6764
RCTPTR 6765
RCVFLD 4224 4473#
RCVMAX 2538 5853
RDMLIN 2603
RDTLIN 5833
REDCTR 6522 6764#
REGFLD 4218 4400#
REGLEN 3115 3135#
REGTAB 3114 3130# 3135
RELFRE 102# 465 557 585 828 2823 2926 2930 2943 2947 3021 3025 3088 3092
4359 6680 6695 6993 7090 7157 7287 7300 7411 7417
RELPGA 102# 1162 1597 1957 1970 2766 2773
REPLNK 1921 2035#
REQCTR 6779 6804#
REQDLL 208 228#
REQDMP 209 724#
REQLOG 214 2684#
REQLSV 212 1535#
REQRED 210 894#
REQSET 213 1367#
REQZRO 211 1492#
RGF010 4435# 4439
RGF020 4436 4441#
RGFBLK 4400
RGFCNT 4400
RGFNUM 4400
RGFPTR 4400
RHDWC1 7793#
RHDWC2 7794#
RHDWC3 7795#
RLGOPT 2685
RLGSEQ 2685
RLGSRC 2685
RLSMSG 1072
RM%PRI 250 497 738 825 6476 6499
RMDMP2 2604# 2630
ROMDMP 2305 2603#
ROUVER 920
RPLHST 2035
RPLLNK 2035
RQCLIN 6804
RQCLNK 6804
RQD010 796# 814
RQDCNT 724
RQDLNK 724
RQDPTR 724
RQDREC 724
RQINT1 520 524#
RQINT2 530 534 539 543#
RQL010 241#
RQL020 307# 479
RQL030 348# 407
RQL035 368 384#
RQL040 392# 406
RQL070 361 410#
RQL071 421 432#
RQL080 474 485#
RQL085 496 504# 822
RQL090 511 515#
RQLCHN 411 693 699 706
RQLCNT 228
RQLE.1 590 596#
RQLERR 272 308 313 319 322 331 334 336 358 377 395 400 420 428
437 447 451 472 478 574# 1867 1877 1881
RQLINT 520# 692
RQLLNK 228
RQLOUT 1121 1144 1161#
RQLPTR 228
RQLREC 228
RQRBUF 1072
RQRCNT 894
RQRHLD 1072
RQRLAL 1089 1128#
RQRLCT 912 989#
RQRLNS 909 920#
RQRLOP 1144# 1160
RQRLST 913 1071#
RQRPTR 894
RQRSIZ 902 916#
RQRTAB 904 908# 916
RSKP 508 516 660 680 713 837 838 860 878 891 926 986 1015 1056
1057 1164 1214 1273 1336 1350 1362 1434 1449 1450 1488 1489 1523 1524
1600 1672 1674 1679 1700 1734 1759 1883 1965 2024 2093 2099 2147 2163
2189 2193 2244 2261 2336 2536 2593 2631 2659 2680 2716 2768 2854 2936
3097 3125 3177 3192 3205 3219 3234 3247 3345 3443 3509 3522 3541 3558
3661 3737 3751 3792 3806 3820 3836 3854 3873 3889 3924 3933 3950 3969
3985 4032 4076 4119 4142 4177 4198 4263 4270 4321 4327 4354 4373 4395
4445 4460 4467 4478 4487 4546 4579 4613 4628 4667 4695 4717 4786 4882
4920 4953 4990 5063 5177 5323 5341 5468 5487 5518 5550 5562 5576 5612
5649 5723 5749 5773 5793 5824 5865 5882 5906 5935 5961 5974 6023 6062
6090 6112 6198 6248 6339 6365 6383 6430 6689 6748 6795 6846 6898 7285
7326 7334 7344 7353 7359 7382 7387 7390 7448 7498 7515 7534 7551 7566
7596 7617 7639 7682 7685 7689
RSNFLD 4223 4324#
RSTLEN 1371 1391#
RSTTAB 1373 1377# 1391
SAVPQ 102# 2684 2724 2793 2857 2967 3305 7170
SAVQ 105# 1071 1231
SAVREP 7792#
SAVRET 7791#
SAVT 105#
SDMDST 3179
SDMREG 3179
SDTCNT 2582
SDTLIN 5714 5757
SDTPTR 2582
SEMCOD 2202
SETLIN 1432 1459 1466 1477#
SETPGM 333 7506#
SKDCNT 3140
SKDDST 3140
SKDMCD 3140
SKDREG 3140
SLDTAB 4908 7729 7740#
SNDDAT 2571 2582#
SNDEND 1671 2202# 2335
SNDTXT 1941 1986#
SPGM10 7520# 7530
SPGM20 7522 7525 7529#
SPGM30 7528 7533#
SPGTAB 7506
SRGDEV 3109
SRGDST 3109
SRGMCD 3109
SRGREG 3109
STHHST 7376
STHNOD 7376
STKDP2 3159 3164#
STKDP4 3172 3175#
STODMC 3134 3179#
STODTE 3130 3195#
STODUP 3131 3208#
STOHST 7324 7376#
STOKDP 3132 3140#
STOKDZ 3133 3139#
STOREG 3066 3109#
STOST2 7437# 7440
STOSTR 4026 7430#
STRBLK 6882
STRDST 6882
STROFS 6882
STRSTR 6882
STX010 1990# 2027
STXCNT 1986
STXLIN 1986
STXLNK 1986
STXPTR 1986
SY%CHK 2841
SY%DMP 7076
SY%LCT 6549
SY%LOD 6979
SY%MLG 3082 3096
SY%NCU 7143
SY%TOP 2935
SYADJ 2908 6566
SYCOD 2842 3083 6855
SYCTR 6583
SYDAT 6864
SYDBLK 7003
SYDCOD 7002
SYDFIL 7003
SYDSIZ 7003
SYDSRV 7002
SYDST 3341 6639
SYDSVL 7002
SYDTGT 7002
SYFCN 6565
SYFIL 6978 7075
SYHDW 3038 6667
SYHLN 6858
SYLBLK 6906
SYLCOD 6905
SYLEN 2760 2853 6646 6856
SYLFIL 6906
SYLI1 2921 3057 6658
SYLID 2919 3056 6656
SYLSIZ 6906
SYLSRV 6905
SYLSVL 6905
SYLTGT 6905
SYMID 6567
SYNAM 7124
SYNBLK 7098
SYNCT 3076 6592
SYNCV 7113
SYNOD 3332 6621
SYNOFS 7098
SYNSIZ 7098
SYNTM 6563
SYOPS 3043
SYPGM 7138
SYPSN 6870
SYPTR 2850 3081 6601
SYRCD 6965 7062
SYRCT 6562
SYRCV 3049
SYRDMP 819 7002#
SYRHDR 6552 6855# 6983 7080 7145
SYRLOD 490 575 6905#
SYRNCU 7098#
SYRSN 2915 3045 6561
SYRSTR 2906 3330 3339 6882#
SYSEQ 3323 6564
SYSNAM 107# 976
SYSRV 6972 7069
SYSVL 6975 7072
SYT20 6861
SYTGT 6969 7066
SYTHR 3047
SYTYP 6579
SYUPT 6867
SYVER 6860
T1 113 132 133 134 135 136 137 138 139 140 153 163 166 171
190 191 194 199 234 237 246 248 249 252 253 254 259 261
262 270 275 310 311 313 317 319 320 321 329 331 332 334
336 338 342 348 350 351 352 358 365 367 374 375 377 385
387 388 392 397 398 400 410 413 418 420 425 426 428 433
437 441 444 445 447 448 450 457 460 464 470 472 475 485
489 494 498 499 504 509 512 520 521 525 529 533 536 537
538 543 548 551 552 553 556 560 563 564 565 574 576 579
580 581 584 588 591 592 593 596 624 625 627 631 642 644
650 652 653 654 662 665 669 671 677 690 691 692 693 695
701 710 711 729 731 735 737 739 741 742 743 748 751 755
764 765 767 771 773 774 775 777 778 782 785 786 790 796
801 803 804 807 808 813 818 820 823 824 827 830 833 845
855 859 873 874 876 877 890 899 901 903 908 910 911 914
922 927 928 930 938 940 942 943 944 948 949 960 963 965
967 970 972 974 983 995 997 998 999 1002 1004 1006 1007 1010
1011 1016 1017 1019 1052 1059 1060 1062 1078 1082 1084 1085 1086 1087
1093 1095 1096 1097 1099 1104 1106 1107 1116 1120 1128 1130 1136 1138
1140 1141 1142 1143 1145 1146 1155 1159 1161 1186 1189 1192 1193 1194
1195 1197 1198 1199 1204 1206 1208 1210 1212 1235 1236 1237 1242 1244
1253 1256 1257 1259 1264 1296 1299 1303 1305 1307 1308 1310 1312 1313
1315 1345 1359 1368 1370 1372 1377 1378 1379 1380 1381 1382 1383 1384
1386 1387 1388 1389 1400 1401 1405 1406 1419 1422 1424 1425 1427 1430
1437 1441 1442 1444 1445 1452 1455 1462 1478 1481 1483 1484 1493 1497
1504 1507 1508 1509 1512 1513 1514 1515 1519 1539 1540 1541 1548 1552
1553 1554 1555 1557 1559 1572 1573 1576 1581 1589 1591 1595 1596 1598
1599 1624 1625 1629 1634 1638 1652 1657 1662 1664 1665 1668 1673 1699
1715 1718 1725 1726 1728 1733 1738 1742 1746 1748 1749 1751 1758 1782
1783 1788 1790 1791 1793 1808 1813 1815 1817 1821 1823 1838 1843 1844
1845 1846 1847 1853 1854 1856 1863 1867 1871 1874 1875 1877 1878 1880
1882 1902 1903 1904 1908 1916 1923 1928 1929 1932 1937 1942 1943 1946
1948 1953 1956 1960 1969 1972 1990 1993 1997 1999 2004 2008 2010 2011
2018 2019 2020 2022 2026 2042 2044 2048 2049 2075 2077 2078 2080 2084
2088 2094 2098 2116 2117 2120 2123 2127 2128 2133 2134 2137 2138 2148
2151 2160 2161 2162 2177 2180 2184 2185 2186 2187 2192 2205 2207 2209
2216 2230 2232 2233 2234 2236 2238 2239 2241 2242 2245 2253 2255 2256
2257 2258 2275 2287 2291 2295 2297 2298 2300 2304 2311 2312 2317 2327
2334 2481 2485 2486 2489 2493 2501 2514 2519 2520 2524 2525 2527 2528
2529 2537 2546 2552 2584 2588 2592 2604 2608 2610 2611 2615 2616 2617
2621 2622 2624 2643 2644 2646 2647 2649 2650 2652 2655 2657 2658 2674
2675 2677 2735 2746 2754 2755 2761 2763 2765 2772 2775 2784 2803 2813
2814 2816 2817 2821 2822 2825 2828 2833 2835 2836 2874 2905 2909 2925
2929 2935 2941 2942 2946 2950 2993 3019 3020 3024 3028 3034 3035 3038
3042 3043 3044 3045 3046 3047 3048 3049 3053 3056 3061 3062 3068 3073
3074 3077 3078 3080 3081 3087 3091 3096 3111 3112 3113 3118 3119 3142
3143 3149 3153 3160 3163 3165 3169 3170 3174 3175 3176 3185 3186 3187
3189 3190 3191 3201 3203 3204 3214 3216 3217 3218 3229 3230 3231 3246
3313 3316 3317 3318 3322 3323 3327 3336 3338 3346 3348 3366 3368 3369
3372 3373 3374 3381 3389 3390 3392 3394 3395 3396 3397 3403 3407 3409
3410 3411 3413 3414 3423 3429 3436 3456 3458 3459 3462 3463 3464 3472
3474 3475 3476 3478 3479 3484 3485 3487 3489 3490 3491 3492 3504 3505
3506 3507 3519 3520 3521 3536 3539 3540 3554 3555 3556 3557 3588 3600
3613 3616 3626 3660 3680 3736 3749 3750 3804 3805 3818 3819 3834 3835
3847 3850 3867 3870 3909 3912 3913 3919 3920 3922 3962 3963 3965 3967
4000 4003 4023 4025 4027 4028 4030 4046 4047 4048 4049 4050 4053 4059
4074 4093 4097 4098 4133 4135 4136 4138 4139 4155 4173 4193 4196 4211
4212 4214 4217 4240 4241 4243 4249 4258 4262 4281 4282 4284 4286 4287
4289 4290 4292 4297 4301 4307 4308 4311 4316 4317 4320 4333 4338 4341
4348 4358 4361 4368 4369 4370 4379 4380 4382 4383 4386 4387 4388 4390
4405 4406 4407 4412 4413 4418 4420 4421 4424 4429 4430 4441 4452 4453
4490 4501 4540 4562 4566 4568 4578 4604 4608 4626 4627 4654 4656 4658
4663 4665 4666 4680 4682 4684 4693 4694 4707 4709 4711 4715 4716 4734
4735 4736 4737 4738 4739 4740 4741 4742 4743 4745 4763 4765 4768 4785
4797 4799 4802 4803 4820 4822 4825 4835 4850 4852 4863 4873 4881 4897
4898 4900 4902 4909 4918 4919 4935 4936 4938 4940 4946 4951 4952 4966
4967 4969 4971 4980 4988 4989 5002 5004 5008 5009 5015 5026 5037 5047
5059 5060 5075 5077 5082 5098 5100 5104 5120 5121 5122 5123 5125 5126
5127 5128 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143
5144 5145 5146 5147 5148 5150 5159 5162 5163 5169 5175 5194 5195 5196
5197 5198 5202 5218 5219 5220 5221 5222 5223 5224 5241 5242 5250 5252
5254 5267 5269 5271 5283 5288 5305 5315 5355 5373 5375 5377 5381 5382
5394 5395 5400 5401 5403 5405 5410 5427 5444 5464 5483 5502 5504 5505
5506 5508 5510 5515 5517 5532 5534 5545 5560 5574 5591 5592 5593 5594
5596 5598 5603 5609 5611 5628 5629 5630 5631 5633 5635 5640 5646 5648
5662 5664 5679 5681 5696 5720 5742 5743 5744 5745 5746 5762 5763 5764
5765 5766 5767 5768 5769 5770 5787 5789 5790 5808 5809 5810 5811 5812
5813 5814 5815 5821 5838 5839 5843 5850 5853 5854 5856 5857 5859 5863
5879 5899 5900 5901 5902 5903 5916 5924 5931 5949 5952 5957 5958 5975
5985 5986 5987 5988 6008 6018 6021 6035 6036 6047 6048 6049 6053 6058
6061 6081 6082 6103 6104 6128 6138 6147 6150 6157 6160 6167 6168 6169
6171 6172 6173 6179 6188 6191 6192 6193 6212 6217 6218 6231 6236 6238
6242 6249 6263 6264 6298 6299 6308 6309 6326 6327 6349 6350 6351 6352
6358 6359 6360 6361 6363 6364 6381 6396 6397 6398 6400 6401 6402 6403
6407 6409 6412 6413 6414 6417 6418 6420 6422 6423 6426 6429 6443 6456
6470 6475 6481 6482 6484 6492 6498 6520 6524 6536 6541 6544 6545 6549
6558 6559 6561 6562 6563 6564 6565 6566 6567 6575 6591 6592 6596 6597
6598 6601 6607 6609 6610 6614 6615 6622 6626 6628 6629 6633 6640 6641
6642 6643 6644 6646 6661 6662 6671 6678 6679 6685 6693 6694 6710 6713
6717 6723 6724 6731 6739 6740 6745 6751 6769 6772 6777 6780 6785 6791
6793 6805 6809 6810 6812 6817 6822 6825 6826 6827 6829 6834 6839 6844
6855 6857 6858 6859 6860 6864 6866 6867 6868 6870 6884 6885 6886 6890
6891 6897 6911 6913 6914 6915 6917 6921 6926 6927 6931 6935 6936 6940
6944 6945 6951 6956 6960 6961 6962 6979 6984 6991 6992 7008 7010 7011
7012 7014 7018 7023 7024 7028 7032 7033 7037 7041 7042 7048 7053 7057
7058 7059 7076 7081 7088 7089 7103 7105 7106 7107 7112 7113 7114 7119
7125 7126 7131 7139 7140 7141 7142 7143 7151 7155 7156 7176 7189 7191
7192 7193 7195 7199 7202 7203 7204 7205 7210 7215 7226 7229 7230 7231
7232 7244 7273 7282 7283 7284 7286 7293 7296 7297 7299 7309 7311 7317
7318 7319 7322 7331 7350 7351 7352 7378 7382 7383 7387 7388 7389 7399
7401 7404 7407 7409 7410 7415 7416 7430 7438 7441 7442 7443 7445 7447
7455 7456 7458 7466 7467 7469 7477 7478 7480 7492 7493 7494 7495 7496
7497 7512 7513 7514 7520 7521 7523 7524 7526 7527 7533 7546 7547 7549
7559 7560 7565 7583 7591 7592 7593 7595 7610 7615 7616 7633 7635 7636
7638 7640 7642 7656 7659 7660 7667 7672 7686
T2 114 154 155 158 162 172 200 235 250 276 309 310 320 339
352 357 366 367 373 374 386 387 393 396 397 411 416 424
425 434 442 443 444 458 468 476 497 505 526 531 532 544
635 641 653 666 667 668 676 696 697 699 702 738 756 763
764 774 797 798 802 825 834 872 923 931 935 936 950 952
954 975 979 980 981 982 1000 1001 1003 1005 1008 1012 1018 1019
1020 1051 1053 1054 1063 1079 1081 1085 1100 1102 1108 1115 1117 1118
1131 1132 1134 1147 1154 1156 1157 1181 1191 1192 1193 1194 1198 1203
1205 1207 1209 1211 1213 1254 1255 1257 1260 1265 1266 1268 1269 1270
1271 1272 1299 1300 1304 1305 1306 1311 1313 1314 1318 1323 1328 1345
1346 1347 1348 1359 1360 1399 1402 1431 1440 1441 1446 1458 1465 1479
1480 1485 1510 1511 1516 1520 1538 1539 1549 1556 1557 1561 1562 1582
1588 1624 1635 1653 1654 1661 1663 1729 1739 1809 1814 1848 1852 1853
1864 1872 1873 1874 1900 1901 1914 1915 1916 1917 1920 1924 1925 1938
1949 1961 1991 1994 1995 1996 2000 2001 2002 2012 2016 2017 2023 2041
2085 2095 2119 2120 2139 2149 2150 2151 2152 2153 2176 2177 2188 2214
2215 2245 2246 2252 2288 2328 2482 2538 2540 2541 2545 2555 2563 2566
2585 2590 2609 2610 2620 2621 2642 2673 2741 2747 2756 2760 2804 2818
2829 2830 2834 2843 2844 2845 2846 2849 2850 2851 2852 2853 2870 2904
2908 2933 2934 2989 3057 3063 3072 3073 3079 3080 3084 3085 3086 3095
3114 3120 3121 3144 3145 3146 3181 3182 3183 3184 3197 3198 3199 3200
3210 3211 3212 3213 3232 3233 3243 3308 3328 3332 3337 3341 3370 3410
3411 3412 3413 3415 3428 3439 3460 3475 3476 3477 3478 3480 3539 3555
3660 3736 3748 3803 3817 3833 3911 3914 3918 3962 4013 4014 4015 4020
4021 4029 4052 4053 4054 4061 4062 4075 4099 4132 4133 4134 4135 4137
4138 4140 4141 4169 4170 4171 4172 4175 4176 4191 4194 4210 4239 4240
4248 4253 4254 4259 4261 4280 4283 4284 4306 4315 4316 4319 4334 4347
4367 4368 4381 4389 4411 4412 4413 4414 4419 4437 4438 4442 4451 4502
4509 4537 4541 4545 4570 4571 4572 4577 4603 4609 4625 4659 4664 4685
4688 4690 4692 4712 4744 4764 4765 4767 4768 4769 4774 4780 4781 4783
4784 4800 4804 4837 4840 4846 4847 4865 4868 4875 4877 4878 4880 4895
4906 4907 4908 4910 4911 4912 4916 4917 4949 4950 4978 4981 4982 4986
4987 5014 5015 5017 5020 5025 5026 5027 5028 5029 5036 5037 5039 5042
5048 5049 5054 5061 5062 5078 5080 5083 5101 5103 5149 5150 5156 5158
5161 5176 5199 5201 5225 5245 5258 5272 5283 5287 5307 5314 5322 5336
5337 5340 5356 5358 5359 5379 5398 5399 5405 5428 5430 5431 5445 5447
5448 5465 5484 5503 5511 5516 5530 5535 5539 5541 5546 5548 5549 5561
5575 5599 5604 5610 5636 5641 5647 5665 5667 5668 5679 5680 5681 5697
5702 5703 5716 5719 5740 5743 5745 5760 5763 5765 5767 5769 5788 5789
5804 5807 5815 5820 5836 5839 5844 5852 5854 5857 5858 5864 5875 5878
5897 5900 5902 5927 5933 5953 5958 5959 5960 5976 6009 6019 6020 6035
6039 6048 6054 6057 6058 6081 6085 6105 6131 6135 6136 6141 6142 6151
6162 6163 6182 6183 6193 6217 6218 6219 6220 6231 6232 6233 6234 6235
6237 6238 6242 6243 6252 6264 6265 6266 6268 6292 6299 6301 6307 6309
6311 6317 6320 6327 6329 6335 6336 6353 6354 6357 6359 6379 6404 6408
6409 6410 6419 6424 6476 6485 6499 6516 6521 6527 6537 6550 6560 6561
6576 6582 6599 6600 6601 6611 6615 6616 6617 6618 6619 6620 6621 6630
6633 6634 6635 6636 6637 6638 6639 6645 6646 6652 6653 6656 6658 6667
6672 6686 6722 6723 6732 6736 6737 6778 6781 6794 6808 6809 6818 6819
6823 6824 6830 6840 6841 6845 6856 6887 6891 6893 6894 6895 6896 6922
6932 6941 6952 6964 6965 6967 6968 6969 6970 6971 6972 6973 6974 6975
6976 6977 6978 6980 6981 6985 7019 7029 7038 7049 7061 7062 7064 7065
7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7077 7078 7082 7115
7127 7135 7136 7137 7142 7152 7177 7236 7274 7276 7310 7312 7313 7318
7323 7332 7347 7348 7349 7379 7384 7431 7447 7548 7549 7559 7563 7588
7590 7591 7609 7610 7635 7659 7668 7673 7676 7677 7678 7679 7680 7683
T3 114 115 141 156 162 164 173 267 268 269 309 373 396 417
424 435 442 469 506 527 531 545 617 618 632 634 640 667
675 703 705 707 708 763 799 802 810 835 855 924 932 937
938 939 940 941 942 943 944 951 952 953 954 961 962 964
966 968 969 971 973 976 980 991 994 995 1013 1021 1023 1026
1029 1033 1036 1042 1047 1051 1059 1076 1080 1081 1098 1099 1103 1115
1129 1130 1135 1154 1188 1189 1245 1246 1248 1249 1251 1255 1256 1261
1267 1269 1297 1298 1302 1332 1333 1398 1403 1447 1486 1500 1503 1504
1521 1570 1572 1575 1586 1587 1625 1626 1627 1628 1631 1636 1655 1661
1669 1694 1698 1730 1740 1755 1777 1798 1827 1828 1852 1865 1872 1926
1939 1962 2000 2040 2065 2069 2086 2096 2138 2154 2183 2184 2187 2213
2275 2277 2280 2281 2283 2289 2314 2315 2483 2535 2536 2540 2541 2542
2562 2563 2564 2565 2566 2567 2586 2589 2620 2658 2695 2696 2699 2704
2710 2712 2713 2748 2754 2801 2802 2811 2819 2831 2834 2847 2848 2849
2860 2873 2876 2903 2918 2919 2920 2921 2972 2992 2995 3064 3074 3075
3076 3082 3083 3115 3122 3147 3155 3156 3157 3158 3159 3160 3161 3162
3163 3171 3172 3182 3198 3211 3244 3309 3329 3336 3379 3380 3384 3414
3420 3421 3427 3440 3479 3520 3538 3556 3595 3596 3601 3608 3609 3614
3617 3622 3623 3627 3632 3633 3645 3693 3704 3707 3716 3719 3728 3731
3750 3782 3785 3788 3791 3805 3819 3835 3848 3849 3851 3868 3869 3886
3920 3921 3923 3925 3926 3949 3984 3999 4005 4006 4007 4008 4015 4021
4023 4028 4045 4050 4051 4055 4060 4062 4069 4118 4136 4137 4175 4193
4197 4212 4213 4215 4241 4242 4243 4244 4247 4255 4260 4269 4287 4288
4290 4291 4292 4293 4297 4298 4301 4302 4318 4326 4345 4346 4351 4369
4371 4372 4388 4393 4430 4431 4438 4443 4455 4458 4466 4473 4476 4485
4486 4505 4508 4539 4561 4569 4606 4607 4610 4627 4660 4686 4713 4736
4738 4775 4779 4781 4782 4831 4832 4849 4850 4851 4852 4853 4854 4859
4860 4903 4913 4941 4942 4945 4973 4974 4975 4976 4977 4983 4984 4985
5010 5012 5030 5032 5034 5160 5163 5168 5187 5259 5261 5289 5312 5313
5315 5378 5402 5512 5536 5540 5592 5595 5596 5597 5598 5600 5601 5602
5603 5608 5609 5629 5632 5633 5634 5635 5637 5638 5639 5640 5645 5646
5805 5806 5808 5813 5816 5818 5917 5918 5932 5933 5956 5957 5960 6002
6003 6017 6020 6050 6057 6059 6232 6235 6236 6354 6360 6361 6362 6364
6405 6533 6551 6583 6612 6631 6654 6655 6656 6659 6662 6663 6666 6667
6722 6733 6736 6808 6820 6823 6833 6842 6845 6855 6856 6858 6860 6861
6862 6864 6867 6870 6888 6892 6893 6923 6953 6966 6968 6971 6974 6977
6982 7020 7050 7063 7065 7068 7071 7074 7079 7116 7119 7120 7121 7122
7123 7124 7128 7131 7132 7133 7134 7137 7138 7144 7178 7305 7306 7314
7432 7433 7437 7492 7497 7550 7587 7589 7636 7661 7669 7735 7736 7737
7738 7740 7741 7742 7743
T4 126 131 135 136 138 166 172 189 190 193 201 202 266 267
337 338 339 340 349 350 351 359 360 364 365 366 384 385
386 388 404 405 414 415 445 446 448 449 450 459 460 463
535 536 544 616 626 627 628 630 631 666 675 676 704 705
706 707 708 789 790 804 805 806 811 856 902 904 929 930
948 960 962 963 964 965 966 967 969 970 971 972 973 974
1024 1027 1030 1031 1034 1037 1038 1043 1044 1045 1048 1049 1060 1061
1062 1097 1102 1128 1134 1182 1183 1185 1254 1260 1262 1296 1306 1307
1315 1334 1335 1371 1373 1423 1426 1428 1429 1431 1477 1478 1479 1496
1541 1542 1560 1562 1563 1571 1573 1586 1590 1592 1593 1595 1630 1631
1632 1633 1665 1666 1667 1670 1697 1698 1716 1717 1724 1725 1781 1782
1812 1813 1814 1828 1829 1842 1844 1846 1875 1876 1878 1879 1880 1904
1905 1907 1940 2002 2020 2021 2025 2061 2062 2066 2118 2119 2122 2127
2132 2133 2135 2136 2137 2146 2147 2155 2159 2160 2162 2178 2179 2181
2185 2190 2191 2206 2207 2208 2209 2235 2236 2276 2277 2282 2283 2312
2313 2314 2315 2526 2527 2529 2534 2535 2537 2542 2544 2545 2561 2562
2564 2565 2567 2607 2608 2609 2611 2628 2629 2644 2645 2647 2648 2650
2651 2655 2656 2675 2676 2694 2710 2711 2728 2733 2734 2757 2758 2810
2813 2841 2842 2913 2915 2916 2918 2920 2955 2959 2962 3065 3068 3084
3118 3123 3154 3155 3164 3165 3229 3230 3231 3232 3262 3266 3270 3274
3278 3282 3286 3290 3294 3362 3363 3364 3378 3379 3404 3405 3419 3420
3426 3433 3434 3441 3452 3453 3454 3468 3469 3470 3498 3499 3521 3537
3557 3591 3596 3597 3598 3609 3610 3611 3623 3624 3633 3634 3641 3642
3652 3653 3683 3687 3688 3689 3690 3698 3699 3700 3701 3714 3715 3724
3725 3847 3848 3867 3868 3910 3911 3963 3964 3968 4001 4002 4004 4005
4012 4031 4055 4094 4095 4096 4100 4139 4140 4196 4197 4256 4259 4282
4283 4285 4286 4295 4299 4317 4352 4353 4370 4371 4394 4428 4429 4435
4444 4453 4454 4459 4477 4485 4540 4541 4542 4544 4545 4561 4571 4605
4606 4655 4656 4657 4658 4662 4663 4681 4682 4683 4684 4708 4709 4710
4711 4740 4742 4762 4763 4766 4767 4769 4778 4779 4782 4784 4785 4798
4799 4819 4820 4821 4822 4823 4824 4825 4826 4827 4834 4835 4862 4863
4872 4873 4879 4880 4881 4899 4900 4901 4902 4908 4909 4937 4938 4939
4940 4945 4946 4968 4969 4970 4971 4972 4973 4978 4981 4983 4985 5003
5004 5021 5023 5046 5047 5053 5054 5076 5077 5099 5100 5124 5126 5128
5138 5140 5148 5169 5188 5193 5195 5197 5198 5217 5219 5221 5223 5251
5252 5253 5254 5266 5267 5268 5269 5270 5271 5288 5306 5316 5321 5322
5374 5375 5376 5377 5463 5464 5482 5483 5504 5507 5508 5509 5510 5514
5515 5531 5532 5533 5534 5544 5545 5661 5662 5663 5664 5717 5718 5719
5741 5742 5744 5761 5762 5764 5768 5786 5787 5806 5807 5816 5817 5818
5819 5820 5837 5838 5855 5856 5862 5863 5876 5877 5878 5898 5899 5916
5917 5923 5924 5927 5931 5932 5934 6001 6002 6008 6009 6012 6016 6017
6018 6021 6022 6103 6104 6105 6106 6161 6162 6163 6170 6171 6172 6423
6426 6470 6471 6524 6525 6534 6579 6589 6590 6592 6657 6658 6660 6661
6663 6665 6827 6828 6829 6883 6884 6895 6896 6916 6917 6963 6965 6966
6969 6972 6975 6978 7013 7014 7060 7062 7063 7066 7069 7072 7075 7111
7113 7114 7120 7124 7136 7138 7140 7194 7195 7211 7212 7216 7217 7218
7238 7239 7241 7243 7245 7251 7252 7253 7275 7276 7339 7340 7438 7439
7440 7444 7445 7446 7495 7519 7520 7523 7526 7529 7530 7533 7593 7594
7595 7604 7605 7606 7607 7609 7612 7615 7631 7641 7666 7667 7672 7686
TBT020 664 666#
TBTFLG 612
TBTLNK 612
TBTOPT 612
THRFLD 4230 4483#
TIMFLD 4219 4464#
TL%ABR 1311
TL%EXM 1311 6059 7563
TMPSTR 4008 4025 5160 5168 7802#
TOPCHK 104# 510
TOPFRE 7294 7398#
TOPTBL 7398
TPF.1 7406# 7408 7413
TPF.D 7406 7415#
TPLID 7265 7347#
TPLST 7266 7356#
TPNOD 7262 7305#
TPNST 7264 7337#
TPNUM 7263 7329#
TPRFLD 4229 4489#
TPUNI 7268 7366#
TPVER 7267 7362#
TRGGER 271 612#
TS$NHD 6317
TSTL05 6453#
TSTL10 6456# 6459
TSTLOG 6442 6449#
TXTFLD 4231 4378#
ULKNOD 103# 500 826 6500
UPTFLD 4221 4267#
VARLEN 132 139
VNETCO 7112
W1 1178 1178# 1181 1182 1184 1187 1188 1202 1203 1213 1217
W3 6469 6469# 6483 6494 6503
W4 6469 6469# 6482 6485 6486 6488 6493 6503
WDMP10 5973# 5979
WRNING 103# 1931 1945 1955 1958 1971 2763 2767 2774 6492
WRTBYT 5977 5997#
WRTDMP 875 5971#
WTDBYT 5997
WTDCNT 5971
WTDPTR 5971
WTDREC 5971 5997
WTDT10 6004 6016#
XFR010 1784 1808#
XFR030 1802 1832 1852#
XFRADR 1769
XFRCNT 1769
XFRLIN 1769
XFRPTR 1769
ZCTERR 6726 6735 6738 6741 6751#
ZCTLID 6706
ZCTLNK 6706
ZCTNOD 6706
ZROBLK 1501
ZROCTR 6687 6706#
ZROLID 1501
$ADVCN 7171#
$ADVHS 7171#
$ADVLS 7171#
$ADVPT 7171#
$ADVST 7173#
$ADVUN 7171#
$AFDBL 4378#
$AFDCN 4378#
$AFDPT 4378#
$AFDST 4378#
$ARBFL 7580#
$ASLLI 7652#
$ASLPT 7652#
$BASLI 1692#
$CHLNA 6468#
$CHLNI 6468#
$CKMCN 2174#
$CKMLI 2174#
$CKMPT 2174#
$CMRCN 2640#
$CMRPT 2640#
$COMBL 920#
$COMVE 920#
$DLGCN 2725#
$DLGEV 2725#
$DLGPT 2725#
$DLGSE 2726#
$DLGSR 2725#
$DSPCN 187#
$DSPFC 187#
$DSPPT 187#
$DTDLI 5801#
$DTFCN 4237#
$DTFDA 4237#
$DTFMO 4237#
$DTFPT 4237#
$DTFYR 4237#
$DTGLI 5894#
$DTGPR 5894#
$DTILI 5873#
$DTSDS 3195#
$DTSRE 3195#
$DTUDS 3208#
$DTURE 3208#
$DTWLI 5783#
$DVFBL 4275#
$DVFCN 4275#
$DVFDE 4275#
$DVFPT 4275#
$ESRSE 3306#
$ESRSR 3306#
$ETPDS 2858#
$ETPER 2858#
$ETPLI 2858#
$ETPNO 2858#
$ETPRS 2858#
$EVABL 2795#
$EVACN 2794#
$EVALG 2794#
$EVAMS 2794#
$EVAPT 2794#
$EVATM 2795#
$GEBCN 4559#
$GEBPT 4559#
$GIACN 3997#
$GIADS 3997#
$GIALE 3997#
$GIAPT 3997#
$GIBCN 4043#
$GIBPT 4043#
$GIBSF 4043#
$GLLBL 6394#
$GLLNA 6394#
$GLLNO 6394#
$GT4NU 4499#
$GT4PT 4499#
$GTLCN 4091#
$GTLPT 4091#
$GTMCN 4167#
$GTMPT 4167#
$GTPCN 3778# 3903#
$GTPPT 3778# 3903#
$HDWDA 2969#
$HDWDE 2969#
$HDWDS 2969#
$HDWER 2969#
$HDWLX 2969#
$HDWMC 2969#
$HDWNO 2969#
$HDWOP 2969#
$HDWRC 2969#
$HDWRE 2969#
$HDWRS 2969#
$HDWTH 2969#
$HDWUP 2969#
$IBKCN 6121#
$IBKCT 6121#
$IBKPT 6122#
$IBKRE 6121#
$IBKSU 6121#
$INTLN 688#
$IPRAD 2228#
$IPRCN 2228#
$IPRLI 2228#
$IPRPR 2228#
$ITSCN 6210#
$ITSPT 6210#
$ITSRE 6210#
$LCTBL 6513#
$LCTCN 6514#
$LCTLE 6514#
$LCTLI 6514#
$LCTNO 6513#
$LCTNU 6513#
$LCTPT 6514#
$LDPLI 2477#
$LDPLN 2477#
$LDPNO 2477#
$LDTLI 5734#
$LINCN 992#
$LINLI 992#
$LINMS 992#
$LNADR 1698# 2133# 2160# 2162# 2277# 2529# 2537# 2562# 2564# 4769# 4779# 4782#
$LNCNT 1814# 2545# 2609# 4784# 4880# 5768# 5813#
$LNDCT 2283# 2527# 2535# 2565# 2567# 2608# 2611# 2629# 5808#
$LNDTE 1557# 2236# 5242# 5718# 5744# 5762# 5787# 5806# 5838# 5877# 5899#
$LNLDN 1632# 2182# 2184# 2187# 4767# 4824#
$LNMSG 1562# 1595# 1813# 2136# 2312# 2542# 2616# 4763# 4785# 4820# 4881# 5742# 5764# 5816#
5856# 5863#
$LNPGM 1631# 1725# 1782# 1828# 2117# 5150#
$LNPTR 5818#
$LNSCN 920#
$LNSMS 920#
$LSDCN 2271#
$LSDLI 2271#
$LSDNU 2271#
$LSDPT 2271#
$LSLCN 1620#
$LSLLI 1620#
$LSLPG 1620#
$LSLPT 1620#
$LSTBP 2063#
$LSTFL 2063#
$LSTHL 1232#
$LSTLI 1232# 1394# 2063#
$LSTPR 1394#
$LSVCN 1535#
$LSVCO 1536#
$LSVDT 1536#
$LSVLT 1536#
$LSVOP 1536#
$LSVPT 1535#
$LTLOG 6488#
$LTNIB 7638#
$LTUSE 6486# 7633#
$MBSAD 4794#
$MDLDS 5626#
$MDLLI 5626#
$MDTAD 4932#
$MDTCN 4932#
$MDTNU 4932#
$MEMCN 1712#
$MEMLI 1712#
$MEMPS 5095#
$MEMPT 1712#
$MHNCN 5480#
$MHNNA 5480#
$MHNPT 5480#
$MIDAD 4893#
$MIDCN 4893#
$MIDNU 4893#
$MIMCN 4963#
$MIMCP 4963#
$MIMRE 4963#
$MKACN 5303#
$MKAPT 5303#
$MKAST 5303#
$MKDCN 5117#
$MKDLI 5117#
$MKDPT 5117#
$MKECN 5528#
$MKEDS 5393#
$MKEEV 5528#
$MKESR 5393#
$MKLCN 5442#
$MKLLO 5442#
$MKLPT 5442#
$MKMCN 5425#
$MKMME 5425#
$MKMPT 5425#
$MKXCN 4998#
$MKXPT 4998#
$MKXRE 4998#
$MKZLI 5370#
$MLDCN 2110#
$MLDCT 2111#
$MLDLI 2110#
$MLDPT 2110# 2111#
$MLNLI 5499#
$MLNPT 4732# 5499#
$MLNST 5499#
$MLPAD 4817#
$MLPCN 4817#
$MLPLI 4817#
$MMLCN 4757#
$MMLLI 4757#
$MMLPT 4757#
$MMPCN 5353#
$MMPPS 5353#
$MMPPT 5353#
$MMTAD 5185#
$MMTLO 5185#
$MNDCN 5333#
$MNLDS 5589#
$MNLLI 5589#
$MNMCN 5461#
$MNMNA 5461#
$MNMPT 5461#
$MNUCN 5659#
$MNUNU 5659#
$MNUPT 5659#
$MPDCN 2510#
$MPDLI 2510#
$MPDNU 2510#
$MPDPT 2510#
$MPVCN 1894#
$MPVLE 1895#
$MPVLI 1894#
$MPVLN 1895#
$MPVMS 1894#
$MPVPT 1894#
$MQLCN 5236#
$MQLLI 5235# 5236#
$MRDAD 5073#
$MRDCN 5073#
$MRDPT 5073#
$MRLCO 5214#
$MRLLI 4704#
$MRLLO 5214#
$NDBP1 3520#
$NDBP2 3521#
$NDCPU 3539#
$NDDIP 742# 823#
$NDDMP 3490#
$NDFBL 4331#
$NDFCN 4331#
$NDFPT 4331#
$NDLDV 3540#
$NDLIN 2233# 3369# 3459# 6482#
$NDLIP 253# 498# 563# 591#
$NDLOD 3395#
$NDMCN 4602#
$NDMDS 4602#
$NDMPT 4602#
$NDNAM 3373# 3463# 6470#
$NDPHT 3557#
$NDPNA 3555#
$NDPNU 3556#
$NDPRO 2245#
$NDPST 2242#
$NDSL1 3413# 3478#
$NDSL2 3414# 3479#
$NDSRV 3410# 3475#
$OPFTY 4449#
$OPIJF 6033#
$OPITY 6033#
$PGCPU 7523#
$PGFIL 7533#
$PGLDV 7520#
$PGPGM 7526#
$PRSCT 1286#
$PRSLD 1286#
$PRSST 1286#
$PRSUN 1286#
$PRTBU 1179#
$PT4NU 5692#
$PT4PT 5692#
$RBBYT 5917# 5923# 5932# 5934# 6002# 6012# 6017# 6022# 6106# 7591#
$RBCAD 340# 366# 388# 6217#
$RBCNT 360# 386# 405# 4973# 4983# 4985# 6171# 6238#
$RBDAT 5927# 5931# 6009# 6018# 6021# 6105#
$RBFCT 6231# 6236# 6309# 6364#
$RBJFN 338# 460# 463# 552# 580# 790# 5924# 6008# 6104# 6352# 7592#
$RBNAD 365# 385# 6162# 6218# 6299# 6350#
$RBPTR 351# 4978# 4981# 6172# 6242# 7595#
$RBTYP 339# 352# 6264#
$RBXAD 414# 5054# 6163# 6327# 6350# 6351#
$RCTCN 6765#
$RCTER 6765#
$RCTLI 6764#
$RCTLN 6764#
$RCTNO 6764#
$RCTPT 6765#
$RDMLI 2603#
$RDTLI 5833#
$RGFBL 4400#
$RGFCN 4400#
$RGFNU 4400#
$RGFPT 4400#
$RLGOP 2685#
$RLGSE 2685#
$RLGSR 2685#
$RLSMS 1072#
$ROUVE 920#
$RPLHS 2035#
$RPLLN 2035#
$RQCLI 6804#
$RQCLN 6804#
$RQDCN 724#
$RQDLN 724#
$RQDPT 724#
$RQDRE 724#
$RQLCN 228#
$RQLLN 228#
$RQLPT 228#
$RQLRE 228#
$RQRBU 1072#
$RQRCN 894#
$RQRHL 1072#
$RQRPT 894#
$SDMDS 3179#
$SDMRE 3179#
$SDTCN 2582#
$SDTLI 5714# 5757#
$SDTPT 2582#
$SEMCO 2202#
$SKDCN 3140#
$SKDDS 3140#
$SKDMC 3140#
$SKDRE 3140#
$SPGTA 7506#
$SRGDE 3109#
$SRGDS 3109#
$SRGMC 3109#
$SRGRE 3109#
$STHHS 7376#
$STHNO 7376#
$STRBL 6882#
$STRDS 6882#
$STROF 6882#
$STRST 6882#
$STXCN 1986#
$STXLI 1986#
$STXLN 1986#
$STXPT 1986#
$SYADJ 2908# 6566#
$SYCOD 2842# 3083# 6855#
$SYCTR 6583#
$SYDAT 6864#
$SYDBL 7003#
$SYDCO 7002#
$SYDFI 7003#
$SYDSI 7003#
$SYDSR 7002#
$SYDST 3341# 6639#
$SYDSV 7002#
$SYDTG 7002#
$SYFCN 6565#
$SYFIL 6978# 7075#
$SYHDW 3038# 6667#
$SYHLN 6858#
$SYLBL 6906#
$SYLCO 6905#
$SYLEN 2760# 2853# 6646# 6856#
$SYLFI 6906#
$SYLI1 2921# 3057# 6658#
$SYLID 2919# 3056# 6656#
$SYLSI 6906#
$SYLSR 6905#
$SYLSV 6905#
$SYLTG 6905#
$SYMID 6567#
$SYNAM 7124#
$SYNBL 7098#
$SYNCT 3076# 6592#
$SYNCV 7113#
$SYNOD 3332# 6621#
$SYNOF 7098#
$SYNSI 7098#
$SYNTM 6563#
$SYOPS 3043#
$SYPGM 7138#
$SYPSN 6870#
$SYPTR 2850# 3081# 6601#
$SYRCD 6965# 7062#
$SYRCT 6562#
$SYRCV 3049#
$SYRSN 2915# 3045# 6561#
$SYSEQ 3323# 6564#
$SYSRV 6972# 7069#
$SYSVL 6975# 7072#
$SYT20 6861#
$SYTGT 6969# 7066#
$SYTHR 3047#
$SYTYP 6579#
$SYUPT 6867#
$SYVER 6860#
$TBTFL 612#
$TBTLN 612#
$TBTOP 612#
$TOPTB 7398#
$W1 1178#
$W3 6469#
$W4 6469#
$WTDBY 5997#
$WTDCN 5971#
$WTDPT 5971#
$WTDRE 5971# 5997#
$XFRAD 1769#
$XFRCN 1769#
$XFRLI 1769#
$XFRPT 1769#
$ZCTLI 6706#
$ZCTLN 6706#
$ZCTNO 6706#
$ZROBL 1501#
$ZROLI 1501#
%DO%TG 3453 3454 3469 3470 3688 3689 3699 3700
%FB%BS 6357 6358
%LNADR 1698 2133 2160 2162 2277 2529 2537 2562 2564 4769 4779 4782
%LNCNT 1814 2545 2609 4784 4880 5768 5813
%LNDCT 2283 2527 2535 2565 2567 2608 2611 2629 5808
%LNDTE 1557 2236 5242 5718 5744 5762 5787 5806 5838 5877 5899
%LNLDN 1632 2182 2184 2187 4767 4824
%LNMSG 1562 1595 1813 2136 2312 2542 2616 4763 4785 4820 4881 5742 5764 5816
5856 5863
%LNPGM 1631 1725 1782 1828 2117 5150
%LNPTR 5818
%LO%RO 267 268 617 618 3379 3380 3420 3421 3623 3624 3633 3634
%LO%TG 3363 3364 3404 3405 3596 3597 3609 3610
%LTLOG 6488
%LTNIB 7638
%LTUSE 6486 7633
%MO%CD 705 706
%MO%DA 708 709
%MO%IN 707 708
%NDBP1 3520
%NDBP2 3521
%NDCPU 3539
%NDDIP 742 823
%NDDMP 3490
%NDLDV 3540
%NDLIN 2233 3369 3459 6482
%NDLIP 253 498 563 591
%NDLOD 3395
%NDNAM 3373 3463 6470
%NDPHT 3557
%NDPNA 3555
%NDPNU 3556
%NDPRO 2245
%NDPST 2242
%NDSL1 3413 3478
%NDSL2 3414 3479
%NDSRV 3410 3475
%PGCPU 7523
%PGFIL 7533
%PGLDV 7520
%PGPGM 7526
%RBBYT 5917 5923 5932 5934 6002 6012 6017 6022 6106 7591
%RBCAD 340 366 388 6217
%RBCNT 360 386 405 4973 4983 4985 6171 6238
%RBDAT 5927 5931 6009 6018 6021 6105
%RBFCT 6231 6236 6309 6364
%RBJFN 338 460 463 552 580 790 5924 6008 6104 6352 7592
%RBNAD 365 385 6162 6218 6299 6350
%RBPTR 351 4978 4981 6172 6242 7595
%RBTYP 339 352 6264
%RBXAD 414 5054 6163 6327 6350 6351
%SYADJ 2908 6566
%SYCOD 2842 3083 6855
%SYCTR 6583
%SYDAT 6864
%SYDST 3341 6639
%SYFCN 6565
%SYFIL 6978 7075
%SYHDW 3038 6667
%SYHLN 6858
%SYLEN 2760 2853 6646 6856
%SYLI1 2921 3057 6658
%SYLID 2919 3056 6656
%SYMID 6567
%SYNAM 7124
%SYNCT 3076 6592
%SYNCV 7113
%SYNOD 3332 6621
%SYNTM 6563
%SYOPS 3043
%SYPGM 7138
%SYPSN 6870
%SYPTR 2850 3081 6601
%SYRCD 6965 7062
%SYRCT 6562
%SYRCV 3049
%SYRSN 2915 3045 6561
%SYSEQ 3323 6564
%SYSRV 6972 7069
%SYSVL 6975 7072
%SYT20 6861
%SYTGT 6969 7066
%SYTHR 3047
%SYTYP 6579
%SYUPT 6867
%SYVER 6860
..ACT 253# 253 360# 360 405# 405 498# 498 563# 563 591# 591 742# 742
823# 823 1632# 1632 2242# 2242 2629# 2629 6106# 6106 6486# 6486 6488# 6488
6861# 6861 7633# 7633
..CSC 253# 253 255 255# 267# 267 268 268# 338# 338 339 339# 340 340#
341 341# 351# 351 352 352# 353 353# 360# 360 362 362# 365# 365
366 366# 367 367# 385# 385 386 386# 387 387# 388# 388 389 389#
405# 405 407 407# 414# 414 415 415# 460# 460 461 461# 463# 463
464 464# 498# 498 500 500# 552# 552 563# 563 565 565# 580# 580
591# 591 593 593# 617# 617 618 618# 705# 705 706 706# 707# 707
708 708# 709 709# 742# 742 744 744# 790# 790 791 791# 823# 823
825 825# 1557# 1557 1558 1558# 1562# 1562 1563 1563# 1595# 1595 1596 1596#
1631# 1631 1632 1632# 1634 1634# 1698# 1698 1699 1699# 1725# 1725 1726 1726#
1782# 1782 1783 1783# 1813# 1813 1814 1814# 1815 1815# 1828# 1828 1829 1829#
2117# 2117 2118 2118# 2133# 2133 2134 2134# 2136# 2136 2137 2137# 2160# 2160
2161 2161# 2162# 2162 2163 2163# 2184# 2184 2185 2185# 2187# 2187 2188 2188#
2233# 2233 2234 2234# 2236# 2236 2237 2237# 2242# 2242 2245 2245# 2246 2246#
2277# 2277 2278 2278# 2283# 2283 2284 2284# 2312# 2312 2313 2313# 2527# 2527
2528 2528# 2529# 2529 2530 2530# 2535# 2535 2536 2536# 2537# 2537 2538 2538#
2542# 2542 2543 2543# 2545# 2545 2546 2546# 2562# 2562 2563 2563# 2564# 2564
2565 2565# 2566 2566# 2567# 2567 2568 2568# 2608# 2608 2609 2609# 2610 2610#
2611# 2611 2612 2612# 2616# 2616 2617 2617# 2629# 2629 2631 2631# 2760# 2760
2761 2761# 2842# 2842 2843 2843# 2850# 2850 2851 2851# 2853# 2853 2854 2854#
2908# 2908 2909 2909# 2915# 2915 2916 2916# 2919# 2919 2920 2920# 2921# 2921
2922 2922# 3038# 3038 3039 3039# 3043# 3043 3044 3044# 3045# 3045 3046 3046#
3047# 3047 3048 3048# 3049# 3049 3050 3050# 3056# 3056 3057 3057# 3058 3058#
3076# 3076 3077 3077# 3081# 3081 3082 3082# 3083# 3083 3084 3084# 3323# 3323
3324 3324# 3332# 3332 3333 3333# 3341# 3341 3342 3342# 3363# 3363 3364 3364#
3369# 3369 3370 3370# 3373# 3373 3374 3374# 3379# 3379 3380 3380# 3395# 3395
3396 3396# 3404# 3404 3405 3405# 3410# 3410 3411 3411# 3413# 3413 3414 3414#
3415 3415# 3420# 3420 3421 3421# 3453# 3453 3454 3454# 3459# 3459 3460 3460#
3463# 3463 3464 3464# 3469# 3469 3470 3470# 3475# 3475 3476 3476# 3478# 3478
3479 3479# 3480 3480# 3490# 3490 3491 3491# 3520# 3520 3521 3521# 3522 3522#
3539# 3539 3540 3540# 3541 3541# 3555# 3555 3556 3556# 3557 3557# 3558 3558#
3596# 3596 3597 3597# 3609# 3609 3610 3610# 3623# 3623 3624 3624# 3633# 3633
3634 3634# 3688# 3688 3689 3689# 3699# 3699 3700 3700# 4763# 4763 4764 4764#
4767# 4767 4768 4768# 4769# 4769 4770 4770# 4779# 4779 4780 4780# 4782# 4782
4783 4783# 4784# 4784 4785 4785# 4786 4786# 4820# 4820 4821 4821# 4824# 4824
4825 4825# 4880# 4880 4881 4881# 4882 4882# 4973# 4973 4974 4974# 4978# 4978
4979 4979# 4981# 4981 4982 4982# 4983# 4983 4984 4984# 4985# 4985 4986 4986#
5054# 5054 5055 5055# 5150# 5150 5151 5151# 5242# 5242 5243 5243# 5718# 5718
5719 5719# 5742# 5742 5743 5743# 5744# 5744 5745 5745# 5762# 5762 5763 5763#
5764# 5764 5765 5765# 5768# 5768 5769 5769# 5787# 5787 5788 5788# 5806# 5806
5807 5807# 5808# 5808 5809 5809# 5813# 5813 5814 5814# 5816# 5816 5817 5817#
5818# 5818 5819 5819# 5838# 5838 5839 5839# 5856# 5856 5857 5857# 5863# 5863
5864 5864# 5877# 5877 5878 5878# 5899# 5899 5900 5900# 5917# 5917 5918 5918#
5923# 5923 5924 5924# 5925 5925# 5927# 5927 5928 5928# 5931# 5931 5932 5932#
5933 5933# 6002# 6002 6003 6003# 6008# 6008 6009 6009# 6010 6010# 6012# 6012
6013 6013# 6017# 6017 6018 6018# 6019 6019# 6021# 6021 6022 6022# 6104# 6104
6105 6105# 6106 6106# 6108 6108# 6162# 6162 6163 6163# 6164 6164# 6171# 6171
6172 6172# 6173 6173# 6217# 6217 6218 6218# 6219 6219# 6231# 6231 6232 6232#
6236# 6236 6237 6237# 6238# 6238 6239 6239# 6242# 6242 6243 6243# 6264# 6264
6265 6265# 6299# 6299 6300 6300# 6309# 6309 6310 6310# 6327# 6327 6328 6328#
6350# 6350 6351 6351# 6352 6352# 6353 6353# 6357# 6357 6358 6358# 6364# 6364
6365 6365# 6470# 6470 6471 6471# 6482# 6482 6483 6483# 6486# 6486 6488 6488#
6491 6491# 6561# 6561 6562 6562# 6563 6563# 6564 6564# 6565 6565# 6566 6566#
6567 6567# 6568 6568# 6579# 6579 6580 6580# 6583# 6583 6584 6584# 6592# 6592
6593 6593# 6601# 6601 6602 6602# 6621# 6621 6622 6622# 6639# 6639 6640 6640#
6646# 6646 6647 6647# 6656# 6656 6657 6657# 6658# 6658 6659 6659# 6667# 6667
6668 6668# 6855# 6855 6856 6856# 6857 6857# 6858# 6858 6859 6859# 6860# 6860
6861 6861# 6863 6863# 6864# 6864 6865 6865# 6867# 6867 6868 6868# 6870# 6870
6871 6871# 6965# 6965 6966 6966# 6969# 6969 6970 6970# 6972# 6972 6973 6973#
6975# 6975 6976 6976# 6978# 6978 6979 6979# 7062# 7062 7063 7063# 7066# 7066
7067 7067# 7069# 7069 7070 7070# 7072# 7072 7073 7073# 7075# 7075 7076 7076#
7113# 7113 7114 7114# 7124# 7124 7125 7125# 7138# 7138 7139 7139# 7520# 7520
7521 7521# 7523# 7523 7524 7524# 7526# 7526 7527 7527# 7533# 7533 7534 7534#
7591# 7591 7592 7592# 7593 7593# 7595# 7595 7596 7596# 7633# 7633 7635 7635#
7638# 7638
..CSN 253# 253 267# 267 338# 338 339# 339 340# 340 351# 351 352# 352
360# 360 365# 365 366# 366 385# 385 386# 386 388# 388 405# 405
414# 414 460# 460 463# 463 498# 498 552# 552 563# 563 580# 580
591# 591 617# 617 705# 705 707# 707 708# 708 742# 742 790# 790
823# 823 1557# 1557 1562# 1562 1595# 1595 1631# 1631 1632# 1632 1698# 1698
1725# 1725 1782# 1782 1813# 1813 1814# 1814 1828# 1828 2117# 2117 2133# 2133
2136# 2136 2160# 2160 2162# 2162 2184# 2184 2187# 2187 2233# 2233 2236# 2236
2242# 2242 2245# 2245 2277# 2277 2283# 2283 2312# 2312 2527# 2527 2529# 2529
2535# 2535 2537# 2537 2542# 2542 2545# 2545 2562# 2562 2564# 2564 2565# 2565
2567# 2567 2608# 2608 2609# 2609 2611# 2611 2616# 2616 2629# 2629 2760# 2760
2842# 2842 2850# 2850 2853# 2853 2908# 2908 2915# 2915 2919# 2919 2921# 2921
3038# 3038 3043# 3043 3045# 3045 3047# 3047 3049# 3049 3056# 3056 3057# 3057
3076# 3076 3081# 3081 3083# 3083 3323# 3323 3332# 3332 3341# 3341 3363# 3363
3369# 3369 3373# 3373 3379# 3379 3395# 3395 3404# 3404 3410# 3410 3413# 3413
3414# 3414 3420# 3420 3453# 3453 3459# 3459 3463# 3463 3469# 3469 3475# 3475
3478# 3478 3479# 3479 3490# 3490 3520# 3520 3521# 3521 3539# 3539 3540# 3540
3555# 3555 3556# 3556 3557# 3557 3596# 3596 3609# 3609 3623# 3623 3633# 3633
3688# 3688 3699# 3699 4763# 4763 4767# 4767 4769# 4769 4779# 4779 4782# 4782
4784# 4784 4785# 4785 4820# 4820 4824# 4824 4880# 4880 4881# 4881 4973# 4973
4978# 4978 4981# 4981 4983# 4983 4985# 4985 5054# 5054 5150# 5150 5242# 5242
5718# 5718 5742# 5742 5744# 5744 5762# 5762 5764# 5764 5768# 5768 5787# 5787
5806# 5806 5808# 5808 5813# 5813 5816# 5816 5818# 5818 5838# 5838 5856# 5856
5863# 5863 5877# 5877 5899# 5899 5917# 5917 5923# 5923 5924# 5924 5927# 5927
5931# 5931 5932# 5932 6002# 6002 6008# 6008 6009# 6009 6012# 6012 6017# 6017
6018# 6018 6021# 6021 6104# 6104 6105# 6105 6106# 6106 6162# 6162 6163# 6163
6171# 6171 6172# 6172 6217# 6217 6218# 6218 6231# 6231 6236# 6236 6238# 6238
6242# 6242 6264# 6264 6299# 6299 6309# 6309 6327# 6327 6350# 6350 6351# 6351
6352# 6352 6357# 6357 6364# 6364 6470# 6470 6482# 6482 6486# 6486 6488# 6488
6561# 6561 6562# 6562 6563# 6563 6564# 6564 6565# 6565 6566# 6566 6567# 6567
6579# 6579 6583# 6583 6592# 6592 6601# 6601 6621# 6621 6639# 6639 6646# 6646
6656# 6656 6658# 6658 6667# 6667 6855# 6855 6856# 6856 6858# 6858 6860# 6860
6861# 6861 6864# 6864 6867# 6867 6870# 6870 6965# 6965 6969# 6969 6972# 6972
6975# 6975 6978# 6978 7062# 7062 7066# 7066 7069# 7069 7072# 7072 7075# 7075
7113# 7113 7124# 7124 7138# 7138 7520# 7520 7523# 7523 7526# 7526 7533# 7533
7591# 7591 7592# 7592 7595# 7595 7633# 7633 7638# 7638
..IFT 253# 253 255# 255 360# 360 362# 362 405# 405 407# 407 498# 498
500# 500 563# 563 565# 565 591# 591 593# 593 742# 742 744# 744
823# 823 825# 825 1632# 1632 1634# 1634 2182# 2182 2242# 2242 2243# 2243
2245# 2245 2629# 2629 2631# 2631 5934# 5934 5935# 5935 6022# 6022 6023# 6023
6106# 6106 6108# 6108 6486# 6486 6487# 6487 6488# 6488 6489# 6489 6491# 6491
6861# 6861 6863# 6863 7633# 7633 7634# 7634 7635# 7635
..JX1 2243# 2243 6487# 6487 6489# 6489 7634# 7634
..MSK 6350# 6350 6351# 6351 6352#
..MX1 158# 158 250# 250 253# 253 313# 313 319# 319 329# 329 331# 331
334# 334 336# 336 358# 358 377# 377 400# 400 410# 410 411# 411
420# 420 428# 428 437# 437 447# 447 472# 472 489# 489 497# 497
498# 498 529# 529 533# 533 538# 538 563# 563 591# 591 626# 626
628# 628 630# 630 695# 695 699# 699 702# 702 704# 704 706# 706
711# 711 738# 738 742# 742 782# 782 818# 818 823# 823 825# 825
929# 929 939# 939 941# 941 975# 975 1402# 1403# 1403 1426# 1426 1428#
1428 1442# 1442 1458# 1458 1465# 1465 1481# 1481 1576# 1576 1632# 1632 1843#
1843 1845# 1845 1848# 1848 1867# 1867 1877# 1877 1917# 1917 1932# 1932 1946#
1946 1991# 1991 2041# 2041 2182# 2182 2206# 2206 2258# 2258 2281# 2281 2334#
2334 2482# 2482 2528# 2528 2538# 2538 2841# 2841 2874# 2874 2935# 2935 2993#
2993 3082# 3082 3096# 3096 3243# 3244# 3244 3504# 3504 3506# 3506 3538# 3538
4256# 4256 4260# 4260 4269# 4269 4308# 4308 4318# 4318 4326# 4326 4338# 4338
4351# 4351 4372# 4372 4393# 4393 4443# 4443 4458# 4458 4466# 4466 4476# 4476
4486# 4486 4655# 4655 4657# 4657 4681# 4681 4683# 4683 4708# 4708 4710# 4710
4734# 4734 4764# 4764 4798# 4798 4804# 4804 4821# 4821 4834# 4834 4837# 4837
4849# 4849 4851# 4851 4862# 4862 4865# 4865 4872# 4872 4899# 4899 4901# 4901
4937# 4937 4939# 4939 4968# 4968 4975# 4975 5003# 5003 5014# 5014 5017# 5017
5025# 5025 5029# 5029 5036# 5036 5039# 5039 5046# 5046 5076# 5076 5099# 5099
5125# 5125 5127# 5127 5139# 5139 5194# 5194 5218# 5218 5251# 5251 5253# 5253
5258# 5258 5266# 5266 5268# 5268 5270# 5270 5337# 5337 5374# 5374 5376# 5376
5379# 5379 5463# 5463 5482# 5482 5507# 5507 5509# 5509 5511# 5511 5531# 5531
5533# 5533 5535# 5535 5541# 5541 5561# 5561 5575# 5575 5595# 5595 5597# 5597
5599# 5599 5602# 5602 5608# 5608 5632# 5632 5634# 5634 5636# 5636 5639# 5639
5645# 5645 5661# 5661 5663# 5663 5766# 5766 5788# 5788 5790# 5790 5810# 5810
5879# 5879 6036# 6036 6050# 6050 6082# 6082 6234# 6234 6353# 6353 6354# 6354
6358# 6358 6476# 6476 6499# 6499 6549# 6549 6550# 6550 6560# 6560 6857# 6857
6859# 6859 6861# 6861 6911# 6911 7008# 7008 7103# 7103 7112# 7112 7189# 7189
7194# 7194 7199# 7199 7226# 7226 7273# 7273 7275# 7275 7314# 7314 7350# 7350
7588# 7588 7666# 7666 7669# 7669
..MX2 158# 158 250# 250 251 253# 253 254 313# 313 319# 319 329# 330
331# 331 334# 334 336# 336 358# 358 377# 377 400# 400 410# 411
411# 412 420# 420 428# 428 437# 437 447# 447 472# 472 489# 490
497# 497 498 498# 499 529# 529 533# 533 538# 538 563# 563 564
591# 591 592 626# 627 628# 629 630# 631 695# 696 699# 699 700
702# 703 704# 705 706# 707 711# 712 738# 738 739 742# 742 743
782# 783 818# 819 823# 823 824 825# 825 826 929# 930 939# 940
941# 942 975# 976 1403# 1404 1426# 1427 1428# 1429 1442# 1443 1458# 1459
1465# 1466 1481# 1482 1576# 1576 1577 1632# 1632 1633 1843# 1844 1845# 1846
1848# 1849 1867# 1867 1877# 1877 1917# 1918 1932# 1932 1946# 1946 1991# 1992
2041# 2042 2182# 2182 2183 2206# 2207 2258# 2258 2281# 2282 2334# 2335 2482#
2483 2528# 2529 2538# 2539 2841# 2842 2874# 2874 2935# 2936 2993# 2993 3082#
3083 3096# 3097 3244# 3245 3504# 3505 3506# 3506 3507 3538# 3539 4256# 4257
4260# 4261 4269# 4270 4308# 4309 4318# 4319 4326# 4327 4338# 4339 4351# 4352
4372# 4373 4393# 4394 4443# 4444 4458# 4459 4466# 4467 4476# 4477 4486# 4487
4655# 4656 4657# 4658 4681# 4682 4683# 4684 4708# 4709 4710# 4711 4734# 4735
4764# 4765 4798# 4799 4804# 4805 4821# 4822 4834# 4835 4837# 4838 4849# 4850
4851# 4852 4862# 4863 4865# 4866 4872# 4873 4899# 4900 4901# 4902 4937# 4938
4939# 4940 4968# 4969 4975# 4976 5003# 5004 5014# 5015 5017# 5018 5025# 5026
5029# 5030 5036# 5037 5039# 5040 5046# 5047 5076# 5077 5099# 5100 5125# 5126
5127# 5128 5139# 5140 5194# 5195 5218# 5219 5251# 5252 5253# 5254 5258# 5259
5266# 5267 5268# 5269 5270# 5271 5337# 5338 5374# 5375 5376# 5377 5379# 5380
5463# 5464 5482# 5483 5507# 5508 5509# 5510 5511# 5512 5531# 5532 5533# 5534
5535# 5536 5541# 5542 5561# 5562 5575# 5576 5595# 5596 5597# 5598 5599# 5600
5602# 5602 5608# 5609 5632# 5633 5634# 5635 5636# 5637 5639# 5639 5645# 5646
5661# 5662 5663# 5664 5766# 5766 5767 5788# 5788 5790# 5791 5810# 5811 5879#
5880 6036# 6036 6037 6050# 6050 6051 6082# 6082 6083 6234# 6235 6353# 6353
6354# 6355 6358# 6359 6476# 6476 6477 6499# 6499 6500 6549# 6550 6550# 6551
6560# 6561 6857# 6858 6859# 6860 6861# 6861 6862 6911# 6912 7008# 7009 7103#
7104 7112# 7112 7189# 7190 7194# 7195 7199# 7200 7226# 7227 7273# 7274 7275#
7276 7314# 7315 7350# 7351 7588# 7589 7666# 7667 7669# 7670
..NAC 1178# 1178 6469# 6469
..NS 253# 253 255 340# 340 341 360# 360 362 405# 405 407 463# 463
464 498# 498 500 563# 563 565 591# 591 593 742# 742 744 823#
823 825 1632# 1632 1634 2242# 2242 2245 2629# 2629 2631 5923# 5923 5924
6012# 6012 6013 6106# 6106 6108 6350# 6350 6486# 6486 6488 6488# 6491 6562#
6562 6563 6563# 6564 6564# 6565 6565# 6566 6566# 6567 6567# 6568 6861# 6861
6863 7592# 7592 7593 7633# 7633 7635
..NV 187# 187 228# 228 612# 612 688# 688 724# 724 894# 894 1535# 1535
1620# 1620 1712# 1712 1769# 1769 1894# 1894 1986# 1986 2110# 2110 2174# 2174
2202# 2202 2228# 2228 2271# 2271 2477# 2477 2510# 2510 2582# 2582 2603# 2603
2640# 2640 2725# 2725 2794# 2794 3109# 3109 3140# 3140 3179# 3179 3195# 3195
3208# 3208 3778# 3778 3903# 3903 3997# 3997 4043# 4043 4091# 4091 4167# 4167
4378# 4378 4400# 4400 4499# 4499 4559# 4559 4602# 4602 4704# 4704 4732# 4732
4757# 4757 4794# 4794 4817# 4817 4893# 4893 4932# 4932 4963# 4963 4998# 4998
5073# 5073 5095# 5095 5117# 5117 5214# 5214 5235# 5235 5303# 5303 5353# 5353
5370# 5370 5393# 5393 5425# 5425 5442# 5442 5461# 5461 5480# 5480 5659# 5659
5692# 5692 5714# 5714 5734# 5734 5757# 5757 5783# 5783 5801# 5801 5833# 5833
5873# 5873 5894# 5894 5971# 5971 5997# 5997 6121# 6121 6210# 6210 6211 6468#
6468 6513# 6513 6706# 6706 6764# 6764 6804# 6804 6882# 6882 6905# 6905 7002#
7002 7171# 7171 7172 7376# 7376 7398# 7398 7580# 7580 7652# 7652
..PST 253# 253 267# 267 338# 338 339# 339 340# 340 351# 351 352# 352
360# 360 365# 365 366# 366 385# 385 386# 386 388# 388 405# 405
414# 414 460# 460 463# 463 498# 498 552# 552 563# 563 580# 580
591# 591 617# 617 705# 705 707# 707 708# 708 742# 742 790# 790
823# 823 1557# 1557 1562# 1562 1595# 1595 1631# 1631 1632# 1632 1698# 1698
1725# 1725 1782# 1782 1813# 1813 1814# 1814 1828# 1828 2117# 2117 2133# 2133
2136# 2136 2160# 2160 2162# 2162 2182# 2182 2184# 2184 2187# 2187 2233# 2233
2236# 2236 2242# 2242 2245# 2245 2277# 2277 2283# 2283 2312# 2312 2527# 2527
2529# 2529 2535# 2535 2537# 2537 2542# 2542 2545# 2545 2562# 2562 2564# 2564
2565# 2565 2567# 2567 2608# 2608 2609# 2609 2611# 2611 2616# 2616 2629# 2629
2760# 2760 2842# 2842 2850# 2850 2853# 2853 2908# 2908 2915# 2915 2919# 2919
2921# 2921 3038# 3038 3043# 3043 3045# 3045 3047# 3047 3049# 3049 3056# 3056
3057# 3057 3076# 3076 3081# 3081 3083# 3083 3323# 3323 3332# 3332 3341# 3341
3363# 3363 3369# 3369 3373# 3373 3379# 3379 3395# 3395 3404# 3404 3410# 3410
3413# 3413 3414# 3414 3420# 3420 3453# 3453 3459# 3459 3463# 3463 3469# 3469
3475# 3475 3478# 3478 3479# 3479 3490# 3490 3520# 3520 3521# 3521 3539# 3539
3540# 3540 3555# 3555 3556# 3556 3557# 3557 3596# 3596 3609# 3609 3623# 3623
3633# 3633 3688# 3688 3699# 3699 4763# 4763 4767# 4767 4769# 4769 4779# 4779
4782# 4782 4784# 4784 4785# 4785 4820# 4820 4824# 4824 4880# 4880 4881# 4881
4973# 4973 4978# 4978 4981# 4981 4983# 4983 4985# 4985 5054# 5054 5150# 5150
5242# 5242 5718# 5718 5742# 5742 5744# 5744 5762# 5762 5764# 5764 5768# 5768
5787# 5787 5806# 5806 5808# 5808 5813# 5813 5816# 5816 5818# 5818 5838# 5838
5856# 5856 5863# 5863 5877# 5877 5899# 5899 5917# 5917 5923# 5923 5924# 5924
5927# 5927 5931# 5931 5932# 5932 5934# 5934 6002# 6002 6008# 6008 6009# 6009
6012# 6012 6017# 6017 6018# 6018 6021# 6021 6022# 6022 6104# 6104 6105# 6105
6106# 6106 6162# 6162 6163# 6163 6171# 6171 6172# 6172 6217# 6217 6218# 6218
6231# 6231 6236# 6236 6238# 6238 6242# 6242 6264# 6264 6299# 6299 6309# 6309
6327# 6327 6350# 6350 6351# 6351 6352# 6352 6357# 6357 6364# 6364 6470# 6470
6482# 6482 6486# 6486 6488# 6488 6561# 6561 6562# 6562 6563# 6563 6564# 6564
6565# 6565 6566# 6566 6567# 6567 6579# 6579 6583# 6583 6592# 6592 6601# 6601
6621# 6621 6639# 6639 6646# 6646 6656# 6656 6658# 6658 6667# 6667 6855# 6855
6856# 6856 6858# 6858 6860# 6860 6861# 6861 6864# 6864 6867# 6867 6870# 6870
6965# 6965 6969# 6969 6972# 6972 6975# 6975 6978# 6978 7062# 7062 7066# 7066
7069# 7069 7072# 7072 7075# 7075 7113# 7113 7124# 7124 7138# 7138 7520# 7520
7523# 7523 7526# 7526 7533# 7533 7591# 7591 7592# 7592 7595# 7595 7633# 7633
7638# 7638
..STKN 920# 920 921 992# 992 993 1072# 1072 1073 1179# 1179 1180 1232# 1232
1233 1286# 1286 1287 1394# 1394 1395 1501# 1501 1502 1536# 1536 1537 1692#
1692 1693 1895# 1895 1896 2035# 2035 2036 2063# 2063 2064 2111# 2111 2112
2685# 2685 2686 2726# 2726 2727 2795# 2795 2796 2858# 2858 2859 2969# 2969
2970 3306# 3306 3307 4237# 4237 4238 4275# 4275 4276 4331# 4331 4332 4449#
4449 4450 5185# 5185 5186 5236# 5236 5237 5333# 5333 5334 5499# 5499 5500
5528# 5528 5529 5589# 5589 5590 5626# 5626 5627 6033# 6033 6034 6122# 6122
6123 6394# 6394 6395 6514# 6514 6515 6765# 6765 6766 6906# 6906 6907 7003#
7003 7004 7098# 7098 7099 7173# 7173 7174 7506# 7506 7507
..STKQ 920# 920 992# 992 1072# 1072 1179# 1179 1232# 1232 1286# 1286 1394# 1394
1501# 1501 1536# 1536 1692# 1692 1895# 1895 2035# 2035 2063# 2063 2111# 2111
2685# 2685 2726# 2726 2795# 2795 2858# 2858 2969# 2969 3306# 3306 4237# 4237
4275# 4275 4331# 4331 4449# 4449 5185# 5185 5236# 5236 5333# 5333 5499# 5499
5528# 5528 5589# 5589 5626# 5626 6033# 6033 6122# 6122 6394# 6394 6514# 6514
6765# 6765 6906# 6906 7003# 7003 7098# 7098 7173# 7173 7506# 7506
..STKR 920# 922 992# 994 1072# 1074 1179# 1181 1232# 1234 1286# 1288 1394# 1396
1501# 1503 1536# 1538 1692# 1694 1895# 1897 2035# 2037 2063# 2065 2111# 2113
2685# 2687 2726# 2728 2795# 2797 2858# 2860 2969# 2971 3306# 3308 4237# 4239
4275# 4277 4331# 4333 4449# 4451 5185# 5187 5236# 5238 5333# 5335 5499# 5501
5528# 5530 5589# 5591 5626# 5628 6033# 6035 6122# 6124 6394# 6396 6514# 6516
6765# 6767 6906# 6908 7003# 7005 7098# 7100 7173# 7175 7506# 7508
..TRR 187# 188 228# 229 612# 613 688# 689 724# 725 894# 895 1535# 1536
1620# 1621 1712# 1713 1769# 1770 1894# 1895 1986# 1987 2110# 2111 2174# 2175
2202# 2203 2228# 2229 2271# 2272 2477# 2478 2510# 2511 2582# 2583 2603# 2604
2640# 2641 2725# 2726 2794# 2795 3109# 3110 3140# 3141 3179# 3180 3195# 3196
3208# 3209 3778# 3779 3903# 3904 3997# 3998 4043# 4044 4091# 4092 4167# 4168
4378# 4379 4400# 4401 4499# 4500 4559# 4560 4602# 4603 4704# 4705 4732# 4733
4757# 4758 4794# 4795 4817# 4818 4893# 4894 4932# 4933 4963# 4964 4998# 4999
5073# 5074 5095# 5096 5117# 5118 5214# 5215 5235# 5236 5303# 5304 5353# 5354
5370# 5371 5393# 5394 5425# 5426 5442# 5443 5461# 5462 5480# 5481 5659# 5660
5692# 5693 5714# 5715 5734# 5735 5757# 5758 5783# 5784 5801# 5802 5833# 5834
5873# 5874 5894# 5895 5971# 5972 5997# 5998 6121# 6122 6210# 6212 6468# 6469
6513# 6514 6706# 6707 6764# 6765 6804# 6805 6882# 6883 6905# 6906 7002# 7003
7171# 7173 7376# 7377 7398# 7399 7580# 7581 7652# 7653
..TSA1 253# 253 360# 360 405# 405 498# 498 563# 563 591# 591 742# 742
823# 823 1632# 1632 2242# 2242 2629# 2629 6106# 6106 6486# 6486 6488# 6488
6861# 6861 7633# 7633
..TX1 654# 654 775# 775 807# 807 1311# 1311 1929# 1929 1943# 1943 2153# 2153
2243# 2243 2656# 2656 3390# 3390 3434# 3434 3485# 3485 3499# 3499 3642# 3642
3653# 3653 3715# 3715 3725# 3725 4542# 4542 4572# 4572 5400# 5400 5403# 5403
6059# 6059 6317# 6317 6489# 6489 7563# 7563 7589# 7589
..TX2 654# 655 775# 776 807# 807 1311# 1311 1312 1929# 1929 1943# 1943 2153#
2154 2243# 2243 2244 2656# 2657 3390# 3391 3434# 3435 3485# 3486 3499# 3500
3642# 3643 3653# 3654 3715# 3716 3725# 3726 4542# 4543 4572# 4573 5400# 5401
5403# 5404 6059# 6059 6060 6317# 6318 6489# 6489 6490 7563# 7563 7564 7589#
7590
.A16 187 228 612 688 724 894 920 992 1072 1178 1179 1232 1286 1394
1501 1535 1536 1620 1692 1712 1769 1894 1895 1986 2035 2063 2110 2111
2174 2202 2228 2271 2477 2510 2582 2603 2640 2685 2725 2726 2794 2795
2858 2969 3109 3140 3179 3195 3208 3306 3778 3903 3997 4043 4091 4167
4237 4275 4331 4378 4400 4449 4499 4559 4602 4704 4732 4757 4794 4817
4893 4932 4963 4998 5073 5095 5117 5185 5214 5235 5236 5303 5333 5353
5370 5393 5425 5442 5461 5480 5499 5528 5589 5626 5659 5692 5714 5734
5757 5783 5801 5833 5873 5894 5971 5997 6033 6121 6122 6210 6394 6468
6469 6513 6514 6706 6764 6765 6804 6882 6905 6906 7002 7003 7098 7171
7173 7376 7398 7506 7580 7652
.ASSET 187 228 612 688 724 894 1535 1620 1712 1769 1894 1986 2110 2174
2202 2228 2271 2477 2510 2582 2603 2640 2725 2794 3109 3140 3179 3195
3208 3778 3903 3997 4043 4091 4167 4378 4400 4499 4559 4602 4704 4732
4757 4794 4817 4893 4932 4963 4998 5073 5095 5117 5214 5235 5303 5353
5370 5393 5425 5442 5461 5480 5659 5692 5714 5734 5757 5783 5801 5833
5873 5894 5971 5997 6121 6468 6513 6706 6764 6804 6882 6905 7002 7376
7398 7580 7652
.BTBEL 5790 5843
.BTCNT 5769 5815 5854 5864
.BTCPN 1195
.BTDMP 5821
.BTDPT 5820 5857
.BTDTE 1441 1478 5719 5745 5763 5789 5807 5839 5878 5900
.BTFLG 5767 5858
.BTIPR 1481 5903
.BTLDS 5746
.BTLID 1193 1194 1198
.BTLOD 5770
.BTLPT 5765
.BTPRT 998 1192 1508
.BTPRV 1479 5902
.BTRCC 1004 1513
.BTRLC 1007 1515
.BTRMP 5859
.BTROM 5879
.BTSCC 1002 1512
.BTSEC 5743
.BTTCC 1006 1514
.BTTPR 1442 5720
.BTZTM 1024
.CHNUL 3537 4020 4544 5399
.CHTAB 7683
.CP11 1717 2095 2585 4901 4939 5139 5268
.DOPTH 3690 3700
.DOSRV 3454 3701
.DOTGT 3470 3689
.DTA11 7700
.DTDLV 7703
.DTDMC 3134 3251 7704 7721
.DTDTE 1425 2095 2648 3130 3252 5136 5266 7493 7548 7707 7718
.DTDUP 3131 3253 7709 7720
.DTDV1 7710
.DTKDP 1427 3132 3254 7679 7711 7719
.DTKDZ 3133 3255 7680 7712
.DTL1A 7701
.DTL1E 7702
.DTP11 7705
.DTQ11 7706
.DTU11 7708
.EDDAT 4260
.EDDEV 4318
.EDMCD 4372
.EDNOD 4351
.EDOPS 4458
.EDRCV 4476
.EDREG 4443
.EDRSN 4326
.EDTHR 4486
.EDTIM 4466
.EDTXT 1991 2811 4393
.EDUPT 4269
.ERR21 108# 6492
.ERR29 108# 2763
.EVASC 1917
.FBBYV 6353
.FHSLF 113 275 410 695 711 755 1581
.FTDMP 6069
.FTLDA 6068 6070
.FTTSK 6071 6072
.GJDEV 6402
.GJEXT 6415
.GJGEN 6416
.GJNAM 6414
.GJSRC 6418
.JSAOF 6050
.LGMNT 5533
.LMBAS 4798
.LMEND 416 446 468 537 1666 1843 1876 2206 5125
.LMMEM 2585 4899 4937 4968
.LMXFR 1667 5003
.LODEF 3421
.LOPGM 3634 5253
.LOPTH 3598 3610
.LOSRV 3364 3611 5253
.LOTBD 268 3380
.LOTBP 269 618 3624
.LOTGT 3405 3597
.LSDMP 1606 4683
.LSLOD 1605 4657
.LSTBP 630 1608
.LSTBT 628 1607
.LSTCB 1212 1413
.LSTCN 1210 1412
.LSTMN 1411
.LSTOF 1208 1410
.LSTON 1206 1409
.LTALL 4095 5602 5639
.LTSTD 4288 4734
.LTSTR 4096
.MOACN 702
.MONCI 704
.MORHN 2041 2482
.MPACK 2191
.MPDIA 1907 2025
.MPDMP 2676
.MPLDT 5194
.MPLOD 4764
.MPMMR 2645
.MPMOP 5099
.MPRQD 5076
.MPRQL 2179 5218
.MPRQP 1905 2021 5133
.MPXFR 4821
.NCLLS 5597 5634
.NCLOG 214 5531
.NCLSV 212 626 4655 4681
.NCNLS 5560 5574
.NCRED 210 4708
.NCRQD 209
.NCRQL 208 5251
.NCSET 213 5507 5560 5574 5595 5632
.NCSLN 5509
.NCZLN 1496 5376
.NCZRO 211 5374
.NDBK1 7205
.NDCNT 7276
.NDCST 966 973
.NDCVR 952
.NDECO 964 971
.NDGLI 1082
.NDGVR 949
.NDLCB 1211
.NDLCN 1209
.NDLND 1213
.NDLNM 1146 1182 1184 1189
.NDLOF 1207
.NDLON 1205
.NDLST 1203
.NDNAM 7317 7322
.NDNBS 7226 7275
.NDNLN 1081 1085 1132 1140
.NDNND 7218
.NDNXT 7389
.NDRVR 954
.NDSNT 7273
.NDSTA 7340
.NDVER 962 969
.NPAC 1178 6469
.NRCME 158 313 319 377 400 420 428 437 472 529 644 652 671 767
773 801 1638 1657 1748 1751 1790 1793 1817 1823 1856 1867 2010 2088
2098 2177 2180 2186 2192 2257 2291 2297 2300 2317 6407 6412 6422 6429
.NRFNC 194 903 908 910 911 914 1372 1377 1378 1379 1380 1381 1382 1383
1384 1386 1387 1388 1389 1452 1497 1576 1668 2657
.NRICF 248 334 731 737 2232 2241 3368 3372 3394 3396 3409 3411 3458 3462
3474 3476 3489 3491 3519 3536 3554 7642
.NRIFL 336
.NRILN 997 1087 1095 1186 2649 4093 4097 4133 4155 4286 4289 7494 7496 7547
.NRILS 1405
.NRIMF 237 729 873 899 901 1368 1370 1400 1493 1539 1624 1664 1715 1902
1997 2018 2643 2646 2652 2674 2677 2874 2993 3588 3600 3613 3616 3626
3680 3736 3749 3804 3818 3834 3850 3870 3909 3912 3919 3962 3965 3967
4000 4003 4046 4049 4211 4214 4217 4240 4281 4284 4368 4405 4413 4452
4490 4566 4568 4604 4626 6825 6834 7210 7215
.NRINI 4608
.NRIOE 358 876
.NRIPV 1629 1718 2123 2735 2784 3246 3346 3348 3922
.NRIST 1010
.NRLPE 1908 2026 2077 2080
.NRNCE 1932 1946 1993 1999 2004 2501 2588 2624 2833 6812 6822 6844
.NRNPE 665 710 1084 1106 1120 1138 1159 1197 1264 1303 1310 1312 1444 1483
1742 2044 2238 2275 2485 2592 3149 3174 3189 3203 3216 4258 4980
.NRPNA 261
.NRPRO 444 447 533 538 778 808 845 1874 1877 3660 5122 5134 5137 5143
5147 5159
.NRRES 331 1078 1559 1598 4027 6913 7010 7105 7191
.NRSUC 321 416 449 468 489 505 777 818 834 923 1012 1098 1129 1446
1485 1520 1635 1845 1879 2085 2288 2334 5127 6740 6828
.NSOFF 5574 5645
.NSON 939 5560 5608
.NULIO 6417
.PRARD 113
.PTOPS 1628 1829 5146 7513 7730
.PTSLD 1627 1726 1783 2095 3538 5145 5270 7729
.PVEND 3923 4872 5046
.PVHST 3921 4862 5036 5482
.PVNAM 4834 5014 5463
.PVNUM 4849 5025 5661
.RBDAT 350 7593
.RDLCT 1018 4710 6525
.RDLNS 929
.RDLST 1236
.SAV1 1178
.SAV2 6469
.STKST 920 992 1072 1179 1232 1286 1394 1501 1536 1692 1895 2035 2063 2111
2685 2726 2795 2858 2969 3306 4237 4275 4331 4449 5185 5236 5333 5499
5528 5589 5626 6033 6122 6394 6514 6765 6906 7003 7098 7173 7506
.SYCTR 6574 6598
.SYDAT 2742 3314 6559 6590 6598 6600 6609 6620 6628 6638 6644 6653 6884 6966
6981 7063 7078 7123 7136 7142
.SYDMC 3251 7721
.SYDTE 3252 7718
.SYDUP 3253 7720
.SYKDP 3254 7719
.SYKDZ 3255
.SYLDD 6917 7014
.SYNDD 7114 7120 7123
.SYPTR 3064 3318 3329
.TPCNT 7212
.TRSET 6210 7171
.VNCBL 1465
.VNCNL 1458
.VNDDC 1428
.VNMCB 1426
ACLOCK 1563
ACUNLO 565 593 1593
ACVAR 1178 6469
ADVCNT 7171# 7171 7177 7209 7214 7222 7236 7254 7310 7332 7337 7341 7349 7356
ADVHST 7171# 7171 7178 7323
ADVLST 7171# 7171 7179 7193 7284 7293 7319
ADVPTR 7171# 7171 7176 7211 7216 7238 7244 7252 7253 7309 7331 7339 7343 7351
7352 7358
ADVSTK 7173# 7173 7183
ADVSTR 7173# 7173 7305 7312
ADVUNI 7171# 7171 7217 7221
AFDBLK 4378# 4378
AFDCNT 4378# 4378 4379 4389
AFDPTR 4378# 4378 4390
AFDSTR 4378# 4378 4387 4394
AIC 700
ARBFLG 7580# 7580 7587
ASLLIN 7652# 7652 7656 7668 7673 7676 7678
ASLPTR 7652# 7652 7660
ASUBR 187 228 612 688 724 894 1535 1620 1712 1769 1894 1986 2110 2174
2202 2228 2271 2477 2510 2582 2603 2640 2725 2794 3109 3140 3179 3195
3208 3778 3903 3997 4043 4091 4167 4378 4400 4499 4559 4602 4704 4732
4757 4794 4817 4893 4932 4963 4998 5073 5095 5117 5214 5235 5303 5353
5370 5393 5425 5442 5461 5480 5659 5692 5714 5734 5757 5783 5801 5833
5873 5894 5971 5997 6121 6468 6513 6706 6764 6804 6882 6905 7002 7376
7398 7580 7652
BASLIN 1692# 1692 1694 1697
BIN 318 651 772 5925
BOOT 1009 1196 1443 1482 1517 5721 5747 5771 5791 5822 5845 5860 5880 5904
BOUT 159 1992 1998 6010 6108 7684
BTARG 1440 1477 1480 5716 5740 5760 5788 5804 5836 5844 5852 5864 5875 5897
7466 7468 7469
CALL 152 165 236 241 247 251 260 271 272 307 308 313 319 322
330 331 333 334 335 336 343 353 358 372 377 394 395 400
420 422 428 432 437 447 451 465 466 472 477 478 490 495
500 510 513 524 552 557 558 561 566 575 580 585 586 589
594 623 633 636 661 678 728 730 736 740 749 761 783 787
811 819 821 826 828 829 857 875 898 900 933 977 989 996
1022 1025 1028 1032 1035 1039 1046 1050 1074 1077 1094 1101 1109 1113
1133 1148 1152 1162 1200 1243 1316 1319 1321 1324 1326 1329 1367 1369
1396 1404 1418 1420 1432 1436 1438 1454 1456 1461 1463 1492 1494 1498
1505 1546 1550 1558 1564 1590 1594 1597 1651 1670 1671 1695 1731 1741
1747 1750 1756 1773 1775 1789 1792 1799 1810 1816 1822 1830 1836 1839
1841 1862 1867 1877 1881 1912 1918 1921 1931 1941 1945 1955 1957 1958
1963 1970 1971 2009 2067 2076 2079 2204 2231 2237 2240 2254 2273 2278
2296 2299 2305 2316 2329 2335 2487 2494 2515 2517 2543 2547 2553 2559
2571 2605 2618 2653 2678 2690 2692 2697 2700 2702 2708 2714 2739 2749
2758 2763 2766 2767 2773 2774 2808 2823 2824 2871 2906 2926 2927 2930
2931 2943 2944 2947 2948 2990 3021 3022 3025 3026 3036 3054 3066 3088
3089 3092 3093 3116 3123 3245 3330 3339 3367 3371 3382 3393 3408 3424
3437 3457 3461 3473 3488 3518 3535 3553 3587 3589 3599 3612 3615 3625
3635 3643 3654 3679 3681 3691 3702 3705 3717 3726 3729 3780 3783 3786
3789 3852 3871 3887 3926 3947 3966 3982 4026 4174 4245 4267 4309 4324
4339 4349 4359 4360 4384 4391 4422 4456 4464 4474 4483 4503 4506 4611
4653 4661 4679 4687 4689 4691 4706 4714 4761 4770 4796 4801 4818 4838
4855 4866 4876 4896 4934 4965 5001 5018 5031 5040 5055 5079 5081 5097
5102 5119 5170 5192 5200 5216 5243 5249 5260 5262 5338 5357 5372 5380
5429 5446 5466 5485 5513 5537 5542 5547 5606 5643 5666 5698 5715 5736
5759 5785 5803 5835 5851 5874 5896 5950 5954 5977 6129 6139 6148 6158
6180 6189 6226 6250 6293 6296 6302 6305 6312 6315 6321 6324 6330 6333
6337 6384 6442 6457 6477 6491 6492 6500 6522 6531 6542 6552 6577 6580
6680 6681 6687 6695 6696 6711 6718 6730 6770 6779 6806 6816 6831 6838
6912 6942 6983 6993 6994 7009 7039 7080 7090 7091 7104 7145 7157 7158
7190 7200 7227 7245 7287 7288 7294 7300 7301 7307 7315 7324 7329 7411
7412 7417 7418 7585 7657
CALLRE 202 904 1373 1459 1466 2050 3764 4100 4215 4525 4642 5704 6268
CHLNAM 6468# 6468 6471 6484 6504#
CHLNIB 6468# 6468 6475 6481 6498 6504#
CIS 694
CKMCNT 2174# 2174
CKMLIN 2174# 2174
CKMPTR 2174# 2174 2178 2181 2190
CLOSF 461 486 549 554 577 582 831 1930 1944 1954 6110 6746 6752 6786
CMRCNT 2640# 2640
CMRPTR 2640# 2640
COMBLK 920# 920 950
COMVER 920# 920 951 968
DEBRK 522
DIC 412
DISMS 2259 6444
DLGCNT 2725# 2725 2756
DLGEVT 2725# 2725 2729 2733 2757
DLGPTR 2725# 2725 2755
DLGSEQ 2726# 2726 2728 2748
DLGSRC 2725# 2725 2747
DSPCNT 187# 187 200
DSPFCN 187# 187 191
DSPPTR 187# 187 199
DTDLIN 5801# 5801 5805
DTFCNT 4237# 4237 4248 4261
DTFDAY 4237# 4237 4242 4255
DTFMON 4237# 4237 4244 4254
DTFPTR 4237# 4237 4249 4262
DTFYR 4237# 4237 4247 4253
DTGLIN 5894# 5894 5898
DTGPRO 5894# 5894 5901
DTILIN 5873# 5873 5876
DTSDST 3195# 3195 3201
DTSREG 3195# 3195 3197
DTUDST 3208# 3208 3214
DTUREG 3208# 3208 3210
DTWLIN 5783# 5783 5786
DVFBLK 4275# 4275 4311
DVFCNT 4275# 4275 4306 4319
DVFDEV 4275# 4275 4291 4293 4294 4298 4302 4315
DVFPTR 4275# 4275 4307 4320
EIR 712
ENDAS. 188# 229# 613# 689# 725# 895# 1536# 1621# 1713# 1770# 1895# 1987# 2111# 2175#
2203# 2229# 2272# 2478# 2511# 2583# 2604# 2641# 2726# 2795# 3110# 3141# 3180# 3196#
3209# 3779# 3904# 3998# 4044# 4092# 4168# 4379# 4401# 4500# 4560# 4603# 4705# 4733#
4758# 4795# 4818# 4894# 4933# 4964# 4999# 5074# 5096# 5118# 5215# 5236# 5304# 5354#
5371# 5394# 5426# 5443# 5462# 5481# 5660# 5693# 5715# 5735# 5758# 5784# 5802# 5834#
5874# 5895# 5972# 5998# 6122# 6469# 6504 6514# 6707# 6765# 6805# 6883# 6906# 7003#
7377# 7399# 7581# 7653#
ENDAV. 1179# 1217 6470# 6503
ENDSV. 922# 994# 1074# 1181# 1216 1234# 1288# 1396# 1503# 1538# 1694# 1897# 2037# 2065#
2113# 2687# 2728# 2797# 2860# 2971# 3308# 4239# 4277# 4333# 4451# 5187# 5238# 5335#
5501# 5530# 5591# 5628# 6035# 6124# 6396# 6516# 6767# 6908# 7005# 7100# 7175# 7508#
ENDTV. 6212# 7173#
ERJMP 117 158 160 175 313 319 377 400 420 428 437 472 508 529
644 652 664 671 710 767 773 801 837 926 956 985 1010 1015
1056 1084 1106 1120 1138 1159 1197 1264 1310 1444 1449 1483 1488 1518
1523 1638 1657 1856 1867 1928 1993 1999 2004 2044 2088 2098 2218 2291
2485 2501 2588 2592 2624 2763 2833 3149 3174 3189 3203 3216 4258 4777
4980 5722 5748 5772 5792 5823 5846 5861 5881 5905 5926 6011 6052 6056
6109 6111 6356 6407 6412 6422 6426 6674 6726 6735 6812 6822 6844 6925
6934 6955 6987 7022 7031 7052 7084 7118 7130 7154 7278 7321 7381 7386
7562 7671 7675 7688
ESRSEQ 3306# 3306 3309 3322
ESRSRC 3306# 3306 3308 3328
ETPDST 2858# 2858 2860 2903 2909 2933
ETPERR 2858# 2858 2941 2950
ETPLID 2858# 2858 2865 2916 2929 2946 2962
ETPNOD 2858# 2858 2864 2904 2925 2942 2959
ETPRSN 2858# 2858 2866 2913 2955
EVABLK 2795# 2795 2810 2818 2822
EVACNT 2794# 2794 2804
EVALGD 2794# 2794 2844 2847
EVAMSG 2794# 2794 2802 2816 2821 2843 2851
EVAPTR 2794# 2794 2803
EVATMP 2795# 2795 2817 2825
FATAL. 466 558 586 829 2824 2927 2931 2944 2948 3022 3026 3089 3093 4360
6681 6696 6994 7091 7158 7288 7301 7412 7418
FLD 5253 6050
GEBCNT 4559# 4559 4567 4577
GEBPTR 4559# 4559 4570 4578
GIACNT 3997# 3997 3999 4002 4006 4029
GIADST 3997# 3997 4007 4022
GIALEN 3997# 3997 4004 4031
GIAPTR 3997# 3997 4001 4013 4030
GIBCNT 4043# 4043 4045 4048 4051 4075
GIBPTR 4043# 4043 4047 4061 4074
GIBSFT 4043# 4043 4054 4067
GLLBLK 6394# 6394 6397 6398 6399 6400 6402 6414 6415 6416 6418 6420
GLLNAM 6394# 6394 6403 6413
GLLNOD 6394# 6394 6396 6404
GT4NUM 4499# 4499 4505 4508 4509
GT4PTR 4499# 4499 4501
GTAD 6863
GTFDB 6355
GTJFN 6037 6083 6421
GTLCNT 4091# 4091 4092 4099
GTLPTR 4091# 4091 4094 4098
GTMCNT 4167# 4167 4169 4172 4176
GTMPTR 4167# 4167 4173
GTPCNT 3778# 3778 3903# 3903 3908 3914
GTPPTR 3778# 3778 3903# 3903 3910 3913
HALTF 117 160 161 175 466 558 567 586 829 2824 2927 2931 2944 2948
3022 3026 3089 3093 4360 6681 6696 6994 7091 7158 7288 7301 7412 7418
HDWDAT 2969# 2969 2981
HDWDEV 2969# 2969 2978 3020 3034 3053 3061 3087 3262
HDWDST 2969# 2969 2972 3062 3072
HDWERR 2969# 2969 3019 3028
HDWLXX 2969# 2969 3086 3095
HDWMCD 2969# 2969 2985 3065 3286
HDWNOD 2969# 2969 2977 3290
HDWOPS 2969# 2969 2984 3042 3282
HDWRCV 2969# 2969 2983 3048 3278
HDWREG 2969# 2969 2979 3024 3063 3091 3266
HDWRSN 2969# 2969 2982 3044 3274
HDWTHR 2969# 2969 2976 3046 3294
HDWUPT 2969# 2969 2980 3270
IBKCNT 6121# 6121 6151 6167
IBKCTR 6121# 6121 6169 6177
IBKPTR 6122# 6122 6173 6183
IBKREC 6121# 6121 6128 6138 6147 6157 6161 6170 6179 6188
IBKSUM 6121# 6121 6124 6135 6141 6150 6160 6182 6191
IDCNV 4257
INCR 2182 5934 6022
INTLNK 688# 688 701
IPRADJ 2228# 2228 2234 2239
IPRCNT 2228# 2228 2251 2255
IPRLIN 2228# 2228 2235 2253
IPRPRO 2228# 2228 2246 2252
ITSCNT 6210# 6210 6237 6247 6379 6382
ITSPTR 6210# 6210 6243 6252
ITSREC 6210# 6210 6212 6249 6263 6298 6308 6326 6349 6363 6381
JE 360 2242 6106 6486 6488 7633
JFNS 6051
JN 405 2629
JXE 2243 6487 6489 7634
LCTBLK 6513# 6513 6545 6551 6558 6573 6589 6599 6607 6619 6626 6637 6642 6645
6652 6671 6678 6693
LCTCNT 6514# 6514 6537 6576 6582
LCTLEN 6514# 6514 6643 6672
LCTLIN 6514# 6514 6516 6521 6533 6534 6654 6655 6657 6659 6686
LCTNOD 6513# 6513 6520 6611 6685
LCTNUM 6513# 6513 6572 6584 6591
LCTPTR 6514# 6514 6536 6575
LDPLIN 2477# 2477 2493
LDPLNK 2477# 2477 2489
LDPNOD 2477# 2477 2483 2486
LDTLIN 5734# 5734 5741
LINCNT 992# 992 998 1000 1002 1004 1006 1008 1024 1027 1030 1031 1034 1037
1038 1043 1044 1045 1048 1049
LINLID 992# 992 994 1021
LINMSG 992# 992 1016 1053
LNSCNT 920# 920 936 979
LNSMSG 920# 920 927 981
LOAD 267 352 365 366 385 386 414 460 552 580 617 1595 1725 1782
1828 2117 2133 2136 2160 2184 2233 2236 2245 2312 2535 2537 2542 2562
2565 2608 2609 2616 3363 3369 3373 3379 3395 3404 3410 3413 3414 3420
3453 3459 3463 3469 3475 3478 3479 3490 3520 3521 3539 3540 3555 3556
3557 3596 3609 3623 3633 3688 3699 4763 4767 4769 4779 4785 4820 4824
4881 4973 4978 4983 5054 5242 5718 5742 5744 5762 5764 5768 5787 5806
5808 5816 5838 5856 5863 5877 5899 5917 5924 5931 5932 6002 6008 6009
6017 6018 6104 6105 6172 6217 6231 6242 6264 6352 6357 6470 6482 7520
7523 7526 7533 7638
LODERR 272 308 313 319 322 331 334 336 358 377 395 400 420 428
437 447 451 472 478 1867 1877 1881
LSDCNT 2271# 2271
LSDLIN 2271# 2271 2276 2282 2295 2298 2304 2311 2328
LSDNUM 2271# 2271 2280 2327
LSDPTR 2271# 2271
LSLCNT 1620# 1620
LSLLIN 1620# 1620 1630 1669
LSLPGM 1620# 1620 1626
LSLPTR 1620# 1620
LSTBPW 2063# 2063 2069
LSTFLG 2063# 2063 2066 2092
LSTHLD 1232# 1232 1235 1245
LSTLID 1232# 1232
LSTLIN 1394# 1394 1398 1419 1424 1437 1455 1462 2063# 2063 2065 2075 2078
LSTPRT 1394# 1394 1422 1430
LSVCNT 1535# 1535 1549 1588
LSVCOD 1536# 1536 1585 1591 1599
LSVDTE 1536# 1536 1552 1556
LSVLTB 1536# 1536 1555 1560 1587 1592
LSVOPT 1536# 1536 1542 1571
LSVPTR 1535# 1535 1548 1589
MBSADR 4794# 4794 4800
MDLDST 5626# 5626 5631 5648
MDLLID 5626# 5626 5628 5637
MDTADR 4932# 4932 4941
MDTCNT 4932# 4932 4943 4947
MDTNUM 4932# 4932 4949
MEMCNT 1712# 1712 1714 1729 1739
MEMLIN 1712# 1712 1724 1730 1740 1746 1749 1755
MEMPSW 5095# 5095 5101
MEMPTR 1712# 1712 1716 1728 1738
MHNCNT 5480# 5480
MHNNAM 5480# 5480
MHNPTR 5480# 5480
MIDADR 4893# 4893 4903
MIDCNT 4893# 4893 4904 4914
MIDNUM 4893# 4893 4895 4916
MIMCNT 4963# 4963 4976 4982 4984 4986
MIMCPU 4963# 4963 4970
MIMREC 4963# 4963 4972
MKACNT 5303# 5303
MKAPTR 5303# 5303 5321
MKASTR 5303# 5303 5312
MKDCNT 5117# 5117 5120 5123 5156
MKDLIN 5117# 5117 5149
MKDPTR 5117# 5117 5132 5135 5141 5144 5162
MKECNT 5528# 5528 5539 5548
MKEDST 5393# 5393 5395 5401 5410
MKEEVT 5528# 5528 5530 5546
MKESRC 5393# 5393 5394 5398
MKLCNT 5442# 5442 5447
MKLLOC 5442# 5442 5445
MKLPTR 5442# 5442 5444
MKMCNT 5425# 5425 5430
MKMMEM 5425# 5425 5428
MKMPTR 5425# 5425 5427
MKXCNT 4998# 4998 5000 5016 5020 5028 5038 5042 5048 5061
MKXPTR 4998# 4998 5008 5049
MKXREC 4998# 4998 5053
MKZLIN 5370# 5370 5378
MLDCNT 2110# 2110 2146 2161
MLDCTR 2111# 2111 2139 2149 2152
MLDLIN 2110# 2110 2116 2132 2135 2159
MLDPTB 2111# 2111 2128 2150
MLDPTR 2110# 2110 2148
MLNLIN 5499# 5499 5503 5512
MLNPTR 4732# 4732 4735 4737 4739 4741 4743 4745 5499# 5499 5506 5517
MLNSTA 5499# 5499 5502 5514
MLPADR 4817# 4817 4875
MLPCNT 4817# 4817 4827 4836 4840 4854 4864 4868 4874 4877
MLPLIN 4817# 4817 4819 4823 4879
MMLCNT 4757# 4757 4775 4780
MMLLIN 4757# 4757 4762 4766 4778
MMLPTR 4757# 4757 4774
MMPCNT 5353# 5353 5358
MMPPSW 5353# 5353 5356
MMPPTR 5353# 5353 5355
MMTADR 5185# 5185 5188 5199
MMTLOD 5185# 5185 5187 5196
MNDCNT 5333# 5333 5336 5340
MNLDST 5589# 5589 5594 5611
MNLLID 5589# 5589 5591 5600
MNMCNT 5461# 5461
MNMNAM 5461# 5461
MNMPTR 5461# 5461
MNUCNT 5659# 5659 5667
MNUNUM 5659# 5659 5665
MNUPTR 5659# 5659
MOPMSG 5082 5098 5104 5193 5202 5217 5224 7455 7457 7458
MOVX 158 250 253 313 319 329 331 334 336 358 377 400 410 411
420 428 437 447 472 489 497 498 529 533 538 563 591 626
628 630 695 699 702 704 706 711 738 742 782 818 823 825
929 939 941 975 1402 1403 1426 1428 1442 1458 1465 1481 1576 1632
1843 1845 1848 1867 1877 1917 1932 1946 1991 2041 2182 2206 2258 2281
2334 2482 2528 2538 2841 2874 2935 2993 3082 3096 3243 3244 3504 3506
3538 4256 4260 4269 4308 4318 4326 4338 4351 4372 4393 4443 4458 4466
4476 4486 4655 4657 4681 4683 4708 4710 4734 4764 4798 4804 4821 4834
4837 4849 4851 4862 4865 4872 4899 4901 4937 4939 4968 4975 5003 5014
5017 5025 5029 5036 5039 5046 5076 5099 5125 5127 5139 5194 5218 5251
5253 5258 5266 5268 5270 5337 5374 5376 5379 5463 5482 5507 5509 5511
5531 5533 5535 5541 5561 5575 5595 5597 5599 5602 5608 5632 5634 5636
5639 5645 5661 5663 5766 5788 5790 5810 5879 6036 6050 6082 6234 6353
6354 6358 6476 6499 6549 6550 6560 6857 6859 6861 6911 7008 7103 7112
7189 7194 7199 7226 7273 7275 7314 7350 7588 7666 7669
MPDCNT 2510# 2510 2555
MPDLIN 2510# 2510 2514 2526 2534 2544 2546 2552 2561
MPDNUM 2510# 2510 2519 2520 2524
MPDPTR 2510# 2510
MPVCNT 1894# 1894 1900 1938 1949 1961
MPVLEN 1895# 1895 1920 1926
MPVLIN 1894# 1894 1939 1962
MPVLNK 1895# 1895 1923 1928 1940 1953
MPVMSG 1894# 1894 1914 1924 1956 1969 1972
MPVPTR 1894# 1894 1903 1937 1948 1960
MQLCNT 5236# 5236
MQLLID 5236# 5236 5245 5261
MQLLIN 5235# 5235 5241
MRDADR 5073# 5073 5078
MRDCNT 5073# 5073 5080
MRDPTR 5073# 5073 5075
MRLCOD 5214# 5214 5222
MRLLIN 4704# 4704 4713
MRLLOD 5214# 5214 5220
MSGBLK 154 163 164 434 441 526 535 625 641 668 677 798 803 1653
1662 1842 1847 1864 1871 2205 2215 2829 2835 4654 4666 4680 4694 4707
4716 4797 4803 4898 4919 4936 4952 4967 4989 5002 5059 5124 5175 5250
5373 5382 6732 6739 6793 6819 6826 6841 7477 7479 7480
MTOPR 709 2043 2484
NCUCHN 693 697
NCULEV 691 696
NDFBLK 4331# 4331 4341 4345 4352 4358 4361
NDFCNT 4331# 4331 4334 4347
NDFPTR 4331# 4331 4333 4348
NDMCNT 4602# 4602 4609
NDMDST 4602# 4602
NDMPTR 4602# 4602 4605
NODE 955 1083 7277
NON.FA 1931 1945 1955 1958 1971 2763 2767 2774 6492
NOUT 7670 7674 7687
OPENF 6040 6086 6425
OPFTYP 4449# 4449 4454 4459
OPIJFN 6033# 6033 6047 6061
OPITYP 6033# 6033 6049 6054
PRARG 116
PRSCTL 1286# 1286 1289 1318 1333
PRSLDV 1286# 1286 1291 1314 1332
PRSSTN 1286# 1286 1292 1328 1335
PRSUNT 1286# 1286 1290 1323 1334
PRTBUF 1179# 1179 1191 1216#
PT4NUM 5692# 5692 5697 5702
PT4PTR 5692# 5692 5696
RCTCNT 6765# 6765 6781 6794
RCTERR 6765# 6765 6776 6780 6791
RCTLIN 6764# 6764 6778
RCTLNK 6764# 6764 6772 6777 6785
RCTNOD 6764# 6764 6769
RCTPTR 6765# 6765
RDMLIN 2603# 2603 2604 2607 2615 2628
RDTLIN 5833# 5833 5837 5850 5855 5862
REQLNK 141 153 171 504 543 833 922 983 1011 1052 1104 1116 1136 1155
1445 1484 1519 1634 1652 1854 1863 2042 2084 2094 2216 2287 2481 2584
2622 2828
RET 194 237 242 248 261 272 308 313 319 322 331 334 336 344
358 377 395 400 420 423 428 437 444 447 451 472 478 559
587 597 644 652 655 665 671 679 710 729 731 737 750 762
767 773 776 778 784 788 801 808 809 812 845 858 873 876
899 901 903 908 910 911 914 934 956 978 990 997 1010 1064
1075 1078 1084 1087 1095 1106 1110 1114 1120 1138 1149 1153 1159 1163
1186 1197 1201 1264 1303 1310 1312 1317 1322 1327 1331 1349 1361 1368
1370 1372 1377 1378 1379 1380 1381 1382 1383 1384 1386 1387 1388 1389
1397 1400 1405 1421 1433 1439 1444 1452 1457 1464 1483 1493 1495 1497
1499 1539 1547 1551 1559 1598 1601 1624 1629 1638 1657 1664 1668 1696
1715 1718 1732 1742 1748 1751 1757 1774 1776 1790 1793 1801 1811 1817
1823 1831 1837 1840 1856 1867 1874 1877 1881 1902 1908 1913 1964 1973
1993 1997 1999 2004 2010 2018 2026 2044 2068 2077 2080 2088 2098 2123
2177 2180 2186 2192 2219 2232 2238 2241 2257 2274 2275 2279 2291 2297
2300 2306 2317 2330 2485 2488 2501 2516 2518 2548 2554 2560 2572 2588
2592 2606 2619 2624 2643 2646 2649 2652 2654 2657 2674 2677 2679 2691
2693 2698 2701 2703 2709 2715 2735 2740 2776 2784 2809 2833 2951 3029
3117 3124 3149 3174 3189 3203 3216 3246 3331 3340 3346 3348 3368 3372
3383 3394 3396 3409 3411 3425 3438 3458 3462 3474 3476 3489 3491 3519
3536 3554 3588 3590 3600 3613 3616 3626 3636 3644 3655 3660 3680 3682
3692 3703 3706 3718 3727 3730 3736 3749 3781 3784 3787 3790 3804 3818
3834 3850 3853 3870 3872 3888 3909 3912 3919 3922 3927 3948 3962 3965
3967 3983 4000 4003 4027 4046 4049 4093 4097 4133 4155 4192 4195 4211
4214 4217 4240 4246 4258 4268 4281 4284 4286 4289 4310 4325 4340 4362
4368 4385 4392 4405 4413 4423 4452 4457 4465 4475 4484 4490 4510 4566
4568 4604 4608 4612 4626 4746 4805 4839 4867 4980 5019 5041 5084 5105
5122 5134 5137 5143 5147 5159 5171 5203 5226 5244 5339 5360 5383 5396
5412 5432 5449 5467 5486 5538 5543 5669 5682 5951 5955 5978 6038 6043
6060 6084 6089 6130 6137 6140 6143 6149 6159 6181 6190 6194 6227 6251
6267 6270 6271 6294 6297 6303 6306 6313 6316 6318 6322 6325 6331 6334
6338 6385 6407 6412 6422 6429 6455 6460 6501 6523 6526 6532 6535 6543
6697 6712 6754 6771 6792 6807 6812 6822 6825 6829 6834 6844 6871 6913
6995 7010 7092 7105 7159 7191 7210 7215 7261 7298 7308 7316 7325 7330
7338 7342 7357 7362 7366 7420 7459 7470 7481 7494 7496 7531 7547 7564
7586 7613 7642 7658
RETBAD 194 237 242 248 261 272 308 313 319 322 331 334 336 344
358 377 395 400 420 423 428 437 444 447 451 472 478 644
652 655 665 671 679 710 729 731 737 750 762 767 773 776
778 784 788 801 808 809 812 845 858 873 876 899 901 903
908 910 911 914 990 997 1010 1075 1078 1084 1087 1095 1106 1110
1114 1120 1138 1149 1153 1159 1163 1186 1197 1201 1264 1303 1310 1312
1317 1322 1327 1331 1368 1370 1372 1377 1378 1379 1380 1381 1382 1383
1384 1386 1387 1388 1389 1397 1400 1405 1421 1433 1439 1444 1452 1457
1464 1483 1493 1495 1497 1499 1539 1547 1551 1559 1598 1601 1624 1629
1638 1657 1664 1668 1696 1715 1718 1732 1742 1748 1751 1757 1774 1776
1790 1793 1801 1811 1817 1823 1831 1837 1840 1856 1867 1874 1877 1881
1902 1908 1913 1964 1973 1993 1997 1999 2004 2010 2018 2026 2044 2068
2077 2080 2088 2098 2123 2177 2180 2186 2192 2232 2238 2241 2257 2274
2275 2279 2291 2297 2300 2306 2317 2330 2485 2488 2501 2516 2518 2548
2554 2560 2572 2588 2592 2606 2619 2624 2643 2646 2649 2652 2654 2657
2674 2677 2679 2691 2693 2698 2701 2703 2709 2715 2735 2740 2776 2784
2809 2833 2951 3029 3117 3124 3149 3174 3189 3203 3216 3246 3331 3340
3346 3348 3368 3372 3383 3394 3396 3409 3411 3425 3438 3458 3462 3474
3476 3489 3491 3519 3536 3554 3588 3590 3600 3613 3616 3626 3636 3644
3655 3660 3680 3682 3692 3703 3706 3718 3727 3730 3736 3749 3781 3784
3787 3790 3804 3818 3834 3850 3853 3870 3872 3888 3909 3912 3919 3922
3927 3948 3962 3965 3967 3983 4000 4003 4027 4046 4049 4093 4097 4133
4155 4211 4214 4217 4240 4246 4258 4268 4281 4284 4286 4289 4310 4325
4340 4362 4368 4385 4392 4405 4413 4423 4452 4457 4465 4475 4484 4490
4566 4568 4604 4608 4612 4626 4839 4867 4980 5019 5041 5122 5134 5137
5143 5147 5159 5171 5244 5339 5467 5486 5538 5543 6407 6412 6422 6429
6792 6807 6812 6822 6825 6829 6834 6844 6913 7010 7105 7191 7210 7215
7325 7494 7496 7547 7586 7642
RETPC1 521 690
RETSKP 516 660 680 713 838 860 878 891 986 1057 1164 1214 1273 1336
1350 1362 1434 1450 1489 1524 1600 1672 1674 1700 1734 1759 1883 1965
2024 2093 2099 2163 2189 2193 2261 2336 2593 2631 2659 2680 2716 2768
2854 2936 3097 3125 3177 3192 3205 3219 3234 3247 3345 3443 3509 3522
3541 3558 3661 3737 3751 3792 3806 3820 3836 3854 3873 3889 3924 3950
3969 3985 4032 4076 4119 4142 4177 4198 4263 4270 4321 4327 4354 4373
4395 4445 4460 4467 4478 4487 4546 4579 4613 4628 4667 4695 4717 4786
4882 4920 4953 4990 5063 5177 5323 5341 5468 5487 5518 5550 5562 5576
5612 5649 5723 5749 5773 5793 5824 5865 5882 5906 5935 5961 5974 6023
6062 6090 6112 6198 6248 6339 6365 6383 6430 6689 6748 6795 6846 6898
7285 7326 7334 7344 7353 7359 7390 7448 7498 7515 7534 7551 7566 7596
7617 7639 7682 7685 7689
RGFBLK 4400# 4400 4424 4444
RGFCNT 4400# 4400 4404 4411 4414 4442
RGFNUM 4400# 4400 4407 4428
RGFPTR 4400# 4400 4406 4437 4441
RLGOPT 2685# 2685 2694
RLGSEQ 2685# 2685 2704 2711
RLGSRC 2685# 2685 2695 2712
RLJFN 6041 6087 6427
RLSMSG 1072# 1072 1111 1117 1150 1156
ROUVER 920# 920 953 961
RPLHST 2035# 2035 2040 2048
RPLLNK 2035# 2035
RQCLIN 6804# 6804 6805
RQCLNK 6804# 6804 6810 6817 6839
RQDADR 3505 3728 4688
RQDCNT 724# 724 3507 3731 4690
RQDFIL 786 3492 3719 7049
RQDLIN 3460 3480 3707 4686 7038
RQDLNK 724# 724 739 741 744 751 765 771 796 830
RQDOPT 3452 3468 3484 3498 3683 3687 3698 3714 3724
RQDPTR 724# 724
RQDREC 724# 724 785 789 810 827 856
RQDSRV 748 3456 3477 3704 7029
RQDTGT 735 820 3464 3472 3487 3693 7019
RQLCNT 228# 228 235 458 473 476
RQLCPU 393 3428 3785 7524
RQLHST 3441 3907 3984 4859 5032
RQLLDV 3429 3782 7521
RQLLIN 632 3370 3415 3617 4660 6941
RQLLNK 228# 228 232 249 252 255 262 270 311 317 342 375 398 418
426 433 470 485 488 525 548 576
RQLNAM 3439 3905 3949 4831 5010
RQLNUM 3440 3906 3968 4846 5021
RQLOPS 3397 3645 6952 7514
RQLOPT 266 3362 3378 3389 3403 3419 3433 3591 3595 3608 3622 3632 3641 3652
RQLPGM 3427 3788 4662 7512 7527
RQLPSW 634 3384 3627
RQLPTR 228# 228 234 457 475
RQLREC 228# 228 233 332 337 348 359 364 384 392 404 413 459 464
467 551 556 579 584
RQLSID 3426 3791
RQLSRV 259 3366 3412 3614 6932
RQLTGT 246 494 509 512 560 588 3374 3381 3392 3407 3423 3436 3601 6922
RQRBUF 1072# 1072 1079 1108 1131 1139 1147 1161
RQRCNT 894# 894
RQRHLD 1072# 1072 1076 1088 1093 1096 1107
RQRPTR 894# 894
SAVEPQ 2684 2724 2793 2857 2967 3305 7170
SAVEQ 1071 1231
SDMDST 3179# 3179 3185
SDMREG 3179# 3179 3181
SDTCNT 2582# 2582 2589
SDTLIN 5714# 5714 5717 5757# 5757 5761
SDTPTR 2582# 2582 2590
SEMCOD 2202# 2202 2208
SETONE 253 340 742 6562 6563 6564 6565 6566 6567 6861
SETZRO 463 498 563 591 823 1632 5923 6012 6350 7592
SIBE 663
SINR 157 436 528 670 800 1656 1866 2832 6734 6821 6843
SIR 698
SKDCNT 3140# 3140 3158 3162 3171
SKDDST 3140# 3140 3142 3153
SKDMCD 3140# 3140 3164
SKDREG 3140# 3140 3144 3154
SOUT 1263 1927 2587 2820 3148 3173 3188 3202 3215 4776 4979 6406 6411 6613
6632 6889 6924 6933 6954 7021 7030 7051 7117 7129 7662
SOUTR 174 312 376 399 419 427 471 507 546 643 766 836 925 984
1014 1055 1105 1119 1137 1158 1448 1487 1522 1637 1855 2003 2087 2097
2217 2290 2500 2591 2623 6725 6811
SPGTAB 7506# 7506
SPRIW 277 757 1583
SRGDEV 3109# 3109
SRGDST 3109# 3109 3111 3120
SRGMCD 3109# 3109 3122
SRGREG 3109# 3109 3119
STCMP 7380 7385
STHHST 7376# 7376 7379 7388
STHNOD 7376# 7376 7378 7383
STKVAR 920 992 1072 1179 1232 1286 1394 1501 1536 1692 1895 2035 2063 2111
2685 2726 2795 2858 2968 3306 4237 4275 4331 4449 5185 5236 5333 5499
5528 5589 5626 6033 6122 6394 6514 6765 6906 7003 7098 7173 7506
STOR 338 339 351 388 705 707 708 790 1557 1562 1631 1698 1813 1814
2162 2187 2277 2283 2527 2529 2545 2564 2567 2611 2760 2842 2850 2853
2908 2915 2919 2921 3038 3043 3045 3047 3049 3056 3057 3076 3081 3083
3323 3332 3341 4782 4784 4880 4981 4985 5150 5813 5818 5927 6021 6162
6163 6171 6218 6236 6238 6299 6309 6327 6364 6561 6579 6583 6592 6601
6621 6639 6646 6656 6658 6667 6855 6856 6858 6860 6864 6867 6870 6965
6969 6972 6975 6978 7062 7066 7069 7072 7075 7113 7124 7138 7591 7595
STRBLK 6882# 6882
STRDST 6882# 6882 6883 6885 6892
STREND 137 7444
STROFS 6882# 6882
STRPTR 134 7431 7439 7441 7443
STRSIZ 140 7432 7446
STRSTR 6882# 6882 6887
STXCNT 1986# 1986 1994 2012 2016 2023
STXLIN 1986# 1986 2008
STXLNK 1942 1986# 1986 1990
STXPTR 1986# 1986 2001 2011 2019 2022
SYDBLK 7003# 7003 7012 7013 7058 7060 7079 7081 7088
SYDCOD 7002# 7002 7061
SYDFIL 7003# 7003 7048 7073
SYDSIZ 7003# 7003 7059 7077 7082
SYDSRV 7002# 7002 7028 7067
SYDSVL 7002# 7002 7037 7070
SYDTGT 7002# 7002 7018 7064
SYERR 2762 6673 6986 7083 7153
SYLBLK 6906# 6906 6915 6916 6961 6963 6982 6984 6991
SYLCOD 6905# 6905 6964
SYLFIL 6906# 6906 6951 6976
SYLSIZ 6906# 6906 6962 6980 6985
SYLSRV 6905# 6905 6931 6970
SYLSVL 6905# 6905 6940 6973
SYLTGT 6905# 6905 6921 6967
SYNBLK 7098# 7098 7107 7111 7144 7151 7155
SYNOFS 7098# 7098 7126 7132 7135
SYNSIZ 7098# 7098 7141 7152
SYSGT 6869
TB 6068 6069 6070 6071 6072 7700 7701 7702 7703 7704 7705 7706 7707 7708
7709 7710 7711 7712
TBADD 7320
TBLUK 1309 6055 7561
TBTFLG 612# 612 619 629 659
TBTLNK 612# 612 642 650 662 669
TBTOPT 612# 612 616
TIME 6865
TOPTBL 7398# 7398 7415
TRVAR 6210 7171
TXNE 654 775 3390 3434 3485 3499 3642 3653 3715 3725 4542 4572 7589
TXNN 807 1311 2153 2243 2656 5403 6059 6317 6489 7563
TXO 1929 1943 5400
WTDBYT 5997# 5997 6019
WTDCNT 5971# 5971 5973
WTDPTR 5971# 5971 5976
WTDREC 5971# 5971 5975 5997# 5997 6001 6016
XFRADR 1769# 1769 1777 1809
XFRCNT 1769# 1769
XFRLIN 1769# 1769 1781 1788 1791 1798 1808 1812 1815 1821 1827 1838
XFRPTR 1769# 1769
ZCTLID 6706# 6706 6717
ZCTLNK 6706# 6706 6713 6724 6731 6745 6751
ZCTNOD 6706# 6706 6710
ZROBLK 1501# 1501 1508 1510 1512 1513 1514 1516
ZROLID 1501# 1501 1503
%LNADR 1698 2133 2160 2162 2277 2529 2537 2562 2564 4769 4779 4782
%LNCNT 1814 2545 2609 4784 4880 5768 5813
%LNDCT 2283 2527 2535 2565 2567 2608 2611 2629 5808
%LNDTE 1557 2236 5242 5718 5744 5762 5787 5806 5838 5877 5899
%LNLDN 1632 2182 2184 2187 4767 4824
%LNMSG 1562 1595 1813 2136 2312 2542 2616 4763 4785 4820 4881 5742 5764 5816
5856 5863
%LNPGM 1631 1725 1782 1828 2117 5150
%LNPTR 5818
%LTLOG 6488
%LTNIB 7638
%LTUSE 6486 7633
%NDBP1 3520
%NDBP2 3521
%NDCPU 3539
%NDDIP 742 823
%NDDMP 3490
%NDLDV 3540
%NDLIN 2233 3369 3459 6482
%NDLIP 253 498 563 591
%NDLOD 3395
%NDNAM 3373 3463 6470
%NDPHT 3557
%NDPNA 3555
%NDPNU 3556
%NDPRO 2245
%NDPST 2242
%NDSL1 3413 3478
%NDSL2 3414 3479
%NDSRV 3410 3475
%PGCPU 7523
%PGFIL 7533
%PGLDV 7520
%PGPGM 7526
%RBBYT 5917 5923 5932 5934 6002 6012 6017 6022 6106 7591
%RBCAD 340 366 388 6217
%RBCNT 360 386 405 4973 4983 4985 6171 6238
%RBDAT 5927 5931 6009 6018 6021 6105
%RBFCT 6231 6236 6309 6364
%RBJFN 338 460 463 552 580 790 5924 6008 6104 6352 7592
%RBNAD 365 385 6162 6218 6299 6350
%RBPTR 351 4978 4981 6172 6242 7595
%RBTYP 339 352 6264
%RBXAD 414 5054 6163 6327 6350 6351
%SYADJ 2908 6566
%SYCOD 2842 3083 6855
%SYCTR 6583
%SYDAT 6864
%SYDST 3341 6639
%SYFCN 6565
%SYFIL 6978 7075
%SYHDW 3038 6667
%SYHLN 6858
%SYLEN 2760 2853 6646 6856
%SYLI1 2921 3057 6658
%SYLID 2919 3056 6656
%SYMID 6567
%SYNAM 7124
%SYNCT 3076 6592
%SYNCV 7113
%SYNOD 3332 6621
%SYNTM 6563
%SYOPS 3043
%SYPGM 7138
%SYPSN 6870
%SYPTR 2850 3081 6601
%SYRCD 6965 7062
%SYRCT 6562
%SYRCV 3049
%SYRSN 2915 3045 6561
%SYSEQ 3323 6564
%SYSRV 6972 7069
%SYSVL 6975 7072
%SYT20 6861
%SYTGT 6969 7066
%SYTHR 3047
%SYTYP 6579
%SYUPT 6867
%SYVER 6860
..CNS 6350# 6350 6351# 6351
..CNS2 6350# 6350 6351# 6351
..GCNS 6350 6351
..JN 405 2629
.ENAV1 1217 6503
.ENAV2 1217 6503
.ENAV3 1217 6503
.ENSV1 1216 6504
.ENSV2 1216 6504
.ENSV3 1216 6504