Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/utilities/ncp.list
There are no other files named ncp.list in the archive.
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1
NCP MAC 5-Oct-81 16:46
1 ;<JENNESS.NETCON>NCP.MAC.2, 31-Jan-80 13:27:46, Edit by JENNESS
2 ; Update copyright date
3 ;<JENNESS>NCP.MAC.3, 19-Dec-79 09:25:32, Edit by PLATUKIS
4 ; Fix STATUS/STATE keyword conflict in SET/SHOW commands.
5 ;<JENNESS>NCP.MAC.17, 16-Nov-79 15:13:43, Edit by JENNESS
6 ; Change "FROM" keyword in LOAD CONTROLLER kdp_0 FROM to a guide word.
7 ;<JENNESS>NCP.MAC.15, 7-Nov-79 11:58:05, Edit by JENNESS, PLATUKIS
8 ; Fix RCVTOP to call UPDNOD to remove deleted nodes from monitor node list.
9 ;<JENNESS>NCP.MAC.14, 1-Nov-79 10:54:40, Edit by JENNESS, PLATUKIS
10 ; Fix to SETNOD to release the node name block after used.
11 ;<JENNESS>NCP.MAC.11, 30-Oct-79 10:40:35, Edit by JENNESS
12 ; Add code to release topology table if a new one is made (call to ADVTOP).
13 ;<JENNESS>NCP.MAC.10, 22-Oct-79 14:02:29, Edit by JENNESS
14 ; Add code to GETFRE and RELFRE to record in an extra word (allocated before
15 ; block) the address of who allocated it.
16 ;<JENNESS>NCP.MAC.9, 12-Oct-79 11:16:21, Edit by JENNESS
17 ; Fix PRSNOD to give an error return if the node name string has no characters
18 ; in it.
19 ;<JENNESS>NCP.MAC.7, 11-Oct-79 15:47:34, Edit by JENNESS
20 ; Add code in CHKNIC, QUENCU and DEQNIC to destroy a request that hangs
21 ; around too long.
22 ;<JENNESS>NCP.MAC.4, 2-Oct-79 11:32:18, Edit by JENNESS
23 ; Add the code to do TOPOLOGY updates every once in a while, when a TIMER
24 ; interrupt goes off.
25 ;<JENNESS>NCP.MAC.3, 2-Oct-79 10:35:52, Edit by JENNESS
26 ; Fix DOJFD so that it properly checks for an error code before going to the
27 ; service routine for a message. Formerly it was just checking to see if
28 ; there were anymore bytes in the header string (of course there were).
29 ;<JENNESS>NCP.MAC.2, 1-Oct-79 15:00:45, Edit by JENNESS
30 ; Fix PIDINT to release the page and queue entry if no IPCF message was
31 ; found after MRECV was executed.
32 ;<SROBINSON.NETCON>NCP.MAC.21, 26-Sep-79 18:13:24, Edit by JENNESS
33 ; Fix REQLST routine to know about loopback line status'.
34 ;<SROBINSON.NETCON>NCP.MAC.17, 26-Sep-79 15:30:24, Edit by JENNESS
35 ; TCO 4.2488 Remove AOBJP at PRSPRT. The routines such as PRSLID
36 ; already increment automatically along the ORION command message.
37 ; This now allows the "SET LOCAL LOOPBACK ENABLE/DISABLE line-id" to work.
38 ;<SROBINSON.NETCON>NCP.MAC.15, 20-Sep-79 14:00:39, Edit by JENNESS
39 ; TCO 4.2478 Fix TOPINI for 2020 to ignore lines that are "ON" but
40 ; don't go anywhere.
41 ;<SROBINSON.NETCON>NCP.MAC.12, 7-Sep-79 14:21:54, Edit by JENNESS
42 ; Another superficial fix to RELFRE.
43 ;<4.UTILITIES>NCP.MAC.176, 27-Aug-79 17:08:51, Edit by JENNESS
44 ; Fix RELRQI to release links that have been aborted.
45 ;<4.UTILITIES>NCP.MAC.175, 26-Aug-79 12:28:11, Edit by JENNESS
46 ; Add recording for free page allocation/deallocation.
47 ;<4.UTILITIES>NCP.MAC.174, 8-Aug-79 10:40:14, Edit by JENNESS
48 ; Change any error returned from RELFRE to be fatal.
49 ;<4.UTILITIES>NCP.MAC.173, 1-Aug-79 15:51:25, Edit by JENNESS
50 ; Clean up readability of block memory managment code, add sequence checking.
51 ;<4.UTILITIES>NCP.MAC.172, 24-Jul-79 15:37:05, Edit by SROBINSON
52 ;<4.UTILITIES>NCP.MAC.171, 23-Jul-79 15:32:25, Edit by JENNESS
53 ;Change CPYASC to always shift to upper case during string copy.
54 ;<4.UTILITIES>NCP.MAC.170, 22-Jul-79 13:08:22, Edit by SROBINSON
55 ;ADD CODE TO PROCESS DISCONNECTS ON THE NCP LINKS CORRECTLY
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1-1
NCP MAC 5-Oct-81 16:46
56 ;<4.UTILITIES>NCP.MAC.169, 22-Jul-79 09:06:44, Edit by SROBINSON
57 ;ADD CODE TO SET PAGE ACCESSES TO READ/EXECUTE ONLY
58 ;<4.UTILITIES>NCP.MAC.168, 15-Jul-79 14:40:13, Edit by SROBINSON
59 ;ADD CODE TO REESTABLISH NODE LIST UPON INITIALIZATION
60 ;<4.UTILITIES>NCP.MAC.167, 20-Jun-79 16:08:16, EDIT BY KIRSCHEN
61 ;ADD EVENT LOGGING COMMANDS
62 ;<4.UTILITIES>NCP.MAC.166, 16-May-79 08:25:55, EDIT BY KIRSCHEN
63 ;USE CORRECT SYMBOL IN PREVIOUS EDIT
64 ;<4.UTILITIES>NCP.MAC.165, 14-May-79 13:22:51, EDIT BY KIRSCHEN
65 ;DISCARD SPURIOUS IPCF MESSAGES FROM ORION SAYING OPR DISAPPEARED
66 ;<4.UTILITIES>NCP.MAC.164, 17-Mar-79 14:52:03, EDIT BY KIRSCHEN
67 ;ADD .ERR29
68 ;<4.UTILITIES>NCP.MAC.163, 10-Mar-79 14:30:22, EDIT BY KONEN
69 ;UPDATE COPYRIGHT FOR RELEASE 4
70 ;<4.UTILITIES>NCP.MAC.162, 4-Mar-79 08:37:27, EDIT BY ENGEL
71 ;FIX AUTO DUMP/LOAD WHEN EXECUTOR SET INCORRECTLY
72 ;<4.UTILITIES>NCP.MAC.160, 4-Feb-79 22:05:35, EDIT BY KIRSCHEN
73 ;FIX SPURIOUS "?INTERNAL NETCON ERROR" MESSAGE
74 ;<4.UTILITIES>NCP.MAC.159, 31-Jan-79 11:05:27, EDIT BY KIRSCHEN
75 ;FIX TOPOLOGY REPORTING BUGS AT TOPINT AND UPDNOD
76 ;<4.UTILITIES>NCP.MAC.158, 30-Jan-79 16:41:53, EDIT BY KIRSCHEN
77 ;FIX SETUP FOR NODE JSYS IN MONDEL
78 ;<4.UTILITIES>NCP.MAC.157, 30-Jan-79 16:25:33, EDIT BY KIRSCHEN
79 ;FIX OBTAINING NODE NAME IN UPDNOD
80 ;<4.UTILITIES>NCP.MAC.156, 30-Jan-79 09:09:27, EDIT BY KIRSCHEN
81 ;ADD CODE TO STORE KDP REGISTERS ON EVENT LOG MESSAGES
82 ;<4.UTILITIES>NCP.MAC.155, 19-Jan-79 20:42:10, EDIT BY KIRSCHEN
83 ;STORE EXECUTOR NODE CORRECTLY IN SNDNIC
84 ;<4.UTILITIES>NCP.MAC.154, 19-Jan-79 15:55:32, EDIT BY KIRSCHEN
85 ;RELEASE PAGE BY ADDRESS NOT PAGE NUMBER AT RTPINX
86 ;<4.UTILITIES>NCP.MAC.153, 14-Jan-79 21:18:48, EDIT BY KIRSCHEN
87 ;<4.UTILITIES>NCP.MAC.152, 14-Jan-79 20:45:02, EDIT BY KIRSCHEN
88 ;UPDATE NODE JSYS SYMBOLS; RELEASE OLD JFN AT TOPINX
89 ;<4.UTILITIES>NCP.MAC.151, 12-Jan-79 21:12:48, EDIT BY KIRSCHEN
90 ;PROCESS ENTIRE NICE QUEUE ON EVERY PASS
91 ;<4.UTILITIES>NCP.MAC.150, 8-Jan-79 22:02:08, EDIT BY KIRSCHEN
92 ;remove initiate monitoring command; automate topology reporting
93 ;<4.UTILITIES>NCP.MAC.149, 4-Jan-79 13:07:46, EDIT BY KIRSCHEN
94 ;PASS NODE NAME AND HOST ON DOWN LINE LOADS
95 ;<4.UTILITIES>NCP.MAC.148, 27-Dec-78 10:24:02, EDIT BY ENGEL
96 ;FIX SET EXECUTOR BUG
97 ;<4.UTILITIES>NCP.MAC.147, 22-Dec-78 10:13:29, EDIT BY ENGEL
98 ;ADD AUTO DUMP/LOAD CODE
99 ;<4.UTILITIES>NCP.MAC.146, 21-Dec-78 11:08:17, EDIT BY ENGEL
100 ;add .err26
101 ;<4.UTILITIES>NCP.MAC.145, 20-Dec-78 12:10:51, EDIT BY KIRSCHEN
102 ;<4.UTILITIES>NCP.MAC.144, 18-Dec-78 22:33:16, EDIT BY KIRSCHEN
103 ;<4.UTILITIES>NCP.MAC.143, 18-Dec-78 22:16:10, EDIT BY KIRSCHEN
104 ;<4.UTILITIES>NCP.MAC.142, 18-Dec-78 21:43:49, EDIT BY KIRSCHEN
105 ;<4.UTILITIES>NCP.MAC.141, 18-Dec-78 21:37:41, EDIT BY KIRSCHEN
106 ;<4.UTILITIES>NCP.MAC.140, 18-Dec-78 21:04:02, EDIT BY KIRSCHEN
107 ;<4.UTILITIES>NCP.MAC.139, 18-Dec-78 21:01:17, EDIT BY KIRSCHEN
108 ;ADD SET LINE STATE USING NICE PROTOCOL
109 ;<4.UTILITIES>NCP.MAC.138, 5-Dec-78 14:02:59, EDIT BY KIRSCHEN
110 ;<4.UTILITIES>NCP.MAC.137, 5-Dec-78 11:31:05, EDIT BY KIRSCHEN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1-2
NCP MAC 5-Oct-81 16:46
111 ;<4.UTILITIES>NCP.MAC.136, 5-Dec-78 09:32:41, EDIT BY KIRSCHEN
112 ;<4.UTILITIES>NCP.MAC.135, 1-Dec-78 10:50:32, EDIT BY KIRSCHEN
113 ;FIX OUTPUT FORMATTING BUG
114 ;<4.UTILITIES>NCP.MAC.134, 1-Dec-78 09:44:18, EDIT BY KIRSCHEN
115 ;<4.UTILITIES>NCP.MAC.133, 27-Nov-78 14:39:25, EDIT BY KIRSCHEN
116 ;<4.UTILITIES>NCP.MAC.132, 22-Nov-78 16:17:55, EDIT BY ENGEL
117 ;<4.UTILITIES>NCP.MAC.131, 15-Nov-78 10:14:47, EDIT BY ENGEL
118 ;FIX ERROR RETURNS IN DOJFD'S CALL TO SHOTAB
119 ;<4.UTILITIES>NCP.MAC.130, 15-Nov-78 08:44:42, EDIT BY ENGEL
120 ;ELIMINATE BKJFN IN SHOW STATE KNOWN LINES
121 ;<4.UTILITIES>NCP.MAC.129, 13-Nov-78 14:24:21, EDIT BY ENGEL
122 ;ADD SHOW STATE KNOWN LINES
123 ;<4.UTILITIES>NCP.MAC.128, 10-Nov-78 11:23:20, EDIT BY KIRSCHEN
124 ;FIX TOPOLOGY NOTIFICATION BUGS
125 ;<4.UTILITIES>NCP.MAC.127, 9-Nov-78 08:51:07, EDIT BY KIRSCHEN
126 ;<4.UTILITIES>NCP.MAC.126, 9-Nov-78 08:46:46, EDIT BY KIRSCHEN
127 ;DON'T GET NEW SERVER LINK IN MONINI
128 ;<4.UTILITIES>NCP.MAC.125, 8-Nov-78 20:58:01, EDIT BY KIRSCHEN
129 ;DO NOT RELEASE BLOCK CONTAINING NODE NAME IN INIMON
130 ;<4.UTILITIES>NCP.MAC.124, 7-Nov-78 15:55:30, EDIT BY KIRSCHEN
131 ;BUG FIXES
132 ;<4.UTILITIES>NCP.MAC.123, 6-Nov-78 16:12:05, EDIT BY KIRSCHEN
133 ;WAIT FOR CONNECT ACCEPT IN TOPLNK
134 ;<4.UTILITIES>NCP.MAC.122, 3-Nov-78 10:52:18, EDIT BY ENGEL
135 ;MAKE SAVT GLOBAL
136 ;<4.UTILITIES>NCP.MAC.121, 2-Nov-78 13:21:07, EDIT BY ENGEL
137 ;MAKE SAVQ GLOBAL
138 ;<4.UTILITIES>NCP.MAC.120, 2-Nov-78 10:11:17, EDIT BY KIRSCHEN
139 ;FIX OUTPUT FORMATS
140 ;<4.UTILITIES>NCP.MAC.118, 1-Nov-78 16:28:09, EDIT BY ENGEL
141 ;FIX LOOP WITH XXX
142 ;<4.UTILITIES>NCP.MAC.117, 1-Nov-78 14:23:06, EDIT BY KIRSCHEN
143 ;FIX FORMATTING OF OUTPUT TO OPR
144 ;<4.UTILITIES>NCP.MAC.116, 1-Nov-78 10:12:58, EDIT BY ENGEL
145 ;FIX COUNT REPORTING IN LOPTST:
146 ;<4.UTILITIES>NCP.MAC.115, 31-Oct-78 09:46:49, EDIT BY KIRSCHEN
147 ;<4.UTILITIES>NCP.MAC.114, 31-Oct-78 09:06:05, EDIT BY KIRSCHEN
148 ;ADD CODE TO HANDLE ERROR MESSAGES FROM ORION
149 ;<4.UTILITIES>NCP.MAC.113, 30-Oct-78 11:53:27, EDIT BY KIRSCHEN
150 ;MAKE OPRMES EXTERNAL
151 ;<4.UTILITIES>NCP.MAC.112, 25-Oct-78 11:00:56, EDIT BY ENGEL
152 ;ADD LOOP COMMAND
153 ;<4.UTILITIES>NCP.MAC.111, 25-Oct-78 09:37:22, EDIT BY KIRSCHEN
154 ;USE HEADER INSTEAD OF TEXT WHEN ADVISING OPR OF FORK TERMINATIONS
155 ;<4.UTILITIES>NCP.MAC.110, 24-Oct-78 09:17:01, EDIT BY KIRSCHEN
156 ;<4.UTILITIES>NCP.MAC.109, 23-Oct-78 18:02:00, EDIT BY KIRSCHEN
157 ;<4.UTILITIES>NCP.MAC.108, 23-Oct-78 17:45:08, EDIT BY KIRSCHEN
158 ;<4.UTILITIES>NCP.MAC.107, 19-Oct-78 12:06:22, EDIT BY KIRSCHEN
159 ;FIX SHOTAB - SHOULD HAVE ADDRESSES, NOT RETS
160 ;<4.UTILITIES>NCP.MAC.106, 18-Oct-78 12:11:24, EDIT BY KIRSCHEN
161 ;<4.UTILITIES>NCP.MAC.105, 18-Oct-78 11:10:56, EDIT BY ENGEL
162 ;FIX ERROR IN COMMUNICATION VERSIONS
163 ;<4.UTILITIES>NCP.MAC.104, 16-Oct-78 13:21:59, EDIT BY KIRSCHEN
164 ;<4.UTILITIES>NCP.MAC.103, 16-Oct-78 11:55:05, EDIT BY KIRSCHEN
165 ;<4.UTILITIES>NCP.MAC.102, 16-Oct-78 10:23:52, EDIT BY KIRSCHEN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1-3
NCP MAC 5-Oct-81 16:46
166 ;<4.UTILITIES>NCP.MAC.101, 16-Oct-78 10:07:15, EDIT BY KIRSCHEN
167 ;PROVIDE RESOURCE MASK IN CALL TO EDLOCK
168 ;<4.UTILITIES>NCP.MAC.100, 13-Oct-78 21:45:16, EDIT BY KIRSCHEN
169 ;<4.UTILITIES>NCP.MAC.99, 13-Oct-78 15:23:08, EDIT BY KIRSCHEN
170 ;
171 ; GENERATIONS NCP.MAC.59 THRU NCP.MAC.99 WERE CONTINUING EDITS
172 ; TO IMPLEMENT THE TOPOLOGY CHANGE MECHANISM
173 ;CODE TO PROCESS TOPOLOGY CHANGE MESSAGES
174 ;<4.UTILITIES>NCP.MAC.58, 19-Sep-78 15:20:58, EDIT BY KIRSCHEN
175 ;<4.UTILITIES>NCP.MAC.57, 19-Sep-78 13:40:36, EDIT BY KIRSCHEN
176 ;<4.UTILITIES>NCP.MAC.56, 19-Sep-78 11:42:55, EDIT BY KIRSCHEN
177 ;<4.UTILITIES>NCP.MAC.55, 19-Sep-78 11:29:14, EDIT BY KIRSCHEN
178 ;<4.UTILITIES>NCP.MAC.54, 19-Sep-78 10:31:11, EDIT BY KIRSCHEN
179 ;ADD CODE TO INITIALIZE TOPOLOGY MONITORING
180 ;<4.UTILITIES>NCP.MAC.52, 18-Sep-78 16:17:39, EDIT BY KIRSCHEN
181 ;ADD CODE TO PARSE INITIATE MONITORING
182 ;<4.UTILITIES>NCP.MAC.51, 6-Sep-78 13:46:33, EDIT BY KIRSCHEN
183 ;FIX BUG IN DMPRMD CODE
184 ;<4.UTILITIES>NCP.MAC.49, 5-Sep-78 16:50:12, EDIT BY KIRSCHEN
185 ;CHANGE ALL .KY SYMBOLS TO .DN SYMBOLS
186 ;<4.UTILITIES>NCP.MAC.48, 5-Sep-78 14:29:29, EDIT BY KIRSCHEN
187 ;UPDATE MESSAGE FORMATS FOR RELEASE 4 ORION
188 ;<4.UTILITIES>NCP.MAC.46, 16-Aug-78 11:10:30, Edit by KIRSCHEN
189 ;<4.UTILITIES>NCP.MAC.45, 16-Aug-78 11:04:04, Edit by KIRSCHEN
190 ;<4.UTILITIES>NCP.MAC.44, 16-Aug-78 09:11:11, Edit by KIRSCHEN
191 ;BEGIN EDITS TO UPGRADE TO RELEASE 4 OPR
192 ;<4.UTILITIES>NCP.MAC.43, 3-Aug-78 14:17:28, Edit by KIRSCHEN
193 ;MAKE PSIINI ACCEPTS CHANNELS AS ARGUMENT
194 ;<4.UTILITIES>NCP.MAC.42, 21-Jul-78 13:08:51, Edit by KIRSCHEN
195 ;<4.UTILITIES>NCP.MAC.41, 21-Jul-78 10:09:50, Edit by KIRSCHEN
196 ;<4.UTILITIES>NCP.MAC.40, 21-Jul-78 10:01:06, Edit by KIRSCHEN
197 ;<4.UTILITIES>NCP.MAC.39, 21-Jul-78 09:49:07, Edit by KIRSCHEN
198 ;<4.UTILITIES>NCP.MAC.38, 21-Jul-78 09:45:40, Edit by KIRSCHEN
199 ;GET SYSTEM NAME ON STARTUP
200 ;<4.UTILITIES>NCP.MAC.37, 21-Jul-78 08:58:56, Edit by KIRSCHEN
201 ;<4.UTILITIES>NCP.MAC.36, 20-Jul-78 15:42:40, Edit by KIRSCHEN
202 ;<4.UTILITIES>NCP.MAC.35, 20-Jul-78 14:49:14, Edit by KIRSCHEN
203 ;<4.UTILITIES>NCP.MAC.34, 20-Jul-78 13:50:48, Edit by KIRSCHEN
204 ;<4.UTILITIES>NCP.MAC.33, 20-Jul-78 10:06:20, Edit by KIRSCHEN
205 ;<4.UTILITIES>NCP.MAC.31, 19-Jul-78 11:07:28, Edit by KIRSCHEN
206 ;<4.UTILITIES>NCP.MAC.30, 19-Jul-78 09:10:19, Edit by KIRSCHEN
207 ;<4.UTILITIES>NCP.MAC.29, 18-Jul-78 16:51:21, Edit by KIRSCHEN
208 ;<4.UTILITIES>NCP.MAC.28, 18-Jul-78 11:26:55, Edit by KIRSCHEN
209 ;<4.UTILITIES>NCP.MAC.27, 18-Jul-78 11:25:46, Edit by KIRSCHEN
210 ;<4.UTILITIES>NCP.MAC.26, 18-Jul-78 11:13:34, Edit by KIRSCHEN
211 ;<4.UTILITIES>NCP.MAC.25, 17-Jul-78 13:37:45, Edit by KIRSCHEN
212 ;<4.UTILITIES>NCP.MAC.24, 17-Jul-78 13:24:25, Edit by KIRSCHEN
213 ;<4.UTILITIES>NCP.MAC.23, 17-Jul-78 12:01:30, Edit by KIRSCHEN
214 ;<4.UTILITIES>NCP.MAC.22, 17-Jul-78 11:50:41, Edit by KIRSCHEN
215 ;<4.UTILITIES>NCP.MAC.21, 17-Jul-78 11:09:32, Edit by KIRSCHEN
216 ;<4.UTILITIES>NCP.MAC.20, 17-Jul-78 09:21:29, Edit by KIRSCHEN
217 ;<4.UTILITIES>NCP.MAC.19, 17-Jul-78 09:12:41, Edit by KIRSCHEN
218 ;PROVIDE POINTER ON CALL TO GET NODE NAME IN REMSTS
219 ;<4.UTILITIES>NCP.MAC.18, 14-Jul-78 14:45:54, Edit by KIRSCHEN
220 ;<4.UTILITIES>NCP.MAC.17, 14-Jul-78 11:47:44, Edit by KIRSCHEN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1-4
NCP MAC 5-Oct-81 16:46
221 ;<4.UTILITIES>NCP.MAC.16, 14-Jul-78 11:38:28, Edit by KIRSCHEN
222 ;<4.UTILITIES>NCP.MAC.15, 13-Jul-78 15:12:04, Edit by KIRSCHEN
223 ;<4.UTILITIES>NCP.MAC.14, 13-Jul-78 13:47:24, Edit by KIRSCHEN
224 ;<4.UTILITIES>NCU.MAC.12, 13-Jul-78 13:26:22, Edit by KIRSCHEN
225 ;<4.UTILITIES>NCP.MAC.12, 13-Jul-78 11:45:33, Edit by KIRSCHEN
226 ;ADD SHOW STATE NODE NODE-NAME
227 ;<4.UTILITIES>NCP.MAC.11, 13-Jul-78 11:09:51, Edit by KIRSCHEN
228 ;<4.UTILITIES>NCP.MAC.10, 13-Jul-78 10:57:20, Edit by KIRSCHEN
229 ;<4.UTILITIES>NCP.MAC.9, 13-Jul-78 10:48:20, Edit by KIRSCHEN
230 ;<4.UTILITIES>NCP.MAC.8, 13-Jul-78 10:35:17, Edit by KIRSCHEN
231 ;<4.UTILITIES>NCP.MAC.7, 13-Jul-78 10:33:27, Edit by KIRSCHEN
232 ;<4.UTILITIES>NCP.MAC.6, 13-Jul-78 10:02:26, Edit by KIRSCHEN
233 ;<4.UTILITIES>NCP.MAC.5, 13-Jul-78 09:54:39, Edit by KIRSCHEN
234 ;<4.UTILITIES>NCP.MAC.4, 13-Jul-78 09:44:50, Edit by KIRSCHEN
235 ;<4.UTILITIES>NCP.MAC.3, 13-Jul-78 09:35:21, Edit by KIRSCHEN
236 ;<4.UTILITIES>NCP.MAC.2, 13-Jul-78 09:24:06, Edit by KIRSCHEN
237 ;THE NEXT SEVERAL EDITS REFLECT CONTINUED ATTEMPTS TO RESOLVE THE
238 ; VARIOUS SYMBOL CONFLICTS DUE TO BREAKING APART THE SOURCE CODE.
239 ;<4.UTILITIES>NCP.MAC.1, 13-Jul-78 09:15:07, Edit by KIRSCHEN
240 ;BREAK NETCON INTO TWO MODULES, NCU.MAC AND THIS MODULE, NCP.MAC
241 ;<4.UTILITIES>NETCON.MAC.28, 13-Jul-78 09:05:55, Edit by KIRSCHEN
242 ;<4.UTILITIES>NETCON.MAC.27, 12-Jul-78 16:03:44, Edit by KIRSCHEN
243 ;<4.UTILITIES>NETCON.MAC.26, 12-Jul-78 15:56:10, Edit by KIRSCHEN
244 ;<4.UTILITIES>NETCON.MAC.25, 12-Jul-78 15:40:32, Edit by KIRSCHEN
245 ;<4.UTILITIES>NETCON.MAC.24, 12-Jul-78 15:13:55, Edit by KIRSCHEN
246 ;<4.UTILITIES>NETCON.MAC.23, 12-Jul-78 15:01:17, Edit by KIRSCHEN
247 ;<4.UTILITIES>NETCON.MAC.21, 12-Jul-78 11:40:36, Edit by KIRSCHEN
248 ;<4.UTILITIES>NETCON.MAC.20, 12-Jul-78 11:19:08, Edit by KIRSCHEN
249 ;<4.UTILITIES>NETCON.MAC.19, 12-Jul-78 11:03:54, Edit by KIRSCHEN
250 ;<4.UTILITIES>NETCON.MAC.18, 12-Jul-78 10:55:54, Edit by KIRSCHEN
251 ;<4.UTILITIES>NETCON.MAC.16, 12-Jul-78 09:34:29, Edit by KIRSCHEN
252 ;COMPLETE SHOW STATE LINE
253 ;<4.UTILITIES>NETCON.MAC.15, 12-Jul-78 08:44:43, Edit by KIRSCHEN
254 ;<4.UTILITIES>NETCON.MAC.14, 12-Jul-78 08:19:01, Edit by KIRSCHEN
255 ;<4.UTILITIES>NETCON.MAC.13, 12-Jul-78 08:14:46, Edit by KIRSCHEN
256 ;<4.UTILITIES>NETCON.MAC.21, 12-Jul-78 08:10:12, Edit by KIRSCHEN
257 ;BREAK OUT DEFINITIONS INTO NCPPAR.MAC
258 ;<4.UTILITIES>NETCON.MAC.20, 11-Jul-78 16:45:55, Edit by KIRSCHEN
259 ; ADD SHOW STATE
260 ;<4.UTILITIES>NETCON.MAC.19, 11-Jul-78 16:18:33, Edit by KIRSCHEN
261 ;<4.UTILITIES>NETCON.MAC.18, 11-Jul-78 16:05:03, Edit by KIRSCHEN
262 ;ADD LINE STATUS SERVER
263 ;<4.UTILITIES>NETCON.MAC.17, 11-Jul-78 15:17:10, Edit by KIRSCHEN
264 ;<4.UTILITIES>NETCON.MAC.16, 11-Jul-78 14:23:38, Edit by KIRSCHEN
265 ;<4.UTILITIES>NETCON.MAC.15, 11-Jul-78 13:32:34, Edit by KIRSCHEN
266 ;<4.UTILITIES>NETCON.MAC.14, 11-Jul-78 13:20:26, Edit by KIRSCHEN
267 ;<4.UTILITIES>NETCON.MAC.13, 11-Jul-78 13:13:05, Edit by KIRSCHEN
268 ;SAVE NICE FUNCTION AND OPTION CODES ACROSS THE COMMAND
269 ;<4.UTILITIES>NETCON.MAC.11, 11-Jul-78 09:49:43, Edit by KIRSCHEN
270 ;<4.UTILITIES>NETCON.MAC.10, 29-Jun-78 12:03:14, Edit by KIRSCHEN
271 ;<4.UTILITIES>NETCON.MAC.9, 29-Jun-78 09:18:16, Edit by KIRSCHEN
272 ;<4.UTILITIES>NETCON.MAC.8, 28-Jun-78 14:48:03, Edit by KIRSCHEN
273 ;SUBROUTINIZE RETURNING LINE COUNTERS AT DOJFD
274 ;<4.UTILITIES>NETCON.MAC.7, 27-Jun-78 11:29:18, Edit by KIRSCHEN
275 ;<4.UTILITIES>NETCON.MAC.6, 27-Jun-78 11:13:28, Edit by KIRSCHEN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1-5
NCP MAC 5-Oct-81 16:46
276 ;<4.UTILITIES>NETCON.MAC.5, 27-Jun-78 11:11:09, Edit by KIRSCHEN
277 ;ADD SHOW EXECUTOR COMMAND
278 ;<3A.UTILITIES>NETCON.MAC.22, 22-Jun-78 10:29:27, Edit by KIRSCHEN
279 ;<3A.UTILITIES>NETCON.MAC.21, 22-Jun-78 10:15:02, Edit by KIRSCHEN
280 ;<3A.UTILITIES>NETCON.MAC.20, 21-Jun-78 10:12:30, Edit by KIRSCHEN
281 ;FIX LINE STATISTICS ENTRIES
282 ;<4.UTILITIES>NETCON.MAC.3, 16-Jun-78 11:05:14, Edit by KIRSCHEN
283 ;CHECK FOR ANOTHER NETCON ALREADY RUNNING
284 ;<3A.UTILITIES>NETCON.MAC.19, 12-Jun-78 13:09:55, Edit by KIRSCHEN
285 ;FIX PIDINT TO UNDERSTAND ABOUT SPURIOUS INTERRUPTS
286 ;<3A.UTILITIES>NETCON.MAC.18, 7-Jun-78 14:57:08, Edit by KIRSCHEN
287 ;FIX BUG IN LIDPRT
288 ;<3A.UTILITIES>NETCON.MAC.17, 6-Jun-78 11:21:05, Edit by KIRSCHEN
289 ;<3A.UTILITIES>NETCON.MAC.16, 6-Jun-78 10:54:07, Edit by KIRSCHEN
290 ;<3A.UTILITIES>NETCON.MAC.15, 6-Jun-78 10:09:03, Edit by KIRSCHEN
291 ;LINE STATISTICS SYSERR ENTRY FIXES
292 ;<3A.UTILITIES>NETCON.MAC.14, 2-Jun-78 10:05:44, Edit by KIRSCHEN
293 ;<3A.UTILITIES>NETCON.MAC.13, 2-Jun-78 09:37:46, Edit by KIRSCHEN
294 ;USE ASCLIN INSTEAD OF MAKLID ROUTINE TO CONVERT LINE ID TO TEXT
295 ;<3A.UTILITIES>NETCON.MAC.12, 31-May-78 15:44:10, Edit by KIRSCHEN
296 ;MORE SET EXECUTOR FIXES
297 ;<3A.UTILITIES>NETCON.MAC.11, 31-May-78 15:15:30, Edit by KIRSCHEN
298 ;PARSE NODE NAME NOT FIELD IN SET EXECUTOR
299 ;<3A.UTILITIES>NETCON.MAC.10, 31-May-78 14:29:52, Edit by KIRSCHEN
300 ;CLEAN UP LISTING
301 ;<3A.UTILITIES>NETCON.MAC.9, 30-May-78 12:00:16, Edit by KIRSCHEN
302 ;<3A.UTILITIES>NETCON.MAC.8, 30-May-78 11:47:21, Edit by KIRSCHEN
303 ;CAUSE LOGGING-INTERVAL CHANGE TO TAKE EFFECT IMMEDIATELY
304 ;<3A.UTILITIES>NETCON.MAC.7, 26-May-78 09:19:26, Edit by KIRSCHEN
305 ;UPDATE SYSERR ENTRY FORMATS FOR RELEASE 3A
306 ;<KIRSCHEN>NETCON.MAC.6, 15-May-78 13:40:18, Edit by KIRSCHEN
307 ;<3A.UTILITIES>NETCON.MAC.6, 8-May-78 13:16:08, Edit by MCCLURE
308 ; Zero counters for 2020 KDP's
309 ;<3A.UTILITIES>NETCON.MAC.5, 4-May-78 23:47:50, Edit by MCCLURE
310 ; Add CABLE-LOOPBACK & CONTROLLER-LOOPBACK
311 ;<3A.UTILITIES>NETCON.MAC.4, 19-Apr-78 11:11:08, Edit by KIRSCHEN
312 ;REDUCE WAIT TIME FOR PROTOCOL INIT ON DTE20; ADD NEW ERROR CODES
313 ;<3A.UTILITIES>NETCON.MAC.3, 13-Apr-78 08:52:38, Edit by MCCLURE
314 ; Add 2020 stuff
315 ;<4.UTILITIES>NETCON.MAC.36, 20-Mar-78 12:35:08, Edit by KIRSCHEN
316 ;TERMINATE PROTOCOL BEFORE INITIATING A DUMP OVER A DTE20
317 ;<4.UTILITIES>NETCON.MAC.35, 7-Mar-78 15:07:58, Edit by KIRSCHEN
318 ;<4.UTILITIES>NETCON.MAC.34, 7-Mar-78 12:49:01, Edit by KIRSCHEN
319 ;<4.UTILITIES>NETCON.MAC.33, 6-Mar-78 16:44:16, Edit by KIRSCHEN
320 ;<4.UTILITIES>NETCON.MAC.32, 6-Mar-78 14:50:01, Edit by KIRSCHEN
321 ;<4.UTILITIES>NETCON.MAC.31, 6-Mar-78 09:30:13, Edit by KIRSCHEN
322 ;PERMIT LOGGING OF LINE COUNTERS WITHOUT HAVING DONE A DOWN LINE LOAD
323 ;<4.UTILITIES>NETCON.MAC.30, 1-Mar-78 15:09:10, Edit by KIRSCHEN
324 ;<4.UTILITIES>NETCON.MAC.29, 1-Mar-78 10:27:33, Edit by KIRSCHEN
325 ;ZERO COUNTERS AFTER LOGGING THEM
326 ;<4.UTILITIES>NETCON.MAC.27, 28-Feb-78 09:08:26, Edit by KIRSCHEN
327 ;<4.UTILITIES>NETCON.MAC.25, 6-Feb-78 12:06:22, Edit by KIRSCHEN
328 ;<4.UTILITIES>NETCON.MAC.24, 6-Feb-78 11:54:57, Edit by KIRSCHEN
329 ;<4.UTILITIES>NETCON.MAC.23, 6-Feb-78 11:41:59, Edit by KIRSCHEN
330 ;<4.UTILITIES>NETCON.MAC.22, 6-Feb-78 11:33:40, Edit by KIRSCHEN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 1-6
NCP MAC 5-Oct-81 16:46
331 ;<4.UTILITIES>NETCON.MAC.21, 3-Feb-78 12:07:19, Edit by KIRSCHEN
332 ;<4.UTILITIES>NETCON.MAC.20, 3-Feb-78 11:56:52, Edit by KIRSCHEN
333 ;<4.UTILITIES>NETCON.MAC.19, 2-Feb-78 16:24:48, Edit by KIRSCHEN
334 ;<4.UTILITIES>NETCON.MAC.18, 2-Feb-78 15:48:51, Edit by KIRSCHEN
335 ;<4.UTILITIES>NETCON.MAC.17, 2-Feb-78 13:05:51, Edit by KIRSCHEN
336 ;<4.UTILITIES>NETCON.MAC.16, 1-Feb-78 14:41:50, Edit by KIRSCHEN
337 ;<4.UTILITIES>NETCON.MAC.15, 1-Feb-78 14:27:16, Edit by KIRSCHEN
338 ;<4.UTILITIES>NETCON.MAC.14, 1-Feb-78 14:12:23, Edit by KIRSCHEN
339 ;<4.UTILITIES>NETCON.MAC.13, 23-Jan-78 11:59:52, EDIT BY KIRSCHEN
340 ;<4.UTILITIES>NETCON.MAC.12, 23-Jan-78 09:47:54, EDIT BY KIRSCHEN
341 ;<4.UTILITIES>NETCON.MAC.11, 19-Jan-78 16:25:00, EDIT BY KIRSCHEN
342 ;<4.UTILITIES>NETCON.MAC.10, 19-Jan-78 12:14:14, EDIT BY KIRSCHEN
343 ;<4.UTILITIES>NETCON.MAC.9, 19-Jan-78 12:07:58, EDIT BY KIRSCHEN
344 ;<4.UTILITIES>NETCON.MAC.8, 19-Jan-78 11:00:33, EDIT BY KIRSCHEN
345 ;FIX FAILURE TO RELEASE LOGICAL LINK ON FAILING TO GET LINE COUNTERS
346 ;<4.UTILITIES>NETCON.MAC.7, 11-Jan-78 14:33:46, EDIT BY KIRSCHEN
347 ;ADD CODE TO NOTE THAT LOGGING IS REQUIRED FOR A LINE
348 ;<4.UTILITIES>NETCON.MAC.3, 10-Jan-78 10:33:23, EDIT BY KIRSCHEN
349 ;RELEASE JFN IF OPENF FAILS IN GETLNK ROUTINE
350 ;<4.UTILITIES>NETCON.MAC.2, 5-Jan-78 16:33:49, EDIT BY KIRSCHEN
351 ;SET UP SCRATCH AREA FOR LOGGING PROCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 2
NCP MAC 5-Oct-81 16:46
352 TITLE NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP)
353 SUBTTL D. KIRSCHEN/P. HURLEY FEBRUARY, 1977
354
355
356 SEARCH NETPAR
357 SEARCH MONSYM,MACSYM,ORNMAC,GLXMAC,MACTEN
358 .REQUIRE SYS:MACREL
359 ; SALL
360
361
362 ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
363 ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
364 ;
365 ;COPYRIGHT (C) 1976,1977,1978,1979,1980 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
366
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 3
NCP MAC 5-Oct-81 16:46 EXTERNAL Definitions
367 SUBTTL EXTERNAL Definitions
368
369 ; ALL OF THE FOLLOWING SYMBOLS ARE DEFINED IN THE MODULE NCU.MAC
370
371 EXTERN LEV1PC, LEV2PC, LEV3PC
372 EXTERN L1SAV1, L1SAV2, L1SAV3, L1SAV4, L1SAVC
373 EXTERN L2SAV1, L2SAV2, L2SAV3, L2SAV4, L2SAVC
374 EXTERN L3SAV1, L3SAV2, L3SAV3, L3SAV4, L3SAVC
375 EXTERN EXCUTR, LOGTIM, ERRSTR, OURNAM, OURNUM, PGMTAB
376 EXTERN BEGFRE, LSTFRE, NODTAB, NXTNIB, NXTLIN
377 EXTERN GETNIB, CVTDEV, NCU, ASCLIN, SYRNCU, LOGGER, ADVTOP
378 EXTERN MAKTWO, MAKIMB, MAKIMA, MAKNAM, MAKNUM, MAKNOD, MAKLIN
379 EXTERN MAKSLN, MAKHST, MAKENA, MAKENL, MAKDSL, MAKDIS
380 EXTERN GETTWO, GETLIN, GETEXB, GETNUM, GETNOD, GETIMA, TOPFRE
381
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 4
NCP MAC 5-Oct-81 16:46 Table of Contents
382 SUBTTL Table of Contents
383 ;
384 ;
385 ; TABLE OF CONTENTS FOR NETCON
386 ;
387 ;
388 ; SECTION PAGE
389 ; 1. Table of Contents......................................... 3
390 ; 2. Macro Definitions......................................... 4
391 ; 3. NICE Process Data Area Offset Definitions................. 7
392 ; 4. Symbol Definitions........................................ 8
393 ; 5. Data Structure Definitions................................ 13
394 ; 6. Network Control Program (NCP)............................. 17
395 ; 7. NCP
396 ; 7.1 SET Command....................................... 22
397 ; 7.2 LOAD Command...................................... 33
398 ; 7.3 DUMP Command...................................... 43
399 ; 7.4 SHOW Command...................................... 49
400 ; 7.5 INITIATE and TERMINATE Commands................... 52
401 ; 7.6 Miscellaneous Routines............................ 58
402 ; 8. Network Information and Control Exchange (NICE) Process... 104
403 ; 9. NICE Process
404 ; 9.1 Down-Line Load.................................... 107
405 ; 9.2 Up Line Dump...................................... 118
406 ; 9.3 Return Line Counts................................ 121
407 ; 9.4 Zero Line Counters................................ 122
408 ; 9.5 Line Service Handler.............................. 123
409 ; 10. Routines to Default Information from the Configuration Database 139
410 ; 11. Routines to Extract Fields from NICE Messages............. 144
411 ; 12. Routines to Assemble NICE Messages........................ 162
412 ; 13. Routines to Manipulate DTE-20's........................... 181
413 ; 14. I/O Subroutines........................................... 186
414 ; 15. SYSERR Routines........................................... 198
415 ; 16. Utility Routines.......................................... 212
416 ; 17. Constants and Tables...................................... 224
417 ; 18. Variable Data Storage..................................... 225
418
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 5
NCP MAC 5-Oct-81 16:46 Table of Contents
419 ;Assembly switches
420
421 ND TRACE,0 ^; Memory pool tracing normally off (0)
422
423 ;FREE PAGES - THESE ARE UNMAPPED AT PROGRAM START UP
424
425 000400 NCUFFP==400 ;FIRST PAGE OF NCU LOCAL STORAGE AREA
426 000010 NNCUPG==10 ;NUMBER OF PAGES PER NCU
427 000040 NCUNFP==NJFN*NNCUPG ;NUMBER OF PAGES FOR NCU STORAGE SPACE
428
429 000500 FFP==500 ;FIRST FREE PAGE IN POOL
430 000100 NFP==100 ;NUMBER OF FREE PAGES
431 477000 FPRCD==477000 ;Base address of free pool recording page
432
433
434 ;FREE SPACE POOL
435
436 000600 FSP==600 ;FIRST FREE SPACE PAGE
437 000100 NFSP==100 ;SIZE OF FREE SPACE POOL
438 600000 FSADR==600*1000 ;FREE SPACE ADR
439 100000 FSLEN==100*1000 ;LENGTH OF FREE SPACE POOL
440
441 ;Offsets into free space pool header
442
443 000000 .FHFFB==0 ; LH points to first free block
444 000001 .FHCNT==1 ; Count of free words in pool
445 000002 .FHCBS==2 ; Most common block size in pool
446 000003 .FHADR==3 ; Pool addresses (top,,bottom)
447 000004 .FHBFS==4 ; Best fit size (so far) during allocation
448 000005 .FHBFA==5 ; Address of best fit block
449
450 ; Each block on the free chain (list) has a header of:
451 ;
452 ; Word 0/ Next-block,,length
453 ;
454 ; If the next-block link is zero then the end of the free chain has
455 ; been found. All of the blocks on the free pool chain are sorted
456 ; by ascending address. When a block is freed it is checked for
457 ; continguousness with previous and next blocks on the chain. If
458 ; so they are compressed into a single block.
459
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 6
NCP MAC 5-Oct-81 16:46 Variable Data Storage
460 SUBTTL Variable Data Storage
461
462 000000' PDL: BLOCK PDLEN ;TOP FORK PUSH DOWN LIST
463 002000' REQADR: BLOCK 1 ;ADDRESS OF CURRENT REQUEST
464 002001' REQCOD: BLOCK 1 ;CODE USED IN RETURNING ACK TO OPR
465 002002' QUEUE: BLOCK 1 ;POINTER TO THE FIRST ITEM ON QUEUE
466 002003' NICQUE: BLOCK 1 ;POINTER TO FIRST ITEM ON NICE QUEUE
467 002004' LOGFRK: BLOCK 1 ;HANDLE OF LOGGING FORK
468 002005' TOPTAB: BLOCK 1 ;TOPOLOGY TABLE
469 002006' TOPSRV: BLOCK 1 ;TOPOLOGY SERVER LINK JFN
470 002007' JFNTAB: BLOCK NJFN ;TABLE OF OPEN NCU JFNS
471 002013' FRKTAB: BLOCK NJFN ;TABLE OF PROCESS HANDLES
472 002017' FRKFLG: BLOCK NJFN ;FLAGS PER FORK
473 002023' REQTAB: BLOCK NJFN ;REQUEST NUMBERS
474 002027' JFDTAB: BLOCK NJFN ;JFN'S FOR SENDING NICE MESSAGES
475 002033' REQMES: BLOCK NJFN ;POINTERS TO MESSAGES
476 002037' REQXTR: BLOCK NJFN ;EXECUTOR STRING ADDRESSES
477 002043' FCNTAB: BLOCK NJFN ;NICE FUNCTION,,OPTION CODES
478
479 002047' 000000 000000 REQNUM: 0 ;NEXT REQUEST NUMBER
480
481 002050' 000000 000000 PID: 0 ;OUR PID FOR ORION COMMUNICATION
482 002051' 000000 000000 OPRPID: 0 ;PID OF ORION
483
484 002052' 000000 000000 FRELOK: 0 ;GETFRE/RELFRE LOCK WORD
485 002053' 000000 000000 PAGLOK: 0 ;ASGPAG/RELPAG LOCK WORD
486
487 002054' FRSHDR: BLOCK 6 ;FREE SPACE HEADER
488 002062' FPTBL: BLOCK <NFP+^D35>/^D36 ;FREE PAGE TABLE - BIT=1 MEANS PAGE FREE
489
490 002064' SYSNAM::BLOCK 100 ;SYSTEM NAME TEXT
491
492 002164' NIBTAB::BLOCK NIBSIZ*MAXNOD ;ALLOCATE ONE NIB PER NODE
493 003770' ADJTAB: BLOCK MAXNOD*LINSIZ ;MAX # OF NODES * SIZE OF EACH LINE TABLE
494
495
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 7
NCP MAC 5-Oct-81 16:46 Variable Data Storage
496 005740' START:
497 005740' 104 00 0 00 000147 NETCON::RESET ;START FRESH
498 005741' 200 17 0 00 016620' MOVE P,[IOWD PDLEN,PDL] ;INIT THE PUSH DOWN POINTER
499 005742' 260 17 0 00 015114' CALL DUPTST ;ANOTHER NETCON ALREADY RUNNING ?
500 JRST [ HALTF ;YES, GIVE UP.
501 005743' 254 00 0 00 016621' JRST START ] ;IF CONTINUED, START OVER
502 005744' 260 17 0 00 014701' CALL NETINI ;INITIALIZE EVERYTHING
503 FATAL.ERROR ^;FAILED, GO TYPE OUT REASON FOR FAILURE
504 CALL ERROR
505 HALTF
506 005745' 254 00 0 00 016623' JRST NETCON]
507
508 ;BACKGROUND LOOP - EXECUTES REQUESTS FROM ORION
509
510 005746' 201 01 0 00 165140 BGLOOP: MOVEI T1,^D60*^D1000 ;SET UP FOR A 1 MINUTE DISMS
511 005747' 201 02 0 00 000000 MOVEI T2,0 ;ASSUME WAIT JSYS
512 005750' 332 00 0 00 002003' SKIPE NICQUE ;ANYTHING IN THE NICE MSSAGE QUEUE?
513 005751' 201 02 0 00 000001 MOVEI T2,1 ;YES, USE A DISMS JSYS
514 005752' 336 00 0 00 002002' SKIPN QUEUE ;ANYTHING TO DO?
515 005753' 256 00 0 02 005774' BGWAIT: XCT WATINS(T2) ;NO, WAIT UNTIL SOMETHING COMES ALONG
516 005754' 255 00 0 00 000000 BGWTPC: JFCL ;PC OF WAIT STATE IS HERE
517 PIOFF ^ ;TURN OFF INTERRUPTS WHILE TOUCHING QUEUE
518 005755' 260 17 0 00 014406' CALL PIOFF.
519 005756' 200 01 0 00 002002' MOVE T1,QUEUE ;GET FIRST ENTRY ON THE QUEUE
520 JUMPE T1,[PION ^
521 CALL PION.^ ;NOTHING TO BE DONE
522 005757' 322 01 0 00 016626' JRST BGLOP1] ;GO WAIT FOR SOMETHING TO DO
523 LOAD T2,QUEPNT,(T1) ^;GET ADDRESS OF NEXT ENTRY ON QUEUE
524 005760' 550 02 0 01 000000 HRRZ T2,0(T1)^
525 005761' 202 02 0 00 002002' MOVEM T2,QUEUE ;TAKE THE TOP ENTRY OFF QUEUE
526 PION ^ ;QUEUE ENTRY IS NOW IN AC T1
527 005762' 260 17 0 00 014413' CALL PION.
528 005763' 202 01 0 00 002000' MOVEM T1,REQADR ;SAVE THIS FOR LATER
529 005764' 260 17 0 00 006017' CALL DOREQ ;GO PROCESS THIS REQUEST
530 005765' 634 02 0 00 000002 TDZA T2,T2 ;FAILED
531 005766' 474 02 0 00 000000 SETO T2, ;SUCCESS
532 005767' 200 03 0 00 002000' MOVE T3,REQADR ;GET ADDRESS OF REQUEST AGAIN
533 005770' 260 17 0 00 013100' CALL FINREQ ;FINISH THIS REQUEST
534 NON.FATAL.ERROR ^;FAILED, TYPE OUT MESSAGE
535 005771' 260 17 0 00 014473' IFB <>,< CALL WRNING>
536 005772' 260 17 0 00 013156' BGLOP1: CALL CHKNIC ;SEE IF ANY NICE MESSAGES TO BE SENT
537 005773' 254 00 0 00 005746' JRST BGLOOP ;GO GET NEXT REQUEST TO BE DONE
538
539
540 005774' 104 00 0 00 000306 WATINS: WAIT ;INIFINITE BLOCK
541 005775' 104 00 0 00 000167 DISMS ;SLEEP FOR 1 MINUTE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 8
NCP MAC 5-Oct-81 16:46 Variable Data Storage
542
543 ;ROUTINE TO WAKE UP THE BACKGROUND LEVEL
544 ;CAN BE CALLED FROM ANY INTERRUPT LEVEL
545
546 005776' 201 01 0 00 400000 WAKBKG: MOVEI T1,.FHSLF ;GET THE ACTIVE LEVELS
547 005777' 104 00 0 00 000135 RWM
548 006000' 612 02 0 00 016630' TDNE T2,[40000,,40000] ;LEVEL 3 ACTIVE?
549 JRST [ MOVEI T1,LEV3PC ;YES, USE THIS PC
550 006001' 254 00 0 00 016631' JRST WAKBK1]
551 006002' 612 02 0 00 016633' TDNE T2,[100000,,100000] ;LEVEL 2 ACTIVE
552 JRST [ MOVEI T1,LEV2PC ;YES
553 006003' 254 00 0 00 016634' JRST WAKBK1]
554 006004' 616 02 0 00 016636' TDNN T2,[200000,,200000] ;LEVEL 1 ACTIVE?
555 006005' 263 17 0 00 000000 RET ;NO, MUST BE BACKGROUND
556 006006' 201 01 0 00 000000* MOVEI T1,LEV1PC ;YES
557 006007' 550 02 0 01 000000 WAKBK1: HRRZ T2,0(T1) ;GET ADDRESS OF BACKGROUND PROCESS
558 006010' 302 02 0 00 005753' CAIE T2,BGWAIT ;IS THIS IN THE WAIT STATE?
559 006011' 306 02 0 00 005754' CAIN T2,BGWTPC ;...
560 006012' 334 00 0 00 000000 SKIPA ;YES, WAKE IT UP
561 006013' 263 17 0 00 000000 RET ;NO, NO NEED TO WAKE IT NOW
562 006014' 201 02 0 00 005746' MOVEI T2,BGLOOP ;CAUSE IT TO WAKE UP
563 006015' 202 02 0 01 000000 MOVEM T2,0(T1) ;STORE NEW PC IN DISMS ADDRESS
564 006016' 263 17 0 00 000000 RET ;DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 9
NCP MAC 5-Oct-81 16:46 Variable Data Storage
565 ;ROUTINE TO PARSE COMMANDS FROM OPR
566 ;ACCEPTS IN T1/ ADR OF THE QUEUE ENTRY
567 ; CALL DOREQ
568 ;RETURNS +1: ERROR IN REQUEST
569 ; +2: SUCCESSFULLY PARSED AND EXECUTED
570
571 006017' DOREQ: SAVEPQ ^ ;SAVE THE PERMANENT ACS
572 006017' 265 16 0 00 014444' JSP CX,SAVPQ
573 LOAD T2,QUETYP,(T1) ^;GET TYPE OF THIS QUEUE ENTRY
574 006020' 554 02 0 01 000001 HLRZ T2,1(T1)^
575 006021' 301 02 0 00 000004 CAIL T2,DODSPL ;LEGAL VALUE?
576 FATAL.ERROR (.ERR14)^ ;NO
577 IFNB <.ERR14>,< MOVEI T1,.ERR14>
578 CALL ERROR
579 HALTF
580 006022' 254 00 0 00 016637' JRST NETCON]
581 006023' 200 02 0 02 006025' MOVE T2,DODSP(T2) ;GET DISPATCH ADDRESS
582 006024' 254 00 0 02 000000 JRST (T2) ;DISPATCH...
583
584 006025' 000000 006031' DODSP: DOMES ;MESSAGE
585 006026' 000000 011233' DOFKT ;FORK TERMINATION
586 006027' 000000 011304' DOJFD ;NCP DATA OR DISCONNECT
587 006030' 000000 015765' DMPLOD ;TOPOLOGY CHANGE INTERRUPT
588 000004 DODSPL==.-DODSP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 10
NCP MAC 5-Oct-81 16:46 IPCF message proccessing routine
589 SUBTTL IPCF message proccessing routine
590
591 006031' DOMES: LOAD P1,QUEMES,(T1) ^;KEEP THE ADDRESS OF THE MESSAGE IN P1
592 006031' 554 10 0 01 000000 HLRZ P1,0(T1)^
593 LOAD T2,MS.TYP,.MSTYP(P1) ^;GET MESSAGE TYPE
594 006032' 550 02 0 10 000000 HRRZ T2,.MSTYP(P1)^
595 006033' 306 02 0 00 700000 CAIN T2,MT.TXT ;IS THIS SOME TYPE OF ERROR ?
596 JRST [ LOAD T1,MF.SUF,.MSFLG(P1) ^
597 HRRZ T1,.MSFLG(P1)^
598 CAIN T1,'ODE' ;DID OPR DISAPPEAR ?
599 RETSKP ^JRST RSKP^ ;YES, ALL DONE
600 HRROI T1,[ASCIZ/
601 ? NETCON: Error message received from ORION:
602 /] ;GET INITIAL PART OF ERROR STRING
603 PSOUT ;OUTPUT FIRST PART OF STRING
604 HRROI T1,.OHDRS+ARG.DA(P1) ;GET POINTER TO ERROR TEXT
605 PSOUT ;OUTPUT ERROR TEXT
606 HRROI T1,[ASCIZ/
607 /] ;GET FINAL CRLF
608 PSOUT ;AND TYPE ON TERMINAL
609 006034' 254 00 0 00 016656' RETSKP ^JRST RSKP^] ;IGNORE THIS COMMAND
610 006035' 306 02 0 00 200020 CAIN T2,.OMHAC ;ACK OF INITIAL HELLO MESSAGE ?
611 JRST [ MOVX T4,QF%NOA ^
612 MOVEI T4,..MX1>
613 STOR T4,QUEFLG,(T1) ^
614 HRRM T4,1(T1)^
615 006036' 254 00 0 00 016670' RETSKP ^JRST RSKP^] ;AND DONE
616 006037' 302 02 0 00 200050 CAIE T2,.OMCMD ;LOOKING FOR A COMMAND FROM OPR
617 JRST [ NON.FATAL.ERROR (.ERR18)^
618 JRST [ MOVEI T1,.ERR18
619 CALL WRNING
620 JRST .+1]>^
621 RETBAD (.ERR18)^
622 IFNB <.ERR18>,< JRST [ MOVEI T1,.ERR18
623 RET]>>
624 006040' 254 00 0 00 016700' RETBAD (.ERR18)]>^]
625 006041' 200 01 0 10 000002 MOVE T1,.MSCOD(P1) ;GET CODE NEEDED TO RETURN ACK TO OPR
626 006042' 202 01 0 00 002001' MOVEM T1,REQCOD ;SAVE REQUEST CODE
627 006043' 200 01 0 10 000007 MOVE T1,COM.PB(P1) ;GET ADDRESS OF PARSER BLOCK
628 006044' 200 11 0 00 000010 MOVE P2,P1 ;GET BASE ADDRESS OF IPCF MESSAGE
629 006045' 270 11 0 00 000001 ADD P2,T1 ;COMPUTE ADDRESS OF PARSER BLOCK
630 006046' 260 17 0 00 012326' CALL PRSKEY ;GO GET FIRST KEYWORD
631 RETBAD (.ERR14)^ ;FAILED
632 IFNB <.ERR14>,< JRST [ MOVEI T1,.ERR14
633 006047' 254 00 0 00 016702' RET]>>
634 006050' 201 02 0 00 006056' MOVEI T2,LV1REQ ;LOOK UP THE DISPATCH ADDRESS
635 006051' 201 03 0 00 000011 MOVEI T3,LV1RQL ; IN THE FIRST LEVEL DISPATCH TABLE
636 006052' 260 17 0 00 006067' CALL FNDDSP ;GET NEXT PHASE OF THE COMMAND
637 006053' 254 00 0 00 006055' JRST DOREQE ;UNKNOWN KEYWORD TYPE
638 006054' 254 00 0 01 000000 JRST (T1) ;DISPATCH...
639
640 006055' DOREQE: RETBAD (.ERR13)^ ;ILLEGAL NETCON COMMAND
641 IFNB <.ERR13>,< JRST [ MOVEI T1,.ERR13
642 006055' 254 00 0 00 016704' RET]>>
643
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 10-1
NCP MAC 5-Oct-81 16:46 IPCF message proccessing routine
644 006056' 000077 006320' LV1REQ: .DNSET,,SETREQ ;SET
645 006057' 000021 007514' .DNDMP,,DMPREQ ;DUMP
646 006060' 000034 010623' .DNINI,,INIREQ ;INITIATE
647 006061' 000042 007042' .DNLOA,,LOAREQ ;LOAD
648 006062' 000136 010440' .DNLOP,,LOPREQ ;LOOP
649 006063' 000100 010034' .DNSHW,,SHOREQ ;SHOW
650 006064' 000120 010613' .DNTRM,,TRMREQ ;TERMINATE
651 006065' 000150 006210' .DNDSL,,DISREQ ;DISABLE
652 006066' 000025 006104' .DNENA,,ENAREQ ;ENABLE
653 000011 LV1RQL==.-LV1REQ
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 11
NCP MAC 5-Oct-81 16:46 IPCF message proccessing routine
654 ;ROUTINE TO SEARCH A DISPATCH TABLE LOOKING FOR A KEYWORD VALUE
655 ;ACCEPTS IN T1/ KEYWORD VALUE FROM MESSAGE
656 ; T2/ ADDRESS OF THE DISPATCH TABLE
657 ; T3/ LENGTH OF THE DISPATCH TABLE
658 ; CALL FNDDSP
659 ;RETURNS +1: NOT FOUND
660 ; +2: T1/ ADR TO DISPATCH TO
661
662 006067' 554 04 0 02 000000 FNDDSP::HLRZ T4,0(T2) ;GET THE NEXT ENTRY VALUE FROM TABLE
663 006070' 316 01 0 00 000004 CAMN T1,T4 ;FOUND A MATCH?
664 006071' 254 00 0 00 006075' JRST FNDDS1 ;YES
665 006072' 350 00 0 00 000002 AOS T2 ;NO, STEP TO THE NEXT ENTRY
666 006073' 367 03 0 00 006067' SOJG T3,FNDDSP
667 006074' 263 17 0 00 000000 RET ;RAN OUT OF ENTRIES, NOT FOUND
668
669 006075' 550 01 0 02 000000 FNDDS1: HRRZ T1,0(T2) ;GET THE DISPATCH ADDRESS INTO T1
670 RETSKP ^ ;AND GIVE SUCCESSFUL RETURN
671 006076' 254 00 0 00 000000* JRST RSKP
672
673
674 ;ROUTINE TO FIND A "NIB" FOR A NODE OR CREATE ONE IF ONE DOESNT EXIST
675
676 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
677 ; CALL FOCNIB
678 ;RETURNS +1: COULD NOT CREATE A NIB
679 ; +2: T1/ ADR OF NIB
680
681 006077' FOCNIB: ASUBR <FOCNAM>^
682 006077' 265 16 0 00 000000* JSP .A16,.ASSET
683 006100' 260 17 0 00 000000* CALL GETNIB ;GO LOOK FOR NODE NAME
684 006101' 334 01 0 15 000001 SKIPA T1,FOCNAM ^^O1(.FP)^;DID NOT FIND IT
685 006102' 254 00 0 00 006076* RETSKP^JRST RSKP^
686 006103' 254 00 0 00 015607' CALLRET ADDNOD ;GO ADD NODE NAME AND CREATE A NIB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 12
NCP MAC 5-Oct-81 16:46 NCP -- ENABLE Command
687 SUBTTL NCP -- ENABLE Command
688
689 006104' ENAREQ: STKVAR <<ENALID,2>,ENAKEY,<ENAMSG,20>>^
690 006104' 265 16 0 00 000000* JSP .A16,.STKST
691 006105' 000023 000023 ..STKN,,..STKN
692 006106' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
693 006107' 263 17 0 00 000000 RET ;FAILED
694 006110' 201 02 0 00 006115' MOVEI T2,ENARTB ;GET ADDRESS OF DISPATCH TABLE
695 006111' 201 03 0 00 000001 MOVEI T3,ENARTL ;GET LENGTH OF DISPATCH TABLE
696 006112' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
697 006113' 263 17 0 00 000000 RET ;FAILED
698 006114' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROPER PARSING ROUTINE
699
700 006115' 000147 006116' ENARTB: .DNELG,,EVTLOG ;EVENT-LOGGING
701
702 000001 ENARTL==.-ENARTB
703
704
705
706 ; ENABLE EVENT-LOGGING
707
708 006116' 260 17 0 00 012335' EVTLOG: CALL PRSCFM ;END OF COMMAND AT THIS POINT ?
709 006117' 254 00 0 00 006121' JRST EVTRQ1 ;NO, SEE IF PROPER KEYWORD FOLLOWS
710 006120' 254 00 0 00 006172' JRST ENANOD ;YES, ENABLE FOR ENTIRE NODE
711
712 006121' 260 17 0 00 012326' EVTRQ1: CALL PRSKEY ;PARSE NEXT KEYWORD
713 006122' 263 17 0 00 000000 RET ;FAILED
714 006123' 201 02 0 00 006130' MOVEI T2,ENALTB ;GET ADDRESS OF DISPATCH TABLE
715 006124' 201 03 0 00 000002 MOVEI T3,ENALTL ;GET LENGTH OF DISPATCH TABLE
716 006125' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
717 006126' 263 17 0 00 000000 RET ;FAILED
718 006127' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROPER PARSING ROUTINE
719
720
721 006130' 000040 006132' ENALTB: .DNSLI,,ENALIN ;LINE line-id
722 006131' 000131 006136' .DNKNO,,ENAKNO ;KNOWN LINES
723
724 000002 ENALTL==.-ENALTB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 13
NCP MAC 5-Oct-81 16:46 NCP -- ENABLE Command
725
726 006132' 260 17 0 00 012436' ENALIN: CALL PRSLID ;PARSE A LINE ID
727 006133' 263 17 0 00 000000 RET ;FAILED
728 006134' 124 01 0 17 777775 DMOVEM T1,ENALID ^-^O3(P)^;SAVE LINE ID
729 006135' 254 00 0 00 006150' JRST ENAFIN ;GO FINISH PARSING COMMAND
730
731 006136' 260 17 0 00 012326' ENAKNO: CALL PRSKEY ;PARSE A KEYWORD
732 006137' 263 17 0 00 000000 RET ;FAILED
733 006140' 201 02 0 00 006145' MOVEI T2,ENAKTB ;GET ADDRESS OF DISPATCH TABLE
734 006141' 201 03 0 00 000001 MOVEI T3,ENAKTL ;GET LENGTH OF DISPATCH TABLE
735 006142' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
736 006143' 263 17 0 00 000000 RET ;FAILED
737 006144' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROPER PARSING ROUTINE
738
739
740 006145' 000041 006146' ENAKTB: .DNSKL,,ENALNS ;KNOWN LINES
741
742 000001 ENAKTL==.-ENAKTB
743
744
745 006146' 476 00 0 17 777775 ENALNS: SETOM ENALID ^-^O3(P)^ ;INDICATE KNOWN LINES
746 006147' 254 00 0 00 006150' JRST ENAFIN ;GO FINISH PARSING COMMAND
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 14
NCP MAC 5-Oct-81 16:46 NCP -- ENABLE Command
747
748 ; HERE TO FINISH PARSING COMMAND LINE
749
750 006150' 260 17 0 00 012335' ENAFIN: CALL PRSCFM ;PARSE CONFIRMATION
751 006151' 263 17 0 00 000000 RET ;FAILED
752 006152' 120 01 0 17 777775 DMOVE T1,ENALID ^-^O3(P)^ ;GET LINE ID
753 006153' 201 03 0 17 777754 MOVEI T3,ENAMSG ^-^O24(P)^ ;GET DESTINATION ADDRESS FOR MESSAGE
754 006154' 260 17 0 00 000000* CALL MAKENL ;ASSEMBLE A NICE SET PARAMETERS MESSAGE
755 RETBAD ()^ ;FAILED
756 006155' 263 17 0 00 000000 IFB <>,< RET>
757 006156' 200 04 0 00 016706' MOVE T4,[.NCSET,,.NCNLS] ;GET NICE FUNCTION CODE,,OPTION CODE
758 006157' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
759 006160' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
760 006161' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
761 006162' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
762 006163' 200 03 0 00 000000* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
763 006164' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
764 RETBAD ()^ ;FAILED
765 006165' 263 17 0 00 000000 IFB <>,< RET>
766 006166' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
767 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
768 006167' 201 02 0 00 000001 MOVEI T2,..MX1>
769 STOR T2,QUEFLG,(T1)^
770 006170' 542 02 0 01 000001 HRRM T2,1(T1)^
771 RETSKP ^ ;DONE, RETURN SUCCESS
772 006171' 254 00 0 00 006102* JRST RSKP
773
774
775 ; NOW ASSEMBLE THE NICE "SET" MESSAGE TO DO THE ENABLE
776
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 15
NCP MAC 5-Oct-81 16:46 NCP -- ENABLE Command
777 ; HERE ON "ENABLE EVENT-LOGGING" COMMAND FOR ENTIRE NODE
778
779 006172' 260 17 0 00 000000* ENANOD: CALL MAKENA ;GO ASSEMBLE NICE "SET PARAMETER" MSG
780 RETBAD ()^ ;FAILED
781 006173' 263 17 0 00 000000 IFB <>,< RET>
782 006174' 200 04 0 00 016706' MOVE T4,[.NCSET,,.NCNLS] ;GET NICE FUNCTION CODE,,OPTION CODE
783 006175' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
784 006176' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
785 006177' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
786 006200' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
787 006201' 200 03 0 00 006163* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
788 006202' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
789 RETBAD ()^ ;FAILED
790 006203' 263 17 0 00 000000 IFB <>,< RET>
791 006204' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
792 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
793 006205' 201 02 0 00 000001 MOVEI T2,..MX1>
794 STOR T2,QUEFLG,(T1)^
795 006206' 542 02 0 01 000001 HRRM T2,1(T1)^
796 RETSKP ^ ;DONE, RETURN SUCCESS
797 006207' 254 00 0 00 006171* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 16
NCP MAC 5-Oct-81 16:46 NCP -- DISBLE Command
798 SUBTTL NCP -- DISBLE Command
799
800 006210' DISREQ: STKVAR <<DISLID,2>,DISKEY,<DISMSG,20>>^
801 006210' 265 16 0 00 006104* JSP .A16,.STKST
802 006211' 000023 000023 ..STKN,,..STKN
803 006212' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
804 006213' 263 17 0 00 000000 RET ;FAILED
805 006214' 201 02 0 00 006221' MOVEI T2,DISRTB ;GET ADDRESS OF DISPATCH TABLE
806 006215' 201 03 0 00 000001 MOVEI T3,DISRTL ;GET LENGTH OF DISPATCH TABLE
807 006216' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
808 006217' 263 17 0 00 000000 RET ;FAILED
809 006220' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROPER PARSING ROUTINE
810
811 006221' 000147 006222' DISRTB: .DNELG,,DISLOG ;EVENT-LOGGING
812
813 000001 DISRTL==.-DISRTB
814
815
816
817 ; DISBLE EVENT-LOGGING
818
819 006222' 260 17 0 00 012335' DISLOG: CALL PRSCFM ;END OF COMMAND AT THIS POINT ?
820 006223' 254 00 0 00 006225' JRST EVTRQ2 ;NO, SEE IF PROPER KEYWORD FOLLOWS
821 006224' 254 00 0 00 006302' JRST DISNOD ;YES, DISBLE FOR ENTIRE NODE
822
823 006225' 260 17 0 00 012326' EVTRQ2: CALL PRSKEY ;PARSE NEXT KEYWORD
824 006226' 263 17 0 00 000000 RET ;FAILED
825 006227' 201 02 0 00 006234' MOVEI T2,DISLTB ;GET ADDRESS OF DISPATCH TABLE
826 006230' 201 03 0 00 000002 MOVEI T3,DISLTL ;GET LENGTH OF DISPATCH TABLE
827 006231' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
828 006232' 263 17 0 00 000000 RET ;FAILED
829 006233' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROPER PARSING ROUTINE
830
831
832 006234' 000040 006236' DISLTB: .DNSLI,,DISLIN ;LINE line-id
833 006235' 000131 006242' .DNKNO,,DISKNO ;KNOWN LINES
834
835 000002 DISLTL==.-DISLTB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 17
NCP MAC 5-Oct-81 16:46 NCP -- DISBLE Command
836
837 006236' 260 17 0 00 012436' DISLIN: CALL PRSLID ;PARSE A LINE ID
838 006237' 263 17 0 00 000000 RET ;FAILED
839 006240' 124 01 0 17 777775 DMOVEM T1,DISLID ^-^O3(P)^;SAVE LINE ID
840 006241' 254 00 0 00 006260' JRST DISFIN ;GO FINISH PARSING COMMAND
841
842 006242' 260 17 0 00 012326' DISKNO: CALL PRSKEY ;PARSE A KEYWORD
843 006243' 263 17 0 00 000000 RET ;FAILED
844 006244' 202 01 0 17 777774 MOVEM T1,DISKEY ^-^O4(P)^ ;SAVE KEYWORD CODE
845 006245' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
846 006246' 263 17 0 00 000000 RET ;FAILED
847 006247' 200 01 0 17 777774 MOVE T1,DISKEY ^-^O4(P)^ ;RESTORE KEYWORD CODE
848 006250' 201 02 0 00 006255' MOVEI T2,DISKTB ;GET ADDRESS OF DISPATCH TABLE
849 006251' 201 03 0 00 000001 MOVEI T3,DISKTL ;GET LENGTH OF DISPATCH TABLE
850 006252' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
851 006253' 263 17 0 00 000000 RET ;FAILED
852 006254' 254 00 0 01 000000 JRST (T1) ;DISPATCH TO PROPER PARSING ROUTINE
853
854
855 006255' 000041 006256' DISKTB: .DNSKL,,DISLNS ;KNOWN LINES
856
857 000001 DISKTL==.-DISKTB
858
859
860 006256' 476 00 0 17 777775 DISLNS: SETOM DISLID ^-^O3(P)^ ;INDICATE KNOWN LINES
861 006257' 254 00 0 00 006260' JRST DISFIN ;GO FINISH PARSING COMMAND
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 18
NCP MAC 5-Oct-81 16:46 NCP -- DISBLE Command
862
863 ; HERE TO FINISH PARSING COMMAND LINE
864
865 006260' 260 17 0 00 012335' DISFIN: CALL PRSCFM ;PARSE CONFIRMATION
866 006261' 263 17 0 00 000000 RET ;FAILED
867 006262' 120 01 0 17 777775 DMOVE T1,DISLID ^-^O3(P)^ ;GET LINE ID
868 006263' 201 03 0 17 777754 MOVEI T3,DISMSG ^-^O24(P)^ ;GET DESTINATION ADDRESS FOR MESSAGE
869 006264' 260 17 0 00 000000* CALL MAKDSL ;ASSEMBLE A NICE SET PARAMETERS MESSAGE
870 RETBAD ()^ ;FAILED
871 006265' 263 17 0 00 000000 IFB <>,< RET>
872 006266' 200 04 0 00 016706' MOVE T4,[.NCSET,,.NCNLS] ;GET NICE FUNCTION CODE,,OPTION CODE
873 006267' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
874 006270' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
875 006271' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
876 006272' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
877 006273' 200 03 0 00 006201* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
878 006274' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
879 RETBAD ()^ ;FAILED
880 006275' 263 17 0 00 000000 IFB <>,< RET>
881 006276' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
882 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
883 006277' 201 02 0 00 000001 MOVEI T2,..MX1>
884 STOR T2,QUEFLG,(T1)^
885 006300' 542 02 0 01 000001 HRRM T2,1(T1)^
886 RETSKP ^ ;DONE, RETURN SUCCESS
887 006301' 254 00 0 00 006207* JRST RSKP
888
889
890 ; NOW ASSEMBLE THE NICE "SET" MESSAGE TO DO THE ENABLE
891
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 19
NCP MAC 5-Oct-81 16:46 NCP -- DISBLE Command
892 ; HERE ON "DISBLE EVENT-LOGGING" COMMAND FOR ENTIRE NODE
893
894 006302' 260 17 0 00 000000* DISNOD: CALL MAKDIS ;GO ASSEMBLE NICE "SET PARAMETER" MSG
895 RETBAD ()^ ;FAILED
896 006303' 263 17 0 00 000000 IFB <>,< RET>
897 006304' 200 04 0 00 016706' MOVE T4,[.NCSET,,.NCNLS] ;GET NICE FUNCTION CODE,,OPTION CODE
898 006305' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
899 006306' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
900 006307' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
901 006310' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
902 006311' 200 03 0 00 006273* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
903 006312' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
904 RETBAD ()^ ;FAILED
905 006313' 263 17 0 00 000000 IFB <>,< RET>
906 006314' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
907 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
908 006315' 201 02 0 00 000001 MOVEI T2,..MX1>
909 STOR T2,QUEFLG,(T1)^
910 006316' 542 02 0 01 000001 HRRM T2,1(T1)^
911 RETSKP ^ ;DONE, RETURN SUCCESS
912 006317' 254 00 0 00 006301* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 20
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
913 SUBTTL NCP -- SET Command
914
915 006320' 260 17 0 00 012326' SETREQ: CALL PRSKEY ;PARSE A KEYWORD
916 006321' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
917 006322' 201 02 0 00 006327' MOVEI T2,SETRTB ;GET ADR OF DISPATCH TABLE
918 006323' 201 03 0 00 000014 MOVEI T3,SETRTL ;AND LENGTH OF TABLE
919 006324' 260 17 0 00 006067' CALL FNDDSP ;GET THE DISPATCH ADR
920 006325' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN KEYWORD
921 006326' 254 00 0 01 000000 JRST (T1) ;DISPATCH
922
923 006327' 000026 006343' SETRTB: .DNSEX,,SETEX ;SET EXECUTOR
924 006330' 000045 006406' .DNLGI,,SETLGI ;SET LOGGING-INTERVAL
925 006331' 000033 006353' .DNLPH,,SETHST ;SET HOST
926 006332' 000044 006354' .DNSLO,,SETLCL ;SET LOCAL
927 006333' 000047 011231' .DNSMO,,SETMON ;SET MONITORING
928 006334' 000055 006422' .DNNOD,,SETNOD ;SET NODE
929 006335' 000064 011232' .DNSPW,,SETPSW ;SET PASSWORD
930 006336' 000074 006635' .DNSSD,,SETSDF ;SET SECONDARY-DUMP-FILE
931 006337' 000075 006637' .DNSSL,,SETSLF ;SET SECONDARY-LOAD-FILE
932 006340' 000103 006731' .DNSST,,SETSTA ;SET STATE
933 006341' 000110 006641' .DNSTD,,SETTDF ;SET TERTIARY-DUMP-FILE
934 006342' 000111 006643' .DNSTL,,SETTLF ;SET TERTIARY-LOAD-FILE
935 000014 SETRTL==.-SETRTB
936
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 21
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
937
938 ;SET EXECUTOR
939
940 006343' 260 17 0 00 012341' SETEX: CALL PRSNOD ;PARSE A NODE NAME
941 006344' 254 00 0 00 006055' JRST DOREQE ;FAILED
942 006345' 550 04 0 00 006311* HRRZ T4,EXCUTR ;GET CURRENT EXECUTOR
943 006346' 202 01 0 00 006345* MOVEM T1,EXCUTR ;SAVE STRING POINTER TO EXECUTOR
944 006347' 200 01 0 00 000004 MOVE T1,T4 ;GET POINTER TO PREVIOUS EXECUTOR
945 006350' 260 17 0 00 014115' CALL RELFRE ;RELEASE OLD STRING BLOCK
946 FATAL.ERROR ^;ISSUE ERROR MESSAGE
947 CALL ERROR
948 HALTF
949 006351' 254 00 0 00 016623' JRST NETCON]
950 006352' 254 00 0 00 006317* RETSKP^JRST RSKP^
951
952
953
954
955
956 ;SET HOST
957
958 006353' 254 00 0 00 006055' SETHST: JRST DOREQE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 22
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
959 ;SET LOCAL LOOPBACK ENABLED/DISABLED LINE-ID
960
961 006354' SETLCL: STKVAR <LCLSCD,LCLPRT>^
962 006354' 265 16 0 00 006210* JSP .A16,.STKST
963 006355' 000002 000002 ..STKN,,..STKN
964 006356' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
965 006357' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
966 006360' 302 01 0 00 000123 CAIE T1,.DNLPB ;WAS IT LOOPBACK ?
967 006361' 254 00 0 00 006055' JRST DOREQE ;NO SO REJECT
968 006362' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
969 006363' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
970 006364' 201 02 0 00 000004 MOVEI T2,.NDSLP ;IN CASE ENABLING
971 006365' 306 01 0 00 000122 CAIN T1,.DNEAB ;WANT TO ENABLE LINE ?
972 006366' 254 00 0 00 006372' JRST DOLPB ;ENABLE THE LINE
973 006367' 201 02 0 00 000005 MOVEI T2,.NDCLP ;CODE TO CLEAR ENABLE
974 006370' 302 01 0 00 000121 CAIE T1,.DNDAB ;WANT TO DISABLE LINE ?
975 006371' 254 00 0 00 006055' JRST DOREQE ;NO FAIL
976 006372' 202 02 0 17 777776 DOLPB: MOVEM T2,LCLSCD ^-^O2(P)^ ;SAVE CODE
977 006373' 260 17 0 00 010724' CALL PRSPRT ;PARSE THE LINE-ID INTO NSP PORT
978 RETBAD (.ERR23)^ ;<Invalid line-id>
979 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
980 006374' 254 00 0 00 016707' RET]>>
981 006375' 202 01 0 17 777775 MOVEM T1,LCLPRT ^-^O3(P)^ ;SAVE PORT #
982 006376' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
983 006377' 254 00 0 00 006055' JRST DOREQE ;LOSE
984 006400' 200 01 0 17 777776 MOVE T1,LCLSCD ^-^O2(P)^ ;GET ENABLE/DISABLE CODE
985 006401' 201 02 0 00 000003 MOVEI T2,T3 ;POINT TO ARGUMENT BLOCK
986 006402' 200 03 0 17 777775 MOVE T3,LCLPRT ^-^O3(P)^ ;GET PORT #
987 006403' 104 00 0 00 000567 NODE ;SET/CLEAR LOOPBACK
988 ERJMP [MOVEI T1,.ERR19 ;JSYS error
989 006404' 320 16 0 00 016711' RET ]
990 RETSKP ^ ;DONE
991 006405' 254 00 0 00 006352* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 23
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
992 ;SET LOGGING INTERVAL
993
994 006406' 260 17 0 00 012407' SETLGI: CALL PRSNOI ;PARSE NOISE WORD
995 006407' 260 17 0 00 012326' CALL PRSKEY ;PARSE KEYWORD
996 006410' 254 00 0 00 006055' JRST DOREQE ;FAILED, RETURN ERROR
997 006411' 302 01 0 00 000117 CAIE T1,.DNLCT ;LINE-COUNTERS ?
998 006412' 254 00 0 00 006055' JRST DOREQE ;NO, FAIL
999 006413' 260 17 0 00 012400' CALL PRSNUM ;GET # OF MINUTES
1000 006414' 254 00 0 00 006055' JRST DOREQE ;FAILED
1001 006415' 221 01 0 00 165140 IMULI T1,^D60*^D1000 ;CONVERT MINUTES TO MILLISECONDS
1002 006416' 202 01 0 00 000000* MOVEM T1,LOGTIM ;SAVE NEW LOGGING INTERVAL
1003 006417' 260 17 0 00 014725' CALL LOGINI ;GO START LOGGING WITH NEW INTERVAL
1004 006420' 254 00 0 00 006055' JRST DOREQE ;FAILED, ISSUE ERROR MESSAGE
1005 RETSKP ^ ;DONE, RETURN
1006 006421' 254 00 0 00 006405* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 24
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1007 ;SET NODE
1008
1009 006422' 260 17 0 00 012341' SETNOD: CALL PRSNOD ;PARSE A NODE NAME
1010 006423' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A NODE NAME
1011 006424' 200 12 0 00 000001 MOVE P3,T1 ;Save address of node name block
1012 006425' 260 17 0 00 006077' CALL FOCNIB ;FIND OR CREATE THE ASSOCIATED NIB
1013 JRST [MOVE T1,P3 ;Failed to create a NIB
1014 CALL RELFRE ; Release node name block
1015 FATAL.ERROR^
1016 CALL ERROR
1017 HALTF
1018 JRST NETCON]^
1019 006426' 254 00 0 00 016713' JRST DOREQE]
1020 006427' 250 12 0 00 000001 EXCH P3,T1 ;Swap node name block for NIB address
1021 006430' 260 17 0 00 014115' CALL RELFRE ;Release node name block
1022 FATAL.ERROR ^; Can't release it .. die.
1023 CALL ERROR
1024 HALTF
1025 006431' 254 00 0 00 016623' JRST NETCON]
1026 006432' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
1027 006433' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1028 006434' 201 02 0 00 006441' MOVEI T2,SETNTB ;SET UP TO FIND DISPATCH ADR
1029 006435' 201 03 0 00 000010 MOVEI T3,SETNTL ;GET LENGTH OF DISPATCH TABLE
1030 006436' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADR
1031 006437' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN COMMAND
1032 006440' 254 00 0 01 000000 JRST (T1) ;DISPATCH
1033
1034 006441' 000001 006521' SETNTB: .DNSNB,,SETNBP ;SET NODE BOOT-PASSWORD
1035 006442' 000022 006465' .DNSNF,,SETNDF ;SET NODE DUMP-FILE
1036 006443' 000043 006503' .DNSNL,,SETNLF ;SET NODE LOAD-FILE
1037 006444' 000063 006550' .DNPRM,,SETNLP ;SET NODE LOAD-PARAMETERS
1038 006445' 000076 006522' .DNSNS,,SETNSV ;SET NODE SERVER
1039 006446' 000067 006451' .DNSNT,,SETNPT ;SET NODE PROTOCOL-TYPE
1040 006447' 000144 006763' .DNADM,,SETADM ;SET NODE AUTO-DUMP
1041 006450' 000145 007002' .DNALD,,SETALD ;SET NODE AUTO-LOAD
1042 000010 SETNTL==.-SETNTB
1043
1044
1045 ; SET NODE PROTOCOL-TYPE
1046
1047 006451' 260 17 0 00 012326' SETNPT: CALL PRSKEY ;PARSE A KEYWORD
1048 006452' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1049 006453' 201 02 0 00 006463' MOVEI T2,SETPTB ;GET PROTOCOL TABLE ADDRESS
1050 006454' 201 03 0 00 000002 MOVEI T3,SETPTL ;AND TABLE LENGTH
1051 006455' 260 17 0 00 006067' CALL FNDDSP ;FIND PROTOCOL IN TABLE
1052 006456' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOTE ERROR
1053 STOR T1,NDPRO,(P3) ^;STORE PROTOCOL VERSION TYPE
1054 006457' 542 01 0 12 000010 HRRM T1,10(P3)^
1055 SETONE NDPST,(P3) ^;NOTE THAT PROTOCOL TYPE HAS BEEN SET
1056 006460' 205 16 0 00 010000 MOVSI .SAC,(..MX1)>>
1057 006461' 436 16 0 12 000000 IORM .SAC,0(P3)
1058 RETSKP ^ ;DONE, RETURN
1059 006462' 254 00 0 00 006421* JRST RSKP
1060
1061
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 24-1
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1062 006463' 000072 000000 SETPTB: .DNRQP,,.VN20F ;RSX20F QUEUED PROTOCOL
1063 006464' 000053 000001 .DNNSP,,.VNMCB ;NETWORK SERVICES PROTOCOL (NSP)
1064
1065 000002 SETPTL==.-SETPTB ;LENGTH OF TABLE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 25
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1066 ;SET NODE DUMP/LOAD FILE
1067
1068 006465' SETNDF: STKVAR <SDFFIL>^
1069 006465' 265 16 0 00 006354* JSP .A16,.STKST
1070 006466' 000001 000001 ..STKN,,..STKN
1071 006467' 260 17 0 00 012362' CALL PRSOFI ;PARSE AN OUTPUT FILE SPEC
1072 006470' 254 00 0 00 006055' JRST DOREQE ;FAILED
1073 006471' 202 01 0 17 777776 MOVEM T1,SDFFIL ^-^O2(P)^ ;SAVE POINTER TO OUTPUT FILE SPEC
1074 006472' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
1075 006473' 254 00 0 00 006055' JRST DOREQE ;FAILED
1076 LOAD T1,NDDMP,(P3) ^;GET POINTER TO OLD FILE
1077 006474' 200 01 0 12 000004 MOVE T1,4(P3)^
1078 JUMPN T1,[CALL RELFRE ;RELEASE THE OLD BLOCK
1079 FATAL.ERROR ^
1080 CALL ERROR
1081 HALTF
1082 JRST NETCON]^;FAILED, ISSUE MESSAGE AND CONTINUE
1083 006475' 326 01 0 00 016717' JRST .+1] ;CONTINUE
1084 SETONE NDDOK,(P3) ^;TELL AUTO DUMP - WE CONTROL THIS NIB
1085 006476' 205 16 0 00 000400 MOVSI .SAC,(..MX1)>>
1086 006477' 436 16 0 12 000000 IORM .SAC,0(P3)
1087 006500' 200 01 0 17 777776 MOVE T1,SDFFIL ^-^O2(P)^ ;GET NEW FILE SPEC POINTER
1088 STOR T1,NDDMP,(P3) ^;SAVE POINTER TO NEW FILE SPEC
1089 006501' 202 01 0 12 000004 MOVEM T1,4(P3)^
1090 RETSKP ^ ;DONE, RETURN SUCCESS
1091 006502' 254 00 0 00 006462* JRST RSKP
1092
1093
1094
1095 006503' SETNLF: STKVAR <SLFFIL>^
1096 006503' 265 16 0 00 006465* JSP .A16,.STKST
1097 006504' 000001 000001 ..STKN,,..STKN
1098 006505' 260 17 0 00 012363' CALL PRSIFI ;PARSE AN INPUT FILE SPEC
1099 006506' 254 00 0 00 006055' JRST DOREQE ;FAILED
1100 006507' 202 01 0 17 777776 MOVEM T1,SLFFIL ^-^O2(P)^ ;SAVE POINTER TO INPUT FILE SPEC
1101 006510' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
1102 006511' 254 00 0 00 006055' JRST DOREQE ;FAILED
1103 LOAD T1,NDLOD,(P3) ^;GET POINTER TO OLD FILE
1104 006512' 200 01 0 12 000003 MOVE T1,3(P3)^
1105 JUMPN T1,[CALL RELFRE ;RELEASE THE OLD BLOCK
1106 FATAL.ERROR ^
1107 CALL ERROR
1108 HALTF
1109 JRST NETCON]^;FAILED, ISSUE MESSAGE AND CONTINUE
1110 006513' 326 01 0 00 016722' JRST .+1] ;CONTINUE
1111 SETONE NDLOK,(P3) ^;TELL AUTO LOAD - WE CONTROL THIS NIB
1112 006514' 205 16 0 00 000200 MOVSI .SAC,(..MX1)>>
1113 006515' 436 16 0 12 000000 IORM .SAC,0(P3)
1114 006516' 200 01 0 17 777776 MOVE T1,SLFFIL ^-^O2(P)^ ;GET NEW FILE SPEC POINTER
1115 STOR T1,NDLOD,(P3) ^;SAVE POINTER TO NEW FILE SPEC
1116 006517' 202 01 0 12 000003 MOVEM T1,3(P3)^
1117 RETSKP ^ ;DONE, RETURN SUCCESS
1118 006520' 254 00 0 00 006502* JRST RSKP
1119
1120
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 25-1
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1121 ; SET NODE BOOT PASSWORD
1122
1123 006521' 254 00 0 00 006055' SETNBP: JRST DOREQE ;NOT SUPPORTED YET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 26
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1124 ;SET NODE SERVER
1125
1126 006522' SETNSV: STKVAR <SNSNOD>^
1127 006522' 265 16 0 00 006503* JSP .A16,.STKST
1128 006523' 000001 000001 ..STKN,,..STKN
1129 LOAD T1,NDSRV,(P3) ^;GET POINTER TO SERVER NODE NAME
1130 006524' 200 01 0 12 000011 MOVE T1,11(P3)^
1131 JUMPN T1,[CALL RELFRE ;RELEASE THE OLD BLOCK
1132 FATAL.ERROR ^
1133 CALL ERROR
1134 HALTF
1135 JRST NETCON]^;FAILED, ISSUE MESSAGE AND CONTINUE
1136 006525' 326 01 0 00 016725' JRST .+1] ;CONTINUE
1137 006526' 260 17 0 00 012341' CALL PRSNOD ;PARSE NODE NAME
1138 006527' 254 00 0 00 006055' JRST DOREQE ;FAILED, RETURN ERROR
1139 006530' 202 01 0 17 777776 MOVEM T1,SNSNOD ^-^O2(P)^ ;SAVE POINTER TO NODE NAME
1140 006531' 260 17 0 00 012436' CALL PRSLID ;PARSE A LINE ID
1141 006532' 254 00 0 00 006055' JRST DOREQE ;FAILED
1142 STOR T1,NDSL1,(P3) ^;STORE SERVER LINE ID IN
1143 006533' 202 01 0 12 000012 MOVEM T1,12(P3)^
1144 STOR T2,NDSL2,(P3) ^; TARGET NODE NIB
1145 006534' 202 02 0 12 000013 MOVEM T2,13(P3)^
1146 006535' 200 01 0 17 777776 MOVE T1,SNSNOD ^-^O2(P)^ ;GET POINTER TO NODE NAME
1147 STOR T1,NDSRV,(P3) ^;PUT POINTER TO STRING IN NIB
1148 006536' 202 01 0 12 000011 MOVEM T1,11(P3)^
1149 LOAD T1,NDSRV,(P3) ^;GET POINTER TO ASCIZ SERVER NODE NAME
1150 006537' 200 01 0 12 000011 MOVE T1,11(P3)^
1151 006540' 260 17 0 00 006077' CALL FOCNIB ;GO GET ADDRESS OF SERVER'S NIB
1152 006541' 254 00 0 00 006055' JRST DOREQE ;FAILED
1153 LOAD T2,NDSL1,(P3) ^;GET FIRST PART OF SERVER LINE ID
1154 006542' 200 02 0 12 000012 MOVE T2,12(P3)^
1155 LOAD T3,NDSL2,(P3) ^;GET SECOND PART OF SERVER LINE ID
1156 006543' 200 03 0 12 000013 MOVE T3,13(P3)^
1157 006544' 260 17 0 00 015641' CALL FOCLIN ;FIND OR CREATE ENTRY FOR THIS LINE
1158 006545' 254 00 0 00 006055' JRST DOREQE ;FAILED
1159 STOR P3,LTNIB,(T1) ^;STORE NIB ADR OF TARGET NODE IN LINE TABLE
1160 006546' 542 12 0 01 000002 HRRM P3,2(T1)^
1161 006547' 254 00 0 00 006520* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 27
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1162 ;SET NODE LOAD-PARAMETERS
1163
1164 006550' 260 17 0 00 012427' SETNLP: CALL PRSCMA ;PARSED A COMMA ?
1165 006551' 255 00 0 00 000000 JFCL ;NO, TRY NEXT ARG TYPE
1166 006552' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
1167 RETSKP ^ ;YES, DONE
1168 006553' 254 00 0 00 006547* JRST RSKP
1169 006554' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
1170 006555' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
1171 006556' 201 02 0 00 006563' MOVEI T2,SETLPT ;GET ADR OF THE DISPATCH TABLE
1172 006557' 201 03 0 00 000004 MOVEI T3,SETLPL ;AND ITS LENGTH
1173 006560' 260 17 0 00 006067' CALL FNDDSP ;FIND THE DISPATCH ADDRESS
1174 006561' 254 00 0 00 006055' JRST DOREQE ;FAILED TO FIND IT
1175 006562' 254 00 0 01 000000 JRST (T1) ;DISPATCH
1176
1177 006563' 000033 006617' SETLPT: .DNLPH,,SETNHS ;SET NODE LOAD-PARAMETERS HOST
1178 006564' 000050 006605' .DNLPN,,SETNNM ;SET NODE LOAD-PARAMETERS NAME
1179 006565' 000057 006631' .DNLP1,,SETNNU ;SET NODE LOAD-PARAMETERS NUMBER
1180 006566' 000056 006567' .DNNON,,SETNON ;SET NODE LOAD-PARAMETERS NONE
1181 000004 SETLPL==.-SETLPT
1182
1183
1184 ;SET NODE LOAD-PARAMETERS NONE
1185
1186 006567' SETNON: LOAD T1,NDPNA,(P3) ^;GET POINTER TO NODE NAME
1187 006567' 200 01 0 12 000014 MOVE T1,14(P3)^
1188 SETZRO NDPNA,(P3) ^;CLEAR IT
1189 006570' 402 00 0 12 000014 SETZM 14(P3)^
1190 006571' 553 00 0 00 000001 HRRZS T1 ;GET ADR OF STRING
1191 006572' 322 01 0 00 006575' JUMPE T1,SETNO1 ;ANYTHING THERE?
1192 006573' 260 17 0 00 014115' CALL RELFRE ;YES, RELEASE THE SPACE
1193 FATAL.ERROR^
1194 CALL ERROR
1195 HALTF
1196 006574' 254 00 0 00 016623' JRST NETCON]^
1197 006575' SETNO1: LOAD T1,NDPHT,(P3) ^;GET POINTER TO HOST NAME
1198 006575' 200 01 0 12 000016 MOVE T1,16(P3)^
1199 SETZRO NDPHT,(P3) ^;ZERO THE ENTRY
1200 006576' 402 00 0 12 000016 SETZM 16(P3)^
1201 006577' 553 00 0 00 000001 HRRZS T1 ;GET JUST THE ADDRESS
1202 006600' 322 01 0 00 006603' JUMPE T1,SETNO2 ;ANYTHING THERE?
1203 006601' 260 17 0 00 014115' CALL RELFRE ;YES, RELEASE THE SPACE
1204 FATAL.ERROR^
1205 CALL ERROR
1206 HALTF
1207 006602' 254 00 0 00 016623' JRST NETCON]^
1208 006603' SETNO2: SETZRO NDPNU,(P3) ^;CLEAR THE NUMBER
1209 006603' 402 00 0 12 000015 SETZM 15(P3)^
1210 RETSKP ^ ;RETURN
1211 006604' 254 00 0 00 006553* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 28
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1212 ;SET NODE LOAD-PARAMETERS NAME
1213
1214 006605' SETNNM: STKVAR <NNMNOD>^
1215 006605' 265 16 0 00 006522* JSP .A16,.STKST
1216 006606' 000001 000001 ..STKN,,..STKN
1217 006607' 260 17 0 00 012341' CALL PRSNOD ;PARSE A NODE NAME
1218 RETBAD ()^ ;FAILED
1219 006610' 263 17 0 00 000000 IFB <>,< RET>
1220 006611' 202 01 0 17 777776 MOVEM T1,NNMNOD ^-^O2(P)^ ;SAVE POINTER TO NODE NAME
1221 LOAD T1,NDPNA,(P3) ^;GET PREVIOUS NAME
1222 006612' 200 01 0 12 000014 MOVE T1,14(P3)^
1223 JUMPN T1,[CALL RELFRE ;RELEASE THE OLD BLOCK
1224 FATAL.ERROR ^
1225 CALL ERROR
1226 HALTF
1227 JRST NETCON]^;FAILED, ISSUE MESSAGE AND CONTINUE
1228 006613' 326 01 0 00 016730' JRST .+1] ;CONTINUE
1229 006614' 200 01 0 17 777776 MOVE T1,NNMNOD ^-^O2(P)^ ;GET NEW NODE NAME
1230 STOR T1,NDPNA,(P3) ^;STORE NEW NAME IN NIB
1231 006615' 202 01 0 12 000014 MOVEM T1,14(P3)^
1232 006616' 254 00 0 00 006550' JRST SETNLP ;LOOP BACK FOR ANY OTHER PARAMETERS
1233
1234
1235
1236 ;SET NODE LOAD-PARAMETERS HOST
1237
1238 006617' SETNHS: STKVAR <NHSNOD>^
1239 006617' 265 16 0 00 006605* JSP .A16,.STKST
1240 006620' 000001 000001 ..STKN,,..STKN
1241 006621' 260 17 0 00 012341' CALL PRSNOD ;PARSE A NODE NAME
1242 RETBAD ()^ ;FAILED
1243 006622' 263 17 0 00 000000 IFB <>,< RET>
1244 006623' 202 01 0 17 777776 MOVEM T1,NHSNOD ^-^O2(P)^ ;SAVE POINTER TO NODE NAME
1245 LOAD T1,NDPHT,(P3) ^;GET POINTER TO SERVER NODE NAME
1246 006624' 200 01 0 12 000016 MOVE T1,16(P3)^
1247 JUMPN T1,[CALL RELFRE ;RELEASE THE OLD BLOCK
1248 FATAL.ERROR ^
1249 CALL ERROR
1250 HALTF
1251 JRST NETCON]^;FAILED, ISSUE MESSAGE AND CONTINUE
1252 006625' 326 01 0 00 016733' JRST .+1] ;CONTINUE
1253 006626' 200 01 0 17 777776 MOVE T1,NHSNOD ^-^O2(P)^ ;GET NEW NODE NAME
1254 STOR T1,NDPHT,(P3) ^;PUT POINTER TO STRING IN NIB
1255 006627' 202 01 0 12 000016 MOVEM T1,16(P3)^
1256 006630' 254 00 0 00 006550' JRST SETNLP ;LOOP BACK FOR ANY OTHER PARAMETERS
1257
1258
1259
1260 ;SET NODE LOAD-PARAMETERS NUMBER
1261
1262 006631' 260 17 0 00 012400' SETNNU: CALL PRSNUM ;PARSE NODE NUMBER
1263 RETBAD ()^ ;FAILED
1264 006632' 263 17 0 00 000000 IFB <>,< RET>
1265 STOR T1,NDPNU,(P3) ^;STORE THE NUMBER
1266 006633' 202 01 0 12 000015 MOVEM T1,15(P3)^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 28-1
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1267 006634' 254 00 0 00 006550' JRST SETNLP ;LOOP BACK FOR ANY OTHER PARAMETERS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 29
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1268
1269 006635' SETSDF: MOVX Q1,.PTSDM ^;SET SECONDARY-DUMP-FILE
1270 006635' 201 05 0 00 000003 MOVEI Q1,..MX1>
1271 006636' 254 00 0 00 006645' JRST SETFIL ;GO STORE FILESPEC
1272
1273 006637' SETSLF: MOVX Q1,.PTSLD ^;SET SECONDARY-LOAD-FILE
1274 006637' 201 05 0 00 000000 MOVEI Q1,..MX1>
1275 006640' 254 00 0 00 006645' JRST SETFIL ;GO STORE FILESPEC
1276
1277 006641' SETTDF: MOVX Q1,.PTTDM ^;SET TERTIARY-DUMP-FILE
1278 006641' 201 05 0 00 000004 MOVEI Q1,..MX1>
1279 006642' 254 00 0 00 006645' JRST SETFIL ;GO STORE FILESPEC
1280
1281 006643' SETTLF: MOVX Q1,.PTTLD ^;SET TERTIARY-LOAD FILE
1282 006643' 201 05 0 00 000001 MOVEI Q1,..MX1>
1283 006644' 254 00 0 00 006645' JRST SETFIL ;GO STORE FILESPEC
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 30
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1284 ; SETFIL - ROUTINE TO SET UP DUMP OR LOAD FILE SPECS
1285 ;
1286 ;ACCEPTS IN Q1/ PROGRAM TYPE
1287
1288 006645' SETFIL: STKVAR <SFLFIL>^
1289 006645' 265 16 0 00 006617* JSP .A16,.STKST
1290 006646' 000001 000001 ..STKN,,..STKN
1291 006647' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
1292 006650' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1293 006651' 201 02 0 00 006711' MOVEI T2,SETDVT ;GET POINTER TO DEVICE TABLE
1294 006652' 201 03 0 00 000015 MOVEI T3,SETDVL ;AND LENGTH OF TABLE
1295 006653' 260 17 0 00 006067' CALL FNDDSP ;FIND DEVICE TYPE
1296 006654' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
1297 006655' 200 06 0 00 000001 MOVE Q2,T1 ;SAVE DEVICE TYPE
1298 006656' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
1299 006657' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1300 006660' 201 02 0 00 006726' MOVEI T2,SETCPT ;GET POINTER TO CPU TABLE
1301 006661' 201 03 0 00 000003 MOVEI T3,SETCPL ;AND ITS LENGTH
1302 006662' 260 17 0 00 006067' CALL FNDDSP ;GET CPU TYPE CODE
1303 006663' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
1304 006664' 200 07 0 00 000001 MOVE Q3,T1 ;SAVE CPU TYPE
1305 006665' 200 01 0 00 000006 MOVE T1,Q2 ;NOW FIND THE PGM TABLE ENTRY FOR THIS
1306 006666' 200 02 0 00 000007 MOVE T2,Q3 ;SET UP DEVICE TYPE AND CPU TYPE
1307 006667' 200 03 0 00 000005 MOVE T3,Q1 ;AND PROGRAM TYPE
1308 006670' 260 17 0 00 015666' CALL FOCPGM ;GO GET A PGM TABLE ENTRY
1309 RETBAD (.ERR15)^ ;NO MORE SPACE FOR A NEW ENTRY
1310 IFNB <.ERR15>,< JRST [ MOVEI T1,.ERR15
1311 006671' 254 00 0 00 016736' RET]>>
1312 006672' 200 06 0 00 000001 MOVE Q2,T1 ;SAVE THE ADDRESS OF THE ENTRY
1313 006673' 260 17 0 00 012357' CALL PRSFIL ;PARSE A FILE-SPEC
1314 RETBAD ()^ ;FAILED, RETURN ERROR
1315 006674' 263 17 0 00 000000 IFB <>,< RET>
1316 006675' 202 01 0 17 777776 MOVEM T1,SFLFIL ^-^O2(P)^ ;SAVE FILE SPEC
1317 006676' 260 17 0 00 012335' CALL PRSCFM ;PARSE COMMAND CONFIRMATION
1318 RETBAD ()^ ;FAILED
1319 006677' 263 17 0 00 000000 IFB <>,< RET>
1320 LOAD T1,PGFIL,(Q2) ^;GET OLD FILE SPEC
1321 006700' 200 01 0 06 000002 MOVE T1,2(Q2)^
1322 JUMPN T1,[CALL RELFRE ;RELEASE THE OLD BLOCK
1323 FATAL.ERROR ^
1324 CALL ERROR
1325 HALTF
1326 JRST NETCON]^;FAILED, ISSUE MESSAGE AND CONTINUE
1327 006701' 326 01 0 00 016740' JRST .+1] ;CONTINUE
1328 006702' 200 01 0 17 777776 MOVE T1,SFLFIL ^-^O2(P)^ ;GET FILE SPEC
1329 STOR T1,PGFIL,(Q2) ^;STORE THE NEW FILE SPEC
1330 006703' 202 01 0 06 000002 MOVEM T1,2(Q2)^
1331 RETSKP ^ ;DONE
1332 006704' 254 00 0 00 006604* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 31
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1333 006705' 000074 000003 SETFTB: .DNSSD,,.PTSDM ;SET SECONDARY-DUMP-FILE
1334 006706' 000075 000000 .DNSSL,,.PTSLD ;SET SECONDARY-LOAD-FILE
1335 006707' 000110 000004 .DNSTD,,.PTTDM ;SET TERTIARY-DUMP-FILE
1336 006710' 000111 000001 .DNSTL,,.PTTLD ;SET TERTIARY-LOAD-FILE
1337 000004 SETFTL==.-SETFTB
1338
1339 006711' 000014 000000 SETDVT: .DND11,,.DTP11 ;DP11
1340 006712' 000036 000034 .DNKDP,,.DTKDP ;KMC-DUP
1341 006713' 000037 000036 .DNKDZ,,.DTKDZ ;KMC-DZ
1342 006714' 000017 000002 .DNU11,,.DTU11 ;DU11
1343 006715' 000011 000004 .DNL1E,,.DTL1E ;DL11E
1344 006716' 000015 000006 .DNQ11,,.DTQ11 ;DQ11
1345 006717' 000006 000010 .DNA11,,.DTA11 ;DA11A
1346 006720' 000020 000012 .DNDUP,,.DTDUP ;DUP11
1347 006721' 000013 000014 .DNDMC,,.DTDMC ;DMC11
1348 006722' 000012 000016 .DNDLV,,.DTDLV ;DLV11
1349 006723' 000010 000020 .DNL1A,,.DTL1A ;DL11A
1350 006724' 000016 000024 .DNDTE,,.DTDTE ;DTE-20
1351 006725' 000024 000026 .DNDV1,,.DTDV1 ;DV11
1352 000015 SETDVL==.-SETDVT
1353
1354 006726' 000066 000000 SETCPT: .DNP8,,.CP8 ;PDP-8
1355 006727' 000065 000001 .DNP11,,.CP11 ;PDP-11
1356 006730' 000007 000002 .DND20,,.CP20 ;DEC-20
1357 000003 SETCPL==.-SETCPT
1358
1359
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 32
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1360
1361 ;SET STATE LINE LINE-ID OFF/ON
1362
1363 006731' 260 17 0 00 012326' SETSTA: CALL PRSKEY ;PARSE A KEYWORD
1364 006732' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
1365 006733' 302 01 0 00 000040 CAIE T1,.DNSLI ;IS THIS LINE ?
1366 006734' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
1367 006735' 260 17 0 00 012436' CALL PRSLID ;PARSE THE LINE-ID
1368 RETBAD (.ERR23)^ ;<Invalid line-id>
1369 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
1370 006736' 254 00 0 00 016707' RET]>>
1371 006737' 120 05 0 00 000001 DMOVE Q1,T1 ;SAVE LINE ID
1372 006740' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
1373 006741' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
1374 006742' 200 07 0 00 000001 MOVE Q3,T1 ;COPY LINE STATE KEYWORD
1375 006743' 260 17 0 00 012335' CALL PRSCFM ;PARSE CONFIRMATION
1376 006744' 254 00 0 00 006055' JRST DOREQE ;FAILED
1377 006745' 200 01 0 00 000007 MOVE T1,Q3 ;GET LINE STATE CODE FROM COMMAND
1378 006746' 201 02 0 00 006756' MOVEI T2,LSTTAB ;GET ADDRESS OF LINE STATE TABLE
1379 006747' 201 03 0 00 000005 MOVEI T3,LSTLEN ;GET LENGTH OF TABLE
1380 006750' 260 17 0 00 006067' CALL FNDDSP ;GET NICE PROTOCOL LINE STATE CODE
1381 RETBAD ()^ ;FAILED
1382 006751' 263 17 0 00 000000 IFB <>,< RET>
1383 006752' 120 02 0 00 000005 DMOVE T2,Q1 ;GET LINE ID
1384 006753' 260 17 0 00 007021' CALL LINSET ;GO SEND MSG TO SET LINE STATE
1385 RETBAD ()^ ;FAILED
1386 006754' 263 17 0 00 000000 IFB <>,< RET>
1387 RETSKP ^ ;DONE
1388 006755' 254 00 0 00 006704* JRST RSKP
1389
1390
1391 ; TABLE OF LINE STATE CODE MAPPINGS
1392
1393 006756' 000061 000000 LSTTAB: .DNSSO,,.LSTON
1394 006757' 000060 000001 .DNSSF,,.LSTOF
1395 006760' 000127 000005 .DNCNL,,.LSTCN
1396 006761' 000130 000006 .DNCBL,,.LSTCB
1397 006762' 000146 000004 .DNMNT,,.LSTMN
1398
1399 000005 LSTLEN==.-LSTTAB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 33
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1400
1401 ;SET NODE node AUTO-DUMP
1402
1403 006763' 260 17 0 00 012326' SETADM: CALL PRSKEY ;GET THE NEXT KEYWORD
1404 006764' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1405 006765' 201 02 0 00 006772' MOVEI T2,SETDDL ;GET DISPATCH TABLE ADDRESS
1406 006766' 201 03 0 00 000002 MOVEI T3,SETDLN ; AND LENGTH OF TABLE
1407 006767' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
1408 006770' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1409 006771' 254 00 0 01 000000 JRST (T1)
1410
1411 006772' 000122 006774' SETDDL: .DNEAB,,SETDEN ;SET NODE node AUTO-DUMP ENABLED
1412 006773' 000121 006777' .DNDAB,,SETDDA ;SET NODE node AUTO-DUMP DISABLED
1413 000002 SETDLN==.-SETDDL
1414
1415 ; SET NODE node AUTO-DUMP ENABLED
1416
1417 006774' SETDEN: SETONE NDFRD,(P3) ^;TURN ON AUTO DUMPING
1418 006774' 205 16 0 00 040000 MOVSI .SAC,(..MX1)>>
1419 006775' 436 16 0 12 000000 IORM .SAC,0(P3)
1420 006776' 254 00 0 00 006755* RETSKP^JRST RSKP^
1421
1422 ;SET NODE node AUTO-DUMP DISABLED
1423
1424 006777' SETDDA: SETZRO NDFRD,(P3) ^;TURN OFF AUTO DUMPING
1425 006777' 205 16 0 00 040000 MOVSI .SAC,(..MX1)>>
1426 007000' 412 16 0 12 000000 ANDCAM .SAC,0(P3)
1427 007001' 254 00 0 00 006776* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 34
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1428
1429 ;SET NODE node AUTO-LOAD
1430
1431 007002' 260 17 0 00 012326' SETALD: CALL PRSKEY ;GET THE NEXT KEYWORD
1432 007003' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1433 007004' 201 02 0 00 007011' MOVEI T2,SETLDL ;GET DISPATCH TABLE ADDRESS
1434 007005' 201 03 0 00 000002 MOVEI T3,SETLLN ; AND LENGTH OF TABLE
1435 007006' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
1436 007007' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
1437 007010' 254 00 0 01 000000 JRST (T1)
1438
1439 007011' 000122 007013' SETLDL: .DNEAB,,SETLEN ;SET NODE node AUTO-LOAD ENABLED
1440 007012' 000121 007016' .DNDAB,,SETLDA ;SET NODE node AUTO-LOAD DISABLED
1441 000002 SETLLN==.-SETLDL
1442
1443 ; SET NODE node AUTO-LOAD ENABLED
1444
1445 007013' SETLEN: SETONE NDFRL,(P3) ^;TURN ON AUTO LOADING
1446 007013' 205 16 0 00 020000 MOVSI .SAC,(..MX1)>>
1447 007014' 436 16 0 12 000000 IORM .SAC,0(P3)
1448 007015' 254 00 0 00 007001* RETSKP^JRST RSKP^
1449
1450 ;SET NODE node AUTO-LOAD DISABLED
1451
1452 007016' SETLDA: SETZRO NDFRL,(P3) ^;TURN OFF AUTO LOADING
1453 007016' 205 16 0 00 020000 MOVSI .SAC,(..MX1)>>
1454 007017' 412 16 0 12 000000 ANDCAM .SAC,0(P3)
1455 007020' 254 00 0 00 007015* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 35
NCP MAC 5-Oct-81 16:46 NCP -- SET Command
1456 ;LINSET - ROUTINE TO ASSEMBLE AND SEND A NICE "SET PARAMETERS" MSG
1457 ; TO SET A LINE STATE
1458 ;
1459 ;ACCEPTS IN T1/ LINE STATE
1460 ; T2-T3/ STANDARD NICE LINE ID
1461 ; CALL LINSET
1462 ;RETURNS: +1 FAILED
1463 ; +2 SUCCESS, MESSAGE SENT
1464
1465 007021' LINSET: STKVAR <<LNSMSG,50>>^
1466 007021' 265 16 0 00 006645* JSP .A16,.STKST
1467 007022' 000050 000050 ..STKN,,..STKN
1468 007023' 201 04 0 17 777727 MOVEI T4,LNSMSG ^-^O51(P)^ ;GET ADDRESS WHERE MESSAGE IS TO GO
1469 007024' 260 17 0 00 000000* CALL MAKSLN ;GO ASSEMBLE A NICE "SET PARAMETER" MESSAGE
1470 RETBAD ()^ ;FAILED, RETURN ERROR
1471 007025' 263 17 0 00 000000 IFB <>,< RET>
1472 007026' 200 04 0 00 016743' MOVE T4,[.NCSET,,.NCSLN] ;GET NICE FUNCTION CODE,,OPTION CODE
1473 007027' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
1474 007030' 200 02 0 00 000001 MOVE T2,T1 ;COPY POINTER TO START OF MESSAGE
1475 007031' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
1476 007032' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
1477 007033' 200 03 0 00 006346* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
1478 007034' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
1479 RETBAD ()^ ;FAILED
1480 007035' 263 17 0 00 000000 IFB <>,< RET>
1481 007036' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
1482 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
1483 007037' 201 02 0 00 000001 MOVEI T2,..MX1>
1484 STOR T2,QUEFLG,(T1)^
1485 007040' 542 02 0 01 000001 HRRM T2,1(T1)^
1486 RETSKP ^ ;DONE, RETURN SUCCESS
1487 007041' 254 00 0 00 007020* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 36
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1488 SUBTTL NCP -- LOAD Command
1489
1490 007042' 260 17 0 00 012326' LOAREQ: CALL PRSKEY ;PARSE A KEYWORD
1491 007043' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
1492 007044' 201 02 0 00 007051' MOVEI T2,LOARTB ;GET DISPATCH ADDRESS
1493 007045' 201 03 0 00 000003 MOVEI T3,LOARTL ;GET LENGTH OF DISPATCH TABLE
1494 007046' 260 17 0 00 006067' CALL FNDDSP ;GET ADDRESS TO DISPATCH TO
1495 007047' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
1496 007050' 254 00 0 01 000000 JRST (T1) ;DISPATCH
1497
1498 007051' 000040 007054' LOARTB: .DNSLI,,LOALIN ;LOAD LINE
1499 007052' 000055 007266' .DNNOD,,LOAREM ;LOAD REMOTE
1500 007053' 000115 007265' .DNVIA,,LOAVIA ;LOAD VIA
1501 000003 LOARTL==.-LOARTB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 37
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1502
1503 ;LOAD LINE-ID (from) FILESPEC
1504 007054' LOALIN: STKVAR <<BTLBLK,14>,<BTLPAG,2>,BTLFIL>^
1505 007054' 265 16 0 00 007021* JSP .A16,.STKST
1506 007055' 000017 000017 ..STKN,,..STKN
1507 007056' 260 17 0 00 007722' CALL PRSKDP ;GET KMC11 ADR
1508 RETBAD (.ERR23)^ ;<Invalid line-id>
1509 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
1510 007057' 254 00 0 00 016707' RET]>>
1511 007060' 202 01 0 17 777763 MOVEM T1,.BTKMC+BTLBLK ^-^O15(P)^;SAVE ADR OF KMC11 TO LOAD
1512 ; CALL PRSKEY ;PARSE KEYWORD
1513 ; RETBAD () ;FAILED
1514 ; CAIE T1,.DNLFR ;KEYWORD "FROM" ?
1515 ; JRST DOREQE ;NO, UNIMPLEMENTED COMMAND
1516 007061' 260 17 0 00 012363' CALL PRSIFI ;PARSE AN INPUT FILE
1517 RETBAD ()^ ;FAILED
1518 007062' 263 17 0 00 000000 IFB <>,< RET>
1519 007063' 202 01 0 17 777760 MOVEM T1,BTLFIL ^-^O20(P)^ ;SAVE POINTER TO FILE SPEC FOR LATER
1520 007064' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
1521 RETBAD ()^ ;FAILED
1522 007065' 263 17 0 00 000000 IFB <>,< RET>
1523 007066' 200 02 0 17 777760 MOVE T2,BTLFIL ^-^O20(P)^ ;COPY POINTER TO FILESPEC
1524 MOVX T1,GJ%OLD!GJ%SHT ^;FILE FOR INPUT USE, SHORT CALL
1525 007067' 205 01 0 00 100001 MOVSI T1,(..MX1)>>
1526 007070' 104 00 0 00 000020 GTJFN ;GET A JFN FOR INPUT FILE
1527 RETBAD (.ERR24)^ ;<Could not open file>
1528 IFNB <.ERR24>,< JRST [ MOVEI T1,.ERR24
1529 007071' 254 00 0 00 016744' RET]>>
1530 007072' 552 01 0 17 777760 HRRZM T1,BTLFIL ^-^O20(P)^ ;SAVE JFN
1531 007073' 200 02 0 00 016746' MOVE T2,[070000,,OF%RD] ;7-BIT BYTES, READ ACCESS ONLY
1532 007074' 104 00 0 00 000021 OPENF ;OPEN THE FILE
1533 JRST [ MOVEI T4,.ERR24 ;<Could not open file>
1534 007075' 254 00 0 00 016747' JRST LOAKD6 ]
1535 007076' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE ADR FOR CRAM DATA
1536 JRST [ MOVE T4,T1 ;COPY ERROR CODE
1537 007077' 254 00 0 00 016751' JRST LOAKD6 ]
1538 007100' 202 02 0 17 777761 MOVEM T2,BTLPAG ^-^O17(P)^ ;SAVE ADR OF FIRST WORD IN PAGE
1539 007101' 402 00 0 02 000000 SETZM (T2) ;CLEAR FIRST WORD IN PAGE
1540 007102' 505 01 0 02 000000 HRLI T1,(T2) ;MAKE BLT POINTER
1541 007103' 541 01 0 02 000001 HRRI T1,1(T2)
1542 007104' 251 01 0 02 000777 BLT T1,777(T2) ;CLEAR THE PAGE
1543 007105' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE ADR FOR DRAM DATA
1544 JRST [ MOVE T4,T1 ;COPY ERROR CODE
1545 007106' 254 00 0 00 016753' JRST LOAKD5 ]
1546 007107' 202 02 0 17 777762 MOVEM T2,1+BTLPAG ^-^O17(P)^;SAVE ADR OF FIRST WORD IN PAGE
1547 007110' 402 00 0 02 000000 SETZM (T2) ;CLEAR FIRST WORD IN PAGE
1548 007111' 505 01 0 02 000000 HRLI T1,(T2) ;MAKE BLT POINTER
1549 007112' 541 01 0 02 000001 HRRI T1,1(T2)
1550 007113' 251 01 0 02 000777 BLT T1,777(T2) ;CLEAR THE PAGE
1551 007114' 402 00 0 17 777773 SETZM .BTKSA+BTLBLK ^-^O15(P)^;NO STARTING ADDRESS YET
1552 007115' 200 01 0 17 777760 MOVE T1,BTLFIL ^-^O20(P)^ ;GET FILE JFN
1553 007116' 104 00 0 00 000050 LOAKD1: BIN ;GET NEXT BYTE
1554 007117' 320 16 0 00 007141' ERJMP LOAKD3 ;IN CASE EOF
1555 007120' 306 02 0 00 000103 CAIN T2,"C" ;IS THIS CRAM DATA ?
1556 007121' 254 00 0 00 007177' JRST LDKMC1 ;LOADING THE CRAM
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 37-1
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1557 007122' 306 02 0 00 000104 CAIN T2,"D" ;IS THIS DRAM DATA ?
1558 007123' 254 00 0 00 007206' JRST LDKMD1 ;LOADING THE DRAM
1559 007124' 302 02 0 00 000015 CAIE T2,15 ;IS THIS A CARRIAGE RETURN ?
1560 007125' 306 02 0 00 000012 CAIN T2,12 ;OR A LINE FEED ?
1561 007126' 254 00 0 00 007116' JRST LOAKD1 ;YES SO LOOK FOR COMMAND TYPE
1562 007127' 306 02 0 00 000014 CAIN T2,14 ;OR A FORM FEED ?
1563 007130' 254 00 0 00 007116' JRST LOAKD1 ;YES SO LOOK FOR TYPE OF COMMAND
1564 007131' 302 02 0 00 000073 CAIE T2,";" ;IS THIS A COMMENT LINE ?
1565 007132' 254 00 0 00 007213' JRST LOAKMX ;Bad data in load file
1566 007133' 104 00 0 00 000050 LOAKD2: BIN ;GET NEXT CHARACTER
1567 007134' 320 16 0 00 007141' ERJMP LOAKD3
1568 007135' 302 02 0 00 000012 CAIE T2,12 ;IS THIS A LINE FEED ?
1569 007136' 306 02 0 00 000014 CAIN T2,14 ;OR A FORM FEED
1570 007137' 254 00 0 00 007116' JRST LOAKD1 ;YES SO LOOK FOR COMMAND CHARACTER
1571 007140' 254 00 0 00 007133' JRST LOAKD2 ;KEEP FLUSHING LINE
1572
1573 007141' 402 00 0 17 777764 LOAKD3: SETZM .BTKER+BTLBLK ^-^O15(P)^;INITIALIZE FLAGS
1574 007142' 200 01 0 17 777761 MOVE T1,BTLPAG ^-^O17(P)^ ;GET ADR OF PAGE
1575 007143' 505 01 0 00 442000 HRLI T1,(POINT 16,) ;MAKE INTO BYTE POINTER
1576 007144' 202 01 0 17 777766 MOVEM T1,.BTKCP+BTLBLK^-^O15(P)^
1577 007145' 201 01 0 00 002000 MOVEI T1,2000 ;COUNT FOR CRAM
1578 007146' 202 01 0 17 777765 MOVEM T1,.BTKCC+BTLBLK^-^O15(P)^
1579 007147' 200 01 0 17 777762 MOVE T1,1+BTLPAG ^-^O17(P)^;GET ADR OF PAGE
1580 007150' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;MAKE INTO BYTE POINTER
1581 007151' 202 01 0 17 777770 MOVEM T1,.BTKDP+BTLBLK^-^O15(P)^
1582 007152' 201 01 0 00 002000 MOVEI T1,2000 ;COUNT FOR DRAM
1583 007153' 202 01 0 17 777767 MOVEM T1,.BTKDC+BTLBLK^-^O15(P)^
1584 007154' 402 00 0 17 777771 SETZM .BTKRC+BTLBLK ^-^O15(P)^;NOT LOADING REGISTERS
1585 007155' 201 01 0 00 000011 MOVEI T1,.BTKML ;WANT TO LOAD THE KMC11
1586 007156' 201 02 0 17 777763 MOVEI T2,BTLBLK ^-^O15(P)^ ;POINT TO BLOCK
1587 007157' 104 00 0 00 000562 BOOT
1588 ERJMP [MOVEI T4,.ERR19 ;JSYS error
1589 007160' 320 16 0 00 016755' JRST LOAKD4 ]
1590 007161' 400 04 0 00 000000 SETZ T4, ;LOAD WON
1591 007162' 200 01 0 17 777762 LOAKD4: MOVE T1,1+BTLPAG ^-^O17(P)^;GET ADR OF FIRST WORD IN PAGE
1592 007163' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
1593 007164' 200 04 0 00 000001 MOVE T4,T1 ;COPY ERROR CODE
1594 007165' 200 01 0 17 777761 LOAKD5: MOVE T1,BTLPAG ^-^O17(P)^ ;GET ADR OF FIRST WORD IN PAGE
1595 007166' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
1596 007167' 200 04 0 00 000001 MOVE T4,T1 ;COPY ERROR CODE
1597 007170' 200 01 0 17 777760 LOAKD6: MOVE T1,BTLFIL ^-^O20(P)^ ;GET FILE JFN
1598 007171' 104 00 0 00 000023 RLJFN ;RELEASE THE JFN
1599 007172' 320 16 0 00 007173' ERJMP .+1
1600 007173' 332 01 0 00 000004 SKIPE T1,T4 ;WAS THERE AN ERROR ?
1601 007174' 263 17 0 00 000000 RET ;YES SO LOSE RETURN
1602 007175' 254 00 0 00 007041* RETSKP^JRST RSKP^
1603 007176' 254 00 0 00 006055' JRST DOREQE ;CAN'T DO IT
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 38
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1604 ;HERE TO READ CRAM DATA TO LOAD IN KMC11
1605 007177' 200 02 0 17 777761 LDKMC1: MOVE T2,BTLPAG ^-^O17(P)^ ;GET ADR OF PAGE
1606 007200' 505 02 0 00 442000 HRLI T2,(POINT 16,) ;MAKE POINTER TO AREA
1607 007201' 260 17 0 00 007215' CALL LDKMCX ;GET THE DATA
1608 007202' 254 00 0 00 007213' JRST LOAKMX ;LOST
1609 007203' 332 00 0 00 000002 SKIPE T2 ;WAS THIS A STARTING ADDRESS ?
1610 007204' 202 02 0 17 777773 MOVEM T2,.BTKSA+BTLBLK ^-^O15(P)^;SAVE STARTING ADDRESS
1611 007205' 254 00 0 00 007116' JRST LOAKD1 ;ON TO NEXT LINE
1612
1613 ;HERE TO READ DRAM DATA TO LOAD IN KMC11
1614 007206' 200 02 0 17 777762 LDKMD1: MOVE T2,1+BTLPAG ^-^O17(P)^;GET ADR OF PAGE
1615 007207' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;MAKE POINTER TO DATA
1616 007210' 260 17 0 00 007215' CALL LDKMCX ;GET THE DATA
1617 007211' 254 00 0 00 007213' JRST LOAKMX ;LOST
1618 007212' 322 02 0 00 007116' JUMPE T2,LOAKD1 ;ON TO NEXT LINE
1619 007213' 201 04 0 00 500030 LOAKMX: MOVEI T4,.ERR25 ;Bad data in load file
1620 007214' 254 00 0 00 007162' JRST LOAKD4
1621
1622 007215' LDKMCX: SAVEQ ^ ;SAVE THE Q REGISTERS
1623 007215' 265 16 0 00 014432' JSP CX,SAVQ
1624 007216' 200 05 0 00 000002 MOVE Q1,T2 ;SAVE POINTER
1625 007217' 104 00 0 00 000050 BIN ;GET SPACE
1626 007220' 320 16 0 00 000000* ERJMP R ;LOSE ON EOF
1627 007221' 400 04 0 00 000000 SETZ T4, ;ACCUMULATE THE CHECKSUM HERE
1628 007222' 306 02 0 00 000040 CAIN T2,40 ;IS THIS A SPACE ?
1629 007223' 260 17 0 00 007251' CALL LOAKMN ;GET WORD COUNT FROM THE FILE
1630 007224' 263 17 0 00 000000 RET ;LOST
1631 007225' 331 06 0 00 000002 SKIPL Q2,T2 ;SAVE COUNT
1632 007226' 260 17 0 00 007251' CALL LOAKMN ;GET ADDRESS FROM THE FILE
1633 007227' 263 17 0 00 000000 RET ;LOST
1634 007230' 337 03 0 00 000006 SKIPG T3,Q2 ;COPY COUNT
1635 JRST [ MOVEM T2,Q1 ;SAVE STARTING ADDRESS
1636 CALL LOAKMN ;GET THE CHECKSUM
1637 RET ;LOST
1638 MOVE T2,Q1 ;PICK UP STARTING ADDRESS
1639 HRLI T2,(BT%KSA) ;THIS IS A STARTING ADDRESS
1640 JUMPE T4,RSKP ;IF CHECKSUM OK WE WON
1641 007231' 254 00 0 00 016757' RET ]
1642 007232' 271 03 0 00 000002 ADDI T3,T2
1643 007233' 303 03 0 00 002000 CAILE T3,2000 ;IS THIS REASONABLE ?
1644 007234' 263 17 0 00 000000 RET
1645 007235' 304 00 0 00 000000 CAIA
1646 007236' 133 00 0 00 000005 IBP Q1 ;ADVANCE BYTE POINTER
1647 007237' 365 02 0 00 007236' SOJGE T2,.-1 ;LOOP TILL HIT RIGHT BYTE
1648 007240' 260 17 0 00 007251' CALL LOAKMN ;GET NEXT DATA BYTE
1649 007241' 263 17 0 00 000000 RET
1650 007242' 136 02 0 00 000005 IDPB T2,Q1 ;PUT BYTE INTO DATA
1651 007243' 367 06 0 00 007240' SOJG Q2,.-3
1652 007244' 260 17 0 00 007251' CALL LOAKMN ;GET THE CHECKSUM
1653 007245' 263 17 0 00 000000 RET
1654 007246' 400 02 0 00 000000 SETZ T2,
1655 007247' 322 04 0 00 007175* JUMPE T4,RSKP ;IF CHKSUM IS 0 WE WON
1656 007250' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 39
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1657 ;HERE TO GET A NUMBER FROM A LOAD FILE
1658 007251' LOAKMN: SAVEQ ^ ;SAVE THE Q REGISTERS
1659 007251' 265 16 0 00 014432' JSP CX,SAVQ
1660 007252' 403 06 0 00 000007 SETZB Q2,Q3 ;BUILD NUMBER HERE
1661 007253' 104 00 0 00 000050 LOAKM2: BIN ;GET
1662 007254' 320 16 0 00 007220* ERJMP R
1663 007255' 301 02 0 00 000075 CAIL T2,75 ;IS THIS ENCODED DATA ?
1664 007256' 303 02 0 00 000174 CAILE T2,174
1665 JRST [ IMULI Q3,6 ;MAKE HOW MUCH TO ROTATE BACK
1666 ROTC Q1,(Q3)
1667 MOVE T2,Q2 ;COPY DATA
1668 ADD T4,Q2 ;INCLUDE IN CHECKSUM
1669 ANDI T4,177777 ;STRIP OVERFLOW
1670 007257' 254 00 0 00 016766' RETSKP ^JRST RSKP^]
1671 007260' 405 02 0 00 000077 ANDI T2,77 ;STRIP EXTRA BITS
1672 007261' 271 06 0 02 000000 ADDI Q2,(T2) ;INCLUDE IN NUMBER
1673 007262' 245 05 0 00 777772 ROTC Q1,-6 ;POSITION OLD BITS
1674 007263' 344 07 0 00 007253' AOJA Q3,LOAKM2 ;GET NEXT CHARACTER
1675 007264' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 40
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1676 007265' 254 00 0 00 006055' LOAVIA: JRST DOREQE ;LOAD VIA NOT YET SUPPORTED
1677
1678
1679
1680
1681
1682 007266' LOAREM: STKVAR <<LOARMS,24>,<LOARBP,2>,LOARMC,LOARFS,LOARHO,LOARSV,LOARSL,LOARNM,LOARNU,LOAR
1683 NO,LOARCT,LOARSP>^
1684 007266' 265 16 0 00 007054* JSP .A16,.STKST
1685 007267' 000040 000040 ..STKN,,..STKN
1686 007270' 402 00 0 17 777751 SETZM LOARBP ^-^O27(P)^ ;NO BOOT
1687 007271' 402 00 0 17 777752 SETZM 1+LOARBP ^-^O27(P)^ ; PASSWORD YET
1688 007272' 402 00 0 17 777746 SETZM LOARHO ^-^O32(P)^ ;NO HOST YET
1689 007273' 402 00 0 17 777743 SETZM LOARNM ^-^O35(P)^ ;NO NAME YET
1690 007274' 402 00 0 17 777741 SETZM LOARNO ^-^O37(P)^ ;HAVE NOT SEEN "NONE" YET
1691 007275' 476 00 0 17 777742 SETOM LOARNU ^-^O36(P)^ ;NO NUMBER YET
1692 007276' 402 00 0 17 777747 SETZM LOARFS ^-^O31(P)^ ;NO FILE SPEC YET
1693 007277' 402 00 0 17 777745 SETZM LOARSV ^-^O33(P)^ ;NO SERVER SPECIFICATION
1694 007300' 402 00 0 17 777744 SETZM LOARSL ^-^O34(P)^ ;NOR A SERVER LINE
1695 007301' 260 17 0 00 012341' CALL PRSNOD ;PARSE A NODE NAME
1696 007302' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A NODE NAME
1697 007303' 260 17 0 00 006077' CALL FOCNIB ;GET A NIB ADDRESS FOR THIS NODE
1698 RETBAD ()^ ;NOT FOUND
1699 007304' 263 17 0 00 000000 IFB <>,< RET>
1700 007305' 200 06 0 00 000001 MOVE Q2,T1 ;SAVE THE ADDRESS OF THE NODE NIB
1701 007306' 260 17 0 00 012335' LOARML: CALL PRSCFM ;END OF COMMAND ?
1702 007307' 334 00 0 00 000000 SKIPA ;NO, GO ON
1703 007310' 254 00 0 00 007376' JRST LOARMD ;YES, GO SEND NICE LOAD REQ MESSAGE
1704 007311' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
1705 RETBAD ()^ ;FAILED
1706 007312' 263 17 0 00 000000 IFB <>,< RET>
1707 007313' 201 02 0 00 007320' MOVEI T2,LORMTB ;GET DISPATCH TABLE ADDRESS
1708 007314' 201 03 0 00 000003 MOVEI T3,LORMTL ;AND ITS LENGTH
1709 007315' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
1710 007316' 254 00 0 00 006055' JRST DOREQE ;UNKNOWN KEYWORD
1711 007317' 254 00 0 01 000000 JRST 0(T1) ;DISPATCH
1712
1713 007320' 000032 007323' LORMTB: .DNLFR,,LOARFR ;LOAD REMOTE FROM
1714 007321' 000115 007327' .DNVIA,,LOARVI ;LOAD REMOTE VIA
1715 007322' 000063 007330' .DNPRM,,LOARPR ;LOAD REMOTE PARAMETERS
1716 000003 LORMTL==.-LORMTB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 41
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1717 ;LOAD REMOTE <NODE> FROM
1718
1719 007323' 260 17 0 00 012363' LOARFR: CALL PRSIFI ;PARSE AN INPUT FILE SPEC
1720 RETBAD ()^ ;FAILED
1721 007324' 263 17 0 00 000000 IFB <>,< RET>
1722 007325' 202 01 0 17 777747 MOVEM T1,LOARFS ^-^O31(P)^ ;SAVE POINTER TO FILE SPEC FOR LATER
1723 007326' 254 00 0 00 007306' JRST LOARML ;LOOP BACK TIL <CR>
1724
1725
1726 ;LOAD REMOTE <NODE> VIA
1727
1728 007327' 254 00 0 00 006055' LOARVI: JRST DOREQE ;NOT SUPPORTED YET
1729
1730
1731 ;LOAD REMOTE <NODE> PARAMETERS
1732
1733 007330' 260 17 0 00 012326' LOARPR: CALL PRSKEY ;PARSE A KEYWORD
1734 007331' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
1735 007332' 201 02 0 00 007337' MOVEI T2,LOARPT ;GET ADR OF DISPATCH TABLE
1736 007333' 201 03 0 00 000004 MOVEI T3,LOARPL ;AND ITS LENGTH
1737 007334' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH
1738 007335' 254 00 0 00 006055' JRST DOREQE ;UNKNOWN KEYWORD
1739 007336' 254 00 0 01 000000 JRST (T1) ;DISPATCH
1740
1741 007337' 000033 007343' LOARPT: .DNLPH,,LORPHO ;LOAD REMOTE PARAM HOST
1742 007340' 000050 007354' .DNLPN,,LORPNM ;LOAD REMOTE PARAM NAME
1743 007341' 000057 007365' .DNLP1,,LORPNU ;LOAD REMOTE PARAM NUMBER
1744 007342' 000056 007371' .DNNON,,LORPNO ;LOAD REMOTE PARAM NONE
1745 000004 LOARPL==.-LOARPT
1746
1747
1748 ;LOAD REMOTE <NODE> PARAMETERS HOST
1749
1750 007343' 260 17 0 00 012341' LORPHO: CALL PRSNOD ;PARSE A NODE NAME
1751 RETBAD ()^ ;FAILED
1752 007344' 263 17 0 00 000000 IFB <>,< RET>
1753 007345' 202 01 0 17 777746 MOVEM T1,LOARHO ^-^O32(P)^ ;SAVE NODE NAME POINTER
1754 007346' 260 17 0 00 006077' CALL FOCNIB ;GET POINTER TO NIB FOR THIS NODE
1755 JRST [ MOVE T1,LOARHO ^-^O32(P)^;FAILED, GET NODE NAME POINTER
1756 CALL RELFRE ;RELEASE FREE SPACE
1757 FATAL.ERROR ^
1758 CALL ERROR
1759 HALTF
1760 JRST NETCON]^;IGNORE FAILURE
1761 RETBAD ()^
1762 IFB <>,< RET>
1763 007347' 254 00 0 00 016774' RETBAD ()]>^ ] ;RETURN ERROR
1764 007350' 250 01 0 17 777746 EXCH T1,LOARHO ^-^O32(P)^ ;SAVE ADR OF NIB OF HOST
1765 007351' 260 17 0 00 014115' CALL RELFRE ;RELEASE FREE BLOCK
1766 FATAL.ERROR ^;RELEASE FAILED, GO ON
1767 CALL ERROR
1768 HALTF
1769 007352' 254 00 0 00 016623' JRST NETCON]
1770 007353' 254 00 0 00 007306' JRST LOARML ;LOOP BACK FOR OTHER KEYWORDS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 42
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1771 ;LOAD REMOTE <NODE> PARAMETERS NAME
1772
1773 007354' 260 17 0 00 012341' LORPNM: CALL PRSNOD ;PARSE A NODE NAME
1774 RETBAD ()^ ;FAILED
1775 007355' 263 17 0 00 000000 IFB <>,< RET>
1776 007356' 202 01 0 17 777743 MOVEM T1,LOARNM ^-^O35(P)^ ;SAVE NODE NAME POINTER
1777 007357' 260 17 0 00 006077' CALL FOCNIB ;GET POINTER TO NIB FOR THIS NODE
1778 JRST [ MOVE T1,LOARNM ^-^O35(P)^;FAILED, GET NODE NAME POINTER
1779 CALL RELFRE ;RELEASE FREE SPACE
1780 FATAL.ERROR ^
1781 CALL ERROR
1782 HALTF
1783 JRST NETCON]^;IGNORE FAILURE
1784 RETBAD ()^
1785 IFB <>,< RET>
1786 007360' 254 00 0 00 017000' RETBAD ()]>^ ] ;RETURN ERROR
1787 007361' 250 01 0 17 777743 EXCH T1,LOARNM ^-^O35(P)^ ;SAVE ADR OF NIB OF HOST
1788 007362' 260 17 0 00 014115' CALL RELFRE ;RELEASE FREE BLOCK
1789 FATAL.ERROR ^;RELEASE FAILED, GO ON
1790 CALL ERROR
1791 HALTF
1792 007363' 254 00 0 00 016623' JRST NETCON]
1793 007364' 254 00 0 00 007306' JRST LOARML ;LOOP BACK FOR OTHER KEYWORDS
1794
1795
1796 ;LOAD REMOTE <NODE> PARAMETERS NUMBER
1797
1798 007365' 260 17 0 00 012400' LORPNU: CALL PRSNUM ;PARSE A NUMBER
1799 RETBAD ()^ ;FAILED
1800 007366' 263 17 0 00 000000 IFB <>,< RET>
1801 007367' 202 01 0 17 777742 MOVEM T1,LOARNU ^-^O36(P)^ ;SAVE THE NUMBER
1802 007370' 254 00 0 00 007306' JRST LOARML ;LOOP BACK TIL CONFIRMATION
1803
1804
1805 ;LOAD REMOTE <NODE> PARAMETERS NONE
1806
1807 007371' 402 00 0 17 777742 LORPNO: SETZM LOARNU ^-^O36(P)^ ;ZERO NUMBER
1808 007372' 402 00 0 17 777743 SETZM LOARNM ^-^O35(P)^ ;ZERO THE NMAE
1809 007373' 402 00 0 17 777746 SETZM LOARHO ^-^O32(P)^ ;ZERO THE HOST
1810 007374' 476 00 0 17 777741 SETOM LOARNO ^-^O37(P)^ ;MARK THAT "NONE" WAS SPECIFIED
1811 007375' 254 00 0 00 007306' JRST LOARML ;LOOP BACK TIL <CR> SEEN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 43
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1812 ;LOAD REMOTE COMMAND FINISHED
1813
1814 007376' 505 01 0 00 441000 LOARMD: HRLI T1,(POINT 8,) ;FORM POINTER TO WHERE
1815 007377' 541 01 0 17 777753 HRRI T1,LOARMS ^-^O25(P)^ ; MESSAGE IS TO BE ASSEMBLED
1816 007400' 402 00 0 00 000002 SETZM T2 ;ZERO COUNT OF CHARACTERS IN NICE MESSAGE
1817 007401' 201 04 0 00 000002 MOVEI T4,.NCRQL ;START BY MARKING THIS AS A "LOAD"
1818 007402' 136 04 0 00 000001 IDPB T4,T1 ; REQUEST MESSAGE
1819 007403' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT COUNT OF CHARS IN MESSAGE
1820 007404' 201 04 0 00 000000 MOVEI T4,0 ;START WITH NO OPTIONS
1821 MOVX T3,.LOPTH ^;ASSUME SERVER SPECIFICATION GIVEN IN COMMAND
1822 007405' 201 03 0 00 000002 MOVEI T3,..MX1>
1823 007406' 336 00 0 17 777745 SKIPN LOARSV ^-^O33(P)^ ;ANY SERVER SPECIFIED?
1824 MOVX T3,.LOTGT ^;NO SERVER, BUT TARGET GIVEN IN COMMAND
1825 007407' 201 03 0 00 000000 MOVEI T3,..MX1>
1826 STOR T3,LO%TGT,T4 ^;ADD TARGET SPECIFICATION TO OPTION FIELD
1827 007410' 137 03 0 00 017004' >>^,T4,POS(LO%TGT)^<^L<<LO%TGT>&<-<LO%TGT>>>>^>^]^
1828 MOVX T3,.LOTBD ^;TRIGGER BOOTSTRAP, ASSUME DEFAULT BOOT PASSWORD
1829 007411' 201 03 0 00 000001 MOVEI T3,..MX1>
1830 007412' 336 00 0 17 777751 SKIPN LOARBP ^-^O27(P)^ ;BOOT PASSWORD GIVEN IN COMMAND ?
1831 007413' 332 00 0 17 777752 SKIPE 1+LOARBP ^-^O27(P)^ ;...
1832 MOVX T3,.LOTBP ^;YES, USE PASSWORD FROM COMMAND
1833 007414' 201 03 0 00 000003 MOVEI T3,..MX1>
1834 STOR T3,LO%ROM,T4 ^;STORE ROM BOOT FIELD IN OPTIONS
1835 007415' 137 03 0 00 017005' >>^,T4,POS(LO%ROM)^<^L<<LO%ROM>&<-<LO%ROM>>>>^>^]^
1836 007416' 332 00 0 17 777747 SKIPE LOARFS ^-^O31(P)^ ;IS THERE A FILE SPEC?
1837 TXO T4,LO%OPS ^;YES, REMEMBER THAT
1838 007417' 660 04 0 00 000020 TRO T4,..TX1>
1839 TXO T4,LO%PAR ^;at least host and node name parameters
1840 007420' 660 04 0 00 000040 TRO T4,..TX1>
1841 ; are always specified in message
1842 007421' 136 04 0 00 000001 IDPB T4,T1 ;STORE OPTION BITS
1843 007422' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT COUNT OF CHARS IN MESSAGE
1844 ; ..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 44
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1845 ; ..
1846
1847 ; ADD TARGET AND SERVER INFORMATION TO MESSAGE
1848
1849 LOAD T3,NDNAM,(Q2) ^;GET POINTER TO ASCIZ NAME OF TARGET NODE
1850 007423' 200 03 0 06 000007 MOVE T3,7(Q2)^
1851 007424' 260 17 0 00 000000* CALL MAKNOD ;GO ADD TARGET NODE NAME TO MESSAGE
1852 007425' 254 00 0 00 006055' JRST DOREQE ;FAILED, PUNT
1853 007426' 332 00 0 17 777745 SKIPE LOARSV ^-^O33(P)^ ;SERVER NODE SPECIFIED IN COMMAND ?
1854 JRST [ MOVE T3,LOARSV ^-^O33(P)^;YES, GET POINTER TO ASCIZ SERVER NODE NAME
1855 CALL MAKNOD ;GO ASSEMBLE NODE NAME IN MESSAGE
1856 JRST DOREQE ;FAILED, PUNT
1857 ;**** WHEN LOAD REMOTE VIA IS DONE, ADD LINE TO MESSAGE HERE
1858 007427' 254 00 0 00 017006' JRST .+1] ;DONE WITH SERVER, GO DO NEXT FIELD
1859 007430' 336 00 0 17 777751 SKIPN LOARBP ^-^O27(P)^ ;BOOT PASSWORD GIVEN IN COMMAND ?
1860 007431' 332 00 0 17 777752 SKIPE 1+LOARBP ^-^O27(P)^ ;...
1861 JRST [ MOVEM T2,LOARMC ^-^O30(P)^;YES, SAVE CURRENT BYTE COUNT
1862 MOVX T2,MBPWSZ ^
1863 MOVEI T2,..MX1>
1864 DMOVE T3,LOARBP ^-^O27(P)^;GET BOOT PASSWORD TO ADD TO MESSAGE
1865 CALL MAKIMB ;GO ADD IMAGE BINARY FIELD TO MESSAGE
1866 MOVE T2,LOARMC ^-^O30(P)^;RESTORE MESSAGE SIZE
1867 ADDI T2,MBPWSZ ;ACCOUNT FOR BOOT PASSWORD
1868 007432' 254 00 0 00 017012' JRST .+1] ;GO ON TO NEXT FIELD IN MESSAGE
1869
1870 007433' 332 00 0 17 777747 SKIPE LOARFS ^-^O31(P)^ ;FILE TO LOAD GIVEN IN COMMAND ?
1871 JRST [ MOVEM T2,LOARMC ^-^O30(P)^ ;SAVE CURRENT MESSAGE SIZE
1872 MOVE T3,LOARFS ^-^O31(P)^;YES, GET POINTER TO FILESPEC
1873 MOVEI T2,^D255 ;FILESPEC CAN BE AS LONG AS LARGEST IMAGE FIELD
1874 CALL MAKIMA ;GO ADD IMAGE ASCII FIELD TO MESSAGE
1875 JRST DOREQE ;FAILED, PUNT
1876 ADD T2,LOARMC ^-^O30(P)^;GET UPDATED MESSAGE SIZE
1877 007434' 254 00 0 00 017021' JRST .+1] ;RETURN TO MAINLINE CODE
1878 ; ..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 45
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1879 ; ..
1880 007435' 332 00 0 17 777741 SKIPE LOARNO ^-^O37(P)^ ;parameters "none" specified ?
1881 007436' 254 00 0 00 007472' JRST LOD100 ;YES, GO SEND NICE LOAD REQUEST MESSAGE
1882 007437' 202 02 0 17 777740 MOVEM T2,LOARCT ^-^O40(P)^ ;SAVE CURRENT BYTE COUNT
1883 007440' 402 00 0 00 000002 SETZM T2 ;INITIALIZE COUNT OF BYTES IN PARAMETERS
1884 007441' 202 01 0 17 777737 MOVEM T1,LOARSP ^-^O41(P)^ ;SAVE POINTER TO WHERE PARAMETER COUNT GOES
1885 007442' 133 00 0 00 000001 IBP T1 ;SKIP OVER PARAMETER COUNT BYTE
1886 LOAD T3,NDPNA,(Q2) ^;GET POINTER TO DEFAULT NAME PARAM
1887 007443' 200 03 0 06 000014 MOVE T3,14(Q2)^
1888 007444' 332 00 0 17 777743 SKIPE LOARNM ^-^O35(P)^ ;WAS NAME PARAMETER GIVEN IN COMMAND ?
1889 007445' 200 03 0 17 777743 MOVE T3,LOARNM ^-^O35(P)^ ;YES, GET POINTER TO NAME IN LOAD CMD
1890 007446' 322 03 0 00 007451' JUMPE T3,LOD010 ;IF NO NAME, GO CHECK DEFAULT HOST
1891 007447' 260 17 0 00 000000* CALL MAKNAM ;GO ADD NODE NAME PARAMETER TO MESSAGE
1892 007450' 254 00 0 00 006055' JRST DOREQE ;FAILED
1893 007451' lod010: LOAD T3,NDPHT,(Q2) ^;GET POINTER TO DEFAULT HOST
1894 007451' 200 03 0 06 000016 MOVE T3,16(Q2)^
1895 007452' 332 00 0 17 777746 SKIPE LOARHO ^-^O32(P)^ ;HOST SPECIFIED IN LOAD COMMAND ?
1896 007453' 200 03 0 17 777746 MOVE T3,LOARHO ^-^O32(P)^ ;YES, USE SPECIFIED HOST
1897 007454' 322 03 0 00 007457' jumpe t3,lod020 ;if no host, go check node number
1898 007455' 260 17 0 00 000000* CALL MAKhst ;GO ADD HOST NODE NAME TO MESSAGE
1899 007456' 254 00 0 00 006055' JRST DOREQE ;FAILED
1900 007457' lod020: LOAD T3,NDPNU,(Q2) ^;GET DEFAULT NODE NUMBER PARAMETER
1901 007457' 200 03 0 06 000015 MOVE T3,15(Q2)^
1902 007460' 331 00 0 17 777742 SKIPL LOARNU ^-^O36(P)^ ;NODE NUMBER GIVEN IN COMMAND ?
1903 007461' 200 03 0 17 777742 MOVE T3,LOARNU ^-^O36(P)^ ;YES, USE VALUE IN LOAD COMMAND
1904 007462' 331 00 0 00 000003 SKIPL T3 ;IF NO NUMBER DO NOT ADD TO MESSAGE
1905 007463' 260 17 0 00 000000* CALL MAKNUM ;GO ASSEMBLE NODE NUMBER PARAMETER
1906 MOVX T3,.PVEND ^;GET "END OF PARAMETERS" MARK
1907 007464' 201 03 0 00 000000 MOVEI T3,..MX1>
1908 007465' 136 03 0 00 000001 IDPB T3,T1 ;ADD END MARK TO MESSAGE
1909 007466' 271 02 0 00 000001 ADDI T2,1 ;ACCOUNT FOR END MARK IN BYTE COUNT
1910 007467' 136 02 0 17 777737 IDPB T2,LOARSP ^-^O41(P)^ ;STORE TOTAL BYTE COUNT FOR PARAMETERS
1911 007470' 271 02 0 00 000001 ADDI T2,1 ;ACCOUNT FOR PARAMETER COUNT BYTE
1912 007471' 270 02 0 17 777740 ADD T2,LOARCT ^-^O40(P)^ ;compute total byte count for message
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 46
NCP MAC 5-Oct-81 16:46 NCP -- LOAD Command
1913 ; here when message completely assembled - send to nice process
1914
1915 007472' LOD100: SETONE NDLIP,(Q2) ^;SET LOAD IN PROGRESS
1916 007472' 205 16 0 00 001000 MOVSI .SAC,(..MX1)>>
1917 007473' 436 16 0 06 000000 IORM .SAC,0(Q2)
1918 007474' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
1919 007475' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
1920 007476' 201 02 0 17 777753 MOVEI T2,LOARMS ^-^O25(P)^ ;GET POINTER TO NICE MESSAGE
1921 007477' 505 02 0 00 441000 HRLI T2,(POINT 8,0) ;SET UP BYTE POINTER
1922 007500' 505 01 0 00 007033* HRLI T1,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
1923 JE NDLOK,(Q2),LOD200 ^;JUMP IF NOT IN CHARGE OF LOADING THIS NODE
1924 007501' 200 16 0 06 000000 MOVE .SAC,0(Q2)
1925 007502' 607 16 0 00 000200 TLNN .SAC,(..TX1)>>
1926 007503' 254 00 0 00 007506' JRST LOD200>^^^^
1927 007504' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
1928 007505' 561 03 0 00 000000* HRROI T3,OURNAM ;SHOW WHAT EXECUTOR WE WANT
1929 007506' 260 17 0 00 011050' LOD200: CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
1930 RETBAD ()^ ;FAILED
1931 007507' 263 17 0 00 000000 IFB <>,< RET>
1932 007510' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
1933 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
1934 007511' 201 02 0 00 000001 MOVEI T2,..MX1>
1935 STOR T2,QUEFLG,(T1)^
1936 007512' 542 02 0 01 000001 HRRM T2,1(T1)^
1937 RETSKP ^ ;ALL DONE
1938 007513' 254 00 0 00 007247* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 47
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
1939 SUBTTL NCP -- DUMP Command
1940
1941 ; DUMP NODE NODE-NAME
1942
1943 007514' 260 17 0 00 012326' DMPREQ: call prskey ;parse a keyword
1944 007515' 254 00 0 00 006055' jrst doreqe ;failed, not a keyword
1945 007516' 201 02 0 00 007523' MOVEI T2,DMPRTB ;GET DISPATCH ADDRESS
1946 007517' 201 03 0 00 000003 MOVEI T3,DMPRTL ;GET LENGTH OF DISPATCH TABLE
1947 007520' 260 17 0 00 006067' CALL FNDDSP ;GET ADDRESS TO DISPATCH TO
1948 007521' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
1949 007522' 254 00 0 01 000000 JRST (T1) ;DISPATCH
1950
1951 007523' 000040 007527' DMPRTB: .DNSLI,,DMPLIN ;DUMP LINE
1952 007524' 000055 007740' .DNNOD,,DMPREM ;DUMP REMOTE
1953 007525' 000115 007526' .DNVIA,,DMPVIA ;DUMP VIA
1954 000003 DMPRTL==.-DMPRTB
1955
1956 007526' 254 00 0 00 006055' DMPVIA: JRST DOREQE ;DUMP VIA NOT YET SUPPORTED
1957
1958
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 48
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
1959
1960 ;DUMP LINE-ID TO FILESPEC
1961 007527' DMPLIN: TRVAR <<BTDBLK,14>,<BTDPAG,2>,BTDFIL>^
1962 007527' 265 16 0 00 000000* JSP .A16,.TRSET
1963 007530' 000017 000017 ..NV-1,,..NV-1
1964 007531' 260 17 0 00 007722' CALL PRSKDP ;GET KMC11 ADR
1965 RETBAD (.ERR23)^ ;<Invalid line-id>
1966 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
1967 007532' 254 00 0 00 016707' RET]>>
1968 007533' 202 01 0 15 000001 MOVEM T1,.BTKMC+BTDBLK ^^O1(.FP)^;SAVE ADR OF KMC11
1969 007534' 260 17 0 00 012326' CALL PRSKEY ;PARSE KEYWORD
1970 RETBAD ()^ ;FAILED
1971 007535' 263 17 0 00 000000 IFB <>,< RET>
1972 007536' 302 01 0 00 000112 CAIE T1,.DNDR2 ;KEYWORD "TO" ?
1973 007537' 254 00 0 00 006055' JRST DOREQE ;NO, UNIMPLEMENTED COMMAND
1974 007540' 260 17 0 00 012362' CALL PRSOFI ;PARSE OUTPUT FILESPEC
1975 RETBAD ()^ ;FAILED
1976 007541' 263 17 0 00 000000 IFB <>,< RET>
1977 007542' 202 01 0 15 000017 MOVEM T1,BTDFIL ^^O17(.FP)^ ;SAVE POINTER TO FILE SPEC FOR LATER
1978 007543' 260 17 0 00 012335' CALL PRSCFM ;PARSE CONFIRMATION
1979 RETBAD ()^ ;FAILED
1980 007544' 263 17 0 00 000000 IFB <>,< RET>
1981 007545' 200 02 0 15 000017 MOVE T2,BTDFIL ^^O17(.FP)^ ;COPY POINTER TO FILESPEC
1982 MOVX T1,GJ%FOU!GJ%SHT ^;FILE FOR OUTPUT USE, SHORT CALL
1983 007546' 205 01 0 00 400001 MOVSI T1,(..MX1)>>
1984 007547' 104 00 0 00 000020 GTJFN ;GET A JFN FOR OUTPUT FILE
1985 RETBAD (.ERR24)^ ;<Could not open file>
1986 IFNB <.ERR24>,< JRST [ MOVEI T1,.ERR24
1987 007550' 254 00 0 00 016744' RET]>>
1988 007551' 552 01 0 15 000017 HRRZM T1,BTDFIL ^^O17(.FP)^ ;SAVE JFN
1989 007552' 200 02 0 00 017030' MOVE T2,[070000,,OF%WR] ;7-BIT BYTES, WRITE ACCESS ONLY
1990 007553' 104 00 0 00 000021 OPENF ;OPEN THE FILE
1991 JRST [ MOVEI T4,.ERR24 ;<Could not open file>
1992 007554' 254 00 0 00 017031' JRST DMPLN9 ]
1993 007555' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE ADR FOR CRAM DUMP
1994 JRST [ MOVE T4,T1 ;COPY ERROR CODE
1995 007556' 254 00 0 00 017033' JRST DMPLN9 ] ;CLEAN UP AND LEAVE
1996 007557' 202 02 0 15 000015 MOVEM T2,BTDPAG ^^O15(.FP)^ ;SAVE ADR OF FIRST WORD IN PAGE
1997 007560' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE ADR FOR DRAM & REG DUMP
1998 JRST [ MOVE T4,T1 ;COPY ERROR CODE
1999 007561' 254 00 0 00 017035' JRST DMPLN8 ] ;CLEAN UP AND LEAVE
2000 007562' 202 02 0 15 000016 MOVEM T2,1+BTDPAG ^^O15(.FP)^;SAVE ADR OF FIRST WORD IN PAGE
2001 007563' 201 01 0 00 000020 MOVEI T1,20 ;NUMBER OF REGISTERS TO GET
2002 007564' 202 01 0 15 000007 MOVEM T1,.BTKRC+BTDBLK^^O1(.FP)^
2003 007565' 270 02 0 00 017037' ADD T2,[POINT 16,400] ;GET 16 BIT BYTES
2004 007566' 202 02 0 15 000010 MOVEM T2,.BTKRP+BTDBLK ^^O1(.FP)^;WHERE TO PUT REGISTERS
2005 007567' 201 01 0 00 002000 MOVEI T1,2000 ;NUMBER OF DRAM BYTES TO GET
2006 007570' 202 01 0 15 000005 MOVEM T1,.BTKDC+BTDBLK^^O1(.FP)^
2007 007571' 200 02 0 15 000016 MOVE T2,1+BTDPAG ^^O15(.FP)^;GET ADR OF PAGE AGAIN
2008 007572' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;8 BIT BYTES FOR DRAM
2009 007573' 202 02 0 15 000006 MOVEM T2,.BTKDP+BTDBLK^^O1(.FP)^
2010 007574' 201 01 0 00 002000 MOVEI T1,2000 ;NUMBER OF CRAM LOCATIONS TO GET
2011 007575' 202 01 0 15 000003 MOVEM T1,.BTKCC+BTDBLK ^^O1(.FP)^;NUMBER OF CRAM WORDS TO GET
2012 007576' 200 02 0 15 000015 MOVE T2,BTDPAG ^^O15(.FP)^ ;GET ADR OF PAGE
2013 007577' 505 02 0 00 442000 HRLI T2,(POINT 16,) ;16 BIT BYTES FOR CRAM
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 48-1
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2014 007600' 202 02 0 15 000004 MOVEM T2,.BTKCP+BTDBLK^^O1(.FP)^
2015 007601' 201 01 0 00 000012 MOVEI T1,.BTKMD ;WANT TO DUMP THE KMC11
2016 007602' 201 02 0 15 000001 MOVEI T2,BTDBLK ^^O1(.FP)^ ;POINT TO ARGUMENT BLOCK
2017 007603' 104 00 0 00 000562 BOOT
2018 ERJMP [MOVEI T4,.ERR19 ;<JSYS error>
2019 007604' 320 16 0 00 017040' JRST DMPLN8 ] ;NOW EXIT
2020 ;..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 49
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2021 ;..
2022 007605' 200 01 0 15 000017 MOVE T1,BTDFIL^^O17(.FP)^
2023 007606' 561 02 0 00 017042' HRROI T2,[ASCIZ \ Register data\]
2024 007607' 201 03 0 00 000020 MOVEI T3,20 ;NUMBER OF REGISTERS WE ASKED FOR
2025 007610' 274 03 0 15 000007 SUB T3,.BTKRC+BTDBLK ^^O1(.FP)^;MAKES NUMBER OF REGISTERS WE GOT
2026 007611' 200 04 0 15 000016 MOVE T4,1+BTDPAG ^^O15(.FP)^;POINT TO REGISTER DATA
2027 007612' 270 04 0 00 017037' ADD T4,[POINT ^D16,400] ;16 BIT BYTES
2028 007613' 260 17 0 00 007645' CALL DMPLDT ;DUMP THE REGISTERS
2029 007614' 561 02 0 00 017045' HRROI T2,[ASCIZ \ DRAM data\]
2030 007615' 201 03 0 00 002000 MOVEI T3,2000 ;NUMBER OF DRAM WE ASKED FOR
2031 007616' 274 03 0 15 000005 SUB T3,.BTKDC+BTDBLK ^^O1(.FP)^;MAKES NUMBER OF DRAM WE GOT
2032 007617' 200 04 0 15 000016 MOVE T4,1+BTDPAG ^^O15(.FP)^;POINT TO DRAM DATA
2033 007620' 505 04 0 00 441000 HRLI T4,(POINT 8,) ;8 BIT BYTES
2034 007621' 260 17 0 00 007645' CALL DMPLDT ;DUMP THE DRAM
2035 007622' 561 02 0 00 017050' HRROI T2,[ASCIZ \ CRAM data\]
2036 007623' 201 03 0 00 002000 MOVEI T3,2000 ;NUMBER OF CRAMS WE ASKED FOR
2037 007624' 274 03 0 15 000003 SUB T3,.BTKCC+BTDBLK ^^O1(.FP)^;MAKES NUMBER OF CRAMS WE GOT
2038 007625' 200 04 0 15 000015 MOVE T4,BTDPAG ^^O15(.FP)^ ;POINT TO CRAM DATA
2039 007626' 505 04 0 00 442000 HRLI T4,(POINT 16,) ;16 BIT BYTES
2040 007627' 260 17 0 00 007645' CALL DMPLDT ;DUMP THE CRAMS
2041 007630' 400 04 0 00 000000 SETZ T4, ;DUMP WON
2042 007631' 200 01 0 15 000016 DMPLN7: MOVE T1,1+BTDPAG ^^O15(.FP)^;ADR OF FIRST WORD IN PAGE
2043 007632' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
2044 007633' 200 04 0 00 000001 MOVE T4,T1 ;COPY THE ERROR CODE
2045 007634' 200 01 0 15 000015 DMPLN8: MOVE T1,BTDPAG ^^O15(.FP)^ ;ADR OF FIRST WORD IN PAGE
2046 007635' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
2047 007636' 200 04 0 00 000001 MOVE T4,T1 ;COPY THE ERROR CODE
2048 007637' 550 01 0 15 000017 DMPLN9: HRRZ T1,BTDFIL ^^O17(.FP)^ ;GET DUMP JFN
2049 007640' 104 00 0 00 000022 CLOSF ;CLOSE FILE
2050 RETBAD (.ERR24)^ ;<Could not open file>
2051 IFNB <.ERR24>,< JRST [ MOVEI T1,.ERR24
2052 007641' 254 00 0 00 016744' RET]>>
2053 007642' 332 01 0 00 000004 SKIPE T1,T4 ;WAS THERE AN ERROR ?
2054 007643' 263 17 0 00 000000 RET
2055 RETSKP ^ ;HAVE MADE DUMP
2056 007644' 254 00 0 00 007513* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 50
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2057
2058 007645' 202 03 0 15 000007 DMPLDT: MOVEM T3,.BTKRC+BTDBLK ^^O1(.FP)^;SAVE COUNT OF DATA
2059 007646' 202 04 0 15 000010 MOVEM T4,.BTKRP+BTDBLK ^^O1(.FP)^;SAVE POINTER TO DATA
2060 007647' 202 02 0 15 000002 MOVEM T2,.BTKERR+BTDBLK ^^O1(.FP)^;SAVE TYPE OF DATA
2061 007650' 561 02 0 00 017053' HRROI T2,[ASCIZ \Dump of KDP_\]
2062 007651' 400 03 0 00 000000 SETZ T3,
2063 007652' 104 00 0 00 000053 SOUT
2064 007653' 200 02 0 15 000001 MOVE T2,.BTKMC+BTDBLK ^^O1(.FP)^;GET KMC11 ADR
2065 007654' 274 02 0 00 017056' SUB T2,[3,,760540] ;MAKE RELATIVE KMC ADR
2066 007655' 242 02 0 00 777775 LSH T2,-3 ;MAKE UNIT NUMBER
2067 007656' 201 03 0 00 000010 MOVEI T3,^D8 ;OCTAL
2068 007657' 104 00 0 00 000224 NOUT
2069 007660' 320 16 0 00 007661' ERJMP .+1
2070 007661' 561 02 0 00 017057' HRROI T2,[ASCIZ \ made on \]
2071 007662' 400 03 0 00 000000 SETZ T3,
2072 007663' 104 00 0 00 000053 SOUT
2073 007664' 474 02 0 00 000000 SETO T2, ;CURRENT DATE AND TIME
2074 007665' 400 03 0 00 000000 SETZ T3, ;FORMAT
2075 007666' 104 00 0 00 000220 ODTIM
2076 007667' 200 02 0 15 000002 MOVE T2,.BTKERR+BTDBLK ^^O1(.FP)^;GET TYPE OF DATA
2077 007670' 400 03 0 00 000000 SETZ T3,
2078 007671' 104 00 0 00 000053 SOUT
2079 007672' 400 04 0 00 000000 SETZ T4, ;FIRST ADR TO DUMP
2080 007673' 602 04 0 00 000007 DMPLD2: TRNE T4,7 ;TIME FOR A CR/LF ?
2081 007674' 254 00 0 00 007706' JRST DMPLD4 ;NO
2082 007675' 260 17 0 00 007716' CALL DMPCRL ;PUT OUT A CR/LF
2083 007676' 606 04 0 00 000037 TRNN T4,37 ;TIME FOR AN EXTRA CR/LF
2084 007677' 260 17 0 00 007716' CALL DMPCRL ;PUT OUT A CR/LF
2085 007700' 200 02 0 00 000004 MOVE T2,T4 ;CURRENT LOCATION NUMBER
2086 007701' 200 03 0 00 017061' MOVE T3,[NO%LFL+6B17+10] ;OCTAL
2087 007702' 104 00 0 00 000224 NOUT ;PUT CURRENT LOCATION NUMBER
2088 007703' 320 16 0 00 007704' ERJMP .+1
2089 007704' 201 02 0 00 000057 MOVEI T2,"/"
2090 007705' 104 00 0 00 000051 BOUT
2091 007706' 134 02 0 15 000010 DMPLD4: ILDB T2,.BTKRP+BTDBLK ^^O1(.FP)^;GET NEXT PIECE OF DATA
2092 007707' 200 03 0 00 017062' MOVE T3,[NO%LFL+10B17+^D8] ;LEADING FILLER
2093 007710' 104 00 0 00 000224 NOUT ;PRINT DATA
2094 007711' 255 00 0 00 000000 JFCL
2095 007712' 373 00 0 15 000007 SOSLE .BTKRC+BTDBLK ^^O1(.FP)^;ANY LEFT ?
2096 007713' 344 04 0 00 007673' AOJA T4,DMPLD2 ;ON TO NEXT LOCATION
2097 007714' 260 17 0 00 007715' CALL .+1 ;ADD CR/LF
2098 007715' 260 17 0 00 007716' CALL DMPCRL ;END WITH A CR/LF
2099 ;RET ;ALL DONE
2100
2101 ;HERE TO PUT OUT A CR/LF
2102 007716' 561 02 0 00 016655' DMPCRL: HRROI T2,[BYTE (7)15,12,0] ;CR/LF
2103 007717' 400 03 0 00 000000 SETZ T3,
2104 007720' 104 00 0 00 000053 SOUT
2105 007721' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 51
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2106
2107 ;HERE TO GET KDP_#
2108 007722' 260 17 0 00 012326' PRSKDP: CALL PRSKEY ;PARSE A KEYWORD
2109 007723' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
2110 007724' 302 01 0 00 000036 CAIE T1,.DNKDP ;AND IS IT KDP ?
2111 007725' 263 17 0 00 000000 RET
2112 MOVX T1,"_" ^;GET EXPECTED TOKEN
2113 007726' 201 01 0 00 000137 MOVEI T1,..MX1>
2114 007727' 260 17 0 00 012415' CALL PRSTOK ;PARSE THE TOKEN
2115 RETBAD ()^ ;FAILED
2116 007730' 263 17 0 00 000000 IFB <>,< RET>
2117 007731' 260 17 0 00 012400' CALL PRSNUM ;PARSE THE NUMBER
2118 RETBAD ()^ ;FAILED
2119 007732' 263 17 0 00 000000 IFB <>,< RET>
2120 007733' 301 01 0 00 000003 CAIL T1,3 ;POSSIBLE ?
2121 007734' 263 17 0 00 000000 RET
2122 007735' 221 01 0 00 000010 IMULI T1,10 ;CONVERT UNIT NUMBER TO OFFSE
2123 007736' 270 01 0 00 017056' ADD T1,[3,,760540] ;MAKES ADR OF KMC11
2124 007737' 254 00 0 00 007644* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 52
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2125
2126 ; DUMP NODE NODE-NAME
2127
2128 007740' DMPREM: STKVAR <DMPRFS,<DMPRMS,100>,DMPRMC>^
2129 007740' 265 16 0 00 007266* JSP .A16,.STKST
2130 007741' 000102 000102 ..STKN,,..STKN
2131 007742' 402 00 0 17 777776 SETZM DMPRFS ^-^O2(P)^ ;ASSUME NO FILESPEC GIVEN
2132 007743' 260 17 0 00 012341' CALL PRSNOD ;PARSE A NODE NAME
2133 RETBAD ()^ ;FAILED
2134 007744' 263 17 0 00 000000 IFB <>,< RET>
2135 007745' 202 01 0 00 000006 MOVEM T1,Q2 ;SAVE ADDRESS OF BLOCK
2136 007746' 260 17 0 00 006077' CALL FOCNIB ;GET A NIB ADDRESS FOR THIS NODE
2137 JRST [ MOVE T1,Q2 ;GET BLOCK ADDRESS
2138 CALL RELFRE ;RELEASE THE BLOCK
2139 FATAL.ERROR^
2140 CALL ERROR
2141 HALTF
2142 JRST NETCON]^
2143 RETBAD ()^
2144 IFB <>,< RET>
2145 007747' 254 00 0 00 017063' RETBAD ()]>^] ;NOT FOUND
2146 007750' 250 06 0 00 000001 EXCH Q2,T1 ;SAVE THE ADDRESS OF THE NODE NIB
2147 007751' 260 17 0 00 014115' CALL RELFRE ;RELEASE FREE BLOCK
2148 FATAL.ERROR ^;FAILED
2149 CALL ERROR
2150 HALTF
2151 007752' 254 00 0 00 016623' JRST NETCON]
2152 007753' 260 17 0 00 012335' DMPRML: CALL PRSCFM ;END OF COMMAND ?
2153 007754' 334 00 0 00 000000 SKIPA ;NO, PARSE SOME MORE
2154 007755' 254 00 0 00 007772' JRST DMPRMD ;YES, DONE WITH THE PARSING
2155 007756' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
2156 RETBAD ()^ ;FAILED
2157 007757' 263 17 0 00 000000 IFB <>,< RET>
2158 007760' 201 02 0 00 007765' MOVEI T2,DMRMTB ;GET DISPATCH TABLE ADDRESS
2159 007761' 201 03 0 00 000001 MOVEI T3,DMRMTL ;AND ITS LENGTH
2160 007762' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADDRESS
2161 RETBAD ()^ ;FAILED
2162 007763' 263 17 0 00 000000 IFB <>,< RET>
2163 007764' 254 00 0 01 000000 JRST 0(T1) ;DISPATCH
2164
2165 007765' 000112 007766' DMRMTB: .DNDR2,,DMPRFR ;DUMP REMOTE FROM
2166 000001 DMRMTL==.-DMRMTB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 53
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2167 ;DUMP REMOTE <NODE> TO FILE-SPEC
2168
2169 007766' 260 17 0 00 012362' DMPRFR: CALL PRSOFI ;PARSE OUTPUT FILE
2170 RETBAD ()^ ;FAILED
2171 007767' 263 17 0 00 000000 IFB <>,< RET>
2172 007770' 202 01 0 17 777776 MOVEM T1,DMPRFS ^-^O2(P)^ ;SAVE POINTER TO FILE SPEC FOR LATER
2173 007771' 254 00 0 00 007753' JRST DMPRML ;LOOP BACK TIL <CR>
2174
2175
2176 ; HERE ON END OF DUMP COMMAND
2177
2178 007772' 505 01 0 00 441000 DMPRMD: HRLI T1,(POINT 8,) ;FORM POINTER TO WHERE
2179 007773' 541 01 0 17 777676 HRRI T1,DMPRMS ^-^O102(P)^ ; MESSAGE IS TO BE ASSEMBLED
2180 007774' 402 00 0 00 000002 SETZM T2 ;ZERO COUNT OF CHARACTERS IN NICE MESSAGE
2181 007775' 201 04 0 00 000003 MOVEI T4,.NCRQD ;START BY MARKING THIS AS A "DUMP"
2182 007776' 136 04 0 00 000001 IDPB T4,T1 ; REQUEST MESSAGE
2183 007777' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT COUNT OF CHARS IN MESSAGE
2184 010000' 402 00 0 00 000004 SETZM T4 ;ASSUME NO OPTIONS
2185 010001' 332 00 0 17 777776 SKIPE DMPRFS ^-^O2(P)^ ;WAS A FILESPEC SPECIFIED ?
2186 TXO T4,DO%FIL ^;YES, SET OPTION BIT
2187 010002' 660 04 0 00 000004 TRO T4,..TX1>
2188 010003' 136 04 0 00 000001 IDPB T4,T1 ;STORE OPTION BITS
2189 010004' 271 02 0 00 000001 ADDI T2,1 ;INCREMENT COUNT OF CHARS IN MESSAGE
2190
2191 ; ADD TARGET AND FILESPEC INFORMATION TO MESSAGE
2192
2193 LOAD T3,NDNAM,(Q2) ^;GET POINTER TO ASCIZ NAME OF TARGET NODE
2194 010005' 200 03 0 06 000007 MOVE T3,7(Q2)^
2195 010006' 260 17 0 00 007424* CALL MAKNOD ;GO ADD TARGET NODE NAME TO MESSAGE
2196 010007' 254 00 0 00 006055' JRST DOREQE ;FAILED, PUNT
2197 010010' 332 00 0 17 777776 SKIPE DMPRFS ^-^O2(P)^ ;FILE TO LOAD GIVEN IN COMMAND ?
2198 JRST [ MOVEM T2,DMPRMC ^-^O103(P)^ ;SAVE CURRENT MESSAGE SIZE
2199 MOVE T3,DMPRFS ^-^O2(P)^;YES, GET POINTER TO FILESPEC
2200 MOVEI T2,^D255 ;FILESPEC CAN BE AS LONG AS LARGEST IMAGE FIELD
2201 CALL MAKIMA ;GO ADD IMAGE ASCII FIELD TO MESSAGE
2202 JRST DOREQE ;FAILED, PUNT
2203 ADD T2,DMPRMC ^-^O103(P)^;GET UPDATED MESSAGE SIZE
2204 010011' 254 00 0 00 017067' JRST .+1] ;RETURN TO MAINLINE CODE
2205 SETONE NDDIP,(Q2) ^;SET DUMP IN PROGRESS
2206 010012' 205 16 0 00 002000 MOVSI .SAC,(..MX1)>>
2207 010013' 436 16 0 06 000000 IORM .SAC,0(Q2)
2208 010014' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT
2209 010015' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
2210 010016' 201 02 0 17 777676 MOVEI T2,DMPRMS ^-^O102(P)^ ;GET POINTER TO NICE MESSAGE
2211 010017' 505 02 0 00 441000 HRLI T2,(POINT 8,0) ;SET UP BYTE POINTER
2212 010020' 505 01 0 00 007500* HRLI T1,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2213 JE NDDOK,(Q2),DMP200 ^;JUMP IF NOT IN CHARGE OF DUMPING THIS NODE
2214 010021' 200 16 0 06 000000 MOVE .SAC,0(Q2)
2215 010022' 607 16 0 00 000400 TLNN .SAC,(..TX1)>>
2216 010023' 254 00 0 00 010026' JRST DMP200>^^^^
2217 010024' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2218 010025' 561 03 0 00 007505* HRROI T3,OURNAM ;SHOW WHAT EXECUTOR WE WANT
2219 010026' 260 17 0 00 011050' DMP200: CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
2220 RETBAD ()^ ;FAILED
2221 010027' 263 17 0 00 000000 IFB <>,< RET>
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 53-1
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2222 010030' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2223 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2224 010031' 201 02 0 00 000001 MOVEI T2,..MX1>
2225 STOR T2,QUEFLG,(T1)^
2226 010032' 542 02 0 01 000001 HRRM T2,1(T1)^
2227 RETSKP ^ ;ALL DONE
2228 010033' 254 00 0 00 007737* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 54
NCP MAC 5-Oct-81 16:46 NCP -- DUMP Command
2229
2230 SUBTTL NCP -- SHOW Command
2231
2232 010034' 260 17 0 00 012326' SHOREQ: CALL PRSKEY ;PARSE A KEYWORD
2233 010035' 254 00 0 00 006055' JRST DOREQE ;FAILED, RETURN ERROR
2234 010036' 201 02 0 00 010043' MOVEI T2,SHORTB ;GET DISPATCH TABLE ADR
2235 010037' 201 03 0 00 000004 MOVEI T3,SHORTL ;AND LENGTH
2236 010040' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADR
2237 010041' 254 00 0 00 006055' JRST DOREQE ;FAILED
2238 010042' 254 00 0 01 000000 JRST 0(T1) ;DISPATCH
2239
2240 010043' 000005 010067' SHORTB: .DNSCT,,SHOCNT ;SHOW COUNTS
2241 010044' 000026 010047' .DNSEX,,SHOEXE ;SHOW EXECUTOR
2242 010045' 000070 010377' .DNQUE,,SHOQUE ;SHOW QUEUE
2243 010046' 000104 010131' .DNSTS,,SHOSTA ;SHOW STATUS
2244 000004 SHORTL==.-SHORTB
2245
2246
2247
2248
2249 ; SHOW EXECUTOR
2250
2251 010047' 260 17 0 00 012335' SHOEXE: CALL PRSCFM ;PARSE CONFIRMATION
2252 010050' 254 00 0 00 006055' JRST DOREQE ;NO SO FAILED
2253 STKVAR <<EXESTR,20>>^
2254 010051' 265 16 0 00 007740* JSP .A16,.STKST
2255 010052' 000020 000020 ..STKN,,..STKN
2256 010053' 561 01 0 17 777757 HRROI T1,EXESTR ^-^O21(P)^ ;GET POINTER TO WHERE REPLY WILL GO
2257 010054' 561 02 0 00 017076' HRROI T2,[ASCIZ/ Current EXECUTOR is node /]
2258 010055' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
2259 010056' 104 00 0 00 000053 SOUT ;ASSEMBLE INITIAL PART OF REPLY
2260 010057' 200 02 0 00 010020* MOVE T2,EXCUTR ;GET POINTER TO CURRENT EXECUTOR
2261 010060' 104 00 0 00 000053 SOUT ;ADD NODE NAME
2262 010061' 402 00 0 00 000001 SETZM T1 ;NO TEXT, JUST HEADER
2263 010062' 541 02 0 17 777757 HRRI T2,EXESTR ^-^O21(P)^ ;GET ADDRESS OF REPLY MESSAGE
2264 010063' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO REPLY
2265 010064' 260 17 0 00 014575' CALL OPRMES ;SEND REPLY TO OPERATOR
2266 010065' 254 00 0 00 006055' JRST DOREQE ;FAILED, ISSUE MESSAGE
2267 RETSKP ^ ;DONE, RETURN
2268 010066' 254 00 0 00 010033* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 55
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2269 ;SHOW COUNTS LINE LINE-ID
2270 010067' 260 17 0 00 012326' SHOCNT: CALL PRSKEY ;PARSE A KEYWORD
2271 010070' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
2272 010071' 302 01 0 00 000040 CAIE t1,.DNSLI ;WHICH SHOULD BE LINE
2273 010072' 254 00 0 00 006055' JRST DOREQE ;INVALID REQUEST
2274 010073' 260 17 0 00 012436' CALL PRSLID ;PARSE THE LINE-ID
2275 RETBAD (.ERR23)^ ;<Invalid line-id>
2276 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
2277 010074' 254 00 0 00 016707' RET]>>
2278 STKVAR <<CNTMSG,100>>^
2279 010075' 265 16 0 00 010051* JSP .A16,.STKST
2280 010076' 000100 000100 ..STKN,,..STKN
2281 010077' 124 01 0 00 000003 DMOVEM T1,T3 ;SAVE LINE-ID
2282 010100' 260 17 0 00 012335' CALL PRSCFM ;PARSE CONFIRMATION
2283 RETBAD ()^ ;FAILED
2284 010101' 263 17 0 00 000000 IFB <>,< RET>
2285
2286 ; COMMAND PARSED - SAVE REQUEST TYPE IN QUEUE ENTRY AND SEND NICE MESSAGE
2287
2288 010102' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2289 010103' 201 01 0 17 777677 MOVEI T1,CNTMSG ^-^O101(P)^ ;ADR OF MESSAGE
2290 010104' 505 01 0 00 441000 HRLI T1,441000 ;MAKE POINTER TO MESSAGE
2291 010105' 201 02 0 00 000010 MOVEI T2,.NCRED ;READ INFORMATION
2292 010106' 136 02 0 00 000001 IDPB T2,T1
2293 010107' 201 02 0 00 000004 MOVEI T2,.RDLCT ;GET LINE COUNTERS
2294 010110' 136 02 0 00 000001 IDPB T2,T1
2295 010111' 201 02 0 00 000002 MOVEI T2,2 ;NUMBER OF BYTES IN MESSAGE SO FAR
2296 010112' 260 17 0 00 000000* CALL MAKLIN ;PUT LINE-ID INTO MESSAGE
2297 010113' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
2298 010114' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT OF BYTES IN MESSAGE
2299 010115' 201 02 0 17 777677 MOVEI T2,CNTMSG ^-^O101(P)^ ;ADR OF MESSAGE
2300 010116' 505 02 0 00 441000 HRLI T2,441000 ;MAKE POINTER TO MESSAGE
2301 010117' 505 04 0 00 000010 HRLI T4,.NCRED ;GET NICE PROTOCOL "READ INFORMATION" FUNCTION
2302 010120' 541 04 0 00 000004 HRRI T4,.RDLCT ;GET OPTION FOR "READ LINE COUNTERS"
2303 010121' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2304 010122' 200 03 0 00 010057* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2305 010123' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
2306 RETBAD ()^ ;FAILED
2307 010124' 263 17 0 00 000000 IFB <>,< RET>
2308 010125' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2309 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2310 010126' 201 02 0 00 000001 MOVEI T2,..MX1>
2311 STOR T2,QUEFLG,(T1)^
2312 010127' 542 02 0 01 000001 HRRM T2,1(T1)^
2313 RETSKP ^ ;ALL DONE
2314 010130' 254 00 0 00 010066* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 56
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2315 ; SHOW STATE LINE LINE-ID
2316
2317 010131' 260 17 0 00 012326' SHOSTA: CALL PRSKEY ;PARSE A KEYWORD
2318 010132' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOT A KEYWORD
2319 010133' 201 02 0 00 010140' MOVEI T2,STATAB ;GET DISPATCH TABLE ADR
2320 010134' 201 03 0 00 000004 MOVEI T3,STALEN ;AND LENGTH
2321 010135' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADR
2322 010136' 254 00 0 00 006055' JRST DOREQE ;FAILED
2323 010137' 254 00 0 01 000000 JRST 0(T1) ;DISPATCH
2324
2325 010140' 000044 010144' STATAB: .DNSLO,,SHSLCL ;SHOW STATE LOCAL
2326 010141' 000040 010307' .DNSLI,,SHSLIN ;SHOW STATE LINE LINE-ID
2327 010142' 000131 010174' .DNKNO,,SHSKNO ;SHOW STATE KNOWN LINES/NODES
2328 010143' 000055 010237' .DNNOD,,SHSNOD ;SHOW STATE NODE NODE-NAME
2329
2330 000004 STALEN==.-STATAB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 57
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2331 ; SHOW STATE LOCAL
2332
2333 010144' SHSLCL: STKVAR <<SLSMSG,50>>^
2334 010144' 265 16 0 00 010075* JSP .A16,.STKST
2335 010145' 000050 000050 ..STKN,,..STKN
2336 010146' 260 17 0 00 012335' CALL PRSCFM ;PARSE CONFIRMATION
2337 RETBAD ()^ ;FAILED
2338 010147' 263 17 0 00 000000 IFB <>,< RET>
2339 010150' 541 01 0 17 777727 HRRI T1,SLSMSG ^-^O51(P)^ ;GET ADDRESS OF NICE MESSAGE
2340 010151' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2341 MOVX T4,.NCRED ^;GET NICE "READ INFORMATION" FUNCTION
2342 010152' 201 04 0 00 000010 MOVEI T4,..MX1>
2343 010153' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE IN MESSAGE
2344 MOVX T4,.RDLNS ^;GET "LOCAL NODE STATUS" OPTION CODE
2345 010154' 201 04 0 00 000001 MOVEI T4,..MX1>
2346 010155' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION TO MESSAGE
2347 010156' 505 04 0 00 000010 HRLI T4,.NCRED ;GET READ INFORMATION FUNCTION CODE
2348 010157' 541 04 0 00 000001 HRRI T4,.RDLNS ;GET "LOCAL NODE STATUS" OPTION
2349 MOVX T3,2 ^;GET NUMBER OF BYTES IN NICE MESSAGE
2350 010160' 201 03 0 00 000002 MOVEI T3,..MX1>
2351 010161' 541 02 0 17 777727 HRRI T2,SLSMSG ^-^O51(P)^ ;GET ADDRESS OF NICE MESSAGE
2352 010162' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2353 010163' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF ORION MESSAGE
2354 010164' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2355 010165' 200 03 0 00 010122* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2356 010166' 260 17 0 00 011050' CALL STONIC ;PUT MSG ON NICE QUEUE
2357 RETBAD ()^ ;FAILED
2358 010167' 263 17 0 00 000000 IFB <>,< RET>
2359 010170' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2360 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2361 010171' 201 02 0 00 000001 MOVEI T2,..MX1>
2362 STOR T2,QUEFLG,(T1)^
2363 010172' 542 02 0 01 000001 HRRM T2,1(T1)^
2364 RETSKP ^ ;DONE, RETURN SUCCESS
2365 010173' 254 00 0 00 010130* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 58
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2366 ; SHOW STATE KNOWN REMOTES
2367
2368 010174' 260 17 0 00 012326' SHSKNO: CALL PRSKEY ;PARSE A KEYWORD
2369 RETBAD ()^ ;FAILED
2370 010175' 263 17 0 00 000000 IFB <>,< RET>
2371 010176' 201 02 0 00 010203' MOVEI T2,KNOTAB ;GET DISPATCH TABLE ADR
2372 010177' 201 03 0 00 000002 MOVEI T3,KNOLEN ;AND LENGTH
2373 010200' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH ADR
2374 010201' 254 00 0 00 006055' JRST DOREQE ;FAILED
2375 010202' 254 00 0 01 000000 JRST 0(T1) ;DISPATCH
2376
2377
2378 010203' 000132 010205' KNOTAB: .DNNDS,,SHNNDS ;SHOW STATE KNOWN NODES
2379 010204' 000041 010345' .DNskl,,SHNLNS ;SHOW STATE KNOWN LINES
2380
2381 000002 KNOLEN==.-KNOTAB
2382
2383
2384
2385
2386 ; SHOW STATE KNOWN NODES
2387
2388 010205' SHNNDS: STKVAR <<SHDMSG,50>>^
2389 010205' 265 16 0 00 010144* JSP .A16,.STKST
2390 010206' 000050 000050 ..STKN,,..STKN
2391 010207' 260 17 0 00 012335' CALL PRSCFM ;PARSE CONFIRMATION
2392 RETBAD ()^ ;FAILED
2393 010210' 263 17 0 00 000000 IFB <>,< RET>
2394 010211' 541 01 0 17 777727 HRRI T1,SHDMSG ^-^O51(P)^ ;GET ADDRESS OF NICE MESSAGE
2395 010212' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2396 MOVX T4,.NCRED ^;GET NICE "READ INFORMATION" FUNCTION
2397 010213' 201 04 0 00 000010 MOVEI T4,..MX1>
2398 010214' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE IN MESSAGE
2399 MOVX T4,.RDRNS ^;GET "REMOTE NODE STATUS" OPTION CODE
2400 010215' 201 04 0 00 000003 MOVEI T4,..MX1>
2401 010216' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION TO MESSAGE
2402 MOVX T4,0 ^;USE A LENGTH OF 0 TO IMPLY READ STATE OF
2403 010217' 201 04 0 00 000000 MOVEI T4,..MX1>
2404 010220' 136 04 0 00 000001 IDPB T4,T1 ; ALL KNOWN NODES
2405 010221' 505 04 0 00 000010 HRLI T4,.NCRED ;GET READ INFORMATION FUNCTION CODE
2406 010222' 541 04 0 00 000003 HRRI T4,.RDRNS ;GET "REMOTE NODE STATUS" OPTION
2407 MOVX T3,3 ^;GET NUMBER OF BYTES IN NICE MESSAGE
2408 010223' 201 03 0 00 000003 MOVEI T3,..MX1>
2409 010224' 541 02 0 17 777727 HRRI T2,SHDMSG ^-^O51(P)^ ;GET ADDRESS OF NICE MESSAGE
2410 010225' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2411 010226' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF ORION MESSAGE
2412 010227' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2413 010230' 200 03 0 00 010165* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2414 010231' 260 17 0 00 011050' CALL STONIC ;PUT MSG ON NICE QUEUE
2415 RETBAD ()^ ;FAILED
2416 010232' 263 17 0 00 000000 IFB <>,< RET>
2417 010233' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2418 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2419 010234' 201 02 0 00 000001 MOVEI T2,..MX1>
2420 STOR T2,QUEFLG,(T1)^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 58-1
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2421 010235' 542 02 0 01 000001 HRRM T2,1(T1)^
2422 RETSKP ^ ;DONE, RETURN SUCCESS
2423 010236' 254 00 0 00 010173* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 59
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2424 ; SHOW STATE NODE node
2425
2426 010237' SHSNOD: STKVAR <<SHNMSG,50>,SHNNOD>^
2427 010237' 265 16 0 00 010205* JSP .A16,.STKST
2428 010240' 000051 000051 ..STKN,,..STKN
2429 010241' 260 17 0 00 012341' CALL PRSNOD ;PARSE A NODE NAME
2430 RETBAD ()^ ;FAILED
2431 010242' 263 17 0 00 000000 IFB <>,< RET>
2432 010243' 202 01 0 17 777726 MOVEM T1,SHNNOD ^-^O52(P)^ ;SAVE NODE NAME POINTER
2433 010244' 260 17 0 00 012335' CALL PRSCFM ;PARSE CONFIRMATION
2434 010245' 254 00 0 00 010302' JRST SHSNDX ;FAILED, GO RELEASE FREE SPACE
2435 010246' 541 01 0 17 777727 HRRI T1,SHNMSG ^-^O51(P)^ ;GET ADDRESS OF NICE MESSAGE
2436 010247' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2437 MOVX T4,.NCRED ^;GET NICE "READ INFORMATION" FUNCTION
2438 010250' 201 04 0 00 000010 MOVEI T4,..MX1>
2439 010251' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE IN MESSAGE
2440 MOVX T4,.RDRNS ^;GET "REMOTE NODE STATUS" OPTION CODE
2441 010252' 201 04 0 00 000003 MOVEI T4,..MX1>
2442 010253' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION TO MESSAGE
2443 010254' 200 03 0 17 777726 MOVE T3,SHNNOD ^-^O52(P)^ ;GET POINTER TO NODE NAME
2444 MOVX T2,NNAMSZ ^;MAX SIZE OF NODE NAMES
2445 010255' 201 02 0 00 000006 MOVEI T2,..MX1>
2446 010256' 260 17 0 00 000000* CALL MAKIMA ;ADD NODE NAME TO MESSAGE
2447 010257' 254 00 0 00 010302' JRST SHSNDX ;FAILED, GO RELEASE FREE SPACE
2448 010260' 271 02 0 00 000002 ADDI T2,2 ;ACCOUNT FOR FUNCTION AND OPTION CODES
2449 010261' 505 04 0 00 000010 HRLI T4,.NCRED ;GET READ INFORMATION FUNCTION CODE
2450 010262' 541 04 0 00 000003 HRRI T4,.RDRNS ;GET "REMOTE NODE STATUS" OPTION
2451 010263' 200 03 0 00 000002 MOVE T3,T2 ;GET NUMBER OF BYTES IN NICE MESSAGE
2452 010264' 541 02 0 17 777727 HRRI T2,SHNMSG ^-^O51(P)^ ;GET ADDRESS OF NICE MESSAGE
2453 010265' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2454 010266' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF ORION MESSAGE
2455 010267' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2456 010270' 200 03 0 00 010230* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2457 010271' 260 17 0 00 011050' CALL STONIC ;PUT MSG ON NICE QUEUE
2458 010272' 254 00 0 00 010302' JRST SHSNDX ;FAILED, GO RELEASE FREE SPACE
2459 010273' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2460 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2461 010274' 201 02 0 00 000001 MOVEI T2,..MX1>
2462 STOR T2,QUEFLG,(T1)^
2463 010275' 542 02 0 01 000001 HRRM T2,1(T1)^
2464 010276' 200 01 0 17 777726 MOVE T1,SHNNOD ^-^O52(P)^ ;GET FREE BLOCK ADDRESS
2465 010277' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
2466 FATAL.ERROR ^;FAILD
2467 CALL ERROR
2468 HALTF
2469 010300' 254 00 0 00 016623' JRST NETCON]
2470 RETSKP ^ ;DONE, RETURN SUCCESS
2471 010301' 254 00 0 00 010236* JRST RSKP
2472
2473 ; HERE ON AN ERROR
2474
2475 010302' 250 01 0 17 777726 SHSNDX: EXCH T1,SHNNOD ^-^O52(P)^ ;GET FREE BLOCK ADDRESS
2476 010303' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
2477 FATAL.ERROR ^;FAILD
2478 CALL ERROR
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 59-1
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2479 HALTF
2480 010304' 254 00 0 00 016623' JRST NETCON]
2481 010305' 200 01 0 17 777726 MOVE T1,SHNNOD ^-^O52(P)^ ;RESTORE ERROR CODE
2482 RETBAD ()^ ;FAIL
2483 010306' 263 17 0 00 000000 IFB <>,< RET>
2484
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 60
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2485 ; SHOW STATE LINE line-id
2486
2487 010307' SHSLIN: STKVAR <<SHOMSG,100>,<SHLLID,2>>^
2488 010307' 265 16 0 00 010237* JSP .A16,.STKST
2489 010310' 000102 000102 ..STKN,,..STKN
2490 010311' 260 17 0 00 012436' CALL PRSLID ;PARSE THE LINE-ID
2491 RETBAD (.ERR23)^ ;<Invalid line-id>
2492 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
2493 010312' 254 00 0 00 016707' RET]>>
2494 010313' 124 01 0 17 777675 DMOVEM T1,SHLLID ^-^O103(P)^;SAVE LINE-ID
2495 010314' 260 17 0 00 012335' CALL PRSCFM ;PARSE END OF COMMAND
2496 RETBAD ()^ ;FAILED
2497 010315' 263 17 0 00 000000 IFB <>,< RET>
2498
2499 ; COMMAND PARSED - SAVE REQUEST TYPE IN QUEUE ENTRY AND SEND NICE MESSAGE
2500
2501 010316' 201 01 0 17 777677 MOVEI T1,SHOMSG ^-^O101(P)^ ;ADR OF MESSAGE
2502 010317' 505 01 0 00 441000 HRLI T1,441000 ;MAKE POINTER TO MESSAGE
2503 010320' 201 02 0 00 000010 MOVEI T2,.NCRED ;READ INFORMATION
2504 010321' 136 02 0 00 000001 IDPB T2,T1
2505 010322' 201 02 0 00 000005 MOVEI T2,.RDLST ;GET LINE STATE
2506 010323' 136 02 0 00 000001 IDPB T2,T1
2507 010324' 201 02 0 00 000002 MOVEI T2,2 ;NUMBER OF BYTES IN MESSAGE SO FAR
2508 010325' 120 03 0 17 777675 DMOVE T3,SHLLID ^-^O103(P)^ ;GET LINE ID
2509 010326' 260 17 0 00 010112* CALL MAKLIN ;PUT LINE-ID INTO MESSAGE
2510 010327' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
2511 010330' 200 03 0 00 000002 MOVE T3,T2 ;COPY COUNT OF BYTES IN MESSAGE
2512 010331' 201 02 0 17 777677 MOVEI T2,SHOMSG ^-^O101(P)^ ;ADR OF MESSAGE
2513 010332' 505 02 0 00 441000 HRLI T2,441000 ;MAKE POINTER TO MESSAGE
2514 010333' 505 04 0 00 000010 HRLI T4,.NCRED ;GET NICE PROTOCOL "READ INFORMATION" FUNCTION
2515 010334' 541 04 0 00 000005 HRRI T4,.RDLST ;GET OPTION FOR "READ LINE STATE"
2516 010335' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2517 010336' 200 03 0 00 010270* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2518 010337' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
2519 RETBAD ()^ ;FAILED
2520 010340' 263 17 0 00 000000 IFB <>,< RET>
2521 010341' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2522 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2523 010342' 201 02 0 00 000001 MOVEI T2,..MX1>
2524 STOR T2,QUEFLG,(T1)^
2525 010343' 542 02 0 01 000001 HRRM T2,1(T1)^
2526 RETSKP ^ ;ALL DONE
2527 010344' 254 00 0 00 010301* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 61
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2528 ; shnlns - show status known lines
2529
2530 010345' shnlns: stkvar <<snlmsg,100>>^
2531 010345' 265 16 0 00 010307* JSP .A16,.STKST
2532 010346' 000100 000100 ..STKN,,..STKN
2533
2534 ; parse end of command
2535
2536 010347' 260 17 0 00 012335' call prscfm ;parse end of command
2537 retbad ()^ ;failed
2538 010350' 263 17 0 00 000000 IFB <>,< RET>
2539
2540 ; assemble nice protocol message to read information
2541
2542 010351' 201 01 0 17 777677 MOVEI T1,snlMSG ^-^O101(P)^ ;ADR OF MESSAGE
2543 010352' 505 01 0 00 441000 HRLI T1,441000 ;MAKE POINTER TO MESSAGE
2544 010353' 201 02 0 00 000010 MOVEI T2,.NCRED ;READ INFORMATION
2545 010354' 136 02 0 00 000001 IDPB T2,T1
2546 010355' 201 02 0 00 000005 MOVEI T2,.RDLST ;GET LINE STATE
2547 010356' 136 02 0 00 000001 IDPB T2,T1
2548 movx t2,.ltall ^;get "all lines" line id
2549 010357' 201 02 0 00 000000 MOVEI t2,..MX1>
2550 010360' 136 02 0 00 000001 idpb t2,t1 ;add line id to message
2551 010361' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF MESSAGE
2552 MOVx T3,3 ^;there are three bytes in the message
2553 010362' 201 03 0 00 000003 MOVEI T3,..MX1>
2554 010363' 201 02 0 17 777677 MOVEI T2,SNLMSG ^-^O101(P)^ ;ADR OF MESSAGE
2555 010364' 505 02 0 00 441000 HRLI T2,441000 ;MAKE POINTER TO MESSAGE
2556 010365' 505 04 0 00 000010 HRLI T4,.NCRED ;GET NICE PROTOCOL "READ INFORMATION" FUNCTION
2557 010366' 541 04 0 00 000005 HRRI T4,.RDLST ;GET OPTION FOR "READ LINE STATE"
2558 010367' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2559 010370' 200 03 0 00 010336* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2560 010371' 260 17 0 00 011050' CALL STONIC ;STORE THIS MESSAGE ON NICE QUEUE
2561 RETBAD ()^ ;FAILED
2562 010372' 263 17 0 00 000000 IFB <>,< RET>
2563 010373' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2564 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2565 010374' 201 02 0 00 000001 MOVEI T2,..MX1>
2566 STOR T2,QUEFLG,(T1)^
2567 010375' 542 02 0 01 000001 HRRM T2,1(T1)^
2568 RETSKP ^ ;ALL DONE
2569 010376' 254 00 0 00 010344* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 62
NCP MAC 5-Oct-81 16:46 NCP -- SHOW Command
2570 ;SHOW QUEUE (OF) NCP-REQUESTS
2571
2572 010377' 260 17 0 00 012407' SHOQUE: CALL PRSNOI ;PARSE NOISE WORDS
2573 010400' 260 17 0 00 012326' CALL PRSKEY ;PARSE KEYWORD
2574 RETBAD ()^ ;FAILED
2575 010401' 263 17 0 00 000000 IFB <>,< RET>
2576 010402' 201 02 0 00 010407' MOVEI T2,SHOQTB ;GET ADR OF DISPATCH TABLE
2577 010403' 201 03 0 00 000001 MOVEI T3,SHOQTL ;AND ITS LENGTH
2578 010404' 260 17 0 00 006067' CALL FNDDSP ;GET DISPATCH
2579 010405' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND
2580 010406' 254 00 0 01 000000 JRST 0(T1) ;DISPATCH
2581
2582 010407' 000052 010410' SHOQTB: .DNNCR,,SHONCP ;SHOW QUEUE (OF) NCP-REQUESTS
2583 000001 SHOQTL==.-SHOQTB
2584
2585 010410' SHONCP: STKVAR <SQNPAG>^
2586 010410' 265 16 0 00 010345* JSP .A16,.STKST
2587 010411' 000001 000001 ..STKN,,..STKN
2588 010412' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE TO USE FOR THE TEXT
2589 RETBAD ()^ ;FAILED
2590 010413' 263 17 0 00 000000 IFB <>,< RET>
2591 010414' 202 01 0 17 777776 MOVEM T1,SQNPAG ^-^O2(P)^ ;SAVE PAGE NUMBER
2592 010415' 242 01 0 00 000011 LSH T1,9 ;FORM ADDRESS OF TEXT DESTINATION
2593 010416' 505 01 0 00 000700 HRLI T1,(POINT 7,0,35) ;FORM DESTINATION POINTER
2594 010417' 200 05 0 00 000001 MOVE Q1,T1 ;SAVE STARTING BYTE POINTER
2595 010420' 260 17 0 00 010745' CALL BLDACT ;LIST THE ACTIVE COMMANDS
2596 010421' 260 17 0 00 011010' CALL BLDQUE ;THEN THE QUEUED COMMANDS
2597 HRROI T2,[ASCIZ/ There are no outstanding NCP requests.
2598 010422' 561 02 0 00 017104' /]
2599 010423' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
2600 010424' 316 01 0 00 000005 CAMN T1,Q1 ;DID THE BYTE POINTER CHANGE?
2601 010425' 104 00 0 00 000053 SOUT ;ADD STRING TO TEXT
2602 010426' 200 01 0 17 777776 MOVE T1,SQNPAG ^-^O2(P)^ ;GET PAGE ADDRESS OF TEXT
2603 010427' 242 01 0 00 000011 LSH T1,9 ;FORM ADDRESS
2604 010430' 505 01 0 00 000700 HRLI T1,(POINT 7,0,35) ;FORM POINTER TO TEXT TO BE OUTPUT
2605 010431' 200 02 0 00 017115' MOVE T2,[POINT 7,[ASCIZ//]]
2606 010432' 260 17 0 00 014575' CALL OPRMES ;TELL OPERATOR QUEUE IS EMPTY
2607 JRST [ EXCH T1,SQNPAG ^-^O2(P)^;GET PAGE ADDRESS
2608 CALL RELPAG ;RELEASE THE PAGE
2609 NON.FATAL.ERROR^
2610 IFB <>,< CALL WRNING>
2611 MOVE T1,SQNPAG ^-^O2(P)^;RESTORE ERROR CODE
2612 RETBAD ()^
2613 IFB <>,< RET>
2614 010433' 254 00 0 00 017116' RETBAD ()]>^ ] ;FAILED
2615 010434' 200 01 0 17 777776 MOVE T1,SQNPAG ^-^O2(P)^ ;GET PAGE ADDRESS
2616 010435' 260 17 0 00 014270' CALL RELPAG ;RELEASE THE PAGE
2617 NON.FATAL.ERROR^
2618 010436' 260 17 0 00 014473' IFB <>,< CALL WRNING>
2619 RETSKP ^ ;AND EXIT
2620 010437' 254 00 0 00 010376* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 63
NCP MAC 5-Oct-81 16:46 NCP -- LOOP Command
2621 SUBTTL NCP -- LOOP Command
2622
2623 010440' 260 17 0 00 012326' LOPREQ: CALL PRSKEY ;PARSE A KEYWORD
2624 010441' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
2625 010442' 201 02 0 00 010447' MOVEI T2,LOPRTB ;GET ADR OF DISPATCH TABLE
2626 010443' 201 03 0 00 000001 MOVEI T3,LOPRTL ;AND LENGTH OF TABLE
2627 010444' 260 17 0 00 006067' CALL FNDDSP ;GET THE DISPATCH ADR
2628 010445' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN KEYWORD
2629 010446' 254 00 0 01 000000 JRST (T1) ;DISPATCH
2630
2631 010447' 000040 010450' LOPRTB: .DNSLI,,LOPLIN ;LOOP LINE
2632 000001 LOPRTL==.-LOPRTB
2633
2634 ; LOOP LINE line-id
2635
2636 010450' LOPLIN: STKVAR <LOPBYT,<LOPMSG,50>,<LOPLID,2>,LOPCNT,LOPLNG,LOPWTH>^
2637 010450' 265 16 0 00 010410* JSP .A16,.STKST
2638 010451' 000056 000056 ..STKN,,..STKN
2639 010452' 260 17 0 00 012436' CALL PRSLID ;PARSE THE LINE-ID
2640 RETBAD (.ERR23)^ ;<Invalid line-id>
2641 IFNB <.ERR23>,< JRST [ MOVEI T1,.ERR23
2642 010453' 254 00 0 00 016707' RET]>>
2643 010454' 124 01 0 17 777724 DMOVEM T1,LOPLID ^-^O54(P)^;SAVE LINE-ID
2644 010455' 201 01 0 00 000001 MOVEI T1,1 ;DEFAULT COUNT
2645 010456' 202 01 0 17 777723 MOVEM T1,LOPCNT^-^O55(P)^
2646 010457' 201 01 0 00 000200 MOVEI T1,^D128 ;DEFAULT LENGTH
2647 010460' 202 01 0 17 777722 MOVEM T1,LOPLNG^-^O56(P)^
2648 010461' 201 01 0 00 000002 MOVEI T1,.DOMXD ;DEFAULT DATA MODE
2649 010462' 202 01 0 17 777721 MOVEM T1,LOPWTH^-^O57(P)^
2650 010463' 260 17 0 00 012335' LOPLST: CALL PRSCFM ;END OF COMMAND?
2651 010464' 334 00 0 00 000000 SKIPA ;NO - PARSE THE KEYWORD
2652 010465' 254 00 0 00 010540' JRST DOLOOP ;GO DO THE LOOP COMMAND
2653 010466' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
2654 010467' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
2655 010470' 201 02 0 00 010475' MOVEI T2,LINRTB ;GET ADR OF DISPATCH TABLE
2656 010471' 201 03 0 00 000003 MOVEI T3,LINRTL ;AND LENGTH OF TABLE
2657 010472' 260 17 0 00 006067' CALL FNDDSP ;GET THE DISPATCH ADR
2658 010473' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN KEYWORD
2659 010474' 254 00 0 01 000000 JRST (T1) ;DISPATCH
2660
2661 010475' 000004 010500' LINRTB: .DNDRC,,LINDRC ;LOOP LINE line-id COUNT
2662 010476' 000135 010507' .DNLNG,,LINLNG ;LOOP LINE line-id LENGTH
2663 010477' 000142 010522' .DNWTH,,LINWTH ;LOOP LINE line-id WITH
2664 000003 LINRTL==.-LINRTB
2665
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 64
NCP MAC 5-Oct-81 16:46 NCP -- LOOP Command
2666
2667 ; LOOP LINE line-id COUNT n
2668
2669 010500' 260 17 0 00 012335' LINDRC:: CALL PRSCFM ;END OF COMMAND?
2670 010501' 334 00 0 00 000000 SKIPA ;NO - PARSE THE KEYWORD
2671 010502' 254 00 0 00 010540' JRST DOLOOP ;GO DO THE LOOP COMMAND
2672 010503' 260 17 0 00 012400' CALL PRSNUM ;GET THE BLOCK COUNT
2673 010504' 254 00 0 00 006055' JRST DOREQE ;FAILED
2674 010505' 202 01 0 17 777723 MOVEM T1,LOPCNT ^-^O55(P)^ ;SAVE
2675 010506' 254 00 0 00 010463' JRST LOPLST ;GET MORE KEYWORDS
2676
2677 ; LOOP LINE line-id LENGTH n
2678
2679 010507' 260 17 0 00 012335' LINLNG: CALL PRSCFM ;END OF COMMAND?
2680 010510' 334 00 0 00 000000 SKIPA ;NO - PARSE THE KEYWORD
2681 010511' 254 00 0 00 010540' JRST DOLOOP ;GO DO THE LOOP COMMAND
2682 010512' 260 17 0 00 012400' CALL PRSNUM ;GET THE BLOCK LENGTH
2683 010513' 254 00 0 00 006055' JRST DOREQE ;FAILED
2684 010514' 337 00 0 00 000001 SKIPG T1 ;MUST >0 AND <256
2685 RETBAD (ARGX04)^ ;TELL USER BLOCK TOO SMALL
2686 IFNB <ARGX04>,< JRST [ MOVEI T1,ARGX04
2687 010515' 254 00 0 00 017123' RET]>>
2688 010516' 301 01 0 00 000400 CAIL T1,^D256
2689 RETBAD (ARGX05)^ ;TELL USER BLOCK TOO LONG
2690 IFNB <ARGX05>,< JRST [ MOVEI T1,ARGX05
2691 010517' 254 00 0 00 017125' RET]>>
2692 010520' 202 01 0 17 777722 MOVEM T1,LOPLNG ^-^O56(P)^ ;SAVE
2693 010521' 254 00 0 00 010463' JRST LOPLST ;GET MORE KEYWORDS
2694
2695 ; LOOP LINE line-id WITH [MIXED/ZEROES/ONES]
2696
2697 010522' 260 17 0 00 012335' LINWTH: CALL PRSCFM ;END OF COMMAND?
2698 010523' 334 00 0 00 000000 SKIPA ;NO - PARSE THE KEYWORD
2699 010524' 254 00 0 00 010540' JRST DOLOOP ;GO DO THE LOOP COMMAND
2700 010525' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD
2701 010526' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
2702 010527' 201 02 0 00 010535' MOVEI T2,WTHRTB ;GET ADR OF DISPATCH TABLE
2703 010530' 201 03 0 00 000003 MOVEI T3,WTHRTL ;AND LENGTH OF TABLE
2704 010531' 260 17 0 00 006067' CALL FNDDSP ;GET THE DISPATCH ADR
2705 010532' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN KEYWORD
2706 010533' 202 01 0 17 777721 MOVEM T1,LOPWTH ^-^O57(P)^ ;SAVE THE CODE VALUE
2707 010534' 254 00 0 00 010463' JRST LOPLST ;KEEP PARSING
2708
2709 010535' 000137 000002 WTHRTB: .DNMXD,,.DOMXD ;LOOP LINE line-id WITH MIXED
2710 010536' 000140 000001 .DNONS,,.DOONS ;LOOP LINE line-id WITH ONES
2711 010537' 000141 000000 .DNZRO,,.DOZRO ;LOOP LINE line-id WITH ZEROES
2712 000003 WTHRTL==.-WTHRTB
2713 ;...
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 65
NCP MAC 5-Oct-81 16:46 NCP -- LOOP Command
2714 ;...
2715
2716 010540' 402 00 0 17 777776 DOLOOP: SETZM LOPBYT ^-^O2(P)^ ;ZERO BYTE COUNT
2717 010541' 541 01 0 17 777726 HRRI T1,LOPMSG ^-^O52(P)^ ;GET ADDRESS OF NICE MESSAGE
2718 010542' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2719 MOVX T4,.NCTST ^;GET NICE "DO LOOPBACK" FUNCTION
2720 010543' 201 04 0 00 000006 MOVEI T4,..MX1>
2721 010544' 136 04 0 00 000001 IDPB T4,T1 ;PUT FUNCTION CODE IN MESSAGE
2722 010545' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2723 MOVX T4,.DOLIN ^;GET "LINE TYPE TEST" OPTION CODE
2724 010546' 201 04 0 00 000001 MOVEI T4,..MX1>
2725 010547' 136 04 0 00 000001 IDPB T4,T1 ;ADD OPTION TO MESSAGE
2726 010550' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2727 010551' 201 02 0 00 000006 MOVEI T2,6 ;MOVE EXECUTOR NAME INTO NICE MSG
2728 010552' 200 03 0 00 010370* MOVE T3,EXCUTR
2729 010553' 260 17 0 00 010256* CALL MAKIMA ;PUT EXECUTOR IN IMAGE FIELD
2730 RETBAD ^;ERROR - FAIL
2731 010554' 263 17 0 00 000000 IFB <>,< RET>
2732 010555' 272 02 0 17 777776 ADDM T2,LOPBYT ^-^O2(P)^ ;ADD COUNT TO TOTAL
2733 010556' 120 03 0 17 777724 DMOVE T3,LOPLID ^-^O54(P)^ ;PUT LINE ID INTO NICE MESSAGE
2734 010557' 200 02 0 17 777776 MOVE T2,LOPBYT ^-^O2(P)^ ;GIVE IT COUNT
2735 010560' 260 17 0 00 010326* CALL MAKLIN ;ROUTINE PUTS LINE ID INTO NICE MESSAGE
2736 010561' 202 02 0 17 777776 MOVEM T2,LOPBYT ^-^O2(P)^ ;STORE COUNT
2737 010562' 200 02 0 17 777723 MOVE T2,LOPCNT ^-^O55(P)^ ;GET COUNT OF BLOCKS TO LOOP
2738 010563' 260 17 0 00 000000* CALL MAKTWO ;SAVE THE TWO BYTE NUMBER
2739 010564' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2740 010565' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2741 010566' 200 02 0 17 777721 MOVE T2,LOPWTH ^-^O57(P)^ ;GET DATA TYPE
2742 010567' 136 02 0 00 000001 IDPB T2,T1 ;AND MOVE INTO RECORD
2743 010570' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2744 010571' 200 02 0 17 777722 MOVE T2,LOPLNG ^-^O56(P)^ ;GET THE BLOCK LENGTH
2745 010572' 260 17 0 00 010563* CALL MAKTWO ;PUT TWO BYTE NUMBER IN MESSAGE
2746 010573' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2747 010574' 350 00 0 17 777776 AOS LOPBYT ^-^O2(P)^ ;BUMP BYTE COUNT
2748 010575' 505 04 0 00 000006 HRLI T4,.NCTST ;SET "TEST" FUNCTION
2749 010576' 541 04 0 00 000001 HRRI T4,.DOLIN ;GET "LOCAL NODE STATUS" OPTION
2750 010577' 200 03 0 17 777776 MOVE T3,LOPBYT ^-^O2(P)^ ;GET NUMBER OF BYTES IN NICE MESSAGE
2751 010600' 541 02 0 17 777726 HRRI T2,LOPMSG ^-^O52(P)^ ;GET ADDRESS OF NICE MESSAGE
2752 010601' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO NICE MESSAGE
2753 010602' 200 01 0 00 000010 MOVE T1,P1 ;GET ADR OF ORION MESSAGE
2754 010603' 504 01 0 00 000003 HRL T1,T3 ;MOVE COUNT INTO PARAM REG
2755 010604' 200 03 0 00 010552* MOVE T3,EXCUTR ;SHOW WHAT EXECUTOR WE WANT
2756 010605' 260 17 0 00 011050' CALL STONIC ;PUT MSG ON NICE QUEUE
2757 RETBAD ()^ ;FAILED
2758 010606' 263 17 0 00 000000 IFB <>,< RET>
2759 010607' 200 01 0 00 002000' MOVE T1,REQADR ;GET ADR OF THIS QUEUE ENTRY
2760 MOVX T2,QF%NOA ^;MARK THAT THIS MESSAGE NOT TO BE ACK'D YET
2761 010610' 201 02 0 00 000001 MOVEI T2,..MX1>
2762 STOR T2,QUEFLG,(T1)^
2763 010611' 542 02 0 01 000001 HRRM T2,1(T1)^
2764 RETSKP ^ ;DONE, RETURN SUCCESS
2765 010612' 254 00 0 00 010437* JRST RSKP
2766
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 66
NCP MAC 5-Oct-81 16:46 NCP -- INITIATE and TERMINATE Commands
2767 SUBTTL NCP -- INITIATE and TERMINATE Commands
2768
2769 010613' 260 17 0 00 012326' TRMREQ: CALL PRSKEY ;PARSE A KEYWORD
2770 010614' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
2771 010615' 201 02 0 00 010622' MOVEI T2,TRMRTB ;GET ADR OF DISPATCH TABLE
2772 010616' 201 03 0 00 000001 MOVEI T3,TRMRTL ;AND LENGTH OF TABLE
2773 010617' 260 17 0 00 006067' CALL FNDDSP ;GET THE DISPATCH ADR
2774 010620' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN KEYWORD
2775 010621' 254 00 0 01 000000 JRST (T1) ;DISPATCH
2776
2777 010622' 000045 010634' TRMRTB: .DNLGI,,TRMLOG ;TERMINATE LOGGING
2778
2779 000001 TRMRTL==.-TRMRTB
2780
2781
2782
2783
2784 010623' 260 17 0 00 012326' INIREQ: CALL PRSKEY ;PARSE A KEYWORD
2785 010624' 254 00 0 00 006055' JRST DOREQE ;WRONG TYPE
2786 010625' 201 02 0 00 010632' MOVEI T2,INIRTB ;GET ADR OF DISPATCH TABLE
2787 010626' 201 03 0 00 000001 MOVEI T3,INIRTL ;AND LENGTH OF TABLE
2788 010627' 260 17 0 00 006067' CALL FNDDSP ;GET THE DISPATCH ADR
2789 010630' 254 00 0 00 006055' JRST DOREQE ;NOT FOUND, UNKNOWN KEYWORD
2790 010631' 254 00 0 01 000000 JRST (T1) ;DISPATCH
2791
2792 010632' 000143 010633' INIRTB: .DNLOG,,INILOG ;INITIATE LOGGING
2793
2794 000001 INIRTL==.-INIRTB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 67
NCP MAC 5-Oct-81 16:46 NCP -- INITIATE and TERMINATE Commands
2795 010633' 634 04 0 00 000004 INILOG: TDZA T4,T4 ;NOTE INITATE
2796 010634' 476 00 0 00 000004 TRMLOG: SETOM T4 ;NOTE TERMINATE
2797 STKVAR <IRQERR,IRQFLG,IRQNOD>^
2798 010635' 265 16 0 00 010450* JSP .A16,.STKST
2799 010636' 000003 000003 ..STKN,,..STKN
2800 010637' 202 04 0 17 777775 MOVEM T4,IRQFLG ^-^O3(P)^ ;SAVE INITIATE/TERMINATE FLAG
2801 010640' 260 17 0 00 012407' CALL PRSNOI ;SKIP NOISE FIELD
2802 010641' 260 17 0 00 012326' CALL PRSKEY ;PARSE KEYWORD
2803 RETBAD ()^ ;FAILED
2804 010642' 263 17 0 00 000000 IFB <>,< RET>
2805 010643' 302 01 0 00 000117 CAIE T1,.DNLCT ;LINE-COUNTERS ?
2806 010644' 254 00 0 00 006055' JRST DOREQE ;NO, FAIL
2807 010645' 260 17 0 00 012407' CALL PRSNOI ;SKIP NOISE
2808 010646' 260 17 0 00 012436' CALL PRSLID ;GO PARSE A LINE ID
2809 010647' 254 00 0 00 006055' JRST DOREQE ;FAILED, NOTE ERROR
2810 010650' 124 01 0 00 000005 DMOVEM T1,Q1 ;SAVE LINE ID
2811 010651' 260 17 0 00 012407' CALL PRSNOI ;PARSE NOISE FIELD
2812 010652' 260 17 0 00 012341' CALL PRSNOD ;PARSE NODE NAME
2813 RETBAD ()^ ;FAILED
2814 010653' 263 17 0 00 000000 IFB <>,< RET>
2815 010654' 202 01 0 17 777774 MOVEM T1,IRQNOD ^-^O4(P)^ ;SAVE FREE BLOCK ADDRESS
2816 010655' 260 17 0 00 006077' CALL FOCNIB ;FIND OR CREATE THE ASSOCIATED NIB
2817 010656' 254 00 0 00 010677' JRST INIRQX ;FAILED, RELEASE FREE SPACE
2818 010657' 200 03 0 00 000001 MOVE T3,T1 ;GET THE NIB ADDRESS
2819 010660' 120 01 0 00 000005 DMOVE T1,Q1 ;RESTORE LINE ID
2820 010661' 402 00 0 17 777776 SETZM IRQERR ^-^O2(P)^ ;INITIALIZE ERROR CELL
2821 010662' 200 04 0 00 017127' MOVE T4,[SETLIN] ;GET ADDRESS OF ROUTINE TO CALL
2822 010663' 332 00 0 17 777775 SKIPE IRQFLG ^-^O3(P)^ ;TERMINATING ?
2823 010664' 200 04 0 00 017130' MOVE T4,[CLRLIN] ;YES, USE THAT ROUTINE
2824 010665' 260 17 0 04 000000 CALL (T4) ;PERFORM THE FUNCTION
2825 010666' 334 00 0 00 000000 SKIPA ;FAILED, ISSUE ERROR MESSAGE
2826 010667' 254 00 0 00 010673' JRST INIRQ5 ;DONE, RELEASE FREE BLOCK
2827 HRROI T1,[ASCIZ/? NETCON: Could not set logging for specified line
2828 010670' 561 01 0 00 017131' /] ;GET STRING POINTER
2829 010671' 402 00 0 00 000002 SETZM T2 ;NO HEADER
2830 010672' 260 17 0 00 014575' CALL OPRMES ;SEND MESSAGE TO OPERATOR
2831 010673' 200 01 0 17 777774 INIRQ5: MOVE T1,IRQNOD ^-^O4(P)^ ;GET FREE BLOCK ADDRESS
2832 010674' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
2833 FATAL.ERROR ^;FAILD
2834 CALL ERROR
2835 HALTF
2836 010675' 254 00 0 00 016623' JRST NETCON]
2837 RETSKP ^ ;DONE
2838 010676' 254 00 0 00 010612* JRST RSKP
2839
2840 ; HERE ON AN ERROR
2841
2842 010677' 250 01 0 17 777774 INIRQX: EXCH T1,IRQNOD ^-^O4(P)^ ;GET FREE BLOCK ADDRESS
2843 010700' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
2844 FATAL.ERROR ^;FAILD
2845 CALL ERROR
2846 HALTF
2847 010701' 254 00 0 00 016623' JRST NETCON]
2848 010702' 200 01 0 17 777774 MOVE T1,IRQNOD ^-^O4(P)^ ;RESTORE ERROR CODE
2849 RETBAD ()^ ;FAIL
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 67-1
NCP MAC 5-Oct-81 16:46 NCP -- INITIATE and TERMINATE Commands
2850 010703' 263 17 0 00 000000 IFB <>,< RET>
2851
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 68
NCP MAC 5-Oct-81 16:46 NCP -- INITIATE and TERMINATE Commands
2852 ;SETLIN/CLRLIN - ROUTINE TO MODIFY DATABASE TO NOTE THAT LOGGING SHOULD
2853 ; OR SHOULD NOT BE DONE FOR THE INDICATED LINE.
2854 ; FOR SPECIFIED LINE.
2855 ;
2856 ;ACCEPTS IN T1-T2/ LINE ID
2857 ; T3/ NIB ADDRESS
2858 ; CALL SETLIN/CLRLIN
2859 ;RETURNS: +1 FAILED, ERROR CODE IN T1
2860 ; +2 SUCCESS, DATABASE MODIFIED
2861
2862 010704' 634 04 0 00 000004 SETLIN: TDZA T4,T4 ;NOTE THAT LOGGING SHOULD BE TURNED ON
2863 010705' 476 00 0 00 000004 CLRLIN: SETOM T4 ;NOTE THAT LOGGING SHOULD BE TURNED OFF
2864 STKVAR <<STLLID,2>,STLFLG,STLNIB>^
2865 010706' 265 16 0 00 010635* JSP .A16,.STKST
2866 010707' 000004 000004 ..STKN,,..STKN
2867 010710' 202 04 0 17 777774 MOVEM T4,STLFLG ^-^O4(P)^ ;SAVE FLAG TO NOTE ON OR OFF
2868 010711' 124 01 0 17 777775 DMOVEM T1,STLLID ^-^O3(P)^;SAVE LINE ID
2869 010712' 202 03 0 17 777773 MOVEM T3,STLNIB ^-^O5(P)^ ;SAVE NIB ADDRESS
2870 010713' 200 01 0 17 777773 MOVE T1,STLNIB ^-^O5(P)^ ;GET NIB ADDRESS
2871 010714' 120 02 0 17 777775 DMOVE T2,STLLID ^-^O3(P)^ ;GET LINE ID
2872 010715' 260 17 0 00 015641' CALL FOCLIN ;FIND OR CREATE THE ENTRY FOR THIS LINE
2873 RETBAD ()^ ;FAILED, RETURN ERROR
2874 010716' 263 17 0 00 000000 IFB <>,< RET>
2875 010717' 332 00 0 17 777774 SKIPE STLFLG ^-^O4(P)^ ;TURNING LOGGING OFF ?
2876 JRST [SETZRO LTLOG,(T1) ^
2877 MOVSI .SAC,(..MX1)>>
2878 ANDCAM .SAC,2(T1)
2879 010720' 254 00 0 00 017144' RETSKP ^JRST RSKP^] ;AND DONE. RETURN SUCCESS
2880 SETONE LTLOG,(T1) ^;NOTE THAT LOGGING IS REQUIRED FOR THIS LINE
2881 010721' 205 16 0 00 200000 MOVSI .SAC,(..MX1)>>
2882 010722' 436 16 0 01 000002 IORM .SAC,2(T1)
2883 RETSKP ^ ;DONE, RETURN SUCCESS
2884 010723' 254 00 0 00 010676* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 69
NCP MAC 5-Oct-81 16:46 NCP -- INITIATE and TERMINATE Commands
2885
2886 ;PRSPRT - ROUTINE TO PARSE A LINE-ID INTO A NSP PORT NUMBER
2887 ;
2888 ;ACCEPTS IN P2/ CURRENT POINTER INTO IPCF MESSAGE
2889 ; CALL PRSPRT
2890 ;RETURNS: +1 LOST, INVALID LINE-ID
2891 ; +2 WIN, PORT NUMBER IN T1
2892 010724' 260 17 0 00 012436' PRSPRT: CALL PRSLID ;GET LINE-ID
2893 010725' 263 17 0 00 000000 RET ;LOST ALREADY
2894 010726' LIDPRT::STKVAR <<PRTSAV,2>,<PRTLID,2>>^
2895 010726' 265 16 0 00 010706* JSP .A16,.STKST
2896 010727' 000004 000004 ..STKN,,..STKN
2897 010730' 120 02 0 00 000001 DMOVE T2,T1 ;COPY LINE ID
2898 010731' 201 01 0 17 777773 MOVEI T1,PRTLID ^-^O5(P)^ ;ADR OF ASCII DEVICE NAME
2899 010732' 505 01 0 00 440700 HRLI T1,440700 ;MAKE INTO BYTE POINTER
2900 010733' 260 17 0 00 000000* CALL ASCLIN ;CONVERT LINE-ID TO TEXT STRING
2901 RETBAD (.NRILN)^ ;INVALID LINE ID
2902 IFNB <.NRILN>,< JRST [ MOVEI T1,.NRILN
2903 010734' 254 00 0 00 017147' RET]>>
2904 010735' 561 04 0 17 777773 HRROI T4,PRTLID ^-^O5(P)^ ;ADR OF ASCIZ LINE-ID
2905 010736' 505 04 0 00 440700 HRLI T4,440700 ;TEMPORARY
2906 010737' 201 01 0 00 000014 MOVEI T1,.BTCLI ;CONVERT LINE-ID TO NSP PORT NUMBER
2907 010740' 201 02 0 00 000003 MOVEI T2,T3 ;ARGUMENT BLOCK
2908 010741' 104 00 0 00 000562 BOOT
2909 ERJMP [RETBAD (.NRILN)^
2910 IFNB <.NRILN>,< JRST [ MOVEI T1,.NRILN
2911 RET]>>
2912 010742' 320 16 0 00 017151' RETBAD (.NRILN)]>^] ;FAILED, RETURN INVALID LINE ID
2913 010743' 550 01 0 00 000003 HRRZ T1,T3 ;GET PORT NUMBER FROM ARGUMENT BLOCK
2914 010744' 254 00 0 00 010723* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 70
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
2915 SUBTTL NCP -- Miscellaneous Routines
2916
2917 ;ROUTINE TO BUILD A LIST OF THE ACTIVE REQUESTS
2918 ;ACCEPTS IN T1/ BYTE POINTER TO WHERE TO PUT THE LIST
2919 ; CALL BLDACT
2920 ;RETURNS +1: ALWAYS - UPDATED BYTE POINTER IN T1
2921
2922 010745' BLDACT: SAVEQ^
2923 010745' 265 16 0 00 014432' JSP CX,SAVQ^
2924 010746' 205 05 0 00 777774 MOVSI Q1,-NJFN ;SEE IF THERE ARE ANY ACTIVE REQUESTS
2925 010747' 332 00 0 05 002023' BLDAC0: SKIPE REQTAB(Q1) ;THIS ONE ACTIVE?
2926 010750' 254 00 0 00 010753' JRST BLDAC2 ;YES
2927 010751' 253 05 0 00 010747' AOBJN Q1,BLDAC0 ;NO, LOOP BACK
2928 010752' 263 17 0 00 000000 RET ;NONE ACTIVE
2929
2930 010753' BLDAC2: HRROI T2,[ASCIZ/
2931 NCP requests in progress:
2932 010753' 561 02 0 00 017152' /]
2933 010754' 400 03 0 00 000000 SETZ T3,
2934 010755' 104 00 0 00 000053 SOUT
2935 010756' 205 05 0 00 777774 MOVSI Q1,-NJFN ;SET UP TO LOOK AT ACTIVE REQUESTS
2936 010757' 336 00 0 05 002023' BLDACL: SKIPN REQTAB(Q1) ;THIS ONE ACTIVE?
2937 010760' 254 00 0 00 011006' JRST BLDAC1 ;NO
2938 010761' 561 02 0 00 017160' HRROI T2,[ASCIZ/ # /]
2939 010762' 400 03 0 00 000000 SETZ T3,
2940 010763' 104 00 0 00 000053 SOUT
2941 010764' 200 02 0 05 002023' MOVE T2,REQTAB(Q1) ;GET THE REQUEST NUMBER
2942 010765' 201 03 0 00 000012 MOVEI T3,^D10 ;DECIMAL
2943 010766' 104 00 0 00 000224 NOUT
2944 010767' 255 00 0 00 000000 JFCL
2945 010770' 561 02 0 00 017162' HRROI T2,[ASCIZ/ - /]
2946 010771' 400 03 0 00 000000 SETZ T3,
2947 010772' 104 00 0 00 000053 SOUT
2948 010773' 200 02 0 05 002037' MOVE T2,REQXTR(Q1) ;GET ADDRESS OF EXECUTOR NODE NAME
2949 010774' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO NAME STRING
2950 010775' 104 00 0 00 000053 SOUT ;ADD EXECUTOR NAME TO DISPLAY
2951 010776' 561 02 0 00 017162' HRROI T2,[ASCIZ/ - /]
2952 010777' 400 03 0 00 000000 SETZ T3,
2953 011000' 104 00 0 00 000053 SOUT
2954 011001' 200 02 0 05 002033' MOVE T2,REQMES(Q1) ;GET THE ADR OF THE ORION MESSAGE
2955 011002' 260 17 0 00 012474' CALL BLDCOM ;PUT IN THE REQUEST
2956 HRROI T2,[ASCIZ/
2957 011003' 561 02 0 00 016655' /]
2958 011004' 400 03 0 00 000000 SETZ T3,
2959 011005' 104 00 0 00 000053 SOUT
2960 011006' 253 05 0 00 010757' BLDAC1: AOBJN Q1,BLDACL ;LOOP FOR ALL REQUESTS
2961 011007' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 71
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
2962 ;ROUTINE TO BUILD A LIST OF THE QUEUED REQUESTS
2963 ;ACCEPTS IN T1/ BYTE POINTER TO WHERE TO STORE LIST
2964 ; CALL BLDQUE
2965 ;RETURNS +1: ALWAYS - UPDATED BYTE POINTER IN T1
2966
2967 011010' BLDQUE: SAVEQ^
2968 011010' 265 16 0 00 014432' JSP CX,SAVQ^
2969 011011' 336 00 0 00 002003' SKIPN NICQUE ;ANY REQUESTS ON QUEUE?
2970 011012' 263 17 0 00 000000 RET ;NO
2971 HRROI T2,[ASCIZ/
2972 NCP requests on the queue but not yet started:
2973 011013' 561 02 0 00 017163' /]
2974 011014' 400 03 0 00 000000 SETZ T3,
2975 011015' 104 00 0 00 000053 SOUT
2976 011016' 201 05 0 00 002003' MOVEI Q1,NICQUE ;GET POINTER TO START OF NICE QUEUE
2977 011017' BLDQUL: LOAD Q1,NQPNT,(Q1) ^;STEP TO NEXT ENTRY ON QUEUE
2978 011017' 550 05 0 05 000000 HRRZ Q1,0(Q1)^
2979 011020' 322 05 0 00 007254* JUMPE Q1,R ;IF 0, THEN DONE
2980 011021' 561 02 0 00 017160' HRROI T2,[ASCIZ/ # /]
2981 011022' 400 03 0 00 000000 SETZ T3,
2982 011023' 104 00 0 00 000053 SOUT
2983 LOAD T2,NQNUM,(Q1) ^;GET THE REQUEST NUMBER
2984 011024' 554 02 0 05 000001 HLRZ T2,1(Q1)^
2985 011025' 201 03 0 00 000012 MOVEI T3,^D10 ;DECIMAL
2986 011026' 104 00 0 00 000224 NOUT
2987 011027' 255 00 0 00 000000 JFCL
2988 011030' 561 02 0 00 017162' HRROI T2,[ASCIZ/ - /]
2989 011031' 400 03 0 00 000000 SETZ T3,
2990 011032' 104 00 0 00 000053 SOUT
2991 LOAD T2,NQXTR,(Q1) ^;GET ADDRESS OF EXECUTOR STRING
2992 011033' 550 02 0 05 000004 HRRZ T2,4(Q1)^
2993 011034' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO NODE NAME STRING
2994 011035' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
2995 011036' 104 00 0 00 000053 SOUT ;ADD EXECUTOR NODE TO STRING
2996 011037' 561 02 0 00 017162' HRROI T2,[ASCIZ/ - /]
2997 011040' 400 03 0 00 000000 SETZ T3,
2998 011041' 104 00 0 00 000053 SOUT
2999 LOAD T2,NQMES,(Q1) ^;GET ADR OF ORION MESSAGE
3000 011042' 554 02 0 05 000000 HLRZ T2,0(Q1)^
3001 011043' 260 17 0 00 012474' CALL BLDCOM ;THROW IN THE COMMAND
3002 HRROI T2,[ASCIZ/
3003 011044' 561 02 0 00 016655' /]
3004 011045' 400 03 0 00 000000 SETZ T3,
3005 011046' 104 00 0 00 000053 SOUT
3006 011047' 254 00 0 00 011017' JRST BLDQUL ;LOOP BACK FOR ALL ENTRIES ON QUEUE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 72
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3007
3008 ;ROUTINE TO STORE A NICE MESSAGE ON THE NICE QUEUE
3009 ;ACCEPTS IN T1/ COUNT OF CHARS IN NICE MSG,,ADDRESS OF MESSAGE FROM ORION
3010 ; T2/ BYTE POINTER TO NICE MESSAGE
3011 ; T3/ BYTE POINTER OF EXECUTOR
3012 ; T4/ NICE FUNCTION CODE,,NICE SUB-OPTION
3013 ; CALL STONIC
3014 ;RETURNS +1: FAILED
3015 ; +2: NICE MESSAGE IS ON REAR OF NICE QUEUE
3016
3017 011050' STONIC: ASUBR <STONIM,STONIT,STONIN,STONIF>^
3018 011050' 265 16 0 00 006077* JSP .A16,.ASSET
3019 LOAD T2,MS.CNT,.MSTYP(T1) ^;GET SIZE OF ORION MESSAGE
3020 011051' 554 02 0 01 000000 HLRZ T2,.MSTYP(T1)^
3021 011052' 271 02 0 01 000000 ADDI T2,.MSTYP(T1) ;GET ADDRESS OF END OF ORION MESSAGE
3022 011053' 505 02 0 00 441000 HRLI T2,(POINT 8,0) ;SET UP BYTE POINTER
3023 011054' 200 01 0 15 000002 MOVE T1,STONIT ^^O2(.FP)^ ;GET POINTER TO NICE MESSAGE
3024 011055' 202 02 0 15 000002 MOVEM T2,STONIT ^^O2(.FP)^ ;SAVE NEW POINTER TO NICE MESSAGE
3025 011056' 554 03 0 15 000001 HLRZ T3,STONIM ^^O1(.FP)^ ;GET THE COUNT OF CHARACTERS
3026 011057' 210 03 0 00 000003 MOVN T3,T3 ;GET NEG COUNT OF CHARS IN MESSAGE
3027 011060' 104 00 0 00 000052 SIN ;MOVE THE MESSAGE TO A PERMANENT PLACE
3028 011061' 200 02 0 15 000002 MOVE T2,STONIT ^^O2(.FP)^ ;GET POINTER TO NICE MESSAGE
3029 011062' 554 01 0 15 000001 HLRZ T1,STONIM ^^O1(.FP)^ ;GET NICE MESSAGE COUNT
3030 011063' 350 00 0 00 000001 AOS T1 ;INSURE SPACING BETWEEN MESSAGES
3031 011064' 133 01 0 00 000002 ADJBP T1,T2 ;POINT PAST END
3032 011065' 350 00 0 00 000001 AOS T1 ;MOVE TO NEXT WORD
3033 011066' 200 04 0 00 000001 MOVE T4,T1 ;SAVE THE ADDRESS
3034 011067' 560 01 0 00 000001 HRRO T1,T1 ;MAKE INTO SEVEN BIT BYTE POINTER
3035 011070' 200 02 0 15 000003 MOVE T2,STONIN ^^O3(.FP)^ ;GET THE EXECUTOR STRING
3036 011071' 400 03 0 00 000000 SETZ T3, ;COPY WHOLE STRING
3037 011072' 104 00 0 00 000053 SOUT
3038 011073' 550 01 0 15 000001 HRRZ T1,STONIM ^^O1(.FP)^ ;GET ADR OF ORION MESSAGE AGAIN
3039 011074' 504 01 0 00 000004 HRL T1,T4 ;ADD EXECUTOR STRING ADDRESS
3040 011075' 550 02 0 15 000002 HRRZ T2,STONIT ^^O2(.FP)^ ;GET ADR OF NICE MESSAGE WITHIN ORION MESS
3041 011076' 554 03 0 15 000001 HLRZ T3,STONIM ^^O1(.FP)^ ;AND GET COUNT OF CHARS IN NICE MESSAGE
3042 011077' 350 04 0 00 002047' AOS T4,REQNUM ;GET A REQUEST NUMBER FOR THIS REQUEST
3043 011100' 504 03 0 00 000004 HRL T3,T4 ;GET REQ ,, COUNT
3044 011101' 200 04 0 15 000004 MOVE T4,STONIF ^^O4(.FP)^ ;GET NICE FUNCTION CODE AND OPTION
3045 011102' 260 17 0 00 013227' CALL QUENCR ;QUEUE UP THIS MESSAGE
3046 RETBAD ()^ ;FAILED
3047 011103' 263 17 0 00 000000 IFB <>,< RET>
3048 011104' 254 00 0 00 010744* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 73
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3049
3050 ;ROUTINE TO SEND A NICE MESSAGE
3051
3052 ;ACCEPTS IN T1/ ADDRESS OF EXECUTOR STRING,,ADDRESS OF ORION MESSAGE
3053 ; T2/ POINTER TO NICE MESSAGE
3054 ; T3/ REQ NUMBER ,, COUNT OF CHARACTERS IN NICE MESSAGE
3055 ; T4/ NICE FUNCTION CODE,,NICE OPTION
3056 ; CALL SNDNIC
3057 ;RETURNS +1: ERROR, MESSAGE NOT SENT
3058 ; +2: SUCCESSFUL
3059
3060 011105' SNDNIC: SAVEQ ^ ;SAVE SOME PERMANENT ACS
3061 011105' 265 16 0 00 014432' JSP CX,SAVQ
3062 ASUBR <SNDNIM,SNDNIT,SNDNIN,SNDNIF>^
3063 011106' 265 16 0 00 011050* JSP .A16,.ASSET
3064 011107' 554 01 0 15 000003 HLRZ T1,SNDNIN ^^O3(.FP)^ ;GET REQUEST NUMBER
3065 011110' 260 17 0 00 011133' CALL GETRQI ;GET A REQUEST INDEX
3066 RETBAD ()^ ;NONE LEFT
3067 011111' 263 17 0 00 000000 IFB <>,< RET>
3068 011112' 200 05 0 00 000001 MOVE Q1,T1 ;REMEMBER THE INDEX VALUE
3069 011113' 550 02 0 15 000001 HRRZ T2,SNDNIM ^^O1(.FP)^ ;GET ORION MESSAGE POINTER
3070 011114' 202 02 0 05 002033' MOVEM T2,REQMES(Q1) ;SAVE IT FOR LATER
3071 011115' 201 01 0 05 000001 MOVEI T1,JFDCHN(Q1) ;GET CHANNEL NUMBER
3072 011116' 554 02 0 15 000001 HLRZ T2,SNDNIM ^^O1(.FP)^ ;PASS EXECUTOR ADDRESS
3073 011117' 202 02 0 05 002037' MOVEM T2,REQXTR(Q1) ;SAVE ADDRESS OF EXECUTOR NODE NAME
3074 011120' 260 17 0 00 011161' CALL GETSRJ ;GET A JFN TO NCU
3075 JRST [ EXCH T1,Q1 ;SAVE THE ERROR CODE
3076 CALL RELRQI ;RELEASE THE INDEX
3077 MOVE T1,Q1 ;GET BACK THE ERROR CODE
3078 RETBAD ()^
3079 IFB <>,< RET>
3080 011121' 254 00 0 00 017176' RETBAD ()]>^]
3081 011122' 202 01 0 05 002027' MOVEM T1,JFDTAB(Q1) ;SAVE THE JFN
3082 011123' 200 02 0 15 000004 MOVE T2,SNDNIF ^^O4(.FP)^ ;GET NICE FUNCTION AND OPTION
3083 011124' 202 02 0 05 002043' MOVEM T2,FCNTAB(Q1) ;SAVE NICE FUNCTION AND OPTION
3084 011125' 200 02 0 15 000002 MOVE T2,SNDNIT ^^O2(.FP)^ ;GET PONTER TO NICE MESSAGE
3085 011126' 550 03 0 15 000003 HRRZ T3,SNDNIN ^^O3(.FP)^ ;GET COUNT
3086 011127' 213 00 0 00 000003 MOVNS T3 ;NEED NEGATIVE COUNT FOR SOUTR
3087 011130' 104 00 0 00 000532 SOUTR ;OUTPUT THE MESSAGE
3088 ERJMP [MOVE T1,Q1 ;RELEASE THE INDEX BLOCK
3089 CALL RELRQI ;...
3090 MOVEI T1,.FHSLF ;GET ERROR CODE
3091 GETER
3092 HRRZ T1,T2
3093 RETER2()^
3094 IFB <>,< JRST STOERC>
3095 011131' 320 16 0 00 017202' RETER2 ()]>^]
3096 RETSKP ^ ;DONE
3097 011132' 254 00 0 00 011104* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 74
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3098
3099 ;ROUTINE TO GET AN AVAILABLE REQUEST INDEX
3100 ;ACCEPTS IN T1/ REQUEST NUMBER
3101
3102 011133' 205 04 0 00 777774 GETRQI: MOVSI T4,-NJFN ;SET UP TO LOOP THROUGH ALL INDEXES
3103 011134' 332 00 0 04 002023' GETRQ0: SKIPE REQTAB(T4) ;THIS SLOT FREE?
3104 011135' 254 00 0 00 011141' JRST GETRQ1 ;NO
3105 011136' 202 01 0 04 002023' MOVEM T1,REQTAB(T4) ;SAVE NUMBER IN TABLE
3106 011137' 550 01 0 00 000004 HRRZ T1,T4 ;RETURN THE INDEX IN T1
3107 011140' 254 00 0 00 011132* RETSKP^JRST RSKP^
3108
3109 011141' 253 04 0 00 011134' GETRQ1: AOBJN T4,GETRQ0 ;LOOP BACK FOR ALL ENTRIES
3110 RETBAD (.ERR16)^ ;NO MORE SLOTS LEFT
3111 IFNB <.ERR16>,< JRST [ MOVEI T1,.ERR16
3112 011142' 254 00 0 00 017210' RET]>>
3113
3114
3115 ;ROUTINE TO RELEASE A REQUEST INDEX
3116
3117 011143' RELRQI: SAVEQ^
3118 011143' 265 16 0 00 014432' JSP CX,SAVQ^
3119 011144' 200 05 0 00 000001 MOVE Q1,T1 ; Save index in permanent AC
3120 011145' 336 01 0 05 002027' SKIPN T1,JFDTAB(Q1) ; Any JFN here?
3121 011146' 254 00 0 00 011156' JRST RELRQ2 ; No .. just clear up and return
3122 011147' 104 00 0 00 000022 CLOSF ; Yes .. close it
3123 011150' 334 01 0 05 002027' SKIPA T1,JFDTAB(Q1) ; Close failed
3124 011151' 254 00 0 00 011155' JRST RELRQ1 ; Success .. go clear stored JFN
3125
3126 TXO T1,CZ%ABT ^; Insure that link will go away
3127 011152' 661 01 0 00 004000 TLO T1,(..TX1)>>
3128 011153' 104 00 0 00 000022 CLOSF ; by closing an aborted link properly
3129 011154' 255 00 0 00 000000 JFCL ; Should never fail here
3130 011155' 402 00 0 05 002027' RELRQ1: SETZM JFDTAB(Q1) ; Clear the JFN for the DCN:
3131
3132 011156' 402 00 0 05 002033' RELRQ2: SETZM REQMES(Q1)
3133 011157' 402 00 0 05 002023' SETZM REQTAB(Q1) ; Clear this slot
3134 011160' 263 17 0 00 000000 RET ; Done
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 75
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3135
3136 ;ROUTINE TO GET A JFN TO NCU
3137 ;ACCEPTS IN T1/ CHANNEL NUMBER TO PUT JFN ON
3138 ; T2/ ADDRESS OF EXECUTOR STRING
3139 ; CALL GETSRJ
3140 ;RETURNS +1: FAILED
3141 ; +2: T1/ JFN
3142
3143 011161' GETSRJ: STKVAR <GETSRC,GETSRH,<GETSRT,20>>^
3144 011161' 265 16 0 00 010726* JSP .A16,.STKST
3145 011162' 000022 000022 ..STKN,,..STKN
3146 011163' 202 01 0 17 777776 MOVEM T1,GETSRC ^-^O2(P)^ ;SAVE CHANNEL NUMBER
3147 011164' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;MAKE EXECUTOR ADDRESS INTO BYTE POINTER
3148 011165' 202 02 0 17 777775 MOVEM T2,GETSRH ^-^O3(P)^ ;SAVE
3149 011166' 561 01 0 17 777755 HRROI T1,GETSRT ^-^O23(P)^ ;GET POINTER TO WHERE TO BUILD STRING
3150 011167' 400 03 0 00 000000 SETZ T3,
3151 011170' 561 02 0 00 017212' HRROI T2,[ASCIZ/DCN:/] ;BUILD GTJFN STRING TO DCN:NODE-NCU
3152 011171' 104 00 0 00 000053 SOUT ;PUT IN DEVICE NAME
3153 011172' 332 02 0 17 777775 SKIPE T2,GETSRH ^-^O3(P)^ ;ANY EXECUTOR?
3154 011173' 104 00 0 00 000053 SOUT ;YES, ADD IN NODE NAME OF EXECUTOR
3155 011174' 561 02 0 00 017213' HRROI T2,[ASCIZ/-NCU;PASSWORD:NCU;CHARGE:NCU;USERID:NCU/] ;-NCU
3156 011175' 104 00 0 00 000053 SOUT
3157 MOVX T1,GJ%SHT ^;NOW GET A LINK TO THAT NCU
3158 011176' 205 01 0 00 000001 MOVSI T1,(..MX1)>>
3159 011177' 561 02 0 17 777755 HRROI T2,GETSRT ^-^O23(P)^ ;POINTER TO STRING JUST BUILT
3160 011200' 104 00 0 00 000020 GTJFN
3161 RETER2 ()^ ;FAILED TO GET A JFN
3162 011201' 254 00 0 00 014513' IFB <>,< JRST STOERC>
3163 011202' 202 01 0 17 777775 MOVEM T1,GETSRH ^-^O3(P)^ ;SAVE JFN
3164 011203' 200 02 0 00 017223' MOVE T2,[^D8B5+OF%RD+OF%WR]
3165 011204' 104 00 0 00 000021 OPENF ;OPEN THE LINK
3166 011205' 254 00 0 00 011220' JRST GETSR1 ;FAILED, GO CLEAN UP
3167 011206' 200 02 0 17 777776 MOVE T2,GETSRC ^-^O2(P)^ ;GET CHANNEL #
3168 STOR T2,MO%DAV,T3 ^;DATA AVAILABLE INTERRUPT
3169 011207' 137 02 0 00 017224' >>^,T3,POS(MO%DAV)^<^L<<MO%DAV>&<-<MO%DAV>>>>^>^]^
3170 011210' 201 02 0 00 000776 MOVEI T2,.MOCIA ;CLEAR INTERRUPT
3171 STOR T2,MO%CDN,T3 ^;FOR CONNECT
3172 011211' 137 02 0 00 017225' >>^,T3,POS(MO%CDN)^<^L<<MO%CDN>&<-<MO%CDN>>>>^>^]^
3173 STOR T2,MO%INA,T3 ^;AND INTERRUPT MESSAGE
3174 011212' 137 02 0 00 017226' >>^,T3,POS(MO%INA)^<^L<<MO%INA>&<-<MO%INA>>>>^>^]^
3175 011213' 201 02 0 00 000024 MOVEI T2,.MOACN ;SET UP INTERRUPT CONDITIONS
3176 011214' 104 00 0 00 000077 MTOPR
3177 011215' 320 16 0 00 011220' ERJMP GETSR1 ;FAILED
3178 011216' 200 01 0 17 777775 MOVE T1,GETSRH ^-^O3(P)^ ;GET BACK THE JFN
3179 RETSKP ^ ;AND RETURN
3180 011217' 254 00 0 00 011140* JRST RSKP
3181
3182 011220' 202 01 0 17 777776 GETSR1: MOVEM T1,GETSRC ^-^O2(P)^ ;SAVE THE ERROR CODE
3183 011221' 200 01 0 17 777775 MOVE T1,GETSRH ^-^O3(P)^ ;GET JFN
3184 011222' 104 00 0 00 000022 CLOSF ;CLOSE IT
3185 011223' 334 01 0 17 777775 SKIPA T1,GETSRH ^-^O3(P)^;FAILED, TRY TO RELEASE IT
3186 011224' 334 00 0 00 000000 SKIPA
3187 011225' 104 00 0 00 000023 RLJFN ;RELEASE JFN
3188 011226' 255 00 0 00 000000 JFCL
3189 011227' 200 01 0 17 777776 MOVE T1,GETSRC ^-^O2(P)^ ;GET ERROR CODE AGAIN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 75-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3190 RETER2 ()^
3191 011230' 254 00 0 00 014513' IFB <>,< JRST STOERC>
3192
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 76
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3193
3194 ;SET MONITORING
3195
3196 011231' 254 00 0 00 006055' SETMON: JRST DOREQE
3197
3198 ;SET PASSWORD
3199
3200 011232' 254 00 0 00 006055' SETPSW: JRST DOREQE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 77
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3201
3202 ;ROUTINE TO HANDLE FORK TERMINATIONS
3203
3204 011233' DOFKT: STKVAR <<DOFKTS,40>>^
3205 011233' 265 16 0 00 011161* JSP .A16,.STKST
3206 011234' 000040 000040 ..STKN,,..STKN
3207 011235' 205 07 0 00 777774 MOVSI Q3,-NJFN ;SET UP TO LOOK AT ALL FORKS
3208 011236' 400 06 0 00 000000 SETZ Q2, ;INITIALIZE ERROR REGISTER
3209 011237' 336 01 0 07 002013' DOFKTL: SKIPN T1,FRKTAB(Q3) ;ANY FORK HERE?
3210 011240' 254 00 0 00 011300' JRST DOFKT1 ;NO, SKIP IT
3211 011241' 104 00 0 00 000156 RFSTS ;YES, GET ITS STATUS
3212 011242' 320 16 0 00 011262' ERJMP DOFKT0 ;IF ERROR, GO DELETE THIS FORK
3213 011243' 641 01 0 00 777777 TLC T1,-1 ;IS THE FORK EXISTENT?
3214 011244' 647 01 0 00 777777 TLCN T1,-1 ;LH = -1 MEANS NOT EXISTENT
3215 011245' 254 00 0 00 011262' JRST DOFKT0 ;NOT EXISTENT, GO DELETE IT
3216 011246' 135 01 0 00 017227' LDB T1,[POINT 17,T1,17] ;GET THE CODE
3217 011247' 302 01 0 00 000005 CAIE T1,.RFSLP ;SLEEPING?
3218 011250' 306 01 0 00 000004 CAIN T1,.RFWAT ;OR IO WAIT?
3219 011251' 254 00 0 00 011300' JRST DOFKT1 ;YES, SKIP THIS ONE
3220 011252' 302 01 0 00 000000 CAIE T1,.RFRUN ;RUNNING
3221 011253' 306 01 0 00 000001 CAIN T1,.RFIO ;OR IO WAIT?
3222 011254' 254 00 0 00 011300' JRST DOFKT1 ;YES, SKIP THIS ONE
3223 011255' 306 01 0 00 000003 CAIN T1,.RFFPT ;FORCED TERMINATION?
3224 JRST [ MOVEI T1,.ERR17 ;YES, FORK CRASHED
3225 HRROI T2,DOFKTS ^-^O41(P)^;GET POINTER TO STRING TO GET ERROR MES
3226 MOVE T3,FRKTAB(Q3)
3227 CALL ERRORB ;BUILD ERROR STRING FOR THIS FORK'S ERROR
3228 SETZM T1 ;NO TEXT
3229 HRROI T2,DOFKTS ^-^O41(P)^;NOW TELL THIS TO THE OPR
3230 CALL OPRMES
3231 NON.FATAL.ERROR^
3232 IFB <>,< CALL WRNING>
3233 011256' 254 00 0 00 017230' JRST .+1]
3234 011257' 200 01 0 07 002013' MOVE T1,FRKTAB(Q3) ;FORK HAS STOPPED
3235 011260' 104 00 0 00 000153 KFORK ;KILL IT
3236 011261' 320 16 0 00 011262' ERJMP .+1
3237 011262' 402 00 0 07 002013' DOFKT0: SETZM FRKTAB(Q3) ;ZERO THE HALDLE
3238 011263' 200 01 0 07 002007' MOVE T1,JFNTAB(Q3) ;GET THE JFN
3239 011264' 104 00 0 00 000022 CLOSF ;CLOSE IT
3240 011265' 334 01 0 07 002007' SKIPA T1,JFNTAB(Q3) ;FAILED, RELEASE IT
3241 011266' 334 00 0 00 000000 SKIPA
3242 011267' 104 00 0 00 000023 RLJFN
3243 011270' 255 00 0 00 000000 JFCL
3244 011271' 402 00 0 07 002007' SETZM JFNTAB(Q3) ;NO MORE JFN
3245 PIOFF^
3246 011272' 260 17 0 00 014406' CALL PIOFF.^
3247 011273' 201 01 0 07 000027 MOVEI T1,JFNCHN(Q3) ;GET CHANNEL NUMBER FOR THIS JFN
3248 011274' 260 17 0 00 015214' CALL GETJFN ;GO CREATE A NEW JFN
3249 JRST [ PION^
3250 CALL PION.^
3251 MOVEI T1,Q2 ;SAVE THE ERROR CODE
3252 011275' 254 00 0 00 017241' JRST DOFKT1] ;LOOP FOR ALL OTHER FORKS
3253 011276' 202 01 0 07 002007' MOVEM T1,JFNTAB(Q3) ;SAVE THE JFN NUMBER
3254 PION^
3255 011277' 260 17 0 00 014413' CALL PION.^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 77-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3256 011300' 253 07 0 00 011237' DOFKT1: AOBJN Q3,DOFKTL ;LOOP BACK FOR ALL FORKS
3257 011301' 336 01 0 00 000006 SKIPN T1,Q2 ;ANY ERRORS HAPPEN?
3258 RETSKP ^ ;NO, DONE
3259 011302' 254 00 0 00 011217* JRST RSKP
3260 RETBAD ()^ ;YES
3261 011303' 263 17 0 00 000000 IFB <>,< RET>
3262
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 78
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3263 ;ROUTINE TO HANDLE A DATA INTERRUPT OR DISCONNECT INTERRUPT FROM
3264 ; A JFN
3265
3266 011304' DOJFD: STKVAR <<DOJFDM,200>,DORMSG,DORCTr,dortxt,DOJHLD>^
3267 011304' 265 16 0 00 011233* JSP .A16,.STKST
3268 011305' 000204 000204 ..STKN,,..STKN
3269 LOAD Q1,QUEMES,(T1) ^;GET THE JFN INDEX
3270 011306' 554 05 0 01 000000 HLRZ Q1,0(T1)^
3271 011307' 336 01 0 05 002027' SKIPN T1,JFDTAB(Q1) ;GET JFN
3272 RETSKP ^ ;AND IGNORE THE REQUEST IF NO JFN ASSIGNED
3273 011310' 254 00 0 00 011302* JRST RSKP
3274 011311' 104 00 0 00 000102 SIBE ;ANY CHARACTERS THERE?
3275 011312' 304 00 0 00 000000 CAIA ;YES
3276 JRST [MOVE T1,JFDTAB(Q1) ;NO, CHECK FOR DISCONNECT OF LINK
3277 MOVX T2,.MORLS ^
3278 MOVEI T2,..MX1>
3279 MTOPR
3280 ERJMP [SETZ Q2, ;ERROR FAILURE
3281 JRST DOJFD1] ;JOIN COMMON CODE
3282 TXNE T3,MO%CON ^
3283 TLNE T3,(..TX1)>>
3284 RETSKP ^JRST RSKP^ ;YES, JUST IGNORE REQUEST
3285 MOVX Q2,.NRNCE ^
3286 HRROI Q2,<..MX1>>>
3287 011313' 254 00 0 00 017246' JRST DOJFD1] ;JOIN COMMON CODE
3288
3289 011314' 200 01 0 05 002027' MOVE T1,JFDTAB(Q1) ;GET JFN
3290 011315' 201 02 0 17 777576 MOVEI T2,DORMSG ^-^O202(P)^ ;ADR OF NICE MESSAGE BUFFER
3291 011316' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;MAKE INTO BYTE POINTER
3292 011317' 211 03 0 00 000003 MOVNI T3,3 ;MAXIMUM MESSAGE SIZE
3293 011320' 104 00 0 00 000531 SINR ;READ ANSWER BYTE INTO T4
3294 ERJMP [SETZ Q2, ;IF FAILED
3295 011321' 320 16 0 00 017244' JRST DOJFD1 ] ; SEND FAILURE CODE 0
3296 011322' 201 03 0 03 000002 MOVEI T3,2(T3) ;MAKES NUMBER OF BYTES IN MESSAGE
3297 011323' 202 03 0 17 777575 MOVEM T3,DORCTR ^-^O203(P)^ ;REMEMBER HOW MANY BYTES LEFT
3298 011324' 200 04 0 17 777576 MOVE T4,DORMSG ^-^O202(P)^ ;GET FIRST BYTE FROM MSCDGE(LEFT JUSTIFIED)
3299 011325' 240 04 0 00 777744 ASH T4,-^D28 ;SIGN EXTEND THE ERROR CODE
3300 011326' 200 06 0 00 000004 MOVE Q2,T4 ;SAVE THE ERROR CODE
3301 011327' 561 01 0 17 777577 DOJFD1: HRROI T1,DOJFDM ^-^O201(P)^ ;GET POINTER TO MESSAGE SPACE
3302 011330' 561 02 0 00 017256' HRROI T2,[ASCIZ/NCP request # /]
3303 011331' 400 03 0 00 000000 SETZ T3,
3304 011332' 104 00 0 00 000053 SOUT ;BUILD THE RESPONSE MESSAGE
3305 011333' 200 02 0 05 002023' MOVE T2,REQTAB(Q1) ;GET THE REQUEST NUMBER
3306 011334' 201 03 0 00 000012 MOVEI T3,^D10 ;DECIMAL NUMBER
3307 011335' 104 00 0 00 000224 NOUT ;PUT NUMBER INTO STRING
3308 011336' 255 00 0 00 000000 JFCL
3309 011337' 561 02 0 00 017261' HRROI T2,[ASCIZ/ [/]
3310 011340' 400 03 0 00 000000 SETZ T3,
3311 011341' 104 00 0 00 000053 SOUT ;NOW TYPE OUT THE OPR COMMAND
3312 011342' 200 02 0 05 002033' MOVE T2,REQMES(Q1) ;GET THE ADR OF THE ORION MESSAGE
3313 011343' 260 17 0 00 012474' CALL BLDCOM ;ADD THE OPR COMMAND TO THE STRING
3314 011344' 561 02 0 00 017262' HRROI T2,[ASCIZ/]/]
3315 011345' 400 03 0 00 000000 SETZ T3,
3316 011346' 104 00 0 00 000053 SOUT
3317 011347' 133 00 0 00 000001 IBP T1 ;SKIP OVER THE NULL
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 78-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3318 011350' 202 01 0 17 777574 MOVEM T1,DORTXT ^-^O204(P)^ ;SAVE POINTER TO START OF TEXT
3319 011351' 200 03 0 17 777575 MOVE T3,DORCTR ^-^O203(P)^ ;Get count of bytes left in header string
3320 011352' 321 06 0 00 011363' JUMPL Q2,DOJFD6 ;If an error code was found, go say so.
3321 011353' 201 02 0 17 777576 MOVEI T2,DORMSG ^-^O202(P)^ ;GET ADDRESS OF MESSAGE
3322 011354' 554 04 0 05 002043' HLRZ T4,FCNTAB(Q1) ;GET NICE FUNCTION CODE
3323 011355' 303 04 0 00 000011 CAILE T4,SHOLEN ;WITHIN RANGE ?
3324 011356' 254 00 0 00 011363' JRST DOJFD6 ;NO, JUST FINISH UP
3325 011357' 550 07 0 05 002043' HRRZ Q3,FCNTAB(Q1) ;GET NICE OPTION CODE
3326 011360' 202 01 0 17 777573 MOVEM T1,DOJHLD ^-^O205(P)^ ;SAVE STRING POINTER IN CASE OF FAILURE
3327 ;..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 79
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3328 ;..
3329
3330 011361' 260 17 1 04 011413' CALL @SHOTAB(T4) ;GO DO REQUEST
3331 JRST [ MOVE T1,DOJHLD ^-^O205(P)^;GET STRING POINTER
3332 SETZM DOJHLD ^-^O205(P)^;INDICATE WHICH ERROR MESSAGE
3333 011362' 254 00 0 00 017263' JRST .+1]
3334 ; HERE TO ASSEMBLE TEXT REPLY AND SEND IT TO OPR
3335
3336 011363' 561 02 0 00 017266' DOJFD6: HRROI T2,[ASCIZ/ /] ;GET SPACING
3337 011364' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3338 011365' 104 00 0 00 000053 SOUT ;ADD PUNCTUATION TO STRING
3339 011366' 327 06 0 00 011372' JUMPG Q2,DOJFD7 ;SUCCESSFUL REQUEST ?
3340 011367' 561 02 0 00 017267' HRROI T2,[ASCIZ/? Request failed, /]
3341 011370' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3342 011371' 104 00 0 00 000053 SOUT ;PRECEDE MESSAGE WITH ERROR INDICATION
3343 011372' 271 06 0 00 000025 DOJFD7: ADDI Q2,JFDMSO ;ADD IN OFFSET
3344 011373' 331 00 0 00 000006 SKIPL Q2 ;LEGAL ERROR CODE
3345 011374' 301 06 0 00 000027 CAIL Q2,JFDMSL
3346 011375' 334 02 0 00 017301' SKIPA T2,[-1,,[ASCIZ/? Unknown NICE error code/]]
3347 011376' 560 02 0 06 012140' HRRO T2,JFDMES(Q2) ;GET THE ANSWER STRING
3348 011377' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3349 011400' 104 00 0 00 000053 SOUT ;PUT THE TEXT STRING IN THE MESSAGE
3350 011401' 561 02 0 17 777577 HRROI T2,DOJFDM ^-^O201(P)^ ;GET A POINTER TO THE MESSAGE
3351 011402' 200 01 0 17 777574 MOVE T1,DORTXT ^-^O204(P)^ ;GET POINTER TO TEXT
3352 011403' 260 17 0 00 014575' CALL OPRMES ;SEND THE ANSWER BACK TO THE OPR
3353 NON.FATAL.ERROR^
3354 011404' 260 17 0 00 014473' IFB <>,< CALL WRNING>
3355 011405' 200 01 0 05 002033' MOVE T1,REQMES(Q1) ;GET THE ADDRESS OF THE ORION MESSAGE
3356 011406' 260 17 0 00 014267' CALL RELPGA ;RELEASE IT
3357 NON.FATAL.ERROR^
3358 011407' 260 17 0 00 014473' IFB <>,< CALL WRNING>
3359 011410' 200 01 0 00 000005 MOVE T1,Q1 ;NOW RELEASE THE REQUEST BLOCK
3360 011411' 260 17 0 00 011143' CALL RELRQI ;...
3361 RETSKP ^ ;DONE
3362 011412' 254 00 0 00 011310* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 80
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3363 ; TABLE OF ROUTINES TO HANDLE REPLIES FROM NICE PROCESSES
3364
3365 011413' 000000000000# SHOTAB: R ;ILLEGAL
3366 011414' 000000000000# R ;ILLEGAL
3367 011415' 000000000000# R ;ILLEGAL
3368 011416' 000000000000# R ;ILLEGAL
3369 011417' 000000000000# R ;ILLEGAL
3370 011420' 000000000000# R ;ILLEGAL
3371 011421' 000000 011432' LOPTST ;.NCTST - RESPONSE TO A NICE TEST REQUEST
3372 011422' 000000000000# R ;ILLEGAL
3373 011423' 000027 011424' @REDTAB(Q3) ;READ INFORMATION BASED ON OPTION
3374
3375 000011 SHOLEN==.-SHOTAB
3376
3377
3378 ; TABLE OF ROUTINES TO HANDLE REPLIES TO READ INFORMATION REQUESTS
3379
3380 011424' 000000000000# REDTAB: R ;LOCAL NODE COUNTERS
3381 011425' 000000 011463' LCLSTS ;LOCAL NODE STATUS
3382 011426' 000000000000# R ;REMOTE NODE COUNTERS
3383 011427' 000000 011703' REMSTS ;REMOTE NODE STATUS
3384 011430' 000000 012023' LINCTR ;LINE COUNTERS
3385 011431' 000000 012167' LINSTS ;LINE STATUS
3386
3387 000006 REDLEN==.-REDTAB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 81
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3388 ;LOPTST - ROUTINE TO SHOW EFFECTS OF LOOP COMMAND
3389
3390 011432' LOPTST: STKVAR <LOPHLD>^
3391 011432' 265 16 0 00 011304* JSP .A16,.STKST
3392 011433' 000001 000001 ..STKN,,..STKN
3393 011434' 202 01 0 17 777776 MOVEM T1,LOPHLD ^-^O2(P)^ ;SAVE THE STRING POINTER
3394 011435' 200 01 0 00 000002 MOVE T1,T2 ;T1<= NICE MESSAGE POINTER
3395 011436' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;IT'S THE SECOND BYTE IN THE MESSAGE
3396 011437' 133 00 0 00 000001 IBP T1
3397 011440' 200 02 0 00 000003 MOVE T2,T3 ;GET NUMBER OF BYTES LEFT IN NICE MSG
3398 011441' 260 17 0 00 000000* CALL GETTWO ;GET COUNT OF BLOCKS NOT PROCESSED
3399 RETBAD ^;ERROR - RETURN
3400 011442' 263 17 0 00 000000 IFB <>,< RET>
3401 011443' 200 01 0 17 777776 MOVE T1,LOPHLD ^-^O2(P)^ ;GET ANSWER STRING POINTER
3402 011444' 202 03 0 17 777776 MOVEM T3,LOPHLD ^-^O2(P)^ ;SAVE THE BLOCK COUNT
3403 011445' 561 02 0 00 017302' HRROI T2,[ASCIZ\Count of blocks not looped = \]
3404 011446' 400 03 0 00 000000 SETZ T3, ;WRITE WHOLE STRING
3405 011447' 104 00 0 00 000053 SOUT
3406 ERJMP [RETBAD^
3407 IFB <>,< RET>
3408 011450' 320 16 0 00 016677' RETBAD ()]>^] ;ERROR RETURN
3409 011451' 200 02 0 17 777776 MOVE T2,LOPHLD ^-^O2(P)^ ;GET THE COUNT
3410 011452' 201 03 0 00 000012 MOVEI T3,^D10 ;WRITE IT OUT IN DECIMAL
3411 011453' 104 00 0 00 000224 NOUT
3412 ERJMP [RETBAD^
3413 IFB <>,< RET>
3414 011454' 320 16 0 00 016677' RETBAD ()]>^]
3415 HRROI T2,[ASCIZ/.
3416 011455' 561 02 0 00 017310' /]
3417 011456' 104 00 0 00 000053 SOUT
3418 011457' 200 02 0 00 000001 MOVE T2,T1 ;BACKUP POINTER
3419 011460' 561 01 0 00 777777 HRROI T1,-1
3420 011461' 133 01 0 00 000002 ADJBP T1,T2
3421 011462' 254 00 0 00 011412* RETSKP^JRST RSKP^
3422
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 82
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3423 ;LCLSTS - ROUTINE TO RETURN LOCAL NODE STATUS
3424
3425 011463' LCLSTS: STKVAR <LNJPTR,LNJCTR,<LNRMSG,100>,LNRCTR,LNJNUM,<LNJSYS,10>,<LNJRVR,3>,<LNJCVR,3>,L
3426 NJSTA,<LNJHST,2>,LNJLEN>^
3427 011463' 265 16 0 00 011432* JSP .A16,.STKST
3428 011464' 000126 000126 ..STKN,,..STKN
3429 011465' 202 01 0 17 777776 MOVEM T1,LNJPTR ^-^O2(P)^ ;SAVE POINTER TO RESPONSE MESSAGE
3430 011466' 200 01 0 00 000002 MOVE T1,T2 ;COPY ADDRESS OF NICE MESSAGE
3431 011467' 505 01 0 00 341000 HRLI T1,341000 ;POINT TO 2ND BYTE IN MESSAGE
3432 011470' 200 02 0 00 000003 MOVE T2,T3 ;GET NUMBER OF BYTES LEFT IN NICE MSG
3433 011471' 260 17 0 00 011441* CALL GETTWO ;GET NUMBER OF RESPONSE MESSAGES
3434 011472' 263 17 0 00 000000 RET ;FAILED
3435 011473' 202 03 0 17 777674 MOVEM T3,LNRCTR ^-^O104(P)^ ;SAVE NUMBER OF BLOCKS TO FOLLOW
3436 011474' 250 01 0 17 777776 EXCH T1,LNJPTR ^-^O2(P)^ ;GET RESPONSE MESSAGE POINTER
3437 HRROI T2,[ASCIZ \
3438 011475' 561 02 0 00 017311' Status of local node as of \]
3439 011476' 400 03 0 00 000000 SETZ T3,
3440 011477' 104 00 0 00 000053 SOUT
3441 011500' 320 16 0 00 011020* ERJMP R ;FAIL
3442 011501' 476 00 0 00 000002 SETOM T2 ;CURRENT DATE AND TIME
3443 011502' 200 03 0 00 017317' MOVE T3,[OT%SCL]
3444 011503' 104 00 0 00 000220 ODTIM ;ADD TIME AND DATE
3445 011504' 320 16 0 00 011500* ERJMP R ;FAIL
3446 HRROI T2,[ASCIZ/
3447
3448 011505' 561 02 0 00 017320' Node Name is /]
3449 011506' 400 03 0 00 000000 SETZ T3,
3450 011507' 104 00 0 00 000053 SOUT
3451 011510' 320 16 0 00 011504* ERJMP R ;FAIL
3452 011511' 202 01 0 17 777776 MOVEM T1,LNJPTR ^-^O2(P)^ ;SAVE MESSAGE POINTER
3453 011512' 200 01 0 05 002027' MOVE T1,JFDTAB(Q1) ;GET JFN FOR MESSSAGES
3454 011513' 201 02 0 17 777675 MOVEI T2,LNRMSG ^-^O103(P)^ ;POINT TO MESSAGE BUFFER
3455 011514' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;MAKE IT INTO A BYTE POINTER
3456 011515' 211 03 0 00 000400 MOVNI T3,4*100 ;MAXIMUM SIZE OF MESSAGE
3457 011516' 104 00 0 00 000531 SINR ;READ NEXT BLOCK
3458 011517' 320 16 0 00 011510* ERJMP R ;FAIL
3459 011520' 201 01 0 17 777675 MOVEI T1,LNRMSG ^-^O103(P)^ ;POINT TO MESSAGE BUFFER
3460 011521' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;MAKE IT INTO A BYTE POINTER
3461 011522' 201 02 0 03 000400 MOVEI T2,4*100(T3) ;MAKES NUMBER OF BYTES WE READ
3462 011523' 134 03 0 00 000001 ILDB T3,T1 ;GET CODE
3463 011524' 306 03 0 00 000001 CAIN T3,.RDLNS ;WAS THIS LOCAL STATUS ?
3464 011525' 375 00 0 00 000002 SOSGE T2 ;ADJUST COUNT
3465 011526' 263 17 0 00 000000 RET ;NOT ENOUGH BYTES
3466 011527' 200 03 0 17 777776 MOVE T3,LNJPTR ^-^O2(P)^ ;GET TEXT POINTER
3467 011530' 260 17 0 00 000000* CALL GETIMA ;EXTRACT NODE NAME FROM MESSAGE
3468 011531' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
3469 011532' 202 01 0 17 777776 MOVEM T1,LNJPTR ^-^O2(P)^ ;SAVE POINTER INTO NICE MESSAGE
3470 011533' 202 02 0 17 777775 MOVEM T2,LNJCTR ^-^O3(P)^ ;SAVE NUMBER OF BYTES LEFT
3471 011534' 200 01 0 00 000003 MOVE T1,T3 ;GET TEXT POINTER
3472 011535' 104 00 0 00 000042 BKJFN ;OVERWRITE THE NULL
3473 011536' 320 16 0 00 011517* ERJMP R ;FAILED
3474 011537' 561 02 0 00 017324' HRROI T2,[ASCIZ/, # /] ;AND TEXT TO OUTPUT
3475 011540' 402 00 0 00 000003 SETZM T3 ;TERMINATE NULL
3476 011541' 104 00 0 00 000053 SOUT ;OUTPUT THE TEXT
3477 011542' 250 01 0 17 777776 EXCH T1,LNJPTR ^-^O2(P)^ ;GET NICE POINTER AGAIN, SAVE TEXT PTR
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 82-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3478 011543' 200 02 0 17 777775 MOVE T2,LNJCTR ^-^O3(P)^ ;AND COUNT
3479 011544' 260 17 0 00 000000* CALL GETNUM ;GET NODE NUMBER FROM NICE MESSAGE
3480 011545' 263 17 0 00 000000 RET ;FAILED
3481 011546' 202 04 0 17 777673 MOVEM T4,LNJNUM ^-^O105(P)^ ;SAVE NODE NUMBER
3482 011547' 275 02 0 00 000003 SUBI T2,3 ;AT LEAST ANOTHER 3 BYTES LEFT ?
3483 011550' 321 02 0 00 011536* JUMPL T2,R ;NO, FAIL
3484 011551' 134 04 0 00 000001 ILDB T4,T1 ;YES, GET NODE STATE
3485 011552' 202 04 0 17 777654 MOVEM T4,LNJSTA ^-^O124(P)^ ;SAVE STATE
3486 011553' 134 04 0 00 000001 ILDB T4,T1 ;GET MAINTENANCE LOGGING STATE
3487 011554' 134 04 0 00 000001 ILDB T4,T1 ;AND OPERATOR LOGGING STATE
3488 011555' 541 03 0 17 777652 HRRI T3,LNJHST ^-^O126(P)^ ;GET ADDRESS WHERE HOST NAME GOES
3489 011556' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;AND FORM POINTER TO HOST NAME
3490 011557' 260 17 0 00 011530* CALL GETIMA ;GET DEFAULT HOST NAME
3491 011560' 263 17 0 00 000000 RET ;FAILED
3492 011561' 202 04 0 17 777651 MOVEM T4,LNJLEN ^-^O127(P)^ ;SAVE LENGTH OF HOST NAME
3493 011562' 275 02 0 00 000006 SUBI T2,6 ;ENOUGH BYTES LEFT FOR VERSIONS ?
3494 011563' 321 02 0 00 011550* JUMPL T2,R ;NO, FAIL
3495 011564' 134 04 0 00 000001 ILDB T4,T1 ;GET A VERSION BYTE
3496 011565' 202 04 0 17 777660 MOVEM T4,LNJRVR ^-^O120(P)^ ;SAVE FIRST BYTE
3497 011566' 134 04 0 00 000001 ILDB T4,T1 ;GET A BYTE
3498 011567' 202 04 0 17 777661 MOVEM T4,1+LNJRVR ^-^O120(P)^;SAVE IT
3499 011570' 134 04 0 00 000001 ILDB T4,T1 ;GET LAST BYTE
3500 011571' 202 04 0 17 777662 MOVEM T4,2+LNJRVR ^-^O120(P)^;SAVE LAST BYTE
3501 011572' 134 04 0 00 000001 ILDB T4,T1 ;GET FIRST COMM VER BYTE
3502 011573' 202 04 0 17 777655 MOVEM T4,LNJCVR ^-^O123(P)^ ;SAVE IT
3503 011574' 134 04 0 00 000001 ILDB T4,T1 ;GET NEXT BYTE
3504 011575' 202 04 0 17 777656 MOVEM T4,1+LNJCVR ^-^O123(P)^;SAVE IT
3505 011576' 134 04 0 00 000001 ILDB T4,T1 ;GET LAST BYTE
3506 011577' 202 04 0 17 777657 MOVEM T4,2+LNJCVR ^-^O123(P)^;SAVE LAST VERSION BYTE
3507 011600' 541 03 0 17 777663 HRRI T3,LNJSYS ^-^O115(P)^ ;GET ADDRESS WHERE SYS NAME GOES
3508 011601' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;FORM POINTER TO NAME
3509 011602' 260 17 0 00 011557* CALL GETIMA ;GET SYSTEM ID
3510 011603' 263 17 0 00 000000 RET ;FAILED
3511 011604' 250 01 0 17 777776 EXCH T1,LNJPTR ^-^O2(P)^ ;GET BACK TEXT POINTER
3512 011605' 202 02 0 17 777775 MOVEM T2,LNJCTR ^-^O3(P)^ ;SAVE COUNT OF BYTES LEFT IN MESSAGE
3513 011606' 200 02 0 17 777673 MOVE T2,LNJNUM ^-^O105(P)^ ;GET BINARY NODE NUMBER
3514 MOVX T3,^D10 ^;USE DECIMAL
3515 011607' 201 03 0 00 000012 MOVEI T3,..MX1>
3516 011610' 104 00 0 00 000224 NOUT ;ADD NODE NUMBER TO RESPONSE
3517 011611' 320 16 0 00 011563* ERJMP R ;FAILED, RETURN ERROR
3518 011612' 561 02 0 00 017325' HRROI T2,[ASCIZ/, System = /] ;GET MORE TEXT
3519 011613' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3520 011614' 104 00 0 00 000053 SOUT ;OUTPUT TEXT
3521 011615' 561 02 0 17 777663 HRROI T2,LNJSYS ^-^O115(P)^ ;GET ADDRESS OF SYSTEM NAME
3522 011616' 104 00 0 00 000053 SOUT ;OUTPUT SYSTEM NAME
3523 HRROI T2,[ASCIZ/
3524 011617' 561 02 0 00 017330' Routing Version = /] ;OUTPUT VERSION
3525 011620' 104 00 0 00 000053 SOUT ;OUTPUT TEXT
3526 011621' 200 02 0 17 777660 MOVE T2,LNJRVR ^-^O120(P)^ ;GET FIRST VERSION NUMBER BYTE
3527 MOVX T3,^D10 ^;USE DECIMAL
3528 011622' 201 03 0 00 000012 MOVEI T3,..MX1>
3529 011623' 104 00 0 00 000224 NOUT ;OUTPUT VERSION BYTE
3530 011624' 320 16 0 00 011611* ERJMP R ;FAILED
3531 MOVX T2,"." ^;GET PUNCTUATION
3532 011625' 201 02 0 00 000056 MOVEI T2,..MX1>
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 82-2
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3533 011626' 104 00 0 00 000051 BOUT ;OUTPUT A PERIOD
3534 011627' 200 02 0 17 777661 MOVE T2,1+LNJRVR ^-^O120(P)^;GET NEXT PART OF VERSION
3535 011630' 104 00 0 00 000224 NOUT ;OUTPUT VERSION BYTE
3536 011631' 320 16 0 00 011624* ERJMP R ;FAILED
3537 MOVX T2,"." ^;GET PUNCTUATION
3538 011632' 201 02 0 00 000056 MOVEI T2,..MX1>
3539 011633' 104 00 0 00 000051 BOUT ;OUTPUT A PERIOD
3540 011634' 200 02 0 17 777662 MOVE T2,2+LNJRVR ^-^O120(P)^;GET NEXT PART OF VERSION
3541 011635' 104 00 0 00 000224 NOUT ;OUTPUT VERSION BYTE
3542 011636' 320 16 0 00 011631* ERJMP R ;FAILED
3543 011637' 561 02 0 00 017335' HRROI T2,[ASCIZ/, Communications Version = /]
3544 011640' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3545 011641' 104 00 0 00 000053 SOUT ;OUTPUT HEADING
3546 MOVX T3,^D10 ^;USE DECIMAL
3547 011642' 201 03 0 00 000012 MOVEI T3,..MX1>
3548 011643' 200 02 0 17 777655 MOVE T2,LNJCVR ^-^O123(P)^ ;GET FIRST PART OF VERSION
3549 011644' 104 00 0 00 000224 NOUT ;OUTPUT THE BYTE
3550 011645' 320 16 0 00 011636* ERJMP R ;FAILED
3551 MOVX T2,"." ^;GET PUNCTUATION
3552 011646' 201 02 0 00 000056 MOVEI T2,..MX1>
3553 011647' 104 00 0 00 000051 BOUT ;OUTPUT A PERIOD
3554 011650' 200 02 0 17 777656 MOVE T2,1+LNJCVR ^-^O123(P)^;GET NEXT PART OF VERSION
3555 011651' 104 00 0 00 000224 NOUT ;OUTPUT VERSION BYTE
3556 011652' 320 16 0 00 011645* ERJMP R ;FAILED
3557 MOVX T2,"." ^;GET PUNCTUATION
3558 011653' 201 02 0 00 000056 MOVEI T2,..MX1>
3559 011654' 104 00 0 00 000051 BOUT ;OUTPUT A PERIOD
3560 011655' 200 02 0 17 777657 MOVE T2,2+LNJCVR ^-^O123(P)^;GET NEXT PART OF VERSION
3561 011656' 104 00 0 00 000224 NOUT ;OUTPUT LAST BYTE OF VERSION
3562 011657' 320 16 0 00 011652* ERJMP R ;FAILED
3563 HRROI T2,[ASCIZ/
3564 011660' 561 02 0 00 017343' State is /] ;get text
3565 011661' 402 00 0 00 000003 SETZM T3 ;SOUT
3566 011662' 104 00 0 00 000053 SOUT ;OUTPUT TEXT
3567 011663' 561 02 0 00 017346' HRROI T2,[ASCIZ/Unknown, Default Host = /] ;ASSUME UNKOWN
3568 011664' 200 04 0 17 777654 MOVE T4,LNJSTA ^-^O124(P)^ ;GET STATE
3569 011665' 306 04 0 00 000000 CAIN T4,.NSON ;NODE ON ?
3570 011666' 561 02 0 00 017354' HRROI T2,[ASCIZ/On, Default Host = /] ;YES
3571 011667' 306 04 0 00 000001 CAIN T4,.NSOFF ;OFF ?
3572 011670' 561 02 0 00 017361' HRROI T2,[ASCIZ/Off, Default Host = /] ;YES
3573 011671' 306 04 0 00 000002 CAIN T4,.NSSHT ;SHUT ?
3574 011672' 561 02 0 00 017366' HRROI T2,[ASCIZ/Shut, Default Host = /] ;YES
3575 011673' 104 00 0 00 000053 SOUT ;OUTPUT STATE
3576 011674' 561 02 0 00 017373' HRROI T2,[ASCIZ/Unknown/]
3577 011675' 332 00 0 17 777651 SKIPE LNJLEN ^-^O127(P)^ ;ANY HOST SPECIFIED ?
3578 011676' 561 02 0 17 777652 HRROI T2,LNJHST ^-^O126(P)^ ;GET POINTER TO HOST NAME
3579 011677' 104 00 0 00 000053 SOUT ;OUTPUT HOST NAME
3580 HRROI T2,[ASCIZ/
3581
3582 011700' 561 02 0 00 017375' /] ;GET BLANK LINES
3583 011701' 104 00 0 00 000053 SOUT ;AND FINAL TEXT
3584 RETSKP ^ ;DONE
3585 011702' 254 00 0 00 011462* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 83
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3586 ;REMSTS - ROUTINE TO RETURN REMOTE NODE STATUS
3587 ;
3588 ;ACCEPTS IN T1/ POINTER TO DESTINATION FOR TEXT
3589 ; T2/ ADDRESS OF RESPONSE MESSAGE FROM NICE PROCESS
3590 ; CALL REMSTS
3591 ;RETURN: +1 FAILED
3592 ; +2 SUCCESS, WITH T1/ UPDATED POINTER
3593
3594 011703' REMSTS: STKVAR <RSJPTR,RSJCNT>^
3595 011703' 265 16 0 00 011463* JSP .A16,.STKST
3596 011704' 000002 000002 ..STKN,,..STKN
3597 011705' 202 01 0 17 777776 MOVEM T1,RSJPTR ^-^O2(P)^ ;SAVE POINTER TO RESPONSE MESSAGE
3598 011706' 200 01 0 00 000002 MOVE T1,T2 ;COPY ADDRESS OF NICE MESSAGE
3599 011707' 505 01 0 00 341000 HRLI T1,341000 ;POINT TO 2ND BYTE IN MESSAGE
3600 011710' 200 02 0 00 000003 MOVE T2,T3 ;GET NUMBER OF BYTES LEFT IN NICE MSG
3601 011711' 260 17 0 00 011471* CALL GETTWO ;GET NUMBER OF RESPONSE MESSAGES
3602 011712' 263 17 0 00 000000 RET ;FAILED
3603 011713' 202 03 0 17 777775 MOVEM T3,RSJCNT ^-^O3(P)^ ;SAVE NUMBER OF BLOCKS TO FOLLOW
3604 011714' 250 01 0 17 777776 EXCH T1,RSJPTR ^-^O2(P)^ ;GET RESPONSE MESSAGE POINTER
3605 HRROI T2,[ASCIZ \
3606 011715' 561 02 0 00 017376' Status as of \]
3607 011716' 400 03 0 00 000000 SETZ T3,
3608 011717' 104 00 0 00 000053 SOUT
3609 011720' 320 16 0 00 011657* ERJMP R ;FAIL
3610 011721' 476 00 0 00 000002 SETOM T2 ;CURRENT DATE AND TIME
3611 011722' 200 03 0 00 017317' MOVE T3,[OT%SCL]
3612 011723' 104 00 0 00 000220 ODTIM ;ADD TIME AND DATE
3613 011724' 320 16 0 00 011720* ERJMP R ;FAIL
3614 HRROI T2,[ASCIZ/
3615
3616 Node Name Node Number State
3617
3618 011725' 561 02 0 00 017402' /] ;OUTPUT TITLE
3619 011726' 400 03 0 00 000000 SETZ T3,
3620 011727' 104 00 0 00 000053 SOUT
3621 011730' 320 16 0 00 011724* ERJMP R ;FAIL
3622 011731' 200 02 0 17 777775 MOVE T2,RSJCNT ^-^O3(P)^ ;PASS COUNT OF INCOMING MESSAGES
3623 011732' 260 17 0 00 011735' CALL REQSTS ;GO REQUEST NODE STATUS
3624 011733' 263 17 0 00 000000 RET ;FAILED
3625 RETSKP ^ ;DONE, RETURN SUCCESS
3626 011734' 254 00 0 00 011702* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 84
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3627 ;REQSTS - ROUTINE TO REQUEST REMOTE NODE STATUS
3628 ;
3629 ;ACCEPTS IN T1/ POINTER TO DESTINATION FOR TEXT
3630 ; CALL REQSTS
3631 ;RETURNS: +1 FAILED
3632 ; +2 SUCCESS
3633
3634 011735' REQSTS: STKVAR <RSRCNT,RSRPTR,RSRCTR,<RSRMSG,100>>^
3635 011735' 265 16 0 00 011703* JSP .A16,.STKST
3636 011736' 000103 000103 ..STKN,,..STKN
3637
3638 011737' 202 02 0 17 777776 MOVEM T2,RSRCNT ^-^O2(P)^ ;SAVE COUNT OF COMING MESSAGES
3639 011740' 202 01 0 17 777775 STSLOP: movem t1,rsrptr ^-^O3(P)^ ;save text destination pointer
3640 011741' 200 01 0 05 002027' MOVE T1,JFDTAB(Q1) ;GET JFN FOR MESSSAGES
3641 011742' 201 02 0 17 777674 MOVEI T2,RSRMSG ^-^O104(P)^ ;POINT TO MESSAGE BUFFER
3642 011743' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;MAKE IT INTO A BYTE POINTER
3643 011744' 211 03 0 00 000400 MOVNI T3,4*100 ;MAXIMUM SIZE OF MESSAGE
3644 011745' 104 00 0 00 000531 SINR ;READ NEXT BLOCK
3645 011746' 320 16 0 00 011730* ERJMP R ;FAIL
3646 011747' 201 01 0 17 777674 MOVEI T1,RSRMSG ^-^O104(P)^ ;POINT TO MESSAGE BUFFER
3647 011750' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;MAKE IT INTO A BYTE POINTER
3648 011751' 201 02 0 03 000400 MOVEI T2,4*100(T3) ;MAKES NUMBER OF BYTES WE READ
3649 011752' 134 03 0 00 000001 ILDB T3,T1 ;GET CODE
3650 011753' 306 03 0 00 000003 CAIN T3,.RDRNS ;WAS THIS REMOTE STATUS ?
3651 011754' 375 00 0 00 000002 SOSGE T2 ;ADJUST COUNT
3652 011755' 263 17 0 00 000000 RET ;NOT ENOUGH BYTES
3653 011756' 200 03 0 17 777775 MOVE T3,RSRPTR ^-^O3(P)^ ;GET TEXT POINTER
3654 011757' 260 17 0 00 011602* CALL GETIMA ;EXTRACT NODE NAME FROM MESSAGE
3655 011760' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
3656 MOVX T4,.CHTAB ^;GET A TAB
3657 011761' 201 04 0 00 000011 MOVEI T4,..MX1>
3658 011762' 137 04 0 00 000003 DPB T4,T3 ;ADD PUNCTUATION TO TEXT
3659 011763' 136 04 0 00 000003 IDPB T4,T3 ;AND ANOTHER TAB
3660 011764' 202 03 0 17 777775 MOVEM T3,RSRPTR ^-^O3(P)^ ;SAVE TEXT POINTER AGAIN
3661 011765' 260 17 0 00 011544* CALL GETNUM ;GET NODE NUMBER FROM NICE MESSAGE
3662 011766' 263 17 0 00 000000 RET ;FAILED
3663 011767' 250 01 0 17 777775 EXCH T1,RSRPTR ^-^O3(P)^ ;GET BACK TEXT POINTER
3664 011770' 202 02 0 17 777774 MOVEM T2,RSRCTR ^-^O4(P)^ ;SAVE COUNT OF BYTES LEFT IN MESSAGE
3665 011771' 200 02 0 00 000004 MOVE T2,T4 ;GET BINARY NODE NUMBER
3666 MOVX T3,^D10 ^;USE DECIMAL
3667 011772' 201 03 0 00 000012 MOVEI T3,..MX1>
3668 011773' 104 00 0 00 000224 NOUT ;ADD NODE NUMBER TO RESPONSE
3669 011774' 320 16 0 00 011746* ERJMP R ;FAILED, RETURN ERROR
3670 MOVX T2,.CHTAB ^;GET A TAB
3671 011775' 201 02 0 00 000011 MOVEI T2,..MX1>
3672 011776' 104 00 0 00 000051 BOUT ;ADD PUNCTUATION
3673 011777' 104 00 0 00 000051 BOUT ;AND ANOTHER TAB
3674 012000' 104 00 0 00 000051 BOUT ;AND YET ANOTHER
3675 012001' 250 01 0 17 777775 EXCH T1,RSRPTR ^-^O3(P)^ ;GET BACK PTR TO NICE MESSAGE
3676 012002' 375 00 0 17 777774 SOSGE RSRCTR ^-^O4(P)^ ;AT LEAST ONE BYTE LEFT IN MESSAGE ?
3677 012003' 263 17 0 00 000000 RET ;NO, FAIL
3678 012004' 134 04 0 00 000001 ILDB T4,T1 ;YES, GET NODE STATE
3679 012005' 250 01 0 17 777775 EXCH T1,RSRPTR ^-^O3(P)^ ;GET BACK PTR TO NICE MESSAGE
3680 HRROI T2,[ASCIZ/Unknown
3681
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 84-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3682 012006' 561 02 0 00 017412' /] ;ASSUME STATE IS UNKNOWN
3683 012007' 306 04 0 00 000000 CAIN T4,.NSON ;NODE ON ?
3684 HRROI T2,[ASCIZ/On
3685
3686 012010' 561 02 0 00 017415' /] ;YES, USE ON TEXT
3687 012011' 306 04 0 00 000001 CAIN T4,.NSOFF ;NODE OFF ?
3688 HRROI T2,[ASCIZ/Off
3689
3690 012012' 561 02 0 00 017417' /] ;YES, SAY OFF
3691 012013' 306 04 0 00 000002 CAIN T4,.NSSHT ;NODE IN SHUT STATE ?
3692 HRROI T2,[ASCIZ/Shut
3693 012014' 561 02 0 00 017421' /] ;YEP, SAY SO
3694 012015' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3695 012016' 104 00 0 00 000053 SOUT ;ADD STATE TO TEXT
3696 012017' 200 02 0 17 777776 MOVE T2,RSRCNT ^-^O2(P)^ ;GET COUNT OF MESSAGE TO PROCESS
3697 012020' 370 00 0 00 000002 SOS T2 ;ACCOUNT FOR WORK JUST DONE
3698 JUMPN T2,[ MOVEM T2,RSRCNT ^-^O2(P)^;KEEP GOING IF NON-ZERO (SAVE COUNT)
3699 HRROI T2,[ASCIZ/ /] ;KEEP GOING IF NON-ZERO
3700 SOUT ;PUT TABS FOR NEXT LINE
3701 012021' 326 02 0 00 017424' JRST STSLOP] ;BUILD NEXT LINE
3702 RETSKP ^ ;DONE, RETURN
3703 012022' 254 00 0 00 011734* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 85
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3704 ;LINCTR - ROUTINE TO RETURN ASCII LINE COUNTERS
3705 ;
3706 ;ACCEPTS IN T1/ POINTER TO RESPONSE MESSAGE
3707 ; T2/ ADDRESS OF RESPNSE MESSAGE FROM NICE PROCESS
3708 ; CALL LINCTR
3709 ;RETURN: +1 FAILED
3710 ; +2 SUCCESS, WITH T1/ UPDATED POINTER
3711
3712 012023' LINCTR: STKVAR <LCJPTR,LCJCTR,<LCRMSG,100>,LCRCTR,LCRTYP>^
3713 012023' 265 16 0 00 011735* JSP .A16,.STKST
3714 012024' 000104 000104 ..STKN,,..STKN
3715 012025' 202 01 0 17 777776 MOVEM T1,LCJPTR ^-^O2(P)^ ;SAVE POINTER TO RESPONSE MESSAGE
3716 012026' 200 01 0 00 000002 MOVE T1,T2 ;COPY ADDRESS OF NICE MESSAGE
3717 012027' 505 01 0 00 341000 HRLI T1,341000 ;POINT TO 2ND BYTE IN MESSAGE
3718 012030' 200 02 0 00 000003 MOVE T2,T3 ;GET NUMBER OF BYTES LEFT IN NICE MSG
3719 012031' 260 17 0 00 011711* CALL GETTWO ;GET NUMBER OF RESPONSE MESSAGES
3720 012032' 263 17 0 00 000000 RET ;FAILED
3721 012033' 202 03 0 17 777674 MOVEM T3,LCRCTR ^-^O104(P)^ ;SAVE NUMBER OF BLOCKS TO FOLLOW
3722 012034' 250 01 0 17 777776 DOJFD2: EXCH T1,LCJPTR ^-^O2(P)^ ;GET RESPONSE MESSAGE POINTER
3723 012035' 561 02 0 00 017430' HRROI T2,[ASCIZ \Counts for line \]
3724 012036' 400 03 0 00 000000 SETZ T3,
3725 012037' 104 00 0 00 000053 SOUT
3726 012040' 250 01 0 17 777776 EXCH T1,LCJPTR ^-^O2(P)^ ;SAVE MESSAGE POINTER
3727 012041' 200 01 0 05 002027' MOVE T1,JFDTAB(Q1) ;GET JFN FOR MESSSAGES
3728 012042' 201 02 0 17 777675 MOVEI T2,LCRMSG ^-^O103(P)^ ;POINT TO MESSAGE BUFFER
3729 012043' 505 02 0 00 441000 HRLI T2,441000 ;MAKE IT INTO A BYTE POINTER
3730 012044' 211 03 0 00 000400 MOVNI T3,4*100 ;MAXIMUM SIZE OF MESSAGE
3731 012045' 104 00 0 00 000531 SINR ;READ NEXT BLOCK
3732 012046' 320 16 0 00 011774* ERJMP R ;FAIL
3733 012047' 201 01 0 17 777675 MOVEI T1,LCRMSG ^-^O103(P)^ ;POINT TO MESSAGE BUFFER
3734 012050' 505 01 0 00 441000 HRLI T1,441000 ;MAKE IT INTO A BYTE POINTER
3735 012051' 201 02 0 03 000400 MOVEI T2,4*100(T3) ;MAKES NUMBER OF BYTES WE READ
3736 012052' 134 03 0 00 000001 ILDB T3,T1 ;GET CODE
3737 012053' 306 03 0 00 000004 CAIN T3,.RDLCT ;WAS THIS A LINE COUNT ?
3738 012054' 375 00 0 00 000002 SOSGE T2 ;ADJUST COUNT
3739 012055' 254 00 0 00 012123' JRST DOJFD5 ;BAD CODE OR OUT OF DATA
3740 012056' 260 17 0 00 000000* CALL GETLIN ;GET LINE NAME IN STANDARD FORMAT
3741 JRST [ MOVE Q2,T1 ;GET ERROR CODE
3742 012057' 254 00 0 00 017434' JRST DOJFD5 ]
3743 012060' 250 01 0 17 777776 EXCH T1,LCJPTR ^-^O2(P)^ ;SWAP POINTERS
3744 012061' 250 02 0 17 777775 EXCH T2,LCJCTR^-^O3(P)^
3745 012062' 120 02 0 00 000003 DMOVE T2,T3 ;GET LINE ID
3746 012063' 260 17 0 00 010733* CALL ASCLIN ;PUT LINE-ID IN TEXT
3747 012064' 254 00 0 00 012123' JRST DOJFD5 ;LOSE
3748 012065' 561 02 0 00 017436' HRROI T2,[ASCIZ \, as of \]
3749 012066' 104 00 0 00 000053 SOUT
3750 012067' 476 00 0 00 000002 SETOM T2 ;CURRENT DATE AND TIME
3751 012070' 200 03 0 00 017317' MOVE T3,[OT%SCL]
3752 012071' 104 00 0 00 000220 ODTIM ;ADD TIME AND DATE
3753 012072' 561 02 0 00 016655' DOJFD3: HRROI T2,[BYTE(7)15,12,0]
3754 012073' 400 03 0 00 000000 SETZ T3,
3755 012074' 104 00 0 00 000053 SOUT
3756 012075' 250 01 0 17 777776 EXCH T1,LCJPTR ^-^O2(P)^ ;SWAP POINTERS
3757 012076' 250 02 0 17 777775 EXCH T2,LCJCTR ^-^O3(P)^ ;AND COUNTERS
3758 012077' 321 02 0 00 012123' JUMPL T2,DOJFD5 ;ANY MORE COUNTERS ?
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 85-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3759 012100' 260 17 0 00 000000* CALL GETEXB ;GET COUNTER TYPE
3760 012101' 254 00 0 00 012123' JRST DOJFD5
3761 012102' 202 04 0 17 777673 MOVEM T4,LCRTYP ^-^O105(P)^ ;SAVE TYPE CODE
3762 012103' 260 17 0 00 012031* CALL GETTWO ;GET TWO BYTE FIELD
3763 012104' 254 00 0 00 012123' JRST DOJFD5
3764 012105' 250 01 0 17 777776 EXCH T1,LCJPTR ^-^O2(P)^ ;SWAP POINTERS
3765 012106' 250 02 0 17 777775 EXCH T2,LCJCTR ^-^O3(P)^ ;AND COUNTERS
3766 012107' 331 04 0 17 777673 SKIPL T4,LCRTYP^-^O105(P)^
3767 012110' 301 04 0 00 000011 CAIL T4,NLCTMX ;IS TYPE IN RANGE ?
3768 012111' 334 02 0 00 017444' SKIPA T2,[-1,,[ASCIZ \ *** unknown *** \]]
3769 012112' 560 02 0 04 012127' HRRO T2,NICLCT(T4)
3770 012113' 202 03 0 00 000004 MOVEM T3,T4 ;SAVE COUNTER
3771 012114' 400 03 0 00 000000 SETZ T3, ;FOR SOUT
3772 012115' 104 00 0 00 000053 SOUT
3773 012116' 200 02 0 00 000004 MOVE T2,T4 ;PUT COUNTER IN RIGHT REG
3774 012117' 200 03 0 00 017445' MOVE T3,[NO%LFL+10B17+12]
3775 012120' 104 00 0 00 000224 NOUT
3776 012121' 255 00 0 00 000000 JFCL
3777 012122' 254 00 0 00 012072' JRST DOJFD3
3778 012123' 373 00 0 17 777674 DOJFD5: SOSLE LCRCTR ^-^O104(P)^ ;HAVE WE DONE ALL BLOCKS YET ?
3779 012124' 254 00 0 00 012034' JRST DOJFD2 ;LOOP BACK FOR REST OF BLOCKS
3780 012125' 200 01 0 17 777776 MOVE T1,LCJPTR ^-^O2(P)^ ;GET RESPONSE MESSAGE POINTER
3781 RETSKP ^ ;DONE, RETURN
3782 012126' 254 00 0 00 012022* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 86
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3783 012127' 000000 017446' NICLCT: [ASCIZ \Seconds since zeroed \]
3784 012130' 000000 017453' [ASCIZ \Blocks received \]
3785 012131' 000000 017457' [ASCIZ \Blocks sent \]
3786 012132' 000000 017462' [ASCIZ \Retran, line errors \]
3787 012133' 000000 017467' [ASCIZ \Received line errors \]
3788 012134' 000000 017474' [ASCIZ \Retran, not line errors \]
3789 012135' 000000 017501' [ASCIZ \Receive timeouts \]
3790 012136' 000000 017505' [ASCIZ \Receive select errors \]
3791 012137' 000000 017512' [ASCIZ \Resource errors \]
3792 000011 NLCTMX==.-NICLCT
3793
3794
3795
3796
3797 012140' JFDMES:
3798 012140' 000000 017516' [ASCIZ /NCU process not available/] ;-21
3799 012141' 000000 017524' [ASCIZ /No room for new entry/] ;-20
3800 012142' 000000 017531' [ASCIZ /Network Communications Error/] ;-19
3801 012143' 000000 017537' [ASCIZ\File I/O error\] ;-18
3802 012144' 000000 017542' [ASCIZ/Line protocol error/] ;-17
3803 012145' 000000 017546' [ASCIZ/Invalid parameter value/] ;-16
3804 012146' 000000 017553' [ASCIZ/Resource error/] ;-15
3805 012147' 000000 017556' [ASCIZ/Configuration data base error/] ;-14
3806 012150' 000000 017564' [ASCIZ/Invalid file/] ;-13
3807 012151' 000000 017567' [ASCIZ/Invalid server id/] ;-12
3808 012152' 000000 017573' [ASCIZ/Invalid node id/] ;-11
3809 012153' 000000 017577' [ASCIZ/Line communications error/] ;-10
3810 012154' 000000 017605' [ASCIZ/Line in wrong state/] ;-9
3811 012155' 000000 017611' [ASCIZ/Invalid line id/] ;-8
3812 012156' 000000 017615' [ASCIZ/Unknown NICE error code/] ;-7
3813 012157' 000000 017615' [ASCIZ/Unknown NICE error code/] ;-6
3814 012160' 000000 017622' [ASCIZ/NICE Process program error/] ;-5
3815 012161' 000000 017630' [ASCIZ/NICE Protocol Error/] ;-4
3816 012162' 000000 017634' [ASCIZ/Insufficient status/] ;-3
3817 012163' 000000 017640' [ASCIZ/Invalid message format/] ;-2
3818 012164' 000000 017645' [ASCIZ/Invalid function or option/] ;-1
3819
3820 000025 JFDMSO==.-JFDMES ;NUMBER OF KNOWN NICE ERROR CODES
3821
3822 012165' 000000 017653' [ASCIZ/NSP link died/] ;0
3823 012166' 000000 017656' [ASCIZ/Function completed successfully/];1
3824
3825 000027 JFDMSL==.-JFDMES
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 87
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3826 ;LINSTS - ROUTINE TO RETURN ASCII LINE STATUS
3827 ;
3828 ;ACCEPTS IN T1/ POINTER TO RESPONSE MESSAGE
3829 ; T2/ ADDRESS OF RESPNSE MESSAGE FROM NICE PROCESS
3830 ; CALL LINSTS
3831 ;RETURN: +1 FAILED
3832 ; +2 SUCCESS, WITH T1/ UPDATED POINTER
3833
3834 012167' LINSTS: STKVAR <lsrPTR,LSrCTR>^
3835 012167' 265 16 0 00 012023* JSP .A16,.STKST
3836 012170' 000002 000002 ..STKN,,..STKN
3837 012171' 202 01 0 17 777776 MOVEM T1,LSrPTR ^-^O2(P)^ ;SAVE POINTER TO RESPONSE MESSAGE
3838 012172' 200 01 0 00 000002 MOVE T1,T2 ;COPY ADDRESS OF NICE MESSAGE
3839 012173' 505 01 0 00 341000 HRLI T1,341000 ;POINT TO 2ND BYTE IN MESSAGE
3840 012174' 200 02 0 00 000003 MOVE T2,T3 ;GET NUMBER OF BYTES LEFT IN NICE MSG
3841 012175' 260 17 0 00 012103* CALL GETTWO ;GET NUMBER OF RESPONSE MESSAGES
3842 012176' 263 17 0 00 000000 RET ;FAILED
3843 012177' 202 03 0 17 777775 MOVEM T3,LSRCTR ^-^O3(P)^ ;SAVE NUMBER OF BLOCKS TO FOLLOW
3844 012200' 200 01 0 17 777776 move T1,lsrPTR ^-^O2(P)^ ;GET RESPONSE MESSAGE POINTER
3845 HRROI T2,[ASCIZ \
3846 012201' 561 02 0 00 017376' Status as of \]
3847 012202' 400 03 0 00 000000 SETZ T3,
3848 012203' 104 00 0 00 000053 SOUT
3849 012204' 320 16 0 00 012046* ERJMP R ;FAIL
3850 012205' 476 00 0 00 000002 SETOM T2 ;CURRENT DATE AND TIME
3851 012206' 200 03 0 00 017317' MOVE T3,[OT%SCL]
3852 012207' 104 00 0 00 000220 ODTIM ;ADD TIME AND DATE
3853 012210' 320 16 0 00 012204* ERJMP R ;FAIL
3854 HRROI T2,[ASCIZ/
3855
3856 Line ID State Adjacent Node
3857
3858 012211' 561 02 0 00 017665' /] ;OUTPUT TITLE
3859 012212' 400 03 0 00 000000 SETZ T3,
3860 012213' 104 00 0 00 000053 SOUT
3861 012214' 320 16 0 00 012210* ERJMP R ;FAIL
3862 012215' 200 02 0 17 777775 MOVE T2,LSRCTR ^-^O3(P)^ ;PASS COUNT OF MESSAGE TO COME
3863 012216' 260 17 0 00 012221' CALL REQLST ;go request line status
3864 012217' 263 17 0 00 000000 RET ;failed
3865 RETSKP ^ ;done, success
3866 012220' 254 00 0 00 012126* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 88
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3867 ;reqlst - request line status
3868
3869 012221' REQLST: STKVAR <LSJCNT,<lsjmsg,100>,lsjctr,<lsjlin,2>,lsjptr>^
3870 012221' 265 16 0 00 012167* JSP .A16,.STKST
3871 012222' 000105 000105 ..STKN,,..STKN
3872 012223' 202 02 0 17 777776 MOVEM T2,LSJCNT ^-^O2(P)^ ;SAVE THE COUNT OF INCOMING MESSAGES
3873 012224' 202 01 0 17 777672 LSTLOP: movem T1,lsjptr ^-^O106(P)^ ;SAVE MESSAGE POINTER
3874 012225' 200 01 0 05 002027' MOVE T1,JFDTAB(Q1) ;GET JFN FOR MESSSAGES
3875 012226' 201 02 0 17 777676 MOVEI T2,lsjmsg ^-^O102(P)^ ;POINT TO MESSAGE BUFFER
3876 012227' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;MAKE IT INTO A BYTE POINTER
3877 012230' 211 03 0 00 000400 MOVNI T3,4*100 ;MAXIMUM SIZE OF MESSAGE
3878 012231' 104 00 0 00 000531 SINR ;READ NEXT BLOCK
3879 012232' 320 16 0 00 012214* ERJMP R ;FAIL
3880 012233' 201 01 0 17 777676 MOVEI T1,lsjmsg ^-^O102(P)^ ;POINT TO MESSAGE BUFFER
3881 012234' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;MAKE IT INTO A BYTE POINTER
3882 012235' 201 02 0 03 000400 MOVEI T2,4*100(T3) ;MAKES NUMBER OF BYTES WE READ
3883 012236' 134 03 0 00 000001 ILDB T3,T1 ;GET CODE
3884 012237' 306 03 0 00 000005 CAIN T3,.RDLST ;WAS THIS LINE STATUS ?
3885 012240' 375 00 0 00 000002 SOSGE T2 ;ADJUST COUNT
3886 012241' 263 17 0 00 000000 RET ;NOT ENOUGH BYTES
3887 012242' 260 17 0 00 012056* CALL GETLIN ;GET LINE NAME IN STANDARD FORMAT
3888 012243' 263 17 0 00 000000 RET ;BAD MESSAGE FORMAT
3889 012244' 124 03 0 17 777673 DMOVEM T3,lsjlin ^-^O105(P)^;SAVE LINE ID
3890 012245' 250 01 0 17 777672 EXCH T1,LSJPTR ^-^O106(P)^ ;SWAP POINTERS
3891 012246' 202 02 0 17 777675 MOVEM T2,LSJCTR^-^O103(P)^
3892 012247' 120 02 0 17 777673 DMOVE T2,lsjlin ^-^O105(P)^ ;RESTORE LINE ID
3893 012250' 260 17 0 00 012063* CALL ASCLIN ;OUTPUT LINE ID AGAIN
3894 012251' 263 17 0 00 000000 RET ;FAILED
3895 MOVX T2,.CHTAB ^;GET A TAB
3896 012252' 201 02 0 00 000011 MOVEI T2,..MX1>
3897 012253' 104 00 0 00 000051 BOUT ;AND OUTPUT PUNCTUATION
3898 012254' 250 01 0 17 777672 EXCH T1,LSJPTR ^-^O106(P)^ ;SWAP POINTERS
3899 012255' 250 02 0 17 777675 EXCH T2,LSJCTR ^-^O103(P)^ ;AND COUNTERS
3900 012256' 321 02 0 00 012232* JUMPL T2,R ;ANY MORE BYTES ?
3901 012257' 134 04 0 00 000001 ILDB T4,T1 ;GET LINE STATE
3902 012260' 275 02 0 00 000001 SUBI T2,1 ;ACCOUNT FOR STATE BYTE
3903 012261' 250 01 0 17 777672 EXCH T1,LSJPTR ^-^O106(P)^ ;SAVE POINTER
3904 012262' 250 02 0 17 777675 EXCH T2,LSJCTR ^-^O103(P)^ ;SAVE COUNT
3905 012263' 561 02 0 00 017675' HRROI T2,[ASCIZ/Unknown /] ;ASSUME UNKNOWN STATE
3906 012264' 306 04 0 00 000000 CAIN T4,.LSTON ;IS LINE ON ?
3907 012265' 561 02 0 00 017677' HRROI T2,[ASCIZ/On /] ;YES, LINE IS ON
3908 012266' 306 04 0 00 000001 CAIN T4,.LSTOFF ;IS LINE OFF ?
3909 012267' 561 02 0 00 017700' HRROI T2,[ASCIZ/Off /] ;YES, GET CORRECT STATE STRING
3910 012270' 306 04 0 00 000004 CAIN T4,.LSTMN ;MAINTENANCE ?
3911 012271' 561 02 0 00 017702' HRROI T2,[ASCIZ/Maintenance /]
3912 012272' 306 04 0 00 000005 CAIN T4,.LSTCN ;Controller loopback?
3913 012273' 561 02 0 00 017705' HRROI T2,[ASCIZ/Controller loopback/]
3914 012274' 306 04 0 00 000006 CAIN T4,.LSTCB ;Cable loopback?
3915 012275' 561 02 0 00 017711' HRROI T2,[ASCIZ/Cable loopback /]
3916 012276' 400 03 0 00 000000 SETZ T3, ;END ON NULL
3917 012277' 104 00 0 00 000053 SOUT ;COMPLETE LINE
3918 012300' 250 01 0 17 777672 EXCH T1,LSJPTR ^-^O106(P)^ ;GET BACK POINTER TO NICE MSG
3919 012301' 250 02 0 17 777675 EXCH T2,LSJCTR ^-^O103(P)^ ;AND RESTORE COUNT
3920 012302' 275 02 0 00 000002 SUBI T2,2 ;SKIP OVER USELESS STATES
3921 012303' 133 00 0 00 000001 IBP T1 ; LOGGING STATES ARE NOT
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 88-1
NCP MAC 5-Oct-81 16:46 NCP -- Miscellaneous Routines
3922 012304' 133 00 0 00 000001 IBP T1 ; USED
3923 012305' 323 02 0 00 012256* JUMPLE T2,R ;MUST BE AT LEAST ONE BYTE LEFT
3924 012306' 134 04 0 00 000001 ILDB T4,T1 ;GET COUNT FIELD FOR NODE NAME
3925 012307' 313 04 0 00 000002 CAMLE T4,T2 ;AT LEAST THAT MANY BYTES LEFT ?
3926 012310' 263 17 0 00 000000 RET ;NO, DONE
3927 012311' 200 02 0 17 777672 MOVE T2,LSJPTR ^-^O106(P)^ ;GET POINTER TO TEXT REPLY
3928 012312' 361 04 0 00 012316' LINST5: SOJL T4,LINST7 ;IF DONE ALL CHARACTERS, RETURN SUCCESS
3929 012313' 134 03 0 00 000001 ILDB T3,T1 ;GET A CHARACTER FROM NODE NAME
3930 012314' 136 03 0 00 000002 IDPB T3,T2 ;STORE CHARACTER IN OUTPUT STRING
3931 012315' 254 00 0 00 012312' JRST LINST5 ;AND DO ALL CHARACTERS IN NAME
3932
3933 012316' 200 01 0 00 000002 LINST7: MOVE T1,T2 ;COPY POINTER TO REPLY TEXT
3934 HRROI T2,[ASCIZ /
3935 012317' 561 02 0 00 016655' /] ;OUTPUT CRLF
3936 012320' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
3937 012321' 104 00 0 00 000053 SOUT ;END THE OUTPUT
3938 012322' 200 02 0 17 777776 MOVE T2,LSJCNT ^-^O2(P)^ ;GET COUNT OF MESSAGE TO PROCESS
3939 012323' 370 00 0 00 000002 SOS T2 ;ACCOUNT FOR WORK JUST DONE
3940 JUMPN T2,[ MOVEM T2,LSJCNT ^-^O2(P)^;KEEP GOING IF NON-ZERO (SAVE COUNT)
3941 HRROI T2,[ASCIZ/ /] ;KEEP GOING IF NON-ZERO
3942 SOUT ;PUT TABS FOR NEXT LINE
3943 012324' 326 02 0 00 017715' JRST LSTLOP] ;BUILD NEXT LINE
3944 012325' 254 00 0 00 012220* RETSKP^JRST RSKP^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 89
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
3945 SUBTTL Routines to Parse and Rebuild Commands from OPR
3946
3947 ; PRSKEY - PARSE A KEYWORD
3948
3949
3950 012326' PRSKEY: LOAD T1,PBTYP ^;GET ARGUMENT TYPE
3951 012326' 550 01 0 11 000000 HRRZ T1,(P2)^
3952 012327' 302 01 0 00 000000 CAIE T1,.CMKEY ;KEYWORD ?
3953 012330' 263 17 0 00 000000 RET ;NO, FAIL
3954 LOAD T1,PBVAL ^;GET KEYWORD VALUE TO RETURN
3955 012331' 200 01 0 11 000001 MOVE T1,1(P2)^
3956 LOAD T2,PBLEN ^;YES, GET LENGTH
3957 012332' 554 02 0 11 000000 HLRZ T2,(P2)^
3958 012333' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
3959 RETSKP ^ ;DONE
3960 012334' 254 00 0 00 012325* JRST RSKP
3961
3962
3963 ; PRSCFM - PARSE COMMAND CONFIRMATION
3964
3965 012335' PRSCFM: LOAD T1,PBTYP ^;GET ARGUMENT TYPE
3966 012335' 550 01 0 11 000000 HRRZ T1,(P2)^
3967 012336' 302 01 0 00 000010 CAIE T1,.CMCFM ;CONFIRMATION ?
3968 012337' 263 17 0 00 000000 RET ;NO, FAIL
3969 RETSKP ^ ;YES, RETURN SUCCESS
3970 012340' 254 00 0 00 012334* JRST RSKP
3971
3972
3973 ; PRSNOD - PARSE A NODE NAME
3974
3975 012341' PRSNOD: LOAD T1,PBTYP ^;GET ARGUMENT TYPE
3976 012341' 550 01 0 11 000000 HRRZ T1,(P2)^
3977 012342' 302 01 0 00 000026 CAIE T1,.CMNOD ;NODE ?
3978 JRST [ CAIE T1,.CMFLD ;OR FIELD SPECIFICATION ?
3979 RET ;NO, FAIL
3980 012343' 254 00 0 00 017721' JRST .+1] ;YES, ALL SET
3981 012344' 402 00 0 00 000001 SETZM T1 ;NO OLD BLOCK
3982 012345' 541 02 0 11 000001 HRRI T2,.PBVAL(P2) ;GET ADDRESS OF NODE NAME STRING
3983 012346' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO STRING
3984 012347' 201 03 0 00 000010 MOVEI T3,NODLEN ;GET LENGTH OF NODE NAME STRING
3985 012350' 260 17 0 00 013352' CALL CPYASC ;COPY STRING
3986 RETBAD ^;ILLEGAL NODE NAME
3987 012351' 263 17 0 00 000000 IFB <>,< RET>
3988 012352' 301 03 0 00 000050 CAIL T3,NODLEN*^D5 ;Check if any bytes copied
3989 JRST [CALL RELFRE ;No .. release block
3990 FATAL.ERROR ^
3991 CALL ERROR
3992 HALTF
3993 JRST NETCON]^;Release failed
3994 RETBAD^
3995 IFB <>,< RET>
3996 012353' 254 00 0 00 016775' RETBAD ()]>^] ;Give error return .. null node name
3997 LOAD T2,PBLEN ^;YES, GET LENGTH
3998 012354' 554 02 0 11 000000 HLRZ T2,(P2)^
3999 012355' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 89-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4000 RETSKP ^ ;DONE
4001 012356' 254 00 0 00 012340* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 90
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4002 ; PRSFIL - PARSE ANY TYPE OF FILE SPEC
4003
4004 012357' 260 17 0 00 012363' PRSFIL: CALL PRSIFI ;TRY INPUT FILE FIRST
4005 JRST [ CALL PRSOFI ;FAILED, TRY OUTPUT FILE
4006 RET ;NEITHER, RETURN ERROR
4007 012360' 254 00 0 00 017724' RETSKP ^JRST RSKP^] ;RETURN OUTPUT FILE
4008 RETSKP ^ ;RETURN INPUT FILE
4009 012361' 254 00 0 00 012356* JRST RSKP
4010
4011
4012
4013 ; PRSIFI - PARSE AN INPUT FILE NAME
4014 ; PRSOFI - PARSE AN OUTPUT FILE NAME
4015
4016 012362' 334 04 0 00 017727' PRSOFI: SKIPA T4,[.CMOFI] ;GET COMMAND JSYS FUNCTION CODE
4017 012363' PRSIFI: MOVX T4,.CMIFI ^;GET COMMAND JSYS CODE FOR INPUT FILE
4018 012363' 201 04 0 00 000004 MOVEI T4,..MX1>
4019 LOAD T1,PBTYP ^;GET ARGUMENT TYPE
4020 012364' 550 01 0 11 000000 HRRZ T1,(P2)^
4021 012365' 312 01 0 00 000004 CAME T1,T4 ;RIGHT FILE ?
4022 012366' 263 17 0 00 000000 RET ;NO, FAIL
4023 012367' 402 00 0 00 000001 SETZM T1 ;NO OLD BLOCK
4024 012370' 541 02 0 11 000001 HRRI T2,.PBVAL(P2) ;GET ADDRESS OF NODE NAME STRING
4025 012371' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO STRING
4026 LOAD T3,PBLEN ^;GET LENGTH OF ARG FIELD
4027 012372' 554 03 0 11 000000 HLRZ T3,(P2)^
4028 012373' 260 17 0 00 013352' CALL CPYASC ;COPY STRING
4029 RETBAD ^;FAILED, RETURN ERROR
4030 012374' 263 17 0 00 000000 IFB <>,< RET>
4031 LOAD T2,PBLEN ^;YES, GET LENGTH
4032 012375' 554 02 0 11 000000 HLRZ T2,(P2)^
4033 012376' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
4034 RETSKP ^ ;DONE
4035 012377' 254 00 0 00 012361* JRST RSKP
4036
4037
4038 ; PARSE A NUMBER
4039
4040 012400' PRSNUM: LOAD T1,PBTYP ^;GET ARGUMENT TYPE
4041 012400' 550 01 0 11 000000 HRRZ T1,(P2)^
4042 012401' 302 01 0 00 000001 CAIE T1,.CMNUM ;NUMBER ?
4043 012402' 263 17 0 00 000000 RET ;NO, FAIL
4044 LOAD T1,PBVAL ^;GET VALUE TO RETURN
4045 012403' 200 01 0 11 000001 MOVE T1,1(P2)^
4046 LOAD T2,PBLEN ^;YES, GET LENGTH
4047 012404' 554 02 0 11 000000 HLRZ T2,(P2)^
4048 012405' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
4049 RETSKP ^ ;DONE
4050 012406' 254 00 0 00 012377* JRST RSKP
4051
4052
4053
4054 ; PARSE NOISE WORDS
4055
4056 012407' PRSNOI: LOAD T1,PBTYP ^;GET ARGUMENT TYPE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 90-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4057 012407' 550 01 0 11 000000 HRRZ T1,(P2)^
4058 012410' 302 01 0 00 000002 CAIE T1,.CMNOI ;NOISE WORDS ?
4059 012411' 263 17 0 00 000000 RET ;NO, FAIL
4060 LOAD T2,PBLEN ^;YES, GET LENGTH
4061 012412' 554 02 0 11 000000 HLRZ T2,(P2)^
4062 012413' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
4063 012414' 263 17 0 00 000000 RET ;DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 91
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4064 ; PARSE A TOKEN
4065
4066 012415' 200 04 0 00 000001 PRSTOK: MOVE T4,T1 ;SAVE EXPECTED TOKEN
4067 LOAD T1,PBTYP ^;GET ARGUMENT TYPE
4068 012416' 550 01 0 11 000000 HRRZ T1,(P2)^
4069 012417' 302 01 0 00 000023 CAIE T1,.CMTOK ;TOKEN ?
4070 012420' 263 17 0 00 000000 RET ;NO, FAIL
4071 012421' 135 01 0 00 017730' LDB T1,[POINT 7,.PBVAL(P2),6] ;GET THE TOKEN
4072 012422' 312 01 0 00 000004 CAME T1,T4 ;CORRECT TOKEN ?
4073 012423' 263 17 0 00 000000 RET ;NO, FAIL
4074 LOAD T2,PBLEN ^;YES, GET LENGTH OF THIS ARGUMENT
4075 012424' 554 02 0 11 000000 HLRZ T2,(P2)^
4076 012425' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
4077 RETSKP ^ ;DONE, RETURN SUCCESS
4078 012426' 254 00 0 00 012406* JRST RSKP
4079
4080
4081
4082 ; PRSCMA - PARSE A COMMA
4083
4084
4085 012427' PRSCMA: LOAD T1,PBTYP ^;GET ARGUMENT TYPE
4086 012427' 550 01 0 11 000000 HRRZ T1,(P2)^
4087 012430' 302 01 0 00 000013 CAIE T1,.CMCMA ;COMMA ?
4088 012431' 263 17 0 00 000000 RET ;NO, FAIL
4089 LOAD T1,PBVAL ^;GET VALUE TO RETURN
4090 012432' 200 01 0 11 000001 MOVE T1,1(P2)^
4091 LOAD T2,PBLEN ^;YES, GET LENGTH
4092 012433' 554 02 0 11 000000 HLRZ T2,(P2)^
4093 012434' 270 11 0 00 000002 ADD P2,T2 ;POINT TO NEXT ARGUMENT
4094 RETSKP ^ ;DONE
4095 012435' 254 00 0 00 012426* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 92
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4096 ;PRSLID - ROUTINE TO PARSE A LINE ID
4097 ;
4098 ;ACCEPTS IN P2/ CURRENT POINTER INTO IPCF MESSAGE
4099 ; CALL PRSLID
4100 ;RETURNS: +1 FAILED, INVALID LINE ID
4101 ; +2 SUCCESS, WITH T1-T2/ LINE ID
4102
4103 012436' PRSLID: STKVAR <PLIDEV,PLICTL,PLIUNI,PLISTN>^
4104 012436' 265 16 0 00 012221* JSP .A16,.STKST
4105 012437' 000004 000004 ..STKN,,..STKN
4106 012440' 402 00 0 17 777775 SETZM PLICTL ^-^O3(P)^ ;INITIALIZE THE VARIOUS VALUES
4107 012441' 402 00 0 17 777774 SETZM PLIUNI ^-^O4(P)^ ; IN THE LINE ID.
4108 012442' 402 00 0 17 777776 SETZM PLIDEV^-^O2(P)^
4109 012443' 402 00 0 17 777773 SETZM PLISTN^-^O5(P)^
4110
4111 ; PARSE DEVICE TYPE
4112
4113 012444' 260 17 0 00 012326' CALL PRSKEY ;PARSE A KEYWORD FOR DEVICE TYPE
4114 012445' 263 17 0 00 000000 RET ;FAILED
4115 012446' 201 02 0 00 006711' MOVEI T2,SETDVT ;GET ADDRESS OF DEVICE TABLE
4116 012447' 201 03 0 00 000015 MOVEI T3,SETDVL ;AND TABLE LENGTH
4117 012450' 260 17 0 00 006067' CALL FNDDSP ;GET DEVICE TYPE
4118 012451' 263 17 0 00 000000 RET ;NOT FOUND, RETURN FAILURE
4119 012452' 202 01 0 17 777776 MOVEM T1,PLIDEV ^-^O2(P)^ ;SAVE DEVICE TYPE
4120
4121 ; PARSE PUNCTUATION
4122
4123 MOVX T1,"_" ^;EXPECT AN UNDERSCORE
4124 012453' 201 01 0 00 000137 MOVEI T1,..MX1>
4125 012454' 260 17 0 00 012415' CALL PRSTOK ;PARSE A TOKEN
4126 012455' 263 17 0 00 000000 RET ;FAILED
4127
4128 ; PARSE CONTROLLER NUMBER (REQUIRED)
4129
4130 012456' 260 17 0 00 012400' CALL PRSNUM ;PARSE CONTROLLER NUMBER
4131 012457' 263 17 0 00 000000 RET ;FAILED
4132 012460' 202 01 0 17 777775 MOVEM T1,PLICTL ^-^O3(P)^ ;SAVE CONTROLLER NUMBER
4133
4134 ; DETERMINE IF UNIT WAS SPECIFIED - IF SO PARSE PUNCTUATION
4135
4136 MOVX T1,"_" ^;POSSIBLY A TOKEN NEXT
4137 012461' 201 01 0 00 000137 MOVEI T1,..MX1>
4138 012462' 260 17 0 00 012415' CALL PRSTOK ;PARSE A TOKEN
4139 012463' 254 00 0 00 012467' JRST PRS500 ;NONE, GO RETURN LINE ID
4140
4141 ; PARSE UNIT NUMBER
4142
4143 012464' 260 17 0 00 012400' CALL PRSNUM ;PARSE UNIT NUMBER
4144 012465' 263 17 0 00 000000 RET ;FAILED
4145 012466' 202 01 0 17 777774 MOVEM T1,PLIUNI ^-^O4(P)^ ;SAVE CONTROLLER NUMBER
4146
4147 ; HERE ON COMPLETED PARSE - RETURN LINE ID
4148
4149 012467' 504 01 0 17 777776 PRS500: HRL T1,PLIDEV ^-^O2(P)^ ;GET DEVICE TYPE
4150 012470' 540 01 0 17 777775 HRR T1,PLICTL ^-^O3(P)^ ;GET CONTROLLER NUMBER
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 92-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4151 012471' 504 02 0 17 777774 HRL T2,PLIUNI ^-^O4(P)^ ;GET UNIT NUMBER
4152 012472' 540 02 0 17 777773 HRR T2,PLISTN ^-^O5(P)^ ;GET STATION ADDRESS
4153 RETSKP ^ ;DONE
4154 012473' 254 00 0 00 012435* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 93
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4155 ;ROUTINE TO REBUILD A COMMAND TYPED TO OPR
4156 ;ACCEPTS IN T1/ STRING POINTER TO WHERE COMMAND IS TO BE PUT
4157 ; T2/ ADR OF ORION MESSAGE
4158 ; CALL BLDCOM
4159 ;RETURNS +1: ALWAYS - UPDATED STRING POINTER IN T1
4160
4161 012474' BLDCOM: SAVEPQ ^ ;SAVE THE PERMANENT ACS
4162 012474' 265 16 0 00 014444' JSP CX,SAVPQ
4163 012475' 200 10 0 00 000002 MOVE P1,T2 ;SAVE ADR OF START OF MESSAGE
4164 012476' 200 04 0 10 000007 MOVE T4,COM.PB(P1) ;GET OFFSET TO PARSER BLOCK
4165 012477' 200 11 0 00 000010 MOVE P2,P1 ;GET BASE ADDRESS OF IPCF MESSAGE
4166 012500' 270 11 0 00 000004 ADD P2,T4 ;COMPUTE ADDRESS OF PARSER BLOCK
4167 012501' BLDCML: LOAD T2,PBTYP ^;GET NEXT FIELD
4168 012501' 550 02 0 11 000000 HRRZ T2,(P2)^
4169 LOAD T3,PBVAL ^;GET VALUE INTO T3
4170 012502' 200 03 0 11 000001 MOVE T3,1(P2)^
4171 012503' 305 02 0 00 000027 CAIGE T2,BLDTBL ;IS THIS A KNOWN TYPE?
4172 012504' 256 00 0 02 012513' XCT BLDTAB(T2) ;YES, EXECUTE IT
4173 012505' 200 03 0 00 000001 MOVE T3,T1 ;WITHOUT UPDATING THE POINTER
4174 012506' 201 02 0 00 000000 MOVEI T2,0 ;END WITH A NULL
4175 012507' 136 02 0 00 000003 IDPB T2,T3 ;...
4176 LOAD T2,PBLEN ^;GET LENGTH OF THIS ARGUMENT
4177 012510' 554 02 0 11 000000 HLRZ T2,(P2)^
4178 012511' 270 11 0 00 000002 ADD P2,T2 ;COMPUTE ADDRESS OF NEXT ARG
4179 012512' 254 00 0 00 012501' JRST BLDCML ;LOOP OVER EACH ARGUMENT
4180
4181 012513' 260 17 0 00 012550' BLDTAB: CALL BLDKEY ;.CMKEY
4182 012514' 260 17 0 00 012556' CALL BLDNUM ;.CMNUM
4183 012515' 255 00 0 00 000000 JFCL ;.CMNOI
4184 012516' 260 17 0 00 012566' CALL BLDSWI ;.CMSWI
4185 012517' 260 17 0 00 012576' CALL BLDFIL ;.CMIFI
4186 012520' 260 17 0 00 012576' CALL BLDFIL ;.CMOFI
4187 012521' 260 17 0 00 012576' CALL BLDFIL ;.CMFIL
4188 012522' 260 17 0 00 012576' CALL BLDTXT ;.CMFLD
4189 012523' 254 00 0 00 012542' JRST BLDCMD ;.CMCFM
4190 012524' 260 17 0 00 012605' CALL BLDDIR ;.CMDIR
4191 012525' 260 17 0 00 012605' CALL BLDDIR ;.CMUSR
4192 012526' 260 17 0 00 012613' CALL BLDCMA ;.CMCMA
4193 012527' 255 00 0 00 000000 JFCL ;.CMINI
4194 012530' 260 17 0 00 012620' CALL BLDFLT ;.CMFLT
4195 012531' 260 17 0 00 012627' CALL BLDDEV ;.CMDEV
4196 012532' 260 17 0 00 012576' CALL BLDTXT ;.CMTXT
4197 012533' 260 17 0 00 012636' CALL BLDTAD ;.CMTAD
4198 012534' 260 17 0 00 012576' CALL BLDTXT ;.CMQST
4199 012535' 260 17 0 00 012576' CALL BLDTXT ;.CMUQS
4200 012536' 260 17 0 00 012576' CALL BLDTXT ;.CMTOK
4201 012537' 260 17 0 00 012556' CALL BLDNUM ;.CMNUX
4202 012540' 260 17 0 00 012576' CALL BLDTXT ;.CMACT
4203 012541' 260 17 0 00 012576' CALL BLDNOD ;.CMNOD
4204 000027 BLDTBL==.-BLDTAB
4205
4206 012542' 211 02 0 00 000001 BLDCMD: MOVNI T2,1 ;BACK UP OVER THE SPACE
4207 012543' 133 02 0 00 000001 ADJBP T2,T1
4208 012544' 200 01 0 00 000002 MOVE T1,T2 ;RETURN THE UPDATED BYTE POINTER
4209 012545' 201 03 0 00 000000 MOVEI T3,0 ;PUT A NULL AT THE END OF THE STRING
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 93-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4210 012546' 136 03 0 00 000002 IDPB T3,T2 ;...
4211 012547' 263 17 0 00 000000 RET ;DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 94
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4212 012550' 560 02 0 03 012645' BLDKEY: HRRO T2,KYTAB(T3) ;GET POINTER TO KEYWORD TEXT
4213 012551' 400 03 0 00 000000 SETZ T3,
4214 012552' 104 00 0 00 000053 SOUT ;COPY KEYWORD TO STRING
4215 012553' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4216 012554' 104 00 0 00 000051 BOUT ;...
4217 012555' 263 17 0 00 000000 RET
4218
4219 012556' 200 02 0 11 000001 BLDNUM: MOVE T2,1(P2) ;GET THE NUMBER
4220 012557' 336 03 0 11 000002 SKIPN T3,2(P2) ;IF ANY
4221 012560' 201 03 0 00 000010 MOVEI T3,10 ;ASSUME OCTAL IF NONE
4222 012561' 104 00 0 00 000224 NOUT ;OUTPUT THE NUMBER
4223 012562' 255 00 0 00 000000 JFCL
4224 012563' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4225 012564' 104 00 0 00 000051 BOUT ;...
4226 012565' 263 17 0 00 000000 RET
4227
4228 012566' 201 02 0 00 000057 BLDSWI: MOVEI T2,"/" ;SWITCH
4229 012567' 104 00 0 00 000051 BOUT ;START WITH A SLASH
4230 012570' 560 02 0 03 013016' HRRO T2,SWTAB(T3) ;GET SWITCH TEXT
4231 012571' 400 03 0 00 000000 SETZ T3,
4232 012572' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4233 012573' 104 00 0 00 000051 BOUT ;...
4234 012574' 104 00 0 00 000053 SOUT
4235 012575' 263 17 0 00 000000 RET
4236
4237 012576' BLDFIL:
4238 012576' BLDTXT:
4239 012576' 541 02 0 11 000001 BLDNOD: HRRI T2,.PBVAL(P2) ;GET ADDRESS OF NODE NAME STRING
4240 012577' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO STRING
4241 012600' 400 03 0 00 000000 SETZ T3,
4242 012601' 104 00 0 00 000053 SOUT
4243 012602' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4244 012603' 104 00 0 00 000051 BOUT ;...
4245 012604' 263 17 0 00 000000 RET
4246
4247 012605' 200 02 0 00 000001 BLDDIR: MOVE T2,T1 ;SAVE STRING POINTER
4248 012606' 104 00 0 00 000041 DIRST ;TRANSLATE IT TO A STRING
4249 012607' 200 01 0 00 000002 MOVE T1,T2 ;GET BACK STRING POINTER IF ERROR
4250 012610' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4251 012611' 104 00 0 00 000051 BOUT ;...
4252 012612' 263 17 0 00 000000 RET
4253
4254 012613' 201 02 0 00 000054 BLDCMA: MOVEI T2,"," ;ADD COMMA TO STRING
4255 012614' 104 00 0 00 000051 BOUT
4256 012615' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4257 012616' 104 00 0 00 000051 BOUT ;...
4258 012617' 263 17 0 00 000000 RET
4259
4260 012620' 200 02 0 00 000003 BLDFLT: MOVE T2,T3 ;GET THE NUMBER
4261 012621' 201 03 0 00 000000 MOVEI T3,0 ;STANDARD FORMAT
4262 012622' 104 00 0 00 000233 FLOUT
4263 012623' 255 00 0 00 000000 JFCL
4264 012624' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4265 012625' 104 00 0 00 000051 BOUT ;...
4266 012626' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 95
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4267 012627' 200 02 0 00 000001 BLDDEV: MOVE T2,T1 ;SAVE STRING POINTER
4268 012630' 200 02 0 00 000003 MOVE T2,T3 ;COPY DEVICE DESIGNATOR
4269 012631' 104 00 0 00 000121 DEVST
4270 012632' 200 01 0 00 000002 MOVE T1,T2 ;FAILED, GET BACK STRING POINTER
4271 012633' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4272 012634' 104 00 0 00 000051 BOUT ;...
4273 012635' 263 17 0 00 000000 RET
4274
4275 012636' 200 02 0 00 000003 BLDTAD: MOVE T2,T3 ;GET THE DATE
4276 012637' 400 03 0 00 000000 SETZ T3,
4277 012640' 104 00 0 00 000220 ODTIM ;OUTPUT THE STRING
4278 012641' 320 16 0 00 012642' ERJMP .+1
4279 012642' 201 02 0 00 000040 MOVEI T2," " ;FOLLOW EACH FIELD WITH A SPACE
4280 012643' 104 00 0 00 000051 BOUT ;...
4281 012644' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 96
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4282 DEFINE X(A,B)<
4283 [ASCIZ\A\]>
4284
4285 012645' KYTAB: ;EXECUTE THE KEYWORD MACRO FROM ORNMAC
4286 XLIST
4287 LIST
4288
4289 013016' SWTAB: ;EXECUTE THE SWITCH MACRO FROM ORNMAC
4290 XLIST
4291 LIST
4292
4293
4294
4295 ;ROUTINE TO FINISH A REQUEST AND CLEAN UP FREE SPACE
4296
4297 ;ACCEPTS IN T1/ ERROR CODE (IF FAILURE OCCURED)
4298 ; T2/ -1 = SUCCESS, 0 = FAILURE
4299 ; T3/ ADDRESS OF THE REQUEST
4300
4301 ;RETURNS +1: FAILED TO FINISH CORRECTLY
4302 ; +2: OK
4303
4304 013100' FINREQ: ASUBR <FINRQE,FINRQC,FINRQA,FINRQF>^
4305 013100' 265 16 0 00 011106* JSP .A16,.ASSET
4306 SAVEQ^
4307 013101' 265 16 0 00 014432' JSP CX,SAVQ^
4308 LOAD T4,QUEFLG,(T3) ^;GET THE MESSAGE FLAGS
4309 013102' 550 04 0 03 000001 HRRZ T4,1(T3)^
4310 013103' 202 04 0 15 000004 MOVEM T4,FINRQF ^^O4(.FP)^ ;SAVE THE FLAGS FOR LATER
4311 LOAD T4,QUETYP,(T3) ^;GET MESSAGE TYPE
4312 013104' 554 04 0 03 000001 HLRZ T4,1(T3)^
4313 013105' 301 04 0 00 000004 CAIL T4,FREQDL ;LEGAL?
4314 FATAL.ERROR (.ERR14)^ ;NO
4315 IFNB <.ERR14>,< MOVEI T1,.ERR14>
4316 CALL ERROR
4317 HALTF
4318 013106' 254 00 0 00 016637' JRST NETCON]
4319 013107' 200 05 0 04 013120' MOVE Q1,FREQDT(T4) ;GET DISPATCH ADDRESS
4320 LOAD T4,QUEMES,(T3) ^;GET ADDRESS OF MESSAGE
4321 013110' 554 04 0 03 000000 HLRZ T4,0(T3)^
4322 013111' 202 04 0 15 000003 MOVEM T4,FINRQA ^^O3(.FP)^ ;SAVE THIS ADDRESS
4323 013112' 201 01 0 00 000002 MOVEI T1,QUEHLN ;NOW RELEASE THIS BLOCK
4324 013113' 202 01 0 03 000000 MOVEM T1,(T3) ;SAVE THE CORRECT BLOCK LENGTH
4325 013114' 200 01 0 00 000003 MOVE T1,T3 ;GET ADDRESS OF BLOCK
4326 013115' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
4327 FATAL.ERROR^
4328 CALL ERROR
4329 HALTF
4330 013116' 254 00 0 00 016623' JRST NETCON]^
4331 013117' 254 00 0 05 000000 JRST (Q1) ;DISPATCH TO THE MESSAGE DEPENDENT CODE
4332
4333 013120' 000000 013124' FREQDT: FINMES ;ORION MESSAGE
4334 013121' 000000 013153' FINFKT ;FORK TERMINATION
4335 013122' 000000 013155' FINJFD ;DATA OR DISCONNECT
4336 013123' 000000 013154' FINDML ;AUTO DUMP/LOAD
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 96-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4337 000004 FREQDL==.-FREQDT
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 97
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4338 013124' FINMES: STKVAR <<FINMSM,200>>^
4339 013124' 265 16 0 00 012436* JSP .A16,.STKST
4340 013125' 000200 000200 ..STKN,,..STKN
4341 013126' 402 00 0 17 777577 SETZM FINMSM ^-^O201(P)^ ;START WITH A NULL MESSAGE
4342 013127' 200 01 0 15 000004 MOVE T1,FINRQF ^^O4(.FP)^ ;GET THE MESSAGE FLAGS
4343 TXNE T1,QF%TXT ^;IS THERE TEXT TO BE RETURNED?
4344 013130' 602 01 0 00 000002 TRNE T1,..TX1>
4345 JRST [ MOVE T2,FINRQA ^^O3(.FP)^;YES, BUILD A POINTER TO IT
4346 LOAD T1,MS.CNT,.MSTYP(T2)^
4347 HLRZ T1,.MSTYP(T2)^
4348 ADDI T1,.MSTYP(T2)
4349 HRLI T1,(POINT 7,0)
4350 013131' 254 00 0 00 020444' JRST FINMS2] ;GO SEND IT TO OPR
4351 TXNE T1,QF%NOA ^;IS THIS MESSAGE TO BE ACK'D NOW?
4352 013132' 602 01 0 00 000001 TRNE T1,..TX1>
4353 013133' 254 00 0 00 013152' JRST FINMSD ;NO
4354 013134' 332 00 0 15 000002 SKIPE FINRQC ^^O2(.FP)^ ;WAS THERE AN ERROR IN THE REQUEST?
4355 013135' 254 00 0 00 013146' JRST FINMS1 ;NO
4356 013136' 200 01 0 15 000001 MOVE T1,FINRQE ^^O1(.FP)^ ;YES, GET THE ERROR CODE
4357 013137' 561 02 0 17 777577 HRROI T2,FINMSM ^-^O201(P)^ ;SET UP A POINTER TO THE TEXT AREA
4358 013140' 201 03 0 00 400000 MOVEI T3,.FHSLF ;THIS FORK
4359 013141' 260 17 0 00 014532' CALL ERRORB ;BUILD THE MESSAGE
4360 013142' 402 00 0 00 000001 setzm t1 ;no text, just header
4361 013143' 561 02 0 17 777577 hrroi t2,finmsM ^-^O201(P)^ ;get pointer to messaGe
4362 013144' 260 17 0 00 014575' call oprmes ;output the error text
4363 013145' 255 00 0 00 000000 jfcl ;ignore failure
4364 013146' 561 01 0 17 777577 FINMS1: HRROI T1,FINMSM ^-^O201(P)^ ;SET UP TO ACK ORION
4365 013147' 200 01 0 15 000003 FINMS2: MOVE T1,FINRQA ^^O3(.FP)^ ;RELEASE THE MESSAGE PAGE
4366 013150' 260 17 0 00 014267' CALL RELPGA ;...
4367 NON.FATAL.ERROR^
4368 013151' 260 17 0 00 014473' IFB <>,< CALL WRNING>
4369 013152' FINMSD: RETSKP ^ ;DONE
4370 013152' 254 00 0 00 012473* JRST RSKP
4371
4372
4373 013153' FINFKT: RETSKP ^ ;NO WORK TO BE DONE ON FORK TERMINATION
4374 013153' 254 00 0 00 013152* JRST RSKP
4375
4376 013154' FINDML: RETSKP ^ ;DONE
4377 013154' 254 00 0 00 013153* JRST RSKP
4378
4379
4380 013155' FINJFD: RETSKP ^ ;DONE
4381 013155' 254 00 0 00 013154* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 98
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4382 ;ROUTINE TO CHECK FOR ANY NICE MESSAGES WAITING TO BE SENT
4383 ; IF ANY ARE FOUND, AN ATTEMPT IS MADE TO SEND THEM.
4384 ; IF THE NICE MESSAGE CANNOT BE SENT, IT IS LEFT ON THE QUEUE
4385 ; TO BE TRIED LATER.
4386
4387 ; CALL CHKNIC
4388 ;RETURNS +1: ALWAYS - NOTING MORE TO DO AT THIS TIME
4389
4390 013156' CHKNIC: STKVAR <CHKNIM,CHKNIN,CHKNIT,CHKNIF>^
4391 013156' 265 16 0 00 013124* JSP .A16,.STKST
4392 013157' 000004 000004 ..STKN,,..STKN
4393 013160' 260 17 0 00 013302' CHKNIL: CALL DEQNIC ;GET A NICE MESSAGE TO SEND
4394 013161' 263 17 0 00 000000 RET ;NO MORE ON QUEUE
4395 013162' 202 01 0 17 777776 MOVEM T1,CHKNIM ^-^O2(P)^ ;SAVE ADR OF MESSAGE
4396 013163' 202 02 0 17 777774 MOVEM T2,CHKNIT ^-^O4(P)^ ;SAVE ADDRESS OF NICE MESSAGE TEXT
4397 013164' 202 03 0 17 777775 MOVEM T3,CHKNIN ^-^O3(P)^ ;SAVE NUMBER OF CHARS IN NICE MESSAGE
4398 013165' 202 04 0 17 777773 MOVEM T4,CHKNIF ^-^O5(P)^ ;SAVE FUNCTION AND OPTION
4399 TXZE T2,NQ%REQ ^;HAS THIS ENTRY ALREADY BEEN RE-QUEUED ?
4400 013166' 623 02 0 00 400000 TLZE T2,(..TX1)>>
4401 013167' 254 00 0 00 013206' JRST CHKNI2 ;YES, DONE WITH THIS PASS THRU QUEUE
4402 013170' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;NO, FORM POINTER TO NICE MESSAGE
4403 013171' 260 17 0 00 011105' CALL SNDNIC ;TRY TO SEND THIS NICE MESSAGE
4404 013172' 254 00 0 00 013174' JRST CHKNI1 ;COULD NOT SEND IT, GO REQUEUE IT
4405 013173' 254 00 0 00 013160' JRST CHKNIL ;LOOP BACK FOR REST OF REQUESTS
4406
4407 013174' 200 01 0 17 777776 CHKNI1: MOVE T1,CHKNIM ^-^O2(P)^ ;GET BACK MESSAGE ADR
4408 013175' 200 02 0 17 777774 MOVE T2,CHKNIT ^-^O4(P)^ ;GET BACK ADR OF NICE TEXT
4409 013176' 260 17 0 00 013216' CALL RQCHK ;Check if request is too old
4410 013177' 254 00 0 00 013160' JRST CHKNIL ;Yes .. don't requeue it
4411 TXO T2,NQ%REQ ^;NOTE THAT THIS ENTRY REQUEUED
4412 013200' 661 02 0 00 400000 TLO T2,(..TX1)>>
4413 013201' 200 03 0 17 777775 MOVE T3,CHKNIN ^-^O3(P)^ ;AND NUMBER OF CHARACTERS
4414 013202' 200 04 0 17 777773 MOVE T4,CHKNIF ^-^O5(P)^ ;RESTORE NICE FUNCTION AND OPTION
4415 013203' 260 17 0 00 013227' CALL QUENCR ;QUEUE IT ON REAR OF QUEUE
4416 NON.FATAL.ERROR^
4417 013204' 260 17 0 00 014473' IFB <>,< CALL WRNING>
4418 013205' 254 00 0 00 013160' JRST CHKNIL ;GO PROCESS NEXT ENTRY ON QUEUE
4419
4420 ; HERE WHEN FOUND AN ALREADY PROCESSED QUEUE ENTRY
4421
4422 013206' 200 01 0 17 777776 CHKNI2: MOVE T1,CHKNIM ^-^O2(P)^ ;GET BACK MESSAGE ADR
4423 013207' 200 02 0 17 777774 MOVE T2,CHKNIT ^-^O4(P)^ ;GET BACK ADR OF NICE TEXT
4424 TXZ T2,NQ%REQ ^;RESET "ENTRY REQUEUED" FLAG
4425 013210' 621 02 0 00 400000 TLZ T2,(..TX1)>>
4426 013211' 200 03 0 17 777775 MOVE T3,CHKNIN ^-^O3(P)^ ;AND NUMBER OF CHARACTERS
4427 013212' 200 04 0 17 777773 MOVE T4,CHKNIF ^-^O5(P)^ ;RESTORE NICE FUNCTION AND OPTION
4428 013213' 260 17 0 00 013232' CALL QUENCF ;QUEUE IT ON FRONT OF QUEUE
4429 NON.FATAL.ERROR^
4430 013214' 260 17 0 00 014473' IFB <>,< CALL WRNING>
4431 013215' 263 17 0 00 000000 RET ;DONE WITH THIS PASS, RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 99
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4432 ;Routine to check age of a NICE request
4433
4434 ;ACCEPTS in T2/ Time of entry,,anything
4435 ;
4436 ;Returns +1: if request is too old
4437 ; +2: if request should be requeued
4438
4439 013216' RQCHK: SAVET ^ ;Save some registers
4440 013216' 265 16 0 00 014420' JSP CX,SAVT
4441 013217' 554 01 0 00 000002 HLRZ T1,T2 ;Get time entry was made
4442 013220' 260 17 0 00 013337' CALL QUETIM ;Get current time (minutes since midnight)
4443 013221' 307 02 0 00 000017 CAIG T2,RQMAX ;Check for midnight wrap around
4444 013222' 271 02 0 00 002640 ADDI T2,^D24*^D60 ;Yes .. add midnight
4445 013223' 275 02 0 00 000017 SUBI T2,RQMAX ;Subtract threshold time
4446 013224' 315 02 0 00 000001 CAMGE T2,T1 ;Check if entry is too old (lss current-RQMAX)
4447 RETSKP ^ ;No .. give skip .. entry is still good
4448 013225' 254 00 0 00 013155* JRST RSKP
4449 013226' 263 17 0 00 000000 RET ;Nonskip .. entry is ancient
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 100
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4450 ;ROUTINE TO QUEUE NICE MESSAGES ONTO THE NICE QUEUE
4451
4452 ;ACCEPTS IN T1/ ADDRESS OF EXECUTOR STRING,,ADDRESS OF MESSAGE FROM ORION
4453 ; T2/ ADDRESS OF NICE MESSAGE
4454 ; T3/ REQ NUMBER ,, COUNT OF CHARACTERS IN NICE MESSAGE
4455 ; T4/ NICE FUNCTION CODE,,NICE SUB-OPTION
4456 ; CALL QUENCF ;QUEUE TO FRONT OF NICE QUEUE
4457 ; OR
4458 ; CALL QUENCR ;QUEUE TO REAR OF NICE QUEUE
4459 ;RETURNS +1: FAILED
4460 ; +2: SUCCESSFUL
4461
4462 013227' QUENCR: SAVEQ^
4463 013227' 265 16 0 00 014432' JSP CX,SAVQ^
4464 013230' 402 00 0 00 000006 SETZM Q2 ;MARK THAT REQUEST IS FOR END OF QUEUE
4465 013231' 254 00 0 00 013235' JRST QUENCU ;GO ADD ENTRY TO QUEUE
4466 013232' QUENCF: SAVEQ^
4467 013232' 265 16 0 00 014432' JSP CX,SAVQ^
4468 013233' 476 00 0 00 000006 SETOM Q2 ;PUT ENTRY ON FRONT OF THE QUEUE
4469 013234' 254 00 0 00 013235' JRST QUENCU ;GO ADD ENTRY TO QUEUE
4470
4471 013235' QUENCU: ASUBR <QUENCM,QUENCT,QUENCN,QUEFCN>^
4472 013235' 265 16 0 00 013100* JSP .A16,.ASSET
4473 013236' 201 01 0 00 000005 MOVEI T1,NQLEN ;GET A HEADER TO HOLD THIS INFO
4474 013237' 260 17 0 00 014021' CALL GETFRE ;...
4475 RETBAD ()^ ;COULD NOT GET SPACE NOW
4476 013240' 263 17 0 00 000000 IFB <>,< RET>
4477 013241' 200 05 0 00 000001 MOVE Q1,T1 ;SAVE ADR OF FREE SPACE
4478 013242' 550 02 0 15 000001 HRRZ T2,QUENCM ^^O1(.FP)^ ;GET ADDRESS OF MESSAGE
4479 STOR T2,NQMES,(Q1) ^;SAVE IN QUEUE ENTRY
4480 013243' 506 02 0 05 000000 HRLM T2,0(Q1)^
4481 013244' 554 02 0 15 000001 HLRZ T2,QUENCM ^^O1(.FP)^ ;GET ADDRESS OF EXECUTOR STRING
4482 STOR T2,NQXTR,(Q1) ^;SAVE
4483 013245' 542 02 0 05 000004 HRRM T2,4(Q1)^
4484 013246' 200 02 0 15 000002 MOVE T2,QUENCT ^^O2(.FP)^ ;GET FLAGS AND POINTER TO NICE MESSAGE
4485 TXZE T2,NQ%REQ ^;IS THIS ENTRY BEING RE-QUEUED ?
4486 013247' 623 02 0 00 400000 TLZE T2,(..TX1)>>
4487 JRST [SETONE NQREQ,(Q1) ^
4488 MOVSI .SAC,(..MX1)>>
4489 IORM .SAC,4(Q1)
4490 013250' 254 00 0 00 020451' JRST .+1] ;AND CONTINUE
4491 STOR T2,NQTXT,(Q1)^
4492 013251' 542 02 0 05 000002 HRRM T2,2(Q1)^
4493 013252' 557 00 0 00 000002 HLRZS T2 ;Get time of first time entry was q'd
4494 013253' 336 00 0 00 000002 SKIPN T2 ;If time not defined..
4495 013254' 260 17 0 00 013337' CALL QUETIM ;get current time
4496 STOR T2,NQRQT,(Q1) ^;Put into q entry as time initally q'd
4497 013255' 137 02 0 00 020454' >^,2(Q1),POS(NQRQT)^<^L<<NQRQT>&<-<NQRQT>>>>^>^]^
4498 013256' 550 02 0 15 000003 HRRZ T2,QUENCN ^^O3(.FP)^ ;GET NUMBER OF CHARACTERS IN NICE MES
4499 STOR T2,NQCHR,(Q1)^
4500 013257' 542 02 0 05 000001 HRRM T2,1(Q1)^
4501 013260' 554 02 0 15 000003 HLRZ T2,QUENCN ^^O3(.FP)^ ;GET REQUEST NUMBER
4502 STOR T2,NQNUM,(Q1) ^;SAVE IT
4503 013261' 506 02 0 05 000001 HRLM T2,1(Q1)^
4504 013262' 554 02 0 15 000004 HLRZ T2,QUEFCN ^^O4(.FP)^ ;GET NICE FUNCTION CODE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 100-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4505 STOR T2,NQFCN,(Q1) ^;SAVE NICE FUNCTION CODE
4506 013263' 506 02 0 05 000003 HRLM T2,3(Q1)^
4507 013264' 550 02 0 15 000004 HRRZ T2,QUEFCN ^^O4(.FP)^ ;GET NICE OPTION (SUBFUNCTION)
4508 STOR T2,NQOPT,(Q1) ^;SAVE NICE OPTION
4509 013265' 542 02 0 05 000003 HRRM T2,3(Q1)^
4510 SETZRO NQPNT,(Q1) ^;INITIALIZE POINTER LOCATION
4511 013266' 513 00 0 05 000000 HLLZS 0(Q1)^
4512 PIOFF ^ ;GUARD AGAINST INTERRUPTS
4513 013267' 260 17 0 00 014406' CALL PIOFF.
4514 013270' 332 00 0 00 000006 SKIPE Q2 ;PUT THIS ENTRY ON FRONT OF QUEUE ?
4515 JRST [ MOVE T1,NICQUE ;YES, GET CURRENT FIRST ENTRY
4516 STOR T1,NQPNT,(Q1) ^
4517 HRRM T1,0(Q1)^
4518 MOVEM Q1,NICQUE ;PUT THE NEW ENTRY AT FRONT OF LIST
4519 PION^
4520 CALL PION.^
4521 013271' 254 00 0 00 020455' RETSKP^JRST RSKP^] ;DONE
4522 013272' 201 02 0 00 002003' MOVEI T2,NICQUE ;PUT ENTRY AT END OF LIST
4523 013273' QUENC1: LOAD T3,NQPNT,(T2) ^;GET POINTER TO NEXT ITEM ON LIST
4524 013273' 550 03 0 02 000000 HRRZ T3,0(T2)^
4525 013274' 322 03 0 00 013277' JUMPE T3,QUENC2 ;FOUND THE END YET?
4526 013275' 200 02 0 00 000003 MOVE T2,T3 ;NO, STEP TO THE NEXT ENTRY
4527 013276' 254 00 0 00 013273' JRST QUENC1 ;LOOP TIL END OF LIST FOUND
4528
4529 013277' QUENC2: STOR Q1,NQPNT,(T2) ^;PUT THE NEW ENTRY AT END OF LIST
4530 013277' 542 05 0 02 000000 HRRM Q1,0(T2)^
4531 PION^
4532 013300' 260 17 0 00 014413' CALL PION.^
4533 RETSKP ^ ;DONE
4534 013301' 254 00 0 00 013225* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 101
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4535 ;ROUTINE TO PULL AN ENTRY OFF THE NICE MESSAGE QUEUE
4536
4537 ; CALL DEQNIC
4538 ;RETURNS +1: NONE LEFT
4539 ; +2: T1/ ADDRESS OF EXECUTOR STRING,,ADDRESS OF ORION MESSAGE
4540 ; T2/ ADDRESS OF NICE MESSAGE
4541 ; T3/ REQ NUMBER ,, NUMBER OF CHARACTERS IN NICE MESSAGE
4542 ; T4/ FUNCTION,,OPTION
4543
4544 013302' DEQNIC: SAVEPQ^
4545 013302' 265 16 0 00 014444' JSP CX,SAVPQ^
4546 PIOFF ^ ;GUARD AGAINST INTERRUPTS
4547 013303' 260 17 0 00 014406' CALL PIOFF.
4548 013304' 336 01 0 00 002003' SKIPN T1,NICQUE ;ANYTHING ON THE QUEUE
4549 JRST [ PION ^
4550 CALL PION.^ ;NO
4551 013305' 254 00 0 00 020462' RET] ;NONE THERE
4552 LOAD T2,NQPNT,(T1) ^;GET POINTER TO SECOND ENTRY
4553 013306' 550 02 0 01 000000 HRRZ T2,0(T1)^
4554 013307' 202 02 0 00 002003' MOVEM T2,NICQUE ;MAKE IT BE THE FIRST ENTRY
4555 PION^
4556 013310' 260 17 0 00 014413' CALL PION.^
4557 LOAD Q1,NQMES,(T1) ^;GET ADDRESS OF ORION MESSAGE
4558 013311' 554 05 0 01 000000 HLRZ Q1,0(T1)^
4559 LOAD Q3,NQXTR,(T1) ^;GET EXECUTOR STRING ADDRESS
4560 013312' 550 07 0 01 000004 HRRZ Q3,4(T1)^
4561 013313' 504 05 0 00 000007 HRL Q1,Q3 ; INTO IT'S REG
4562 LOAD Q2,NQTXT,(T1) ^;GET ADR OF NICE MESSAGE
4563 013314' 550 06 0 01 000002 HRRZ Q2,2(T1)^
4564 LOAD Q3,NQRQT,(T1) ^;Get time entry was initially q'd
4565 013315' 135 07 0 00 020464' >^,2(T1),POS(NQRQT)^<^L<<NQRQT>&<-<NQRQT>>>>^>^]^
4566 013316' 504 06 0 00 000007 HRL Q2,Q3 ;Save for left half of T2 on return
4567 JN NQREQ,(T1),[ TXO Q2,NQ%REQ ;NOTE THAT THIS ENTRY HAS BEEN
4568 JRST .+1] ^; REQUEUED IF SO
4569 013317' 200 16 0 01 000004 MOVE .SAC,4(T1)
4570 TLO Q2,(..TX1)>>
4571 013320' 321 16 0 00 020465' JRST .+1]
4572 LOAD Q3,NQCHR,(T1) ^;GET CHARACTER COUNT
4573 013321' 550 07 0 01 000001 HRRZ Q3,1(T1)^
4574 LOAD T2,NQNUM,(T1) ^;GET REQUEST NUMBER
4575 013322' 554 02 0 01 000001 HLRZ T2,1(T1)^
4576 013323' 504 07 0 00 000002 HRL Q3,T2 ;GET REQ NUMBER ,, COUNT
4577 LOAD P1,NQOPT,(T1) ^;GET NICE OPTION
4578 013324' 550 10 0 01 000003 HRRZ P1,3(T1)^
4579 LOAD T2,NQFCN,(T1) ^;GET NICE FUNCTION CODE
4580 013325' 554 02 0 01 000003 HLRZ T2,3(T1)^
4581 013326' 504 10 0 00 000002 HRL P1,T2 ;FORM FUNCTION,,OPTION
4582 013327' 201 02 0 00 000005 MOVEI T2,NQLEN ;NOW RELEASE THE QUEUE ENTRY
4583 013330' 202 02 0 01 000000 MOVEM T2,0(T1) ;SET UP THE CORRECT LENGTH
4584 013331' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
4585 FATAL.ERROR^
4586 CALL ERROR
4587 HALTF
4588 013332' 254 00 0 00 016623' JRST NETCON]^
4589 013333' 120 01 0 00 000005 DMOVE T1,Q1 ;SET UP THE ANSWERS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 101-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4590 013334' 200 03 0 00 000007 MOVE T3,Q3
4591 013335' 200 04 0 00 000010 MOVE T4,P1 ;GET NICE FUNCTION AND OPTION
4592 RETSKP ^ ;AND RETURN
4593 013336' 254 00 0 00 013301* JRST RSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 102
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4594 ;Routine to get time since midnight in minutes
4595 ;
4596 ;Accepts anything
4597 ;
4598 ;Returns +1: Always with time in T2
4599
4600 013337' QUETIM: SAVEQ ^ ;Save some registers
4601 013337' 265 16 0 00 014432' JSP CX,SAVQ
4602 013340' 200 05 0 00 000001 MOVE Q1,T1 ;Put T's where we can get at them
4603 013341' 120 06 0 00 000003 DMOVE Q2,T3
4604
4605 013342' 474 02 0 00 000000 SETO T2, ;Say that current time is wanted
4606 013343' 400 04 0 00 000000 SETZ T4, ;Say that no screwy conversions are to be done
4607 013344' 104 00 0 00 000222 ODCNV ;Get time
4608 013345' 550 02 0 00 000004 HRRZ T2,T4 ;Get seconds since midnight
4609 013346' 231 02 0 00 000074 IDIVI T2,^d60 ;Convert to minutes
4610 013347' 120 03 0 00 000006 DMOVE T3,Q2 ;Get the registers back
4611 013350' 200 01 0 00 000005 MOVE T1,Q1
4612 013351' 263 17 0 00 000000 RET ;Restore rest of them and return
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 103
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4613 ;ROUTINE TO COPY AN ASCIZ STRING FROM A MESSAGE TO A FREE BLOCK
4614 ;
4615 ; Warning: This routine shifts any lower case characters to
4616 ; upper case.
4617
4618 ;ACCEPTS IN T1/ ADDRESS OF OLD STRING BLOCK
4619 ; T2/ BYTE POINTER TO COPY FROM
4620 ; T3/ MAXIMUM LENGTH IN WORDS OF STRING
4621 ; CALL CPYASC
4622 ;RETURNS +1: FAILED, STRING TOO LONG OR NO FREE SPACE
4623 ; +2: T1/ ADDRESS OF BLOCK WITH STRING IN IT
4624
4625 013352' CPYASC::ASUBR <CPYADR,CPYFRM,CPYLEN>^
4626 013352' 265 16 0 00 013235* JSP .A16,.ASSET
4627 013353' 553 00 0 00 000001 HRRZS T1 ;RELEASE THE OLD BLOCK
4628 013354' 322 01 0 00 013357' JUMPE T1,CPYAS1 ;ANYTHING THERE?
4629 013355' 260 17 0 00 014115' CALL RELFRE ;YES, RELEASE IT
4630 FATAL.ERROR^
4631 CALL ERROR
4632 HALTF
4633 013356' 254 00 0 00 016623' JRST NETCON]^
4634 013357' 200 01 0 15 000003 CPYAS1: MOVE T1,CPYLEN ^^O3(.FP)^ ;NOW GET SOME SPACE
4635 013360' 350 00 0 00 000001 AOS T1 ;PLUS ONE WORD FOR HEADER
4636 013361' 260 17 0 00 014021' CALL GETFRE ;GET SPACE
4637 RETBAD ^;NO MORE SPACE LEFT
4638 013362' 263 17 0 00 000000 IFB <>,< RET>
4639 013363' 505 01 0 00 000700 HRLI T1,(POINT 7,0,35) ;SET UP BYTE POINTER
4640 013364' 202 01 0 15 000001 MOVEM T1,CPYADR ^^O1(.FP)^ ;SAVE IT FOR LATER
4641 013365' 200 02 0 15 000002 MOVE T2,CPYFRM ^^O2(.FP)^ ;GET ADR OF STRING
4642 013366' 200 03 0 15 000003 MOVE T3,CPYLEN ^^O3(.FP)^ ;GET LENGTH OF STRING
4643 013367' 221 03 0 00 000005 IMULI T3,5 ;GET LENGTH IN CHARACTERS
4644
4645 013370' 134 04 0 00 000002 CPYAS2: ILDB T4,T2 ;Get character from string
4646 013371' 307 04 0 00 000172 CAIG T4,"z" ;Check for above lower case
4647 013372' 305 04 0 00 000141 CAIGE T4,"a" ;or below lower case
4648 013373' 304 00 0 00 000000 CAIA ; Yes .. ignore
4649 013374' 275 04 0 00 000040 SUBI T4,"a"-"A" ; No .. so shift to upper case
4650 013375' 136 04 0 00 000001 IDPB T4,T1 ;Stuff into destination string
4651 JUMPE T4,[MOVE T1,CPYADR ^^O1(.FP)^;If zero byte at end of string .. get address
4652 013376' 322 04 0 00 020467' RETSKP^JRST RSKP^] ; and give a successfull return
4653 013377' 367 03 0 00 013370' SOJG T3,CPYAS2 ;If room left in destination .. continue copy
4654
4655 013400' 550 01 0 15 000001 HRRZ T1,CPYADR ^^O1(.FP)^ ;GET ADDRESS OF BLOCK AGAIN
4656 013401' 260 17 0 00 014115' CALL RELFRE ;RELEASE THIS BLOCK
4657 FATAL.ERROR^
4658 CALL ERROR
4659 HALTF
4660 013402' 254 00 0 00 016623' JRST NETCON]^
4661 RETBAD (.ERR13)^ ;ILLEGALLY FORMATTED MESSAGE
4662 IFNB <.ERR13>,< JRST [ MOVEI T1,.ERR13
4663 013403' 254 00 0 00 016704' RET]>>
4664
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 104
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4665 ;ROUTINE TO RECEIVE A MESSAGE FROM ORION AND PUT IT ON THE QUEUE
4666
4667 013404' PIDINT: ENTINT (\PIDLVL)^ ;ENTER INTERRUPT
4668 013404' 202 01 0 00 000000* MOVEM T1,L2SAV1
4669 013405' 202 02 0 00 000000* MOVEM T2,L2SAV2
4670 013406' 202 03 0 00 000000* MOVEM T3,L2SAV3
4671 013407' 202 04 0 00 000000* MOVEM T4,L2SAV4
4672 013410' 202 16 0 00 000000* MOVEM CX,L2SAVC^
4673 JSP CX,[CALL 0(CX)
4674 MOVE T1,L2SAV1
4675 MOVE T2,L2SAV2
4676 MOVE T3,L2SAV3
4677 MOVE T4,L2SAV4
4678 MOVE CX,L2SAVC^
4679 013411' 265 16 0 00 020471' DEBRK]
4680 SAVEQ ^ ;SAVE PERMANENT ACS USED HERE
4681 013412' 265 16 0 00 014432' JSP CX,SAVQ
4682 STKVAR <<RCVPDB,7>> ^;GET SPACE FOR PID DESCRIPTOR BLOCK
4683 013413' 265 16 0 00 013156* JSP .A16,.STKST
4684 013414' 000007 000007 ..STKN,,..STKN
4685 013415' 201 01 0 00 000002 PDINT1: MOVEI T1,QUEHLN ;GET SOME FREE SPACE FOR QUEUE ENTRY
4686 013416' 260 17 0 00 014021' CALL GETFRE ;...
4687 FATAL.ERROR ^;RAN OUT OF FREE SPACE
4688 CALL ERROR
4689 HALTF
4690 013417' 254 00 0 00 016623' JRST NETCON]
4691 013420' 200 05 0 00 000001 MOVE Q1,T1 ;SAVE ADDRESS OF QUEUE ENTRY
4692 013421' 201 01 0 00 000000 MOVEI T1,.QTMES ;MARK THIS AS A MESSAGE ENTRY
4693 STOR T1,QUETYP,(Q1) ^;...
4694 013422' 506 01 0 05 000001 HRLM T1,1(Q1)^
4695 013423' 260 17 0 00 014234' CALL ASGPAG ;NOW GET A PAGE TO RECEIVE THE MESSAGE
4696 FATAL.ERROR ^;NO MORE FREE PAGES
4697 CALL ERROR
4698 HALTF
4699 013424' 254 00 0 00 016623' JRST NETCON]
4700 STOR T2,QUEMES,(Q1) ^;STORE THE ADDRESS OF THE PAGE IN QUEUE
4701 013425' 506 02 0 05 000000 HRLM T2,0(Q1)^
4702 013426' 202 01 0 17 777773 MOVEM T1,.IPCFP+RCVPDB ^-^O10(P)^;SET UP TO RECEIVE THE MESSAGE
4703 013427' 201 01 0 00 001000 MOVEI T1,1000 ;SET UP THE LENGTH
4704 013430' 506 01 0 17 777773 HRLM T1,.IPCFP+RCVPDB ^-^O10(P)^;NOW HAVE LEN,,ADR
4705 MOVX T1,IP%CFB!IP%CFV ^;FIRST TRY TO READ WITH PAGE MODE
4706 013431' 200 01 0 00 020500' MOVE T1,[..MX1]>
4707 013432' 202 01 0 17 777770 MOVEM T1,.IPCFL+RCVPDB ^-^O10(P)^;STORE THE FLAGS IN DESCRIPTOR BLOCK
4708 013433' 200 01 0 00 002050' MOVE T1,PID ;GET OUR PID
4709 013434' 202 01 0 17 777772 MOVEM T1,.IPCFR+RCVPDB ^-^O10(P)^;STORE IN DESCRIPTOR BLOCK
4710 013435' 201 01 0 00 000006 MOVEI T1,6 ;LENGTH = 6
4711 013436' 201 02 0 17 777770 MOVEI T2,RCVPDB ^-^O10(P)^ ;POINTER TO DESCRIPTOR BLOCK
4712 013437' 104 00 0 00 000511 MRECV ;RECEIVE THE MESSAGE
4713 JRST [ MOVX T1,IP%CFB ^
4714 MOVSI T1,(..MX1)>>
4715 MOVEM T1,.IPCFL+RCVPDB^-^O10(P)^
4716 LOAD T1,QUEMES,(Q1) ^
4717 HLRZ T1,0(Q1)^
4718 HRRM T1,.IPCFP+RCVPDB ^-^O10(P)^;SAVE IN IPCF BLOCK
4719 MOVEI T1,6 ;LENGTH
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 104-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4720 MRECV ;TRY TO RECEIVE IT AGAIN
4721 ERJMP [CAIE T1,IPCFX2 ;FAILED. ERROR NO MESSAGE FOR THIS PID ?
4722 FATAL.ERROR ^
4723 CALL ERROR
4724 HALTF
4725 JRST NETCON]^;NO, COULD NOT GET IT STILL
4726 JRST PDINT2] ;YES, release memory and dismiss
4727 013440' 254 00 0 00 020504' JRST .+1] ;CONTINUE ON
4728 013441' 200 01 0 17 777771 MOVE T1,.IPCFS+RCVPDB ^-^O10(P)^;GET PID OF SENDER
4729 013442' 312 01 0 00 002051' CAME T1,OPRPID ;IS THIS ORION'S PID ?
4730 013443' 316 01 0 00 002050' CAMN T1,PID ;NO - IS IT OUR PID?
4731 013444' 334 00 0 00 000000 SKIPA ;YES - OK THEN
4732 013445' 254 00 0 00 013463' JRST PDINT2 ;NO
4733 SETZRO QUEPNT,(Q1) ^;PUT THIS ENTRY AT END OF QUEUE
4734 013446' 513 00 0 05 000000 HLLZS 0(Q1)^
4735 013447' 200 01 0 00 000005 MOVE T1,Q1 ;GET ADR OF THE ENTRY
4736 013450' 260 17 0 00 013472' CALL QUEQUE ;QUEUE UP THIS REQUEST
4737 013451' 260 17 0 00 005776' CALL WAKBKG ;WAKE UP THE BACKGROUND JOB
4738 ; ..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 105
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4739 ; ..
4740
4741 ; HERE TO SEE IF THERE ARE ANY MORE MESSAGES
4742
4743 013452' 201 01 0 00 000006 PDINT3: MOVEI T1,6 ;NOW SEE IF THERE ARE MORE MESSAGES
4744 013453' 201 02 0 17 777770 MOVEI T2,RCVPDB^-^O10(P)^
4745 013454' 201 03 0 00 000020 MOVEI T3,.MUQRY ;QUERY THE PID QUEUE
4746 013455' 202 03 0 17 777770 MOVEM T3,RCVPDB ^-^O10(P)^ ;STORE FUNCTION CODE
4747 013456' 200 03 0 00 002050' MOVE T3,PID ;GET OUR PID
4748 013457' 202 03 0 17 777771 MOVEM T3,1+RCVPDB ^-^O10(P)^;SEE IF ANY MESSAGES FOR THIS PID
4749 013460' 104 00 0 00 000512 MUTIL ;...
4750 JRST [ CAIE T1,IPCFX2 ;ANY MESSAGES?
4751 FATAL.ERROR ^
4752 CALL ERROR
4753 HALTF
4754 JRST NETCON]^;SOME OTHER ERROR
4755 013461' 254 00 0 00 020514' RET] ;NO MORE MESSAGES, DISMIS THE INTERRUPT
4756 013462' 254 00 0 00 013415' JRST PDINT1 ;LOOP BACK FOR ALL MESSAGES
4757
4758 ; HERE IF NOT FROM ORION
4759
4760 013463' PDINT2: LOAD T1,QUEMES,(Q1) ^;GET ADR OF PAGE CONTAINING MESSAGE
4761 013463' 554 01 0 05 000000 HLRZ T1,0(Q1)^
4762 013464' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
4763 NON.FATAL.ERROR ^;FAILED
4764 013465' 260 17 0 00 014473' IFB <>,< CALL WRNING>
4765 013466' 200 01 0 00 000005 MOVE T1,Q1 ;GET ADR OF HEADER
4766 013467' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
4767 FATAL.ERROR ^;FAILED
4768 CALL ERROR
4769 HALTF
4770 013470' 254 00 0 00 016623' JRST NETCON]
4771 013471' 254 00 0 00 013452' JRST PDINT3 ;LOOP BACK FOR REMAINING MESSAGES
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 106
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4772 ;ROUTINE TO QUEUE AN ENTRY ONTO THE QUEUE
4773
4774 ;ACCEPTS IN T1/ ADR OF QUEUE ENTRY
4775
4776 013472' QUEQUE: SETZRO QUEPNT,(T1) ^;MAKE SURE THIS IS THE END OF THE LIST
4777 013472' 513 00 0 01 000000 HLLZS 0(T1)^
4778 PIOFF ^ ;PUT THIS ENTRY ON THE QUEUE
4779 013473' 260 17 0 00 014406' CALL PIOFF.
4780 013474' 201 02 0 00 002002' MOVEI T2,QUEUE ;GET POINTER TO FIRST ENTRY
4781 013475' QUEQU1: LOAD T3,QUEPNT,(T2) ^;GET POINTER TO NEXT ITEM ON QUEUE
4782 013475' 550 03 0 02 000000 HRRZ T3,0(T2)^
4783 013476' 322 03 0 00 013501' JUMPE T3,QUEQU2 ;IF AT END, THEN DONE
4784 013477' 200 02 0 00 000003 MOVE T2,T3 ;STEP TO NEXT ENTRY
4785 013500' 254 00 0 00 013475' JRST QUEQU1 ;LOOP BACK TIL END OF LIST IS FOUND
4786
4787 013501' QUEQU2: STOR T1,QUEPNT,(T2) ^;PUT THIS BLOCK AT THE END OF THE QUEUE
4788 013501' 542 01 0 02 000000 HRRM T1,0(T2)^
4789 PION ^ ;FINISHED PUTTING IT ON THE QUEUE
4790 013502' 260 17 0 00 014413' CALL PION.
4791 013503' 263 17 0 00 000000 RET ;RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 107
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4792
4793 ;ROUTINES TO HANDLE CONNECT INTERRUPTS TO NCU JFNS
4794
4795 DEFINE JFNENT (A,B) <
4796 JFN'A: ENTINT (B)
4797 MOVEI T4,A
4798 JRST JFNINT>
4799
4800 000000 ZZ==0
4801 REPEAT NJFN,< LALL
4802 JFNENT (\ZZ,\JFNLVL)
4803 SALL
4804 ZZ==ZZ+1>
4805 LALL
4806 JFNENT (\ZZ,\JFNLVL)^
4807 013504' JFN0: ENTINT (2)^
4808 SAVIAC (2)^
4809 013504' 202 01 0 00 013404* MOVEM T1,L2SAV1
4810 013505' 202 02 0 00 013405* MOVEM T2,L2SAV2
4811 013506' 202 03 0 00 013406* MOVEM T3,L2SAV3
4812 013507' 202 04 0 00 013407* MOVEM T4,L2SAV4
4813 013510' 202 16 0 00 013410* MOVEM CX,L2SAVC^
4814 JSP CX,[CALL 0(CX)
4815 RESIAC (2)^
4816 MOVE T1,L2SAV1
4817 MOVE T2,L2SAV2
4818 MOVE T3,L2SAV3
4819 MOVE T4,L2SAV4
4820 MOVE CX,L2SAVC^
4821 013511' 265 16 0 00 020471' DEBRK]^
4822 013512' 201 04 0 00 000000 MOVEI T4,0
4823 013513' 254 00 0 00 013654' JRST JFNINT^
4824 SALL
4825 4826 JFNENT (\ZZ,\JFNLVL)^
4827 013514' JFN1: ENTINT (2)^
4828 SAVIAC (2)^
4829 013514' 202 01 0 00 013504* MOVEM T1,L2SAV1
4830 013515' 202 02 0 00 013505* MOVEM T2,L2SAV2
4831 013516' 202 03 0 00 013506* MOVEM T3,L2SAV3
4832 013517' 202 04 0 00 013507* MOVEM T4,L2SAV4
4833 013520' 202 16 0 00 013510* MOVEM CX,L2SAVC^
4834 JSP CX,[CALL 0(CX)
4835 RESIAC (2)^
4836 MOVE T1,L2SAV1
4837 MOVE T2,L2SAV2
4838 MOVE T3,L2SAV3
4839 MOVE T4,L2SAV4
4840 MOVE CX,L2SAVC^
4841 013521' 265 16 0 00 020471' DEBRK]^
4842 013522' 201 04 0 00 000001 MOVEI T4,1
4843 013523' 254 00 0 00 013654' JRST JFNINT^
4844 SALL
4845 4846 JFNENT (\ZZ,\JFNLVL)^
4847 013524' JFN2: ENTINT (2)^
4848 SAVIAC (2)^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 107-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4849 013524' 202 01 0 00 013514* MOVEM T1,L2SAV1
4850 013525' 202 02 0 00 013515* MOVEM T2,L2SAV2
4851 013526' 202 03 0 00 013516* MOVEM T3,L2SAV3
4852 013527' 202 04 0 00 013517* MOVEM T4,L2SAV4
4853 013530' 202 16 0 00 013520* MOVEM CX,L2SAVC^
4854 JSP CX,[CALL 0(CX)
4855 RESIAC (2)^
4856 MOVE T1,L2SAV1
4857 MOVE T2,L2SAV2
4858 MOVE T3,L2SAV3
4859 MOVE T4,L2SAV4
4860 MOVE CX,L2SAVC^
4861 013531' 265 16 0 00 020471' DEBRK]^
4862 013532' 201 04 0 00 000002 MOVEI T4,2
4863 013533' 254 00 0 00 013654' JRST JFNINT^
4864 SALL
4865 4866 JFNENT (\ZZ,\JFNLVL)^
4867 013534' JFN3: ENTINT (2)^
4868 SAVIAC (2)^
4869 013534' 202 01 0 00 013524* MOVEM T1,L2SAV1
4870 013535' 202 02 0 00 013525* MOVEM T2,L2SAV2
4871 013536' 202 03 0 00 013526* MOVEM T3,L2SAV3
4872 013537' 202 04 0 00 013527* MOVEM T4,L2SAV4
4873 013540' 202 16 0 00 013530* MOVEM CX,L2SAVC^
4874 JSP CX,[CALL 0(CX)
4875 RESIAC (2)^
4876 MOVE T1,L2SAV1
4877 MOVE T2,L2SAV2
4878 MOVE T3,L2SAV3
4879 MOVE T4,L2SAV4
4880 MOVE CX,L2SAVC^
4881 013541' 265 16 0 00 020471' DEBRK]^
4882 013542' 201 04 0 00 000003 MOVEI T4,3
4883 013543' 254 00 0 00 013654' JRST JFNINT^
4884 SALL
4885 000004
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 108
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4886
4887 DEFINE JFDENT (A,B) <
4888 JFD'A: ENTINT (B)
4889 MOVEI T4,A
4890 JRST JFDINT>
4891
4892 000000 ZZ==0
4893 REPEAT NJFN,< LALL
4894 JFDENT (\ZZ,\JFDLVL)
4895 SALL
4896 ZZ==ZZ+1>
4897 4898 JFDENT (\ZZ,\JFDLVL)^
4899 013544' JFD0: ENTINT (3)^
4900 SAVIAC (3)^
4901 013544' 202 01 0 00 000000* MOVEM T1,L3SAV1
4902 013545' 202 02 0 00 000000* MOVEM T2,L3SAV2
4903 013546' 202 03 0 00 000000* MOVEM T3,L3SAV3
4904 013547' 202 04 0 00 000000* MOVEM T4,L3SAV4
4905 013550' 202 16 0 00 000000* MOVEM CX,L3SAVC^
4906 JSP CX,[CALL 0(CX)
4907 RESIAC (3)^
4908 MOVE T1,L3SAV1
4909 MOVE T2,L3SAV2
4910 MOVE T3,L3SAV3
4911 MOVE T4,L3SAV4
4912 MOVE CX,L3SAVC^
4913 013551' 265 16 0 00 020517' DEBRK]^
4914 013552' 201 04 0 00 000000 MOVEI T4,0
4915 013553' 254 00 0 00 013700' JRST JFDINT^
4916 SALL
4917 4918 JFDENT (\ZZ,\JFDLVL)^
4919 013554' JFD1: ENTINT (3)^
4920 SAVIAC (3)^
4921 013554' 202 01 0 00 013544* MOVEM T1,L3SAV1
4922 013555' 202 02 0 00 013545* MOVEM T2,L3SAV2
4923 013556' 202 03 0 00 013546* MOVEM T3,L3SAV3
4924 013557' 202 04 0 00 013547* MOVEM T4,L3SAV4
4925 013560' 202 16 0 00 013550* MOVEM CX,L3SAVC^
4926 JSP CX,[CALL 0(CX)
4927 RESIAC (3)^
4928 MOVE T1,L3SAV1
4929 MOVE T2,L3SAV2
4930 MOVE T3,L3SAV3
4931 MOVE T4,L3SAV4
4932 MOVE CX,L3SAVC^
4933 013561' 265 16 0 00 020517' DEBRK]^
4934 013562' 201 04 0 00 000001 MOVEI T4,1
4935 013563' 254 00 0 00 013700' JRST JFDINT^
4936 SALL
4937 4938 JFDENT (\ZZ,\JFDLVL)^
4939 013564' JFD2: ENTINT (3)^
4940 SAVIAC (3)^
4941 013564' 202 01 0 00 013554* MOVEM T1,L3SAV1
4942 013565' 202 02 0 00 013555* MOVEM T2,L3SAV2
4943 013566' 202 03 0 00 013556* MOVEM T3,L3SAV3
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 108-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
4944 013567' 202 04 0 00 013557* MOVEM T4,L3SAV4
4945 013570' 202 16 0 00 013560* MOVEM CX,L3SAVC^
4946 JSP CX,[CALL 0(CX)
4947 RESIAC (3)^
4948 MOVE T1,L3SAV1
4949 MOVE T2,L3SAV2
4950 MOVE T3,L3SAV3
4951 MOVE T4,L3SAV4
4952 MOVE CX,L3SAVC^
4953 013571' 265 16 0 00 020517' DEBRK]^
4954 013572' 201 04 0 00 000002 MOVEI T4,2
4955 013573' 254 00 0 00 013700' JRST JFDINT^
4956 SALL
4957 4958 JFDENT (\ZZ,\JFDLVL)^
4959 013574' JFD3: ENTINT (3)^
4960 SAVIAC (3)^
4961 013574' 202 01 0 00 013564* MOVEM T1,L3SAV1
4962 013575' 202 02 0 00 013565* MOVEM T2,L3SAV2
4963 013576' 202 03 0 00 013566* MOVEM T3,L3SAV3
4964 013577' 202 04 0 00 013567* MOVEM T4,L3SAV4
4965 013600' 202 16 0 00 013570* MOVEM CX,L3SAVC^
4966 JSP CX,[CALL 0(CX)
4967 RESIAC (3)^
4968 MOVE T1,L3SAV1
4969 MOVE T2,L3SAV2
4970 MOVE T3,L3SAV3
4971 MOVE T4,L3SAV4
4972 MOVE CX,L3SAVC^
4973 013601' 265 16 0 00 020517' DEBRK]^
4974 013602' 201 04 0 00 000003 MOVEI T4,3
4975 013603' 254 00 0 00 013700' JRST JFDINT^
4976 SALL
4977 000004
4978
4979
4980 DEFINE TOPENT (A,B) <
4981 TOP'A: ENTINT (B)
4982 MOVEI T1,A
4983 JRST TOPINT>
4984
4985 000000 ZZ==0
4986 REPEAT TOPMAX,< LALL
4987 TOPENT (\ZZ,\TOPLVL)
4988 SALL
4989 ZZ==ZZ+1>
4990 4991 TOPENT (\ZZ,\TOPLVL)^
4992 013604' TOP0: ENTINT (2)^
4993 SAVIAC (2)^
4994 013604' 202 01 0 00 013534* MOVEM T1,L2SAV1
4995 013605' 202 02 0 00 013535* MOVEM T2,L2SAV2
4996 013606' 202 03 0 00 013536* MOVEM T3,L2SAV3
4997 013607' 202 04 0 00 013537* MOVEM T4,L2SAV4
4998 013610' 202 16 0 00 013540* MOVEM CX,L2SAVC^
4999 JSP CX,[CALL 0(CX)
5000 RESIAC (2)^
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 108-2
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5001 MOVE T1,L2SAV1
5002 MOVE T2,L2SAV2
5003 MOVE T3,L2SAV3
5004 MOVE T4,L2SAV4
5005 MOVE CX,L2SAVC^
5006 013611' 265 16 0 00 020471' DEBRK]^
5007 013612' 201 01 0 00 000000 MOVEI T1,0
5008 013613' 254 00 0 00 013733' JRST TOPINT^
5009 SALL
5010 5011 TOPENT (\ZZ,\TOPLVL)^
5012 013614' TOP1: ENTINT (2)^
5013 SAVIAC (2)^
5014 013614' 202 01 0 00 013604* MOVEM T1,L2SAV1
5015 013615' 202 02 0 00 013605* MOVEM T2,L2SAV2
5016 013616' 202 03 0 00 013606* MOVEM T3,L2SAV3
5017 013617' 202 04 0 00 013607* MOVEM T4,L2SAV4
5018 013620' 202 16 0 00 013610* MOVEM CX,L2SAVC^
5019 JSP CX,[CALL 0(CX)
5020 RESIAC (2)^
5021 MOVE T1,L2SAV1
5022 MOVE T2,L2SAV2
5023 MOVE T3,L2SAV3
5024 MOVE T4,L2SAV4
5025 MOVE CX,L2SAVC^
5026 013621' 265 16 0 00 020471' DEBRK]^
5027 013622' 201 01 0 00 000001 MOVEI T1,1
5028 013623' 254 00 0 00 013733' JRST TOPINT^
5029 SALL
5030 000002
5031
5032 013624' 202 01 0 00 013614* HCKINT: ENTINT (\HCKLVL)
5033 013625' 202 02 0 00 013615*
5034 013626' 202 03 0 00 013616*
5035 013627' 202 04 0 00 013617*
5036 013630' 202 16 0 00 013620*
5037 013631' 265 16 0 00 020471'
5038 013632' 260 17 0 00 014743' CALL TOPI.1
5039 013633' 263 17 0 00 000000 RET
5040 013634' 263 17 0 00 000000 RET
5041
5042 013635' 202 01 0 00 013624* ATO0: ENTINT(\TOPLVL)
5043 013636' 202 02 0 00 013625*
5044 013637' 202 03 0 00 013626*
5045 013640' 202 04 0 00 013627*
5046 013641' 202 16 0 00 013630*
5047 013642' 265 16 0 00 020471'
5048 013643' 254 00 0 00 013644' JRST SETATO
5049
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 109
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5050 ;SETATO - SET AUTO DUMP/LOAD
5051
5052 013644' 201 01 0 00 000002 SETATO: MOVEI T1,QUEHLN ;GET SPACE FOR THIS ENTRY
5053 013645' 260 17 0 00 014021' CALL GETFRE ;...
5054 013646' 254 00 0 00 016623' FATAL.ERROR
5055 013647' 201 02 0 00 000003 MOVEI T2,.QTTOP ;QUEUE A DUMP/LOAD REQUEST
5056 013650' 506 02 0 01 000001 STOR T2,QUETYP,(T1) ;STORE IN QUEUE ENTRY
5057 013651' 260 17 0 00 013472' CALL QUEQUE ;QUEUE UP THIS ENTRY
5058 013652' 260 17 0 00 005776' CALL WAKBKG ;WAKE UP THE BACKGROUND
5059 013653' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 110
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5060
5061 013654' 265 16 0 00 014432' JFNINT: SAVEQ ;SAVE ACS USED HERE
5062 013655' 205 01 0 00 600000 MOVX T1,CR%MAP!CR%CAP ;CREATE A FORK FOR NCU
5063 013656' 104 00 0 00 000152 CFORK ;SHARES SAME MAP
5064 013657' 254 00 0 00 016623' FATAL.ERROR ;COULD NOT GET A FORK
5065 013660' 202 01 0 04 002013' MOVEM T1,FRKTAB(T4) ;SAVE FORK HANDLE
5066 013661' 402 00 0 04 002017' SETZM FRKFLG(T4) ;CLEAR THE FLAGS WORD
5067 013662' 505 01 0 00 000002 HRLI T1,.PRAST ;NOW SET UP THE PRARG BLOCK
5068 013663' 201 02 0 00 000005 MOVEI T2,Q1 ;POINTER TO ARG BLOCK
5069 013664' 201 03 0 00 000002 MOVEI T3,2 ;LENGTH
5070 013665' 200 05 0 04 002007' MOVE Q1,JFNTAB(T4) ;FIRST ARG = JFN OF NCU
5071 013666' 200 06 0 00 000004 MOVE Q2,T4 ;SECOND ARG = LENGTH ,, ADR
5072 013667' 221 06 0 00 010000 IMULI Q2,NNCUPG*1000 ;GET OFFSET INTO NCU AREA
5073 013670' 271 06 0 00 400000 ADDI Q2,NCUFFP*1000 ;GET START ADR OF REGION
5074 013671' 505 06 0 00 010000 HRLI Q2,NNCUPG*1000 ;GET LENGTH
5075 013672' 104 00 0 00 000545 PRARG ;SET UP THE ARGUMENT BLOCK
5076 013673' 320 16 0 00 016715' ERJMP [FATAL.ERROR] ;FAILED
5077 013674' 200 01 0 04 002013' MOVE T1,FRKTAB(T4) ;NOW START THE NCU PROCESS
5078 013675' 201 02 0 00 000000* MOVEI T2,NCU ;START ADDRESS
5079 013676' 104 00 0 00 000157 SFORK
5080 013677' 263 17 0 00 000000 RET ;DISMISS THE INTERRUPT
5081
5082
5083
5084 013700' 265 16 0 00 013413* JFDINT: STKVAR <JFDNUM>
5085 013701' 000001 000001
5086 013702' 202 04 0 17 777776 MOVEM T4,JFDNUM ;SAVE THE INDEX
5087 013703' 201 01 0 00 000002 MOVEI T1,QUEHLN ;GET SPACE FOR A QUEUE ENTRY
5088 013704' 260 17 0 00 014021' CALL GETFRE
5089 013705' 254 00 0 00 016623' FATAL.ERROR
5090 013706' 201 02 0 00 000002 MOVEI T2,.QTJFD ;DATA OR DISCONNECT TYPE
5091 013707' 506 02 0 01 000001 STOR T2,QUETYP,(T1)
5092 013710' 200 02 0 17 777776 MOVE T2,JFDNUM ;GET JFN INDEX
5093 013711' 506 02 0 01 000000 STOR T2,QUEMES,(T1) ;PUT IT IN THE QUEUE HEADER
5094 013712' 260 17 0 00 013472' CALL QUEQUE ;QUEUE IT
5095 013713' 260 17 0 00 005776' CALL WAKBKG ;WAKE UP THE BACKGROUND LEVEL
5096 013714' 263 17 0 00 000000 RET ;AND DEBRK
5097
5098
5099 ;ROUTINE TO QUEUE UP A FORK TERMINATION REQUEST
5100
5101 013715' 202 01 0 00 013635* FRKTER: ENTINT (\FKTLVL) ;ENTER INTERRUPT LEVEL
5102 013716' 202 02 0 00 013636*
5103 013717' 202 03 0 00 013637*
5104 013720' 202 04 0 00 013640*
5105 013721' 202 16 0 00 013641*
5106 013722' 265 16 0 00 020471'
5107 013723' 201 01 0 00 000002 MOVEI T1,QUEHLN ;GET SPACE FOR THIS ENTRY
5108 013724' 260 17 0 00 014021' CALL GETFRE ;...
5109 013725' 254 00 0 00 016623' FATAL.ERROR ;FATAL IF NO MORE SPACE
5110 013726' 201 02 0 00 000001 MOVEI T2,.QTFKT ;MARK THIS AS A FORK TERMINATION
5111 013727' 506 02 0 01 000001 STOR T2,QUETYP,(T1) ;STORE IN QUEUE ENTRY
5112 013730' 260 17 0 00 013472' CALL QUEQUE ;QUEUE UP THIS ENTRY
5113 013731' 260 17 0 00 005776' CALL WAKBKG ;WAKE UP THE BACKGROUND LEVEL
5114 013732' 263 17 0 00 000000 RET ;AND DEBRK
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 111
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5115 ;TOPOLOGY CHANGE INTERRUPT ROUTINE
5116 ;
5117 ;CALL: CALL TOPINT
5118 ;RETURNS: +1 FAILED
5119 ; +2 SUCCESS
5120
5121 013733' 265 16 0 00 013700* TOPINT: STKVAR <<TPIHST,2>,TPIPAG,TPIERR>
5122 013734' 000004 000004
5123
5124 ; GET ASCIZ NAME OF THE DN20 NODE SENDING THE MESSAGE
5125
5126 013735' 561 03 0 17 777775 HRROI T3,TPIHST ;POINTER TO WHERE TO STORE STRING
5127 013736' 201 02 0 00 000026 MOVEI T2,.MORHN ;READ THE HOST NAME
5128 013737' 200 01 0 00 002006' MOVE T1,TOPSRV ;GET TOPOLOGY SERVER LINK JFN
5129 013740' 104 00 0 00 000077 MTOPR ;DO THE JSYS
5130 013741' 320 16 0 00 012305* ERJMP R ;FAILED
5131
5132 ; ASSIGN A PAGE INTO WHICH TOPOLOGY DATA CAN BE READ
5133
5134 013742' 260 17 0 00 014234' CALL ASGPAG ;ASSIGN A PAGE
5135 013743' 263 17 0 00 000000 RETBAD () ;FAILED
5136 013744' 202 02 0 17 777774 MOVEM T2,TPIPAG ;SAVE ADDRESS
5137
5138 ; READ THE TOPOLOGY CHANGE PROTOCOL MESSAGE
5139
5140 013745' 200 01 0 00 002006' MOVE T1,TOPSRV ;GET TOPOLOGY SERVER LINK JFN
5141 013746' 550 02 0 17 777774 HRRZ T2,TPIPAG ;GET PAGE NUMBER FOR INPUT
5142 013747' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO DESTINATION
5143 013750' 211 03 0 00 004000 MOVNI T3,4000 ;MAX ONE PAGE OF INFO
5144 013751' 104 00 0 00 000531 SINR ;READ TOPOLOGY INFO
5145 013752' 320 16 0 00 014005' ERJMP TOPINX ;FAILED, RELEASE PAGE AND RETURN ERROR
5146
5147 ; CHECK FOR CORRECT MESSAGE TYPE AND ADVISE MONITOR OF TOPOLOGY
5148
5149 013753' 201 02 0 03 004000 MOVEI T2,4000(T3) ;GET NUMBER OF BYTES INPUT
5150 013754' 550 01 0 17 777774 HRRZ T1,TPIPAG ;GET PAGE NUMBER FOR INPUT
5151 013755' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO DESTINATION
5152 013756' 375 00 0 00 000002 SOSGE T2 ;AT LEAST ONE BYTE IN MESSAGE ?
5153 013757' 254 00 0 00 014005' JRST TOPINX ;NO, RELEASE PAGE AND FAIL
5154 013760' 134 04 0 00 000001 ILDB T4,T1 ;YES, GET MESSAGE TYPE CODE
5155 013761' 302 04 0 00 000003 CAIE T4,.TPCHG ;TOPOLOGY CHANGE MESSAGE ?
5156 013762' 254 00 0 00 014005' JRST TOPINX ;NO, FAIL
5157 013763' 201 03 0 17 777775 MOVEI T3,TPIHST ;GET ADDRESS OF NODE NAME
5158 013764' 505 03 0 00 440700 HRLI T3,(POINT 7,) ;FORM POINTER TO NODE NAME
5159 013765' 260 17 0 00 000000* CALL ADVTOP ;ADVISE MONITOR OF NEW NODES IN NETWORK
5160 013766' 254 00 0 00 014005' JRST TOPINX ;FAILED
5161 013767' 261 17 0 00 000001 PUSH P,T1 ;Save address of node topology table
5162 013770' 260 17 0 00 016514' CALL UPDNOD ;UPDATE MONITOR'S LIST FOR DELETED NODES
5163 JRST [POP P,T1 ; Get node table address
5164 CALL TOPFRE ; Release topology table
5165 013771' 254 00 0 00 020526' JRST TOPINX] ; Failed to update monitor's list
5166 013772' 262 17 0 00 000001 POP P,T1 ;Get node table address back
5167 013773' 260 17 0 00 000000* CALL TOPFRE ;Release the topology table
5168
5169
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 112
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5170 ; RELEASE PAGE AND RETURN
5171
5172 013774' 200 01 0 17 777774 MOVE T1,TPIPAG ;GET ADDRESS OF PAGE USED FOR MESSAGE
5173 013775' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
5174 013776' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
5175 013777' 200 01 0 00 002006' MOVE T1,TOPSRV ;GET SERVER JFN
5176 014000' 104 00 0 00 000022 CLOSF ;CLEAN UP THE USED LINK
5177 014001' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
5178 014002' 260 17 0 00 015012' CALL TOPSET ;SETUP ANOTHER TOPOLOGY SERVER
5179 014003' 254 00 0 00 020531' FATAL.ERROR (.ERR28) ;FAILED
5180 014004' 263 17 0 00 000000 RET ;DONE, RETURN SUCCESS
5181
5182 ; HERE ON AN ERROR - RELEASE PAGE AND RETURN FAILURE
5183
5184 014005' 202 01 0 17 777773 TOPINX: MOVEM T1,TPIERR ;SAVE ERROR CODE
5185 014006' 200 01 0 17 777774 MOVE T1,TPIPAG ;GET ADDRESS OF PAGE USED FOR MESSAGE
5186 014007' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
5187 014010' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
5188 014011' 200 01 0 00 002006' MOVE T1,TOPSRV ;GET SERVER JFN
5189 014012' 661 01 0 00 004000 TXO T1,CZ%ABT ;ABORT CLOSE, PITCH ANY DATA LEFT
5190 014013' 104 00 0 00 000022 CLOSF ;CLEAN UP THE USED LINK
5191 014014' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
5192 014015' 260 17 0 00 015012' CALL TOPSET ;SETUP ANOTHER TOPOLOGY LINK
5193 014016' 254 00 0 00 020531' FATAL.ERROR (.ERR28) ;FAILED
5194 014017' 200 01 0 17 777773 MOVE T1,TPIERR ;RESTORE ERROR CODE
5195 014020' 263 17 0 00 000000 RET ;FAIL
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 113
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5196 ; Routine to assign space in free storage region
5197 ;
5198 ; CALL: T1/ Size of block needed
5199 ; CALL GETFRE
5200 ;
5201 ; RETURNS: +1 ERROR, not enough space
5202 ; +2 SUCCESS, T1/ Location of the block
5203 ; First word of block contains -1,,length
5204 ;
5205 ; Clobbers T1, T2, T3, and T4
5206 ;
5207 ; Free storage header format:
5208 ;
5209 ; FRSHDR+.FHFFB/ ; LH points to first free block
5210 ; +.FHCNT/ ; Words free in free pool
5211 ; +.FHCBS/ ; Most common block size
5212 ; +.FHADR/ ; LH top addrs of free pool, RH bottom addrs
5213 ; +.FHBFS/ ; Best free block size found (closest fit for GETFRE)
5214 ; +.FHBFA/ ; Address of best free block
5215
5216 ENTRY GETFRE ; Globalize so that NCU can find it
5217
5218 014021' 200 02 0 00 000001 GETFRE: MOVE T2,T1 ; Get size into T2 of requested block
5219 IFN TRACE,<AOS T2> ; Increment for tracing word
5220 014022' 201 01 0 00 002054' MOVEI T1,FRSHDR ; Get address of free space header
5221 014023' 260 17 0 00 014406' PIOFF ; Turn off interrupts
5222 014024' 200 16 0 00 020535' LOCK FRELOK ; Lock up the free pool memory management
5223 014025' 260 17 0 00 014336'
5224 014026' 260 17 0 00 014034' CALL GETFR0 ; Go get space
5225 RETBAD (,<UNLOCK FRELOK
5226 014027' 254 00 0 00 020536' PION>) ; No more space, propagate error back
5227 014030' 200 16 0 00 020535' UNLOCK FRELOK ; Unlock memory management code
5228 014031' 260 17 0 00 014351'
5229 014032' 260 17 0 00 014413' PION ; Turn interrupts back on
5230 IFN TRACE,<
5231 AOS T1 ; Increment past trace word
5232 HRRZ T2,-1(T1) ; Get size of block allocated
5233 SOS T2 ; Subtract trace word from size
5234 HRROM T2,0(T1) ; Put into first word of block going to caller
5235 HRRZ T2,0(P) ; Get return address
5236 HRLM T2,-1(T1) ; Put into left half of trace word
5237 > ;End if TRACE
5238 014033' 254 00 0 00 013336* RETSKP ; Success return
5239
5240 014034' 313 02 0 01 000001 GETFR0: CAMLE T2,.FHCNT(T1) ; Enough words left in the pool?
5241 014035' 263 17 0 00 000000 RET ; No, return immediately
5242 014036' 261 17 0 00 000002 PUSH P,T2 ; Save desired block size
5243 014037' 525 02 0 00 377777 HRLOI T2,377777
5244 014040' 202 02 0 01 000004 MOVEM T2,.FHBFS(T1) ; Initial best block size (max positive number)
5245 014041' 402 00 0 01 000005 SETZM .FHBFA(T1) ; Initial location of best block (none)
5246 014042' 200 02 0 00 000001 MOVE T2,T1 ; Start with the header block
5247
5248 014043' 554 03 0 02 000000 GETFR1: HLRZ T3,0(T2) ; Get pointer to next free block
5249 014044' 322 03 0 00 014061' JUMPE T3,GETFR2 ; No more free blocks to examine (null link)
5250 014045' 307 03 0 02 000000 CAIG T3,0(T2) ; Check to see if next block sorted correctly
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 113-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5251 JRST [POP P,T2 ; No, clean up the stack
5252 014046' 254 00 0 00 020544' RETBAD (.ERR30)] ; and give a free list sequencing error
5253 014047' 550 04 0 03 000000 HRRZ T4,0(T3) ; Get size of the next block
5254 014050' 316 04 0 17 000000 CAMN T4,0(P) ; Is it the size requested?
5255 JRST [HLL T4,0(T3) ; Yes, get address of next block in chain
5256 HLLM T4,0(T2) ; Point last block to next (close up chain)
5257 014051' 254 00 0 00 020546' JRST GETFR5] ; Go zero the block; return address
5258 014052' 311 04 0 17 000000 CAML T4,0(P) ; Too small?
5259 014053' 311 04 0 01 000004 CAML T4,.FHBFS(T1) ; or bigger than the best so far?
5260 014054' 254 00 0 00 014057' JRST GETFR4 ; Yes, ignore it
5261 014055' 202 04 0 01 000004 MOVEM T4,.FHBFS(T1) ; This is the best bigger fit found so far
5262 014056' 202 02 0 01 000005 MOVEM T2,.FHBFA(T1) ; so save address and size
5263 014057' 200 02 0 00 000003 GETFR4: MOVE T2,T3 ; Step to the next block in chain
5264 014060' 254 00 0 00 014043' JRST GETFR1 ; and repeat
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 114
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5265
5266 014061' 336 02 0 01 000005 GETFR2: SKIPN T2,.FHBFA(T1) ; Did we find anything that was bigger?
5267 JRST [POP P,T2 ; No, get the size of block back
5268 014062' 254 00 0 00 020553' RETBAD (.ERR8)]; and say no block on list is big enough
5269 014063' 200 04 0 17 000000 MOVE T4,0(P) ; Get desired size
5270 014064' 554 03 0 02 000000 HLRZ T3,0(T2) ; Get pointer to block to be used
5271 014065' 542 04 0 03 000000 HRRM T4,0(T3) ; Convert to desired size in header of block
5272 014066' 270 04 0 00 000003 ADD T4,T3 ; Address of remainder of block
5273 014067' 506 04 0 02 000000 HRLM T4,0(T2) ; Point previous block in chain to remainder
5274 014070' 510 02 0 03 000000 HLLZ T2,0(T3) ; Get address of next block in chain
5275 014071' 502 02 0 04 000000 HLLM T2,0(T4) ; Point remainder to it
5276 014072' 200 02 0 01 000004 MOVE T2,.FHBFS(T1) ; Get size of block we just split
5277 014073' 274 02 0 17 000000 SUB T2,0(P) ; Calculate size of remainder
5278 014074' 542 02 0 04 000000 HRRM T2,0(T4) ; Save in header of remainder
5279
5280 014075' 210 02 0 17 000000 GETFR5: MOVN T2,0(P) ; Get minus the requested block size
5281 014076' 272 02 0 01 000001 ADDM T2,.FHCNT(T1) ; Reduce count of space left in free pool
5282 014077' 201 01 0 03 000000 MOVEI T1,0(T3) ; Get origin of block just allocated
5283 014100' 563 00 0 01 000000 HRROS (T1) ; Set LH to ones in first word of block
5284 014101' 316 02 0 00 020555' CAMN T2,[-1] ; Is this a block of one word?
5285 014102' 254 00 0 00 014113' JRST GETFR6 ; Yes, don't zero anything
5286 014103' 550 02 0 01 000000 HRRZ T2,(T1) ; Get RH (should contain length of block)
5287 014104' 551 03 0 01 000002 HRRZI T3,2(T1) ; Address of 3rd word in block
5288 014105' 402 00 0 03 777777 SETZM -1(T3) ; Zero 2nd word
5289 014106' 505 03 0 01 000001 HRLI T3,1(T1) ; Address of 2nd word in block, making BLT word
5290 014107' 270 02 0 00 000001 ADD T2,T1 ; Last word+1 in block (end of zero BLT)
5291 014110' 553 00 0 00 000002 HRRZS T2 ; Clear any crap in left half
5292 014111' 303 02 0 03 000000 CAILE T2,(T3) ; Check for only two words
5293 014112' 251 03 0 02 777777 BLT T3,-1(T2) ; No, so zero the block
5294 014113' 262 17 0 00 000002 GETFR6: POP P,T2 ; Restore T2
5295 014114' 254 00 0 00 014033* RETSKP ; Successful return
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 115
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5296
5297 ; Routine to release free storage block
5298 ; Lifted from monitor module FREE, routine RELFRE
5299 ;
5300 ; CALL: T1/ Location of the block to be returned
5301 ; First word of returned block contains length of block in RH
5302 ;
5303 ; CALL RELFRE
5304 ;
5305 ; RETURNS: +1 ERROR, can't release the block
5306 ; +2 SUCCESS, block released
5307 ;
5308 ; Clobbers T2, T3, and T4
5309
5310 ENTRY RELFRE ; Globalize so that NCU can find it
5311
5312 014115' 550 02 0 00 000001 RELFRE: HRRZ T2,T1 ; Get adr of block into T2
5313 014116' 201 01 0 00 002054' MOVEI T1,FRSHDR ; Get adr of free space header
5314 IFN TRACE,<
5315 SOS T2 ; Move back to actual start of block w/trace
5316 > ;End if TRACE
5317 014117' 260 17 0 00 014406' PIOFF ; Turn off interrupts
5318 014120' 200 16 0 00 020535' LOCK FRELOK ; Lock up access to memory manager
5319 014121' 260 17 0 00 014336'
5320 014122' 260 17 0 00 014130' CALL RELFRW ; Go do the work (release the block)
5321 RETBAD (,<UNLOCK FRELOK
5322 014123' 254 00 0 00 020536' PION>) ; Failed, propagate the error back
5323 014124' 200 16 0 00 020535' UNLOCK FRELOK ; Unlock the memory manager
5324 014125' 260 17 0 00 014351'
5325 014126' 260 17 0 00 014413' PION ; Turn interrupts back on
5326 014127' 254 00 0 00 014114* RETSKP ; Sucessful return
5327
5328 014130' 261 17 0 00 000001 RELFRW: PUSH P,T1 ; Save location of free storage header
5329 014131' 554 04 0 01 000003 HLRZ T4,.FHADR(T1) ; Get top address of free pool
5330 014132' 550 01 0 01 000003 HRRZ T1,.FHADR(T1) ; Get bottom address of free pool
5331 014133' 303 04 0 02 000000 CAILE T4,0(T2) ; Is block to be freed above the top of pool
5332 014134' 303 01 0 02 000000 CAILE T1,0(T2) ; or below the bottom?
5333 JRST [POP P,T1 ; Yes, block out of range
5334 014135' 254 00 0 00 020560' RETBAD (.ERR9)] ; Return saying outside of pool space
5335 014136' 200 01 0 17 000000 MOVE T1,0(P) ; Get pool header location back again
5336 014137' 261 17 0 00 000002 PUSH P,T2 ; Save location of block to free
5337 014140' 200 02 0 17 777777 MOVE T2,-1(P) ; Get address of header
5338
5339 014141' 554 03 0 02 000000 RELFR1: HLRZ T3,0(T2) ; Get location of next block in chain
5340 014142' 322 03 0 00 014151' JUMPE T3,RELFR2 ; Check for end of list
5341 014143' 307 03 0 02 000000 CAIG T3,0(T2) ; Check for next block sorted correctly
5342 JRST [POP P,T2 ; No .. chain is out of order
5343 POP P,T1 ; Clean up the stack
5344 014144' 254 00 0 00 020562' RETBAD (.ERR30)] ; and return a free list sequencing error
5345 014145' 311 03 0 17 000000 CAML T3,0(P) ; Is block being freed above block on chain
5346 014146' 254 00 0 00 014151' JRST RELFR2 ; Yes .. block being freed sorts in here.
5347 014147' 200 02 0 00 000003 MOVE T2,T3 ; No .. set last block equal to current block
5348 014150' 254 00 0 00 014141' JRST RELFR1 ; and try next entry on chain
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 116
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5349
5350 014151' 316 03 0 17 000000 RELFR2: CAMN T3,0(P) ; Current block addrs match block being freed?
5351 014152' 265 16 0 00 014214' JSP CX,RLFRX2 ; Yes .. this block is already free
5352 014153' 306 01 0 02 000000 CAIN T1,0(T2) ; Is previous block addrs the free pool header?
5353 014154' 254 00 0 00 014161' JRST RELFR6 ; Yes, then this will be first block on chain
5354 014155' 550 04 0 02 000000 HRRZ T4,0(T2) ; Get size of previous block and
5355 014156' 270 04 0 00 000002 ADD T4,T2 ; compute end of previous block
5356 014157' 313 04 0 17 000000 CAMLE T4,0(P) ; Previous block overlap one being released?
5357 014160' 265 16 0 00 014214' JSP CX,RLFRX2 ; Yes, can't do that .. already free
5358 014161' 322 03 0 00 014166' RELFR6: JUMPE T3,RELFR7 ; At end of free list chain?
5359 014162' 550 04 1 17 000000 HRRZ T4,@0(P) ; No, compute end of block being freed
5360 014163' 270 04 0 17 000000 ADD T4,0(P) ; by adding address to length
5361 014164' 313 04 0 00 000003 CAMLE T4,T3 ; Overlaps next block on free list?
5362 014165' 265 16 0 00 014214' JSP CX,RLFRX2 ; Yes, error .. already free
5363 014166' 550 04 1 17 000000 RELFR7: HRRZ T4,@0(P) ; Get length of block being freed
5364 014167' 272 04 0 01 000001 ADDM T4,.FHCNT(T1) ; Augment count of remaining free space
5365 014170' 270 04 0 17 000000 ADD T4,0(P) ; Get end of block being returned
5366 014171' 302 04 0 03 000000 CAIE T4,0(T3) ; Does block being freed butt to next block
5367 JRST [HRLM T3,@0(P) ; No, point returned block to successor
5368 014172' 254 00 0 00 020565' JRST RELFR5] ; and continue releasing it.
5369 014173' 550 04 0 03 000000 HRRZ T4,0(T3) ; Get length of following block
5370 014174' 272 04 1 17 000000 ADDM T4,@0(P) ; Add sizes of the two blocks
5371 014175' 510 04 0 03 000000 HLLZ T4,0(T3) ; Get address of successor of successor
5372 014176' 502 04 1 17 000000 HLLM T4,@0(P) ; Point to him as the next block after this one
5373 014177' 200 03 0 17 000000 RELFR5: MOVE T3,0(P) ; Get address of block being freed
5374 014200' 506 03 0 02 000000 HRLM T3,0(T2) ; Make predecessor point to it
5375 014201' 550 04 0 02 000000 HRRZ T4,0(T2) ; Get length of predecessor
5376 014202' 270 04 0 00 000002 ADD T4,T2 ; Calculate end of predecessor
5377 014203' 312 04 0 00 000003 CAME T4,T3 ; Does it abut the block being freed?
5378 014204' 254 00 0 00 014211' JRST RELFR4 ; No, done
5379 014205' 200 03 0 03 000000 MOVE T3,0(T3) ; Yes .. get header word in block being fred
5380 014206' 502 03 0 02 000000 HLLM T3,0(T2) ; Point predecessor to next block in chain
5381 014207' 553 00 0 00 000003 HRRZS T3 ; Get size of block being freed
5382 014210' 272 03 0 02 000000 ADDM T3,0(T2) ; Make one big block out of them
5383 014211' 262 17 0 00 000002 RELFR4: POP P,T2 ; Restore some registers
5384 014212' 262 17 0 00 000001 POP P,T1
5385 014213' 254 00 0 00 014127* RETSKP ; Good return
5386
5387 014214' 262 17 0 00 000002 RLFRX2: POP P,T2 ; Bad block being released
5388 014215' 262 17 0 00 000001 POP P,T1
5389 014216' 254 00 0 00 020567' RETBAD (.ERR10) ; Error - attempt to release already free space
5390
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 117
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5391 ; Routine to build free space header at initialization
5392 ; for calls to GETFRE and RELFRE
5393 ;
5394 ; CALL FSHDR
5395 ; RETURNS: +1 ALWAYS
5396
5397 014217' 474 01 0 00 000000 FSHDR: SETO T1, ; Zero all the free space
5398 014220' 205 02 0 00 400000 MOVSI T2,.FHSLF ; Point to this process
5399 014221' 541 02 0 00 000600 HRRI T2,FSP ; Starting at first page
5400 014222' 200 03 0 00 020571' MOVE T3,[PM%CNT+NFSP] ; Unmap all pages in free pool
5401 014223' 104 00 0 00 000056 PMAP
5402 014224' 201 01 0 00 600000 MOVEI T1,FSADR ; Start adr of free space
5403 014225' 526 01 0 00 002054' HRLOM T1,FRSHDR+.FHFFB ; Put into free pool header block
5404 014226' 201 01 0 00 100000 MOVEI T1,FSLEN ; Set up length of first block
5405 014227' 202 01 0 00 600000 MOVEM T1,FSADR ; Make the first block contain all space
5406 014230' 202 01 0 00 002055' MOVEM T1,FRSHDR+.FHCNT ; Set up length in header
5407 014231' 200 01 0 00 020572' MOVE T1,[FSADR+FSLEN,,FSADR] ; Get upper and lower bounds
5408 014232' 202 01 0 00 002057' MOVEM T1,FRSHDR+.FHADR ; and set in free space header
5409 014233' 263 17 0 00 000000 RET ; Only return .. hope it worked.
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 118
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5410
5411 ;ROUTINE TO ASSIGN A FREE PAGE
5412
5413 ;RETURNS +1: NONE LEFT
5414 ; +2: T1/ PAGE #
5415 ; T2/ ADDRESS OF FIRST WORD IN PAGE
5416
5417 014234' 260 17 0 00 014406' ASGPAG::PIOFF ;PREVENT INTERRUPTS
5418 014235' 200 16 0 00 020573' LOCK PAGLOK ;LOCK UP THE DATA BASE
5419 014236' 260 17 0 00 014336'
5420 014237' 205 04 0 00 777700 MOVSI T4,-NFP ;SET UP TO SEARCH FOR A PAGE
5421 014240' 200 03 0 00 020574' MOVE T3,[POINT 1,FPTBL]
5422 014241' 134 02 0 00 000003 ASGPGL: ILDB T2,T3 ;GET NEXT PAGE BIT
5423 014242' 326 02 0 00 014250' JUMPN T2,ASGPGF ;FOUND A FREE ONE YET?
5424 014243' 253 04 0 00 014241' AOBJN T4,ASGPGL ;NO, LOOP BACK FOR REST OF PAGES
5425 014244' 200 16 0 00 020573' UNLOCK PAGLOK ;NONE FOUND
5426 014245' 260 17 0 00 014351'
5427 014246' 260 17 0 00 014413' PION
5428 014247' 254 00 0 00 020575' RETBAD .ERR5 ;NO MORE FREE PAGES LEFT
5429
5430 014250' 201 02 0 00 000000 ASGPGF: MOVEI T2,0 ;MARK THAT THE PAGE IS NOW IN USE
5431 014251' 137 02 0 00 000003 DPB T2,T3 ;...
5432 014252' 200 16 0 00 020573' UNLOCK PAGLOK ;RELEASE LOCKS
5433 014253' 260 17 0 00 014351'
5434 014254' 260 17 0 00 014413' PION
5435 014255' 200 01 0 17 000000 MOVE T1,0(P) ;Get return address
5436 014256' 516 01 0 04 477000 HRLZM T1,FPRCD(T4) ;Store who got this page in left half
5437 014257' 201 01 0 04 000500 MOVEI T1,FFP(T4) ;GET PAGE NUMBER
5438 014260' 200 02 0 00 000001 MOVE T2,T1 ;GET PAGE ADDRESS
5439 014261' 242 02 0 00 000011 LSH T2,9 ;...
5440 014262' 514 03 0 00 000002 HRLZ T3,T2 ;GET STARTING ADDRESS
5441 014263' 541 03 0 02 000001 HRRI T3,1(T2) ;GET DESTINATION ADDRESS
5442 014264' 402 00 0 02 000000 SETZM (T2) ;CLEAR FIRST WORD
5443 014265' 251 03 0 02 000777 BLT T3,777(T2) ;CLEAR THE PAGE
5444 014266' 254 00 0 00 014213* RETSKP ;RETURN SUCCESSFUL
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 119
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5445 ;ROUTINES TO RELEASE PAGES
5446
5447 ;RELPGA - RELEASE PAGE ADDRESS
5448 ; T1/ ADDRESS OF FIRST WORD IN PAGE
5449
5450 ;RELPAG - RELEASE PAGE
5451 ; T1/ PAGE NUMBER
5452
5453 ;RETURNS +1: ERROR
5454 ; +2: SUCCESSFUL
5455
5456 014267' 242 01 0 00 777767 RELPGA::LSH T1,-9 ;GET PAGE NUMBER FROM ADDRESS
5457 014270' 260 17 0 00 014406' RELPAG: PIOFF ;LOCK UP
5458 014271' 200 16 0 00 020573' LOCK PAGLOK
5459 014272' 260 17 0 00 014336'
5460 014273' 275 01 0 00 000500 SUBI T1,FFP ;GET PAGE NUMBER WITHIN POOL
5461 014274' 331 00 0 00 000001 SKIPL T1 ;IS THIS A LEGAL PAGE?
5462 014275' 301 01 0 00 000100 CAIL T1,NFP ;...
5463 RETBAD (.ERR6,<UNLOCK PAGLOK
5464 014276' 254 00 0 00 020601' PION>) ;ILLEGAL PAGE ADDRESS
5465 014277' 200 02 0 17 000000 MOVE T2,0(P) ;Get return address
5466 014300' 542 02 0 01 477000 HRRM T2,FPRCD(T1) ;Save who returned this page.
5467 014301' 200 02 0 00 020574' MOVE T2,[POINT 1,FPTBL]
5468 014302' 133 01 0 00 000002 ADJBP T1,T2 ;GET POINTER TO PAGE BIT
5469 014303' 134 03 0 00 000001 ILDB T3,T1 ;SEE IF THE PAGE IS IN USE
5470 014304' 332 00 0 00 000003 SKIPE T3 ;...
5471 RETBAD (.ERR7,<UNLOCK PAGLOK
5472 014305' 254 00 0 00 020607' PION>) ;PAGE WAS ALREADY FREE
5473 014306' 201 03 0 00 000001 MOVEI T3,1 ;NOW FREE UP THE PAGE
5474 014307' 137 03 0 00 000001 DPB T3,T1
5475 014310' 200 16 0 00 020573' UNLOCK PAGLOK ;FREE UP THE LOCKS
5476 014311' 260 17 0 00 014351'
5477 014312' 260 17 0 00 014413' PION
5478 014313' 254 00 0 00 014266* RETSKP ;DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 120
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5479 ; LOKNOD - ROUTINE TO LOCK A NODE TO PREVENT MULTIPLE ACCESS
5480 ;
5481 ;ACCEPTS IN T1/ ADDRESS OF NIB TO LOCK
5482 ; T2/ RESOURCE MASK (RM%XXX)
5483 ; CALL LOKNOD
5484 ;RETURNS: +1 ALWAYS, WITH NODE LOCKED
5485
5486 014314' 265 16 0 00 013733* LOKNOD::STKVAR <<LKNMSK,2>>
5487 014315' 000002 000002
5488
5489 014316' 202 02 0 17 777776 MOVEM T2,1+LKNMSK ;SAVE RESOURCE CLASS
5490 014317' 201 02 0 00 000002 MOVX T2,2 ;GET COUNT FOR RESOURCE MASK BLOCK
5491 014320' 202 02 0 17 777775 MOVEM T2,LKNMSK ;SAVE COUNT
5492 014321' 201 03 0 17 777775 MOVEI T3,LKNMSK ;GET ADDRESS OF RESOURCE MASK
5493 014322' 200 02 0 00 020613' MOVE T2,[ENQ] ;GET LOCKING JSYS
5494 014323' 505 01 0 00 000200 HRLI T1,NODLEV ;GET LEVEL FOR NODE LOCKING
5495 014324' 254 00 0 00 014364' CALLRET EDLOCK ;LOCK THE RESOURCE
5496
5497
5498
5499 ; ULKNOD - ROUTINE TO UNLOCK A LOCKED NODE
5500 ;
5501 ;ACCPETS IN T1/ ADDRESS OF NIB TO UNLOCK
5502 ; T2/ RESOURCE MASK
5503 ; CALL ULKNOD
5504 ;RETURNS: +1 ALWAYS, WITH NODE UNLOCKED
5505
5506 014325' 265 16 0 00 014314* ULKNOD::STKVAR <<ULNMSK,2>>
5507 014326' 000002 000002
5508
5509 014327' 202 02 0 17 777776 MOVEM T2,1+LKNMSK ;SAVE RESOURCE CLASS
5510 014330' 201 02 0 00 000002 MOVX T2,2 ;GET COUNT FOR RESOURCE MASK BLOCK
5511 014331' 202 02 0 17 777775 MOVEM T2,LKNMSK ;SAVE COUNT
5512 014332' 201 03 0 17 777775 MOVEI T3,ULNMSK ;GET ADDRESS OF RESOURCE MASK
5513 014333' 200 02 0 00 020614' MOVE T2,[DEQ] ;GET UNLOCK JSYS
5514 014334' 505 01 0 00 000200 HRLI T1,NODLEV ;LEVEL FOR NODE LOCKING
5515 014335' 254 00 0 00 014364' CALLRET EDLOCK ;UNLOCK THE NODE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 121
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5516
5517 ;ROUTINES TO LOCK AND UNLOCK DATA BASE LOCKS
5518
5519 ;CALLED BY THE "LOCK" AND "UNLOCK" MACROS
5520 ;ALL ACS ARE PRESERVED
5521
5522 014336' 261 17 0 00 000001 ELOCK:: PUSH P,T1 ;SAVE ALL ACS BY HAND
5523 014337' 200 01 0 00 000016 MOVE T1,CX ; SINCE CX CONTAINS THE ARGUMENT
5524 014340' 261 17 0 00 000002 PUSH P,T2 ;SAVE ANOTHER AC
5525 014341' 261 17 0 00 000003 PUSH P,T3
5526 014342' 200 02 0 00 020613' MOVE T2,[ENQ] ;GET TYPE OF OPERATION TO DO
5527 014343' 402 00 0 00 000003 SETZM T3 ;NO GROUP SPECIFICATION
5528 014344' 260 17 0 00 014364' CALL EDLOCK ;GO DO IT
5529 014345' 262 17 0 00 000003 POP P,T3 ;CLEAN UP
5530 014346' 262 17 0 00 000002 POP P,T2
5531 014347' 262 17 0 00 000001 POP P,T1
5532 014350' 263 17 0 00 000000 RET ;ALL DONE
5533
5534 014351' 261 17 0 00 000001 DLOCK:: PUSH P,T1 ;SAVE ALL ACS BY HAND
5535 014352' 200 01 0 00 000016 MOVE T1,CX ; SINCE CX CONTAINS THE ARGUMENT
5536 014353' 261 17 0 00 000002 PUSH P,T2 ;SAVE ANOTHER AC
5537 014354' 261 17 0 00 000003 PUSH P,T3
5538 014355' 402 00 0 00 000003 SETZM T3 ;NO RESOURCE MASK
5539 014356' 200 02 0 00 020614' MOVE T2,[DEQ] ;GET TYPE OF OPERATION TO DO
5540 014357' 260 17 0 00 014364' CALL EDLOCK ;GO DO IT
5541 014360' 262 17 0 00 000003 POP P,T3
5542 014361' 262 17 0 00 000002 POP P,T2 ;CLEAN UP
5543 014362' 262 17 0 00 000001 POP P,T1
5544 014363' 263 17 0 00 000000 RET ;ALL DONE
5545
5546
5547 014364' 265 16 0 00 014325* EDLOCK: STKVAR <EDLCKI,<EDLCKB,6>>
5548 014365' 000007 000007
5549 014366' 202 02 0 17 777776 MOVEM T2,EDLCKI ;SAVE THE INSTRUCTION TO BE DONE
5550 014367' 550 02 0 00 000001 HRRZ T2,T1 ;GET THE ADDRESS BEING LOCKED
5551 014370' 661 02 0 00 500000 TXO T2,5B2 ;MAKE IT INTO A NUMBER FOR ENQ/DEQ
5552 014371' 202 02 0 17 777773 MOVEM T2,.ENQUC+EDLCKB ;SAVE LOCK VALUE
5553 014372' 541 01 0 00 777777 HRRI T1,-1 ;JOB WIDE LOCK (LEVEL NUMBER IN LH)
5554 014373' 202 01 0 17 777772 MOVEM T1,.ENQLV+EDLCKB
5555 014374' 200 01 0 00 020615' MOVE T1,[1,,6] ;SET UP REST OF LOCK BLOCK
5556 014375' 202 01 0 17 777770 MOVEM T1,.ENQLN+EDLCKB ;NUMBER OF LOCKS ,, LENGTH
5557 014376' 202 03 0 17 777775 MOVEM T3,.ENQMS+EDLCKB ;RESOURCE MASK
5558 014377' 402 00 0 17 777771 SETZM .ENQID+EDLCKB ;ID
5559 014400' 402 00 0 17 777774 SETZM .ENQRS+EDLCKB ;GROUP #
5560 014401' 201 01 0 00 000000 MOVEI T1,.ENQBL ;BLOCKING ENQ / DEQ LOCK FUNCTION
5561 014402' 201 02 0 17 777770 MOVEI T2,EDLCKB ;ADR OF LOCK BLOCK
5562 014403' 256 00 0 17 777776 XCT EDLCKI ;DO IT
5563 014404' 254 00 0 00 015423' JRST CRUMP ;FAILED
5564 014405' 263 17 0 00 000000 RET ;RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 122
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5565
5566 ;ROUTINES TO TURN OFF AND ON THE INTERRUPT SYSTEM
5567 ;ALL ACS ARE PRESERVED
5568
5569 014406' 261 17 0 00 000001 PIOFF.: PUSH P,T1 ;SAVE ALL ACS
5570 014407' 201 01 0 00 400000 MOVEI T1,.FHSLF ;THIS FORK
5571 014410' 104 00 0 00 000130 DIR ;DISABLE INTERRUPT SYSTEM
5572 014411' 262 17 0 00 000001 POP P,T1 ;RESTORE AC
5573 014412' 263 17 0 00 000000 RET ;AND RETURN
5574
5575 014413' 261 17 0 00 000001 PION.: PUSH P,T1 ;SAVE ALL ACS
5576 014414' 201 01 0 00 400000 MOVEI T1,.FHSLF ;THIS FORK
5577 014415' 104 00 0 00 000126 EIR ;ENABLE INTERRUPTS AGAIN
5578 014416' 262 17 0 00 000001 POP P,T1 ;RESTORE AC
5579 014417' 263 17 0 00 000000 RET ;AND RETURN
5580
5581
5582 ;ROUTINE TO SAVE ALL THE T ACS
5583
5584 014420' 261 17 0 00 000001 SAVT:: PUSH P,T1 ;SAVE THE ACS
5585 014421' 261 17 0 00 000002 PUSH P,T2
5586 014422' 261 17 0 00 000003 PUSH P,T3
5587 014423' 260 17 0 16 000000 CALL 0(CX) ;RETURN TO CALLER
5588 014424' 334 00 0 00 000000 RESTT: SKIPA ;NON-SKIP RETURN
5589 014425' 350 00 0 17 777775 AOS -3(P) ;SKIP RETURN
5590 014426' 262 17 0 00 000003 POP P,T3 ;RESTORE ACS
5591 014427' 262 17 0 00 000002 POP P,T2
5592 014430' 262 17 0 00 000001 POP P,T1
5593 014431' 263 17 0 00 000000 RET ;AND RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 123
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5594 ;ROUTINE TO SAVE ALL THE Q ACS
5595
5596 014432' 261 17 0 00 000005 SAVQ:: PUSH P,Q1 ;SAVE THE ACS
5597 014433' 261 17 0 00 000006 PUSH P,Q2
5598 014434' 261 17 0 00 000007 PUSH P,Q3
5599 014435' 260 17 0 16 000000 CALL 0(CX) ;RETURN TO CALLER
5600 014436' 334 00 0 00 000000 RESTQ: SKIPA ;NON-SKIP RETURN
5601 014437' 350 00 0 17 777775 AOS -3(P) ;SKIP RETURN
5602 014440' 262 17 0 00 000007 POP P,Q3 ;RESTORE ACS
5603 014441' 262 17 0 00 000006 POP P,Q2
5604 014442' 262 17 0 00 000005 POP P,Q1
5605 014443' 263 17 0 00 000000 RET ;AND RETURN
5606
5607
5608 014444' 261 17 0 00 000005 SAVPQ:: PUSH P,Q1 ;SAVE ALL P'S AND Q'S
5609 014445' 261 17 0 00 000006 PUSH P,Q2
5610 014446' 261 17 0 00 000007 PUSH P,Q3
5611 014447' 261 17 0 00 000010 PUSH P,P1
5612 014450' 261 17 0 00 000011 PUSH P,P2
5613 014451' 261 17 0 00 000012 PUSH P,P3
5614 014452' 261 17 0 00 000013 PUSH P,P4
5615 014453' 261 17 0 00 000014 PUSH P,P5
5616 014454' 261 17 0 00 000015 PUSH P,P6
5617 014455' 260 17 0 16 000000 CALL 0(CX) ;CALL BACK TO ROUTINE
5618 014456' 334 00 0 00 000000 RESTPQ: SKIPA
5619 014457' 350 00 0 17 777767 AOS -11(P) ;SKIP RETURN
5620 014460' 262 17 0 00 000015 POP P,P6
5621 014461' 262 17 0 00 000014 POP P,P5
5622 014462' 262 17 0 00 000013 POP P,P4
5623 014463' 262 17 0 00 000012 POP P,P3
5624 014464' 262 17 0 00 000011 POP P,P2
5625 014465' 262 17 0 00 000010 POP P,P1
5626 014466' 262 17 0 00 000007 POP P,Q3
5627 014467' 262 17 0 00 000006 POP P,Q2
5628 014470' 262 17 0 00 000005 POP P,Q1
5629 014471' 263 17 0 00 000000 RET
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 124
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5630
5631 ;ROUTINE TO TYPE OUT AN ERROR ON THE TTY
5632 ;ACCEPTS IN T1/ NETCON ERROR NUMBER
5633 ;RETURNS +1: ALWAYS
5634
5635 014472' 634 04 0 00 000004 ERROR:: TDZA T4,T4 ;NOTE THAT THIS IS AN ERROR
5636 014473' 476 00 0 00 000004 WRNING::SETOM T4 ;NOTE THAT THIS IS A WARNING
5637 014474' 201 03 0 00 400000 MOVEI T3,.FHSLF ;THIS FORK
5638 014475' 561 02 0 00 000000* HRROI T2,ERRSTR ;SET UP STRING POINTER FOR ERROR STRING
5639 014476' 260 17 0 00 014532' CALL ERRORB ;BUILD THE ERROR STRING
5640 014477' 561 01 0 00 014475* HRROI T1,ERRSTR ;GET POINTER TO STRING
5641 014500' 104 00 0 00 000076 PSOUT ;TYPE OUT THE MESSAGE
5642 014501' 402 00 0 00 000001 SETZM T1 ;NO HEADER
5643 014502' 561 02 0 00 014477* HRROI T2,ERRSTR ;GET POINTER TO STRING AGAIN
5644 014503' 260 17 0 00 014575' CALL OPRMES ;SEND THE MESSAGE TO THE OPERATOR
5645 014504' 334 00 0 00 000000 SKIPA ;FAILED
5646 014505' 263 17 0 00 000000 RET ;DONE
5647 014506' 561 02 0 00 014502* HRROI T2,ERRSTR ;SET UP A POINTER TO WHERE TO PUT THE STRING
5648 014507' 201 03 0 00 400000 MOVEI T3,.FHSLF ;THIS FORK
5649 014510' 260 17 0 00 014532' CALL ERRORB ;GET THE REASON FOR THE SEND FAILURE
5650 014511' 104 00 0 00 000076 PSOUT ;JUST TYPE THIS MESSAGE OUT
5651 014512' 263 17 0 00 000000 RET ;AND EXIT
5652
5653
5654 ;ROUTINE TO SET UP THE ERROR CODE IN T1
5655 ;CALLED BY THE RETER2 MACRO
5656 ;LEAVES T1/ MONITOR ERROR CODE ,, NETCON ERROR CODE
5657
5658 014513' 603 01 0 00 777777 STOERC: TLNE T1,-1 ;LEGAL ERROR CODE?
5659 014514' 201 01 0 00 500022 MOVEI T1,.ERR19 ;NO, GET ERROR CODE WITH GETER
5660 014515' 305 01 0 00 600000 CAIGE T1,600000 ;NETCON ERROR CODE IN T1?
5661 014516' 254 00 0 00 014522' JRST STOER1 ;YES
5662 014517' 517 00 0 00 000001 HRLZS T1 ;NO, STORE MONITOR ERROR CODE IN LH
5663 014520' 541 01 0 00 500022 HRRI T1,.ERR19 ;STANDARD ERROR MESSAGE "JSYS ERROR"
5664 014521' 263 17 0 00 000000 RET ;RETURN
5665
5666 014522' 261 17 0 00 000002 STOER1: PUSH P,T2 ;SAVE ALL ACS
5667 014523' 261 17 0 00 000001 PUSH P,T1 ;SAVE ERROR CODE
5668 014524' 201 01 0 00 400000 MOVEI T1,.FHSLF ;NOW GET LAST ERROR CODE
5669 014525' 104 00 0 00 000012 GETER
5670 014526' 262 17 0 00 000001 POP P,T1 ;GET BACK NETCON ERROR CODE
5671 014527' 504 01 0 00 000002 HRL T1,T2 ;PUT MONITOR ERROR CODE IN LH
5672 014530' 262 17 0 00 000002 POP P,T2 ;RESTORE ACS
5673 014531' 263 17 0 00 000000 RET ;GIVE NON-SKIP RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 125
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5674
5675 ;ROUTINE TO BUILD AN ERROR MESSAGE STRING
5676
5677 ;ACCEPTS IN T1/ NETCON ERROR CODE
5678 ; T2/ POINTER TO WHERE TO PUT THE STRING
5679 ; T3/ FORK HANDLE
5680
5681 ;RETURNS +1: T2/ UPDATED STRING POINTER
5682
5683 014532' 265 16 0 00 014364* ERRORB: STKVAR <ERRORC,ERRORH>
5684 014533' 000002 000002
5685 014534' 202 01 0 17 777776 MOVEM T1,ERRORC ;SAVE THE NETCON ERROR NUMBER
5686 014535' 202 03 0 17 777775 MOVEM T3,ERRORH ;SAVE FORK HANDLE
5687 014536' 200 01 0 00 000002 MOVE T1,T2 ;SET UP POINTER TO ERROR STRING
5688 HRROI T2,[ASCIZ/
5689 014537' 561 02 0 00 020616' ? NETCON: /]
5690 014540' 332 00 0 00 000004 SKIPE T4 ;WARNING INSTEAD OF ERROR ?
5691 HRROI T2,[ASCIZ/
5692 014541' 561 02 0 00 020621' % NETCON: /]
5693 014542' 400 03 0 00 000000 SETZ T3,
5694 014543' 104 00 0 00 000053 SOUT ;OUTPUT THE TEXT
5695 014544' 550 02 0 17 777776 HRRZ T2,ERRORC ;NOW TYPE THE ERROR MESSAGE
5696 014545' 275 02 0 00 500000 SUBI T2,ERRCD0 ;GET OFFSET INTO ERROR CODE TABLE
5697 014546' 331 00 0 00 000002 SKIPL T2 ;ERROR?
5698 014547' 301 02 0 00 000036 CAIL T2,ERRTBL ;IS ERROR CODE IN CORRECT RANGE?
5699 014550' 334 02 0 00 020631' SKIPA T2,[-1,,[ASCIZ/Unknown NETCON error/]]
5700 014551' 560 02 0 02 015502' HRRO T2,ERRTAB(T2) ;YES, GET POINTER TO ERROR STRING
5701 014552' 104 00 0 00 000053 SOUT ;TYPE OUT THE ERROR MESSAGE
5702 014553' 554 04 0 17 777776 HLRZ T4,ERRORC ;GET THE MONITOR ERROR CODE
5703 014554' 322 04 0 00 014570' JUMPE T4,ERORB1 ;IF NONE, DONT TYPE ANY MORE
5704 HRROI T2,[ASCIZ/
5705 014555' 561 02 0 00 020632' (/]
5706 014556' 400 03 0 00 000000 SETZ T3,
5707 014557' 104 00 0 00 000053 SOUT ;NOW PRINT OUT THE LAST ERROR
5708 014560' 514 02 0 17 777775 HRLZ T2,ERRORH ;GET FORK HANDLE
5709 014561' 544 02 0 17 777776 HLR T2,ERRORC ;GET MONITOR ERROR CODE
5710 014562' 400 03 0 00 000000 SETZ T3, ;NO LENGTH LIMIT
5711 014563' 104 00 0 00 000011 ERSTR ;TYPE OUT MESSAGE
5712 014564' 255 00 0 00 000000 JFCL
5713 JRST [ HRROI T2,[ASCIZ/No error message for error code: /]
5714 SOUT
5715 HLRZ T2,ERRORC ;NOW TYPE OUT ERROR CODE IN OCTAL
5716 MOVEI T3,10
5717 NOUT
5718 JFCL
5719 014565' 254 00 0 00 020642' JRST .+1]
5720 014566' 201 02 0 00 000051 MOVEI T2,")" ;FINISH MESSAGE WITH CLOSE PAREN
5721 014567' 104 00 0 00 000051 BOUT
5722 014570' ERORB1: HRROI T2,[ASCIZ/
5723 014570' 561 02 0 00 016655' /]
5724 014571' 400 03 0 00 000000 SETZ T3,
5725 014572' 104 00 0 00 000053 SOUT ;FINISH THE MESSAGE
5726 014573' 200 02 0 00 000001 MOVE T2,T1 ;RETURN WITH UPDATED POINTER IN T2
5727 014574' 263 17 0 00 000000 RET ;AND RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 126
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5728
5729 ;ROUTINE TO SEND A TEXT MESSAGE TO OPR
5730 ;ACCEPTS IN T1/ POINTER TO THE TEXT STRING
5731 ; T2/ POINTER TO HEADER TEXT
5732
5733 014575' 265 16 0 00 014432' OPRMES::SAVEQ ;SAVE PERMANENT ACS
5734 014576' 265 16 0 00 014532* STKVAR <OPRMSS,OPRMSA,<OPRMSB,4>,OPRMSH>
5735 014577' 000007 000007
5736 014600' 202 02 0 17 777770 MOVEM T2,OPRMSH ;SAVE HEADER TEXT POINTER
5737 014601' 202 01 0 17 777776 MOVEM T1,OPRMSS ;SAVE ADDRESS OF TEXT STRING
5738 014602' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE FOR THE IPCF MESSAGE
5739 014603' 263 17 0 00 000000 RETBAD ;FAILED
5740 014604' 202 02 0 17 777775 MOVEM T2,OPRMSA ;SAVE THE PAGE ADDRESS
5741 014605' 505 01 0 00 001000 HRLI T1,1000 ;SET UP POINTER TO THE PAGE FOR MSEND
5742 014606' 202 01 0 17 777774 MOVEM T1,.IPCFP+OPRMSB ;SAVE POINTER IN PACKET DESCRIPTOR BLOCK
5743 014607' 201 01 0 00 600000 MOVX T1,IP%CFP!IP%CFV ;PAGE MODE SEND
5744 014610' 202 01 0 17 777771 MOVEM T1,.IPCFL+OPRMSB
5745 014611' 200 01 0 00 002050' MOVE T1,PID ;SET UP PID OF SENDER (US)
5746 014612' 202 01 0 17 777772 MOVEM T1,.IPCFS+OPRMSB
5747 014613' 200 01 0 00 002051' MOVE T1,OPRPID ;GET PID OF ORION
5748 014614' 202 01 0 17 777773 MOVEM T1,.IPCFR+OPRMSB ;SAVE THE PID OF THE RECEIVER
5749 014615' 200 04 0 17 777775 MOVE T4,OPRMSA ;GET ADDRESS OF MESSAGE
5750 014616' 200 01 0 00 002001' MOVE T1,REQCOD ;GET CODE OF OPR ORIGINATING THIS REQUEST
5751 014617' 202 01 0 04 000002 MOVEM T1,.MSCOD(T4) ;STORE ACK CODE
5752 014620' 201 02 0 00 000000 MOVX T2,0 ;INITIALIZE ARG COUNT
5753 014621' 332 00 0 17 777776 SKIPE OPRMSS ;ANY TEXT ?
5754 014622' 271 02 0 00 000001 ADDI T2,1 ;YES
5755 014623' 332 00 0 17 777770 SKIPE OPRMSH ;ANY HEADER ?
5756 014624' 271 02 0 00 000001 ADDI T2,1 ;YES, ACCOUNT FOR IT
5757 014625' 202 02 0 04 000004 MOVEM T2,.OARGC(T4) ;STORE ARG COUNT
5758 014626' 205 02 0 00 007000 MOVX T2,WT.NDA!WT.SJI!WT.NFO ;NO FORMATTING
5759 014627' 202 02 0 04 000003 MOVEM T2,.OFLAG(T4) ;STORE FLAGS
5760 014630' 271 04 0 00 000005 ADDI T4,.OHDRS ;POINT TO START OF ARG AREA
5761 014631' 561 01 0 04 000001 HRROI T1,ARG.DA(T4) ;PUT THE STRING INTO THE MESSAGE
5762 014632' 336 00 0 17 777770 SKIPN OPRMSH ;ANY HEADER PRESENT ?
5763 014633' 254 00 0 00 014645' JRST OPRMS5 ;NO, GO DO TEXT
5764 014634' 201 02 0 00 000006 MOVX T2,.WTTYP ;GET TYPE OF ARGUMENT (PLAIN TEXT)
5765 014635' 542 02 0 04 000000 STOR T2,AR.TYP,ARG.HD(T4) ;STORE ARG TYPE
5766 014636' 200 02 0 17 777770 MOVE T2,OPRMSH ;GET POINTER TO THE STRING
5767 014637' 400 03 0 00 000000 SETZ T3,
5768 014640' 104 00 0 00 000053 SOUT ;PUT TEXT INTO THE MESSAGE
5769 014641' 550 03 0 00 000001 HRRZ T3,T1 ;KEEP JUST THE FINAL ADDRESS
5770 014642' 275 03 0 04 777777 SUBI T3,-1(T4) ;COMPUTE NUMBER OF WORDS STORED
5771 014643' 506 03 0 04 000000 STOR T3,AR.LEN,ARG.HD(T4) ;STORE LENGTH OF STRING
5772 014644' 270 04 0 00 000003 ADD T4,T3 ;COMPUTE ADDRESS OF NEXT ARG
5773 ; ..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 127
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5774 ; ..
5775
5776 ; HERE TO ADD TEXT ARG AND SEND MESSAGE TO OPR
5777
5778 014645' 336 00 0 17 777776 OPRMS5: SKIPN OPRMSS ;ANY TEXT ?
5779 014646' 254 00 0 00 014660' JRST OPRMS8 ;NO, GO SEND MESSAGE
5780 014647' 201 02 0 00 000000 MOVX T2,.WTTXT ;GET TYPE OF ARGUMENT (PLAIN TEXT)
5781 014650' 542 02 0 04 000000 STOR T2,AR.TYP,ARG.HD(T4) ;STORE ARG TYPE
5782 014651' 561 01 0 04 000001 HRROI T1,ARG.DA(T4) ;FORM POINTER TO WHERE ARG DATA GOES
5783 014652' 200 02 0 17 777776 MOVE T2,OPRMSS ;GET TEXT POINTER
5784 014653' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
5785 014654' 104 00 0 00 000053 SOUT ;ADD THIS ARG TO MESSAGE
5786 014655' 550 03 0 00 000001 HRRZ t3,T1 ;KEEP JUST THE FINAL ADDRESS
5787 014656' 275 03 0 04 777777 SUBI t3,-1(T4) ;COMPUTE NUMBER OF WORDS STORED
5788 014657' 506 03 0 04 000000 STOR t3,AR.LEN,ARG.HD(T4) ;STORE LENGTH OF STRING
5789 014660' 550 01 0 00 000001 OPRMS8: HRRZ T1,T1 ;KEEP JUST FINAL ADDRESS
5790 014661' 274 01 0 17 777775 SUB T1,OPRMSA ;COMPUTE SIZE OF MESSAGE
5791 014662' 271 01 0 00 000006 ADDI T1,6 ;COMPUTE TOTAL MESSAGE LENGTH
5792 014663' 200 02 0 17 777775 MOVE T2,OPRMSA ;GET MESSAGE ADDRESS AGAIN
5793 014664' 506 01 0 02 000000 HRLM T1,(T2) ;STORE LENGTH IN HEADER
5794 014665' 201 01 0 00 200014 MOVX T1,.OMACK ;GET ACK MESSAGE CODE
5795 014666' 542 01 0 02 000000 HRRM T1,(T2) ;STORE MESSAGE CODE
5796 014667' 200 01 0 02 000002 MOVE T1,.MSCOD(T2) ;DON'T SEND IF MSCOD=0. SPECIAL CASE FOR NETCON
5797 014670' 322 01 0 00 014675' JUMPE T1,OPRMS9 ; GENERATED MSG'S. SEE AUTO DUMP/LOAD
5798 014671' 201 01 0 00 000004 MOVEI T1,4 ;NOW SEND THE MESSAGE
5799 014672' 201 02 0 17 777771 MOVEI T2,OPRMSB
5800 014673' 104 00 0 00 000510 MSEND
5801 RETER2 (.ERR12,<MOVE T1,OPRMSA
5802 CALL RELPGA
5803 014674' 254 00 0 00 020653' NON.FATAL.ERROR ()>)
5804 014675' 200 01 0 17 777775 OPRMS9: MOVE T1,OPRMSA ;FINISH UP BY RELEASING THE FREE PAGE
5805 014676' 260 17 0 00 014267' CALL RELPGA
5806 014677' 260 17 0 00 014473' NON.FATAL.ERROR
5807 014700' 254 00 0 00 014313* RETSKP ;FINISHED SUCCESSFULLY
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 128
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5808 ;ROUTINE TO INITIALIZE NETCON
5809
5810 ;RETURNS +1: ERROR
5811 ; +2: SUCCESSFUL
5812
5813 014701' 260 17 0 00 015045' NETINI: CALL PACINI ;INIT PAGE ACCESSES
5814 014702' 260 17 0 00 015057' CALL FREINI ;INIT THE FREE SPACE
5815 014703' 200 01 0 00 015606' MOVE T1,ONCHNS ;GET MASK OF CHANNELS TO ENABLE
5816 014704' 260 17 0 00 015170' CALL PSIINI ;TURN ON ALL CHANNELS
5817 014705' 260 17 0 00 015201' CALL JFNINI ;GO OPEN ALL NCU SERVOR JFNS
5818 014706' 263 17 0 00 000000 RETBAD () ;FAILED
5819 014707' 260 17 0 00 015252' CALL PIDINI ;GO OPEN THE COMM CHANNEL TO ORION
5820 014710' 263 17 0 00 000000 RETBAD () ;FAILED
5821 014711' 260 17 0 00 015342' CALL HELLO ;SEND "HELLO" MESSAGE TO ORION
5822 014712' 263 17 0 00 000000 RETBAD () ;COULD NOT SEND IT
5823 014713' 260 17 0 00 015302' CALL NAMINI ;GO SET UP EXECUTR NODE NAME
5824 014714' 260 17 0 00 000000* CALL SYRNCU ;MAKE A "NETCON-STARTED" SYSERR ENTRY
5825 014715' 402 00 0 00 002004' SETZM LOGFRK ;INITIALIZE HANDLE OF LOGGING FORK
5826 014716' 260 17 0 00 014725' CALL LOGINI ;GO SET UP LOGGING TASK
5827 014717' 254 00 0 00 020657' NON.FATAL.ERROR (.ERR22)
5828 014720' 260 17 0 00 014735' CALL TOPINI ;INITIALIZE TOPOLOGY MONITORING DATABASE
5829 014721' 254 00 0 00 020662' NON.FATAL.ERROR (.ERR27)
5830 014722' 260 17 0 00 015034' CALL ATOINI ;INITIALIZE AUTO DUMP/LOAD MONITORING
5831 014723' 254 00 0 00 020665' NON.FATAL.ERROR (.ERR26)
5832 014724' 254 00 0 00 014700* RETSKP ;DONE
5833
5834
5835
5836 ;LOGINI - ROUTINE CALLED JUST AFTER NETCON IS STARTED TO START UP
5837 ; THE LOGGING PROCESS.
5838 ;
5839 ;CALL: CALL LOGINI
5840 ;RETURNS: +1 FAILED
5841 ; +2 SUCCESS, LOGGING IN PROGRESS
5842
5843 014725' 332 01 0 00 002004' LOGINI: SKIPE T1,LOGFRK ;ANY PREVIOUS LOGGING FORK ?
5844 014726' 104 00 0 00 000153 KFORK ;YES, KILL IT
5845 014727' 205 01 0 00 620000 MOVX T1,CR%MAP!CR%CAP!CR%ST ;PASS CAPABILITIES, USE SAME MAP
5846 014730' 541 01 0 00 000000* HRRI T1,LOGGER ;GET STARTING ADDRESS OF LOGGING TASK
5847 014731' 104 00 0 00 000152 CFORK ;CREATE THE LOGGING PROCESS
5848 014732' 263 17 0 00 000000 RETBAD () ;FAILED
5849 014733' 552 01 0 00 002004' HRRZM T1,LOGFRK ;SAVE ID OF LOGGING FORK
5850 014734' 254 00 0 00 014724* RETSKP ;SUCCESS, DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 129
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5851 ;TOPINI - ROUTINE TO INITIALIZE TOPOLOGY MONITORING DATABASE
5852
5853 014735' 265 16 0 00 014432' TOPINI: SAVEQ ;SAVE A FEW REGISTERS
5854 014736' 265 16 0 00 014576* STKVAR <TOPVR0> ;LOCAL VARIABLE(S)
5855 014737' 000001 000001
5856 014740' 260 17 0 00 015012' CALL TOPSET ;SET UP TOPLOGY SERVER LINKS
5857 014741' 254 00 0 00 020531' FATAL.ERROR (.ERR28) ;FAILED, COULD NOT SET UP TOPOLOGY SERVERS
5858 014742' 254 00 0 00 014746' JRST TOPI.2 ;Continue on
5859
5860 014743' 265 16 0 00 014432' TOPI.1: SAVEQ ; Save a few registers here also
5861 014744' 265 16 0 00 014736* STKVAR <DMMY> ; Fix up the stack for an alternate entry point
5862 014745' 000001 000001
5863
5864 014746' 200 01 0 00 020670' TOPI.2: MOVE T1,[.FHSLF,,.TIMEL] ;Elapsed time type interrupt
5865 014747' 200 02 0 00 020671' MOVX T2,TOPTIM ; For the topology polling interval
5866 014750' 201 03 0 00 000036 MOVX T3,HCKCHN ; Channel for timer interrupt
5867 014751' 104 00 0 00 000522 TIMER ; Set it all up
5868 014752' 255 00 0 00 000000 JFCL ; Ignore any errors
5869
5870 014753' 260 17 0 00 014234' CALL ASGPAG ;USE A PAGE FOR NODE JSYS
5871 014754' 263 17 0 00 000000 RETBAD () ;OOPS!
5872 014755' 202 02 0 17 777776 MOVEM T2,TOPVR0 ;SAVE PAGE ADDRESS
5873 014756' 201 03 0 00 001000 MOVEI T3,1000 ;SOME WORDS IN THAT PAGE
5874 014757' 552 03 0 02 000000 HRRZM T3,.NDNLN(T2) ;SAVE FOR NODE JSYS
5875 014760' 201 01 0 00 000014 MOVEI T1,.NDGLI ;GET LOCAL LINE INFORMATION
5876 014761' 104 00 0 00 000567 NODE
5877 014762' 320 16 0 00 016677' ERJMP [RETBAD ()] ;THE JSYS IS TOO CUTE!
5878 014763' 200 06 0 17 777776 MOVE Q2,TOPVR0 ;OBTAIN START OF PAGE
5879 014764' 554 04 0 06 000000 HLRZ T4,.NDNLN(Q2) ;NUMBER OF LINE BLOCKS RETURNED
5880 014765' 336 00 0 00 000004 SKIPN T4 ;ANY?
5881 014766' 254 00 0 00 014734* RETSKP ;IF 0, WE CAN'T DO ANYTHING ABOUT IT
5882 014767' 350 00 0 00 000004 AOS T4 ;PREPARE FOR AOBJP
5883 014770' 213 00 0 00 000004 MOVNS T4 ;
5884 014771' 504 06 0 00 000004 HRL Q2,T4 ;WE HAVE AOBJP POINTER IN Q2
5885 014772' 252 06 0 00 015006' TOPINL: AOBJP Q2,TOPOUT ;LOOP ON UNTIL DONE
5886 014773' 200 05 0 06 000000 MOVE Q1,0(Q2) ;GET ADDRESS OF LINE BLOCK
5887 014774' 200 02 0 05 000001 MOVE T2,.NDLST(Q1) ;WHAT IS THE LINE STATUS?
5888 014775' 302 02 0 00 000001 CAIE T2,.NDLON ;LINE-ON?
5889 014776' 254 00 0 00 014772' JRST TOPINL ;NO, TRY ANOTHER LINE
5890 014777' 200 01 0 05 000002 MOVE T1,.NDLND(Q1) ;YES, GET POINTER TO NODE NAME
5891 015000' 134 01 0 00 000001 ILDB T1,T1 ;Get first byte of node name
5892 015001' 322 01 0 00 014772' JUMPE T1,TOPINL ;If none .. go onto next line
5893 015002' 200 01 0 05 000002 MOVE T1,.NDLND(Q1) ;Get pointer to node name again
5894 015003' 260 17 0 00 016357' CALL MONINI ;TRY MONITORING THE TOPOLOGY
5895 015004' 255 00 0 00 000000 JFCL ;DON'T REALLY CARE IF IF FAILS
5896 015005' 254 00 0 00 014772' JRST TOPINL ;CONTINUE LOOP
5897 015006' 200 01 0 17 777776 TOPOUT: MOVE T1,TOPVR0 ;RETURN PAGE OF MEMORY
5898 015007' 260 17 0 00 014267' CALL RELPGA ;
5899 015010' 263 17 0 00 000000 RETBAD ;OOPS, CANT RETURN PAGE!
5900 015011' 254 00 0 00 014766* RETSKP ;DONE, SO EXIT THE ROUTINE
5901
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 130
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5902 ; TOPSET - ROUTINE TO SET UP SERVER LINKS FOR TOPOLOGY CHANGE INTERRUPTS
5903 ;
5904 ;CALL: CALL TOPSET
5905 ;RETURNS: +1 FAILED
5906 ; +2 SUCCESS
5907
5908 015012' 205 01 0 00 000001 TOPSET: MOVX T1,GJ%SHT ;SHORT FORM CALL
5909 015013' 561 02 0 00 020672' HRROI T2,[ASCIZ/SRV:.TOPOL/] ;TOPOLOGY SERVER
5910 015014' 104 00 0 00 000020 GTJFN ;GET JFN FOR NEW LINK
5911 015015' 320 16 0 00 013741* ERJMP R ;FAILED
5912 015016' 200 02 0 00 017223' MOVE T2,[100000,,300000] ;READ AND WRITE ACCESS
5913 015017' 104 00 0 00 000021 OPENF ;OPEN THE LINK
5914 015020' 320 16 0 00 015015* ERJMP R ;FAILED, RETURN ERROR
5915 015021' 202 01 0 00 002006' MOVEM T1,TOPSRV ;SAVE TOPOLOGY SERVER LINK JFN
5916
5917 ; ENABLE FOR INTERRUPTS FROM FUTURE TOPOLOGY CHANGES
5918
5919 015022' 201 03 0 00 000000 MOVEI T3,0 ;CLEAR UNUSED BITS
5920 015023' 201 02 0 00 000033 MOVX T2,TOPCHN ;GET CHANNEL FOR TOPOLOGY INTERRUPTS
5921 015024' 137 02 0 00 017225' STOR T2,MO%CDN,T3 ;STORE CHANNEL NUMBER
5922 015025' 201 02 0 00 000024 MOVX T2,.MOACN ;GET "ASSIGN CHANNEL" FUNCTION
5923 015026' 104 00 0 00 000077 MTOPR ;ASSIGN CHANNEL FOR CONNECT INTERRUPTS
5924 015027' 320 16 0 00 015020* ERJMP R ;FAILED
5925 015030' 201 01 0 00 400000 MOVX T1,.FHSLF ;GET OUR FORK HANDLE
5926 015031' 201 02 0 00 000440 MOVX T2,1b<TOPCHN>!1b<HCKCHN> ;Channels for all types of topology chng.
5927 015032' 104 00 0 00 000131 AIC ;ACTIVATE THE CHANNELs
5928
5929 ; DONE, RETURN SUCCESS
5930
5931 015033' 254 00 0 00 015011* RETSKP ;DONE, RETURN TO CALLER
5932
5933 ;ATOINI - ROUTINE TO INITIALIZE AUTO DUMP/LOAD MONITORING
5934
5935 015034' 265 16 0 00 014744* ATOINI: STKVAR <ATOHLD>
5936 015035' 000001 000001
5937 015036' 201 01 0 00 000035 MOVX T1,ATOCHN ;GET CHANNEL NUMBER
5938 015037' 202 01 0 17 777776 MOVEM T1,ATOHLD ;INTO PARAM BLOCK
5939 015040' 201 01 0 00 000011 MOVEI T1,.NDSIC ;TELL MONITOR TO INTERRUPT US
5940 015041' 201 02 0 17 777776 MOVEI T2,ATOHLD ;POINT TO BLOCK
5941 015042' 104 00 0 00 000567 NODE
5942 015043' 320 16 0 00 016677' ERJMP [RETBAD]
5943 015044' 254 00 0 00 015033* RETSKP
5944
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 131
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5945 ;SETUP APPROPRIATE PAGE ACCESSES FOR NETCON
5946 ;
5947 ; PACINI - SETUP PAGE ACCESSES
5948 ;
5949 ; RETURNS +1: ALWAYS
5950
5951 015045' 201 01 0 00 000000# PACINI: MOVEI T1,<<NETCON+777>/1000> ;FIRST PAGE THAT DOESN'T HAVE
5952 ; DATA FOR SURE
5953 015046' 201 03 0 00 000000# MOVEI T3,<<BEGFRE-1000>/1000> ;LAST PAGE BEFORE DATA AREA
5954 015047' 274 03 0 00 000001 SUB T3,T1 ;NUMBER OF PAGES
5955 015050' 505 01 0 00 400000 HRLI T1,.FHSLF ;SETUP T1 FOR RPACS AND SPACS
5956 015051' 104 00 0 00 000057 PACTOP: RPACS ;SEE IF PAGE THERE FIRST
5957 015052' 603 02 0 00 010000 TXNE T2,PA%PEX ;PAGE EXISTS?
5958 JRST [MOVX T2,PA%RD!PA%EX ;YES, SET READ AND EXECUTE ACCESS
5959 SPACS ; SET PAGE ACCESS
5960 015053' 254 00 0 00 020675' JRST .+1] ; JOIN CODE
5961 015054' 350 00 0 00 000001 AOS T1 ;NO, ADVANCE TO NEXT PAGE
5962 015055' 367 03 0 00 015051' SOJG T3,PACTOP ;DONE IF ZERO
5963 015056' 263 17 0 00 000000 RET ;EXIT FROM ROUTINE
5964
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 132
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5965 ;ROUTINE TO INIT THE FREE SPACE
5966
5967 ;RETURNS +1: ALWAYS
5968
5969 015057' 200 01 0 00 020700' FREINI: MOVE T1,[BEGFRE,,BEGFRE+1]
5970 015060' 402 00 0 00 000000* SETZM BEGFRE ;ZERO THE VARIABLE AREA
5971 015061' 251 01 0 00 000000* BLT T1,LSTFRE ;FROM FIRST THRU LAST LOCATION
5972 015062' 474 01 0 00 000000 SETO T1, ;UNMAP ALL NCU PAGES
5973 015063' 205 02 0 00 400000 MOVSI T2,.FHSLF ;THIS FORK
5974 015064' 541 02 0 00 000400 HRRI T2,NCUFFP ;START AT FIRST NCU PAGE
5975 015065' 200 03 0 00 020701' MOVE T3,[PM%CNT+NCUNFP] ;UNMAP ALL NCU PAGES
5976 015066' 104 00 0 00 000056 PMAP
5977 015067' 474 01 0 00 000000 SETO T1, ;UNMAP ALL FREE PAGES
5978 015070' 205 02 0 00 400000 MOVSI T2,.FHSLF ;THIS FORK
5979 015071' 541 02 0 00 000500 HRRI T2,FFP ;START AT FIRST FREE PAGE
5980 015072' 200 03 0 00 020571' MOVE T3,[PM%CNT+NFP] ;UNMAP ALL FREE PAGES
5981 015073' 104 00 0 00 000056 PMAP
5982 015074' 200 01 0 00 020574' MOVE T1,[POINT 1,FPTBL] ;NOW INITIALIZE THE FREE PAGE TABLE
5983 015075' 201 02 0 00 000001 MOVEI T2,1 ;MAKE ALL PAGES AVAILABLE
5984 015076' 201 03 0 00 000100 MOVEI T3,NFP
5985 015077' 136 02 0 00 000001 FREIN1: IDPB T2,T1 ;MARK THE PAGE AS FREE
5986 015100' 367 03 0 00 015077' SOJG T3,FREIN1 ;LOOP BACK FOR ALL PAGES
5987 015101' 260 17 0 00 014217' CALL FSHDR ;GO INITIALIZE THE FREE SPACE HEADER
5988 015102' 200 04 0 00 020702' MOVE T4,[-MAXPGM,,PGMTAB]
5989 015103' 201 01 0 00 777777 MOVX T1,.PGFRE ;INITIALIZE THE PGM TABLE TO ALL FREE
5990 015104' 506 01 0 04 000000 FREIN2: STOR T1,PGLDV,(T4) ;MARK THIS ENTRY AS FREE
5991 015105' 271 04 0 00 000002 ADDI T4,PGLEN-1 ;STEP TO NEXT ENTRY
5992 015106' 253 04 0 00 015104' AOBJN T4,FREIN2 ;LOOP BACK FOR ALL ENTRIES IN PGM TABLE
5993 015107' 200 01 0 00 020703' MOVE T1,[0,,MAXNOD] ;GET INITIAL HEADER FOR KNOWN NODE TABLE
5994 015110' 202 01 0 00 000000* MOVEM T1,NODTAB ;INITIALIZE NODE TABLE
5995 015111' 476 00 0 00 000000* SETOM NXTNIB ;INITIALIZE POINTER TO FIRST NIB
5996 015112' 476 00 0 00 000000* SETOM NXTLIN ;INITIALIZE POINTER TO NEXT LINTAB ENTRY
5997 015113' 263 17 0 00 000000 RET ;DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 133
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
5998 ;DUPTST - ROUTINE TO TEST FOR DUPLICATE NETCON'S RUNNING
5999 ;
6000 ;CALL: CALL DUPTST
6001 ;RETURNS: +1 FAILED, ANOTHER NETCON IS RUNNING
6002 ; +2 SUCCESS, OK TO CONTINUE
6003
6004 015114' 265 16 0 00 015034* DUPTST: STKVAR <<ENQJFB,5>,<ENQJFS,3>,<ENQJFU,10>>
6005 015115' 000020 000020
6006 015116' 561 01 0 00 777776 MOVX T1,-2 ;USE GLOBAL LOCK
6007 015117' 552 01 0 17 777774 HRRZM T1,.ENQLV+ENQJFB ;SAVE THE LOCK TYPE
6008 015120' 200 01 0 00 020704' MOVE T1,[1,,5] ;SET UP ENQ BLOCK
6009 015121' 202 01 0 17 777772 MOVEM T1,.ENQLN+ENQJFB
6010 015122' 402 00 0 17 777773 SETZM .ENQID+ENQJFB ;ID = 0
6011 015123' 561 01 0 00 020705' HRROI T1,[ASCIZ/NETCON/] ;UNIQUE IDENTIFICATION
6012 015124' 202 01 0 17 777775 MOVEM T1,.ENQUC+ENQJFB ;UNIQUE CODE
6013 015125' 402 00 0 17 777776 SETZM .ENQRS+ENQJFB ;EXCLUSIVE LOCK
6014 015126' 201 01 0 00 000001 MOVEI T1,.ENQAA ;ASK FOR LOCK
6015 015127' 201 02 0 17 777772 MOVEI T2,ENQJFB
6016 015130' 104 00 0 00 000513 ENQ
6017 015131' 334 00 0 00 000000 SKIPA ;NOT AVAILABLE
6018 015132' 254 00 0 00 015044* RETSKP ;GOT IT LOCKED
6019 015133' 302 01 0 00 601062 CAIE T1,ENQX6 ;ALREADY IN USE?
6020 015134' 263 17 0 00 000000 RET ;NO, ERROR
6021 015135' 201 01 0 00 000000 MOVEI T1,.ENQCS ;NOW GET JOB NUMBER OF OWNER
6022 015136' 201 02 0 17 777772 MOVEI T2,ENQJFB
6023 015137' 201 03 0 17 777767 MOVEI T3,ENQJFS ;GET ADR OF STATUS BLOCK
6024 015140' 104 00 0 00 000515 ENQC ;GET STATUS INFO
6025 015141' 263 17 0 00 000000 RET ;FAILED
6026 015142' 550 01 0 17 777767 HRRZ T1,ENQJFS ;GET JOB NUMBER OF OWNER
6027 015143' 561 02 0 00 000004 HRROI T2,T4 ;GET USER NUMBER OF JOB
6028 015144' 201 03 0 00 000002 MOVEI T3,.JIUNO
6029 015145' 104 00 0 00 000507 GETJI
6030 015146' 263 17 0 00 000000 RET ;FAILED
6031 015147' 201 01 0 00 000101 MOVEI T1,.PRIOU
6032 015150' 561 01 0 00 020707' TMSG <NETCON: Another NETCON already in use by >
6033 015151' 104 00 0 00 000076
6034 015152' 561 01 0 17 777757 HRROI T1,ENQJFU ;GET USER NAME
6035 015153' 200 02 0 00 000004 MOVE T2,T4 ;GET USER NUMBER
6036 015154' 104 00 0 00 000041 DIRST
6037 015155' 334 02 0 00 020721' SKIPA T2,[-1,,[ASCIZ/user/]]
6038 015156' 561 01 0 17 777757 HRROI T1,ENQJFU ;GET USER NAME STRING
6039 015157' 104 00 0 00 000076 PSOUT ;OUTPUT THE USER NAME STRING
6040 015160' 561 01 0 00 020722' TMSG < on job >
6041 015161' 104 00 0 00 000076
6042 015162' 201 01 0 00 000101 MOVX T1,.PRIOU ;OUTPUT TO PRIMARY JFN
6043 015163' 550 02 0 17 777767 HRRZ T2,ENQJFS ;NOW OUTPUT THE JOB NUMBER
6044 015164' 201 03 0 00 000012 MOVEI T3,^D10 ;IN DECIMAL
6045 015165' 104 00 0 00 000224 NOUT ;OUTPUT JOB NUMBER
6046 015166' 255 00 0 00 000000 JFCL
6047 015167' 263 17 0 00 000000 RET ;RETURN FAILURE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 134
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6048 ;ROUTINE TO INIT THE PSI SYSTEM
6049 ;
6050 ;ACCEPTS IN T1/ MASK OF CHANNELS TO ENABLE
6051
6052 ;RETURNS +1: ALWAYS
6053
6054 015170' 200 04 0 00 000001 PSIINI::MOVE T4,T1 ;SAVE CHANNELS TO ENABLE
6055 015171' 104 00 0 00 000141 CIS ;CLEAR THE INTERRUPT SYSTEM
6056 015172' 201 01 0 00 400000 MOVEI T1,.FHSLF ;THIS FORK
6057 015173' 200 02 0 00 020724' MOVE T2,[LVTTAB,,CHTTAB]
6058 015174' 104 00 0 00 000125 SIR ;SET UP LEVTAB AND CHNTAB
6059 015175' 200 02 0 00 000004 MOVE T2,T4 ;GET MASK OF CHANNELS TO ENABLE
6060 015176' 104 00 0 00 000131 AIC ;ACTIVATE THE CHANNELS
6061 015177' 104 00 0 00 000126 EIR ;ENABLE THE PI SYSTEM FOR INTERRUPTS
6062 015200' 263 17 0 00 000000 RET ;DONE
6063
6064
6065 ;ROUTINE TO OPEN THE SERVOR JFNS FOR THE NCU
6066
6067 ;RETURNS +1: ERROR
6068 ; +2: SUCCESSFUL
6069
6070 015201' 265 16 0 00 014432' JFNINI: SAVEQ
6071 015202' 205 05 0 00 777774 MOVSI Q1,-NJFN ;GET THE NUMBER OF JFNS DESIRED
6072 015203' 201 01 0 05 000027 JFNLOP: MOVEI T1,JFNCHN(Q1) ;GET CHANNEL NUMBER FOR THIS JFN
6073 015204' 260 17 0 00 015214' CALL GETJFN ;GET A JFN
6074 015205' 254 00 0 00 015211' JRST JFNERR ;FAILED
6075 015206' 202 01 0 05 002007' MOVEM T1,JFNTAB(Q1) ;STORE THE JFN
6076 015207' 253 05 0 00 015203' AOBJN Q1,JFNLOP ;LOOP FOR ALL JFNS
6077 015210' 254 00 0 00 015132* RETSKP ;DONE
6078
6079 015211' 606 05 0 00 777777 JFNERR: TRNN Q1,-1 ;WERE ANY JFNS OPENED OK?
6080 015212' 254 00 0 00 020725' RETBAD .ERR1 ;NO, GIVE ERROR RETURN
6081 015213' 254 00 0 00 015210* RETSKP ;YES, USE THE ONES THAT WERE OPENED
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 135
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6082
6083 ;ROUTINE TO GET A JFN TO SRV:NCU
6084 ;ACCEPTS IN T1/ CHANNEL NUMBER TO ENABLE
6085
6086 015214' 265 16 0 00 015114* GETJFN: STKVAR <GETJFJ,GETJFC>
6087 015215' 000002 000002
6088 015216' 202 01 0 17 777775 MOVEM T1,GETJFC ;SAVE THE CHANNEL NUMBER
6089 015217' 205 01 0 00 000001 MOVX T1,GJ%SHT ;GET A JFN FOR NCU
6090 015220' 561 02 0 00 020727' HRROI T2,[ASCIZ/SRV:NCU/]
6091 015221' 104 00 0 00 000020 GTJFN
6092 015222' 254 00 0 00 014513' RETER2 () ;FAILED
6093 015223' 202 01 0 17 777776 MOVEM T1,GETJFJ ;SAVE THE JFN
6094 015224' 200 02 0 00 017223' MOVE T2,[^D8B5+OF%RD+OF%WR]
6095 015225' 104 00 0 00 000021 OPENF ;OPEN THE LINK
6096 015226' 254 00 0 00 015241' JRST GETJF1 ;FAILED
6097 015227' 200 02 0 17 777775 MOVE T2,GETJFC ;GET INTERRUPT CHANNEL NUMBER
6098 015230' 137 02 0 00 017225' STOR T2,MO%CDN,T3 ;SET UP CONNECT CHANNEL NUMBER
6099 015231' 201 02 0 00 000776 MOVEI T2,.MOCIA ;CLEAR THE UNWANTED INTERRUPTS
6100 015232' 137 02 0 00 017226' STOR T2,MO%INA,T3 ;INTERRUPT MESSAGES
6101 015233' 137 02 0 00 017224' STOR T2,MO%DAV,T3 ;AAND DATA AVAILABLE
6102 015234' 201 02 0 00 000024 MOVEI T2,.MOACN ;NOW CONNECT THE JFN TO AN INTERRUPT
6103 015235' 104 00 0 00 000077 MTOPR
6104 015236' 320 16 0 00 015241' ERJMP GETJF1 ;FAILED
6105 015237' 200 01 0 17 777776 MOVE T1,GETJFJ ;GET THE JFN
6106 015240' 254 00 0 00 015213* RETSKP ;AND RETURN
6107
6108 015241' 250 01 0 17 777776 GETJF1: EXCH T1,GETJFJ ;GET JFN AGAIN
6109 015242' 200 02 0 00 000001 MOVE T2,T1 ;SAVE JFN
6110 015243' 104 00 0 00 000022 CLOSF ;CLOSE IT
6111 015244' 334 01 0 00 000002 SKIPA T1,T2 ;FAILED
6112 015245' 334 00 0 00 000000 SKIPA
6113 015246' 104 00 0 00 000023 RLJFN ;RELEASE IT
6114 015247' 255 00 0 00 000000 JFCL
6115 015250' 200 01 0 17 777776 MOVE T1,GETJFJ ;GET ERROR CODE
6116 015251' 254 00 0 00 014513' RETER2 ()
6117
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 136
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6118
6119 ;ROUTINE TO GET A PID FOR COMMUNICATION WITH ORION
6120
6121 ;RETURNS +1: FAILED
6122 ; +2: OK
6123
6124 015252' 265 16 0 00 014432' PIDINI: SAVEQ ;PRESERVE THE PERMANENT ACS
6125 015253' 201 01 0 00 000003 MOVEI T1,3 ;FIRST, GET THE PID QUOTA
6126 015254' 201 02 0 00 000005 MOVEI T2,Q1
6127 015255' 201 05 0 00 000017 MOVEI Q1,.MUFPQ
6128 015256' 474 06 0 00 000000 SETO Q2, ;FOR THIS JOB
6129 015257' 104 00 0 00 000512 MUTIL ;READ PID QUOTA
6130 015260' 254 00 0 00 015265' JRST PIDIN1 ;FAILED, DONT TRY TO SET IT
6131 015261' 350 00 0 00 000007 AOS Q3 ;RAISE THE QUOTA BY ONE
6132 015262' 201 05 0 00 000016 MOVEI Q1,.MUSPQ ;NOW SET THE QUOTA
6133 015263' 104 00 0 00 000512 MUTIL
6134 015264' 255 00 0 00 000000 JFCL ;IGNORE ERRORS AT THIS STEP
6135 015265' 201 01 0 00 000003 PIDIN1: MOVEI T1,3 ;NOW CREATE A PID
6136 015266' 201 02 0 00 000005 MOVEI T2,Q1
6137 015267' 201 05 0 00 000006 MOVEI Q1,.MUCRE ;THIS PID IS FOR NETCON TO
6138 015270' 201 06 0 00 400000 MOVEI Q2,.FHSLF ; COMMUNICATE WITH ORION
6139 015271' 104 00 0 00 000512 MUTIL
6140 015272' 254 00 0 00 020731' RETER2 (.ERR2) ;FAILED TO GET A PID
6141 015273' 202 07 0 00 002050' MOVEM Q3,PID ;SAVE THIS PID
6142 015274' 201 05 0 00 000022 MOVEI Q1,.MUPIC ;NOW PUT THE PID ON A CHANNEL
6143 015275' 200 06 0 00 002050' MOVE Q2,PID
6144 015276' 201 07 0 00 000000 MOVEI Q3,PIDCHN
6145 015277' 104 00 0 00 000512 MUTIL ;NOW WILL GET INTERRUPTED BY ORION
6146 015300' 254 00 0 00 020733' RETER2 (.ERR4) ;COULD NOT PUT IT ON A CHANNEL
6147 015301' 254 00 0 00 015240* RETSKP ;DONE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 137
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6148 ;NAMINI - ROUTINE TO SET UP NODE NAME, NODE NUMBER, SYSTEM NAME, ETC.
6149
6150 015302' 120 04 0 00 020735' NAMINI: DMOVE T4,[ASCIZ/TOPS20/] ;GET DEFAULT NAME
6151 015303' 124 04 0 00 010025* DMOVEM T4,OURNAM ;SET UP OUR LOCAL NODE NAME
6152 015304' 402 00 0 00 000001 SETZM T1 ;NO OLD BLOCK TO RELEASE
6153 015305' 200 02 0 00 020737' MOVE T2,[POINT 7,[ASCIZ/TOPS20/]] ;GET DEFAULT NAME
6154 015306' 201 03 0 00 000010 MOVX T3,NODLEN ;GET MAX LENGTH OF NAMES
6155 015307' 260 17 0 00 013352' CALL CPYASC ;ASSIGN STRING BLOCK
6156 015310' 254 00 0 00 020740' FATAL.ERROR (.ERR8) ;IF NO RESOURCES SO SOON, MUST FAIL
6157 015311' 202 01 0 00 010604* MOVEM T1,EXCUTR ;SAVE POINTER TO CURRENT EXECUTOR
6158 015312' 200 03 0 00 000001 MOVE T3,T1 ;COPY POINTER TO DESTINATION FOR NODE NAME
6159 015313' 201 02 0 00 000003 MOVEI T2,T3 ;ARGUMENT BLOCK IS IN T3
6160 015314' 201 01 0 00 000001 MOVX T1,.NDGLN ;GET "GET LOCAL NODE NAME" FUNCTION
6161 015315' 104 00 0 00 000567 NODE ;GET OUR NODE NAME
6162 ERJMP [ NON.FATAL.ERROR (.ERR20)
6163 015316' 320 16 0 00 020747' JRST .+1 ] ;RETURN
6164 015317' 561 03 0 00 015303* HRROI T3,OURNAM ;GET LOCAL NAME AGAIN
6165 015320' 104 00 0 00 000567 NODE ; AND SAVE IT AS NAME OF LOCAL NODE
6166 ERJMP [ NON.FATAL.ERROR (.ERR20)
6167 015321' 320 16 0 00 020754' JRST .+1 ] ;CONTINUE
6168 015322' 201 01 0 00 000003 MOVX T1,.NDGNM ;GET LOCAL NODE NUMBER
6169 015323' 201 02 0 00 000003 MOVX T2,T3 ;ARG BLOCK IS IN T3
6170 015324' 104 00 0 00 000567 NODE ;GET OUR NODE NUMBER
6171 ERJMP [ NON.FATAL.ERROR (.ERR20)
6172 015325' 320 16 0 00 020761' JRST .+1 ] ;RETURN
6173 015326' 202 03 0 00 000000* MOVEM T3,OURNUM ;RET
6174
6175 ; GET SYSTEM NAME STRING
6176
6177 015327' 200 01 0 00 020763' MOVE T1,['SYSVER'] ;GET TABLE NAME
6178 015330' 104 00 0 00 000016 SYSGT ;GET TABLE NUMBER
6179 015331' 510 04 0 00 000002 HLLZ T4,T2 ;GET -# OF ENTRIES,,0
6180 015332' 550 03 0 00 000002 HRRZ T3,T2 ;GET TABLE NUMBER
6181
6182 015333' 504 01 0 00 000004 NAM010: HRL T1,T4 ;GET OFFSET INTO TABLE
6183 015334' 540 01 0 00 000003 HRR T1,T3 ;GET TABLE NUMBER
6184 015335' 104 00 0 00 000010 GETAB ;GET PART OF NAME
6185 015336' 320 16 0 00 015027* ERJMP R ;F@ILED
6186 015337' 202 01 0 04 002064' MOVEM T1,SYSNAM(T4) ;STORE TEXT
6187 015340' 253 04 0 00 015333' AOBJN T4,NAM010 ;LOOP OVER ALL ENTRIES IN NAME
6188 015341' 263 17 0 00 000000 RET ;DONE, RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 138
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6189 ;ROUTINE TO SEND A "HELLO" MESSAGE TO ORION
6190
6191 ;RETURNS +1: FAILED
6192 ; +2: DONE
6193
6194 015342' 265 16 0 00 014432' HELLO: SAVEQ ;SAVE PERMANENT ACS
6195 015343' 265 16 0 00 015214* STKVAR <HELLOT>
6196 015344' 000001 000001
6197 015345' 402 00 0 17 777776 SETZM HELLOT ;INITIALIZE RETRY COUNTER
6198 015346' 201 01 0 00 000003 HELLO1: MOVEI T1,3 ;GET THE PID OF ORION
6199 015347' 201 02 0 00 000005 MOVEI T2,Q1
6200 015350' 201 05 0 00 000025 MOVEI Q1,.MURSP ;GET PID FROM SYSTEM PID TABLE
6201 015351' 201 06 0 00 000004 MOVEI Q2,.SPOPR ;GET PID OF ORION
6202 015352' 104 00 0 00 000512 MUTIL
6203 015353' 254 00 0 00 015362' JRST HELLOW ;FAILED, GO WAIT FOR ORION TO START
6204 015354' 202 07 0 00 002051' MOVEM Q3,OPRPID ;SAVE THE PID OF ORION
6205 015355' 201 01 0 00 000004 MOVEI T1,4
6206 015356' 201 02 0 00 015371' MOVEI T2,HMESHD ;NOW SEND THE MESSAGE
6207 015357' 104 00 0 00 000510 MSEND
6208 015360' 254 00 0 00 020764' RETER2 (.ERR3) ;FAILED
6209 015361' 254 00 0 00 015301* RETSKP ;DONE
6210
6211 000002 HSMIN==2 ;MINUTES BETWEEN WARNING MESSAGES
6212 000005 HSSLP==5 ;SECONDS TO SLEEP BETWEEN TRIES
6213
6214 015362' 350 01 0 17 777776 HELLOW: AOS T1,HELLOT ;GET COUNTER OF RETRIES
6215 015363' 231 01 0 00 000030 IDIVI T1,HSMIN*^D60/HSSLP
6216 015364' 336 00 0 00 000002 SKIPN T2 ;TIME FOR A WARNING MESSAGE?
6217 015365' 254 00 0 00 021000' WRNMES <Waiting for ORION to be started>
6218 015366' 201 01 0 00 011610 MOVEI T1,HSSLP*^D1000 ;NOW WAIT A WHILE BEFORE TRYING AGAIN
6219 015367' 104 00 0 00 000167 DISMS
6220 015370' 254 00 0 00 015346' JRST HELLO1 ;GO TRY AGAIN
6221
6222
6223 015371' 300000 400000 HMESHD: IP%CFS!IP%CFR!IP%CFP ;HELLO MESSAGE HEADER
6224 015372' 000000 002050' PID ;POINTER TO SENDERS PID
6225 015373' 000000 002051' OPRPID ;POINTER TO RECEIVERS PID
6226 015374' 000010 015375' HMESL,,HMES ;POINTER TO MESSAGE
6227
6228 015375' HMES:
6229 015375' 000010 200007 HMESL,,.OMAHL ;MESSAGE LENGTH,,TYPE
6230 015376' 000000 000000 0 ;NO FLAGS
6231 015377' 564564 435756 'NETCON' ;ACKNOWLEDGEMENT CODE
6232 015400' 000000 000000 0 ;NO FLAGS AGAIN
6233 015401' 000000 000001 1 ;ONE ARG
6234 015402' 000003 010200 3,,.AHNAM ;3 WORDS,,ARGUMENT NAME STRING
6235 015403' 116 103 120 000 000 ASCIZ/NCP/ ;NAME OF APPLICATION
6236 000010 HMESL==.-HMES+1
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 139
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6237
6238 ;PANIC LEVEL ROUTINES
6239
6240 ;THESE ROUTINES ARE CALLED ON LEVEL 1
6241
6242 DEFINE FATMES (A) <
6243 MOVEM T2,L1SAV2 ;SAVE ALL ACS THAT ARE USED
6244 HRROI T2,[ASCIZ\A\] ;SET UP MESSAGE
6245 JRST FATAL>
6246
6247 015404' 202 02 0 00 000000* PDLOV: FATMES <Push down list overflow>
6248 015405' 561 02 0 00 021003'
6249 015406' 254 00 0 00 015446'
6250
6251 015407' 202 02 0 00 015404* DATERR: FATMES <I/O data error or parity error>
6252 015410' 561 02 0 00 021010'
6253 015411' 254 00 0 00 015446'
6254
6255 015412' 202 02 0 00 015407* ILLMRD: FATMES <Illegal memory read>
6256 015413' 561 02 0 00 021017'
6257 015414' 254 00 0 00 015446'
6258
6259 015415' 202 02 0 00 015412* ILLMWR: FATMES <Illegal memory write>
6260 015416' 561 02 0 00 021023'
6261 015417' 254 00 0 00 015446'
6262
6263 015420' 202 02 0 00 015415* ILLINS: FATMES <Illegal instruction>
6264 015421' 561 02 0 00 021030'
6265 015422' 254 00 0 00 015446'
6266
6267 015423' 260 17 0 00 014406' CRUMP: PIOFF
6268 015424' 202 02 0 00 015420* FATMES <Fatal error>
6269 015425' 561 02 0 00 021034'
6270 015426' 254 00 0 00 015446'
6271
6272 015427' 202 02 0 00 015424* MACHSZ: MOVEM T2,L1SAV2 ;SAVE ALL ACS
6273 015430' 200 02 0 00 006006* MOVE T2,LEV1PC ;GET INTERRUPTED PC
6274 015431' 607 02 0 00 010000 TLNN T2,(1B5) ;CAME FROM USER MODE?
6275 JRST [ HRROI T2,[ASCIZ/Machine size exceeded/]
6276 015432' 254 00 0 00 021044' JRST FATAL]
6277 015433' 202 01 0 00 000000* MOVEM T1,L1SAV1 ;SAVE ACS
6278 015434' 202 03 0 00 000000* MOVEM T3,L1SAV3
6279 015435' 202 04 0 00 000000* MOVEM T4,L1SAV4
6280 015436' 254 00 0 00 021062' WRNMES <Machine size exceeded, attempting recovery...>
6281 015437' 201 01 0 00 072460 MOVEI T1,^D30*^D1000 ;SLEEP FOR 30 SECONDS
6282 015440' 104 00 0 00 000167 DISMS
6283 015441' 200 01 0 00 015433* MOVE T1,L1SAV1 ;MAYBE THE CONDITION HAS GONE AWAY
6284 015442' 200 02 0 00 015427* MOVE T2,L1SAV2
6285 015443' 200 03 0 00 015434* MOVE T3,L1SAV3
6286 015444' 200 04 0 00 015435* MOVE T4,L1SAV4
6287 015445' 104 00 0 00 000136 DEBRK ;TRY AGAIN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 140
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6288
6289 015446' 202 01 0 00 015441* FATAL: MOVEM T1,L1SAV1 ;SAVE THE ACS
6290 015447' 202 03 0 00 015443* MOVEM T3,L1SAV3
6291 HRROI T1,[ASCIZ/
6292 015450' 561 01 0 00 021065' ? NETCON: /]
6293 015451' 104 00 0 00 000076 PSOUT
6294 015452' 200 01 0 00 000002 MOVE T1,T2 ;GET MESSAGE TO BE TYPED
6295 015453' 104 00 0 00 000076 PSOUT ;TYPE IT OUT
6296 015454' 561 01 0 00 021070' HRROI T1,[ASCIZ/ at location: /]
6297 015455' 104 00 0 00 000076 PSOUT
6298 015456' 201 01 0 00 000101 MOVEI T1,.PRIOU ;NOW OUTPUT THE PC
6299 015457' 550 02 0 00 015430* HRRZ T2,LEV1PC ;GET THE PC
6300 015460' 201 03 0 00 000010 MOVEI T3,10 ;OCTAL
6301 015461' 104 00 0 00 000224 NOUT
6302 015462' 255 00 0 00 000000 JFCL
6303 HRROI T1,[ASCIZ/
6304 015463' 561 01 0 00 020632' (/]
6305 015464' 104 00 0 00 000076 PSOUT
6306 015465' 201 01 0 00 000101 MOVEI T1,.PRIOU ;NOW PUT OUT THE MONITOR ERROR MESSAGE
6307 015466' 525 02 0 00 400000 HRLOI T2,.FHSLF
6308 015467' 400 03 0 00 000000 SETZ T3,
6309 015470' 104 00 0 00 000011 ERSTR
6310 015471' 255 00 0 00 000000 JFCL
6311 SKIPA T1,[-1,,[ASCIZ/Unknown monitor error code)
6312 015472' 334 01 0 00 021101' /]]
6313 HRROI T1,[ASCIZ/)
6314 015473' 561 01 0 00 021102' /]
6315 015474' 104 00 0 00 000076 PSOUT
6316 015475' 200 01 0 00 015446* MOVE T1,L1SAV1 ;RESTORE ACS
6317 015476' 200 02 0 00 015442* MOVE T2,L1SAV2
6318 015477' 200 03 0 00 015447* MOVE T3,L1SAV3
6319 015500' 104 00 0 00 000170 HALTF ;BOMB!
6320 015501' 254 00 0 00 005740' JRST NETCON
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 141
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6321
6322 ;NETCON ERROR CODES
6323
6324 500000 ERRCD0==500000 ;STARTING ERROR CODE VALUE
6325
6326 DEFINE ERCOD <
6327 XLIST
6328 ERR .ERR1,<Could not open any JFNs for the NCU task>
6329 ERR .ERR2,<Could not create a PID for receiving ORION messages>
6330 ERR .ERR3,<Could not send "HELLO" message to ORION>
6331 ERR .ERR4,<Could not set up PID interrupt channel>
6332 ERR .ERR5,<No more free pages available>
6333 ERR .ERR6,<Attempt to return an illegal page address>
6334 ERR .ERR7,<Attempt to return a page that is already on the free list>
6335 ERR .ERR8,<No more free space available>
6336 ERR .ERR9,<Attempt to return a free block outside the free pool area>
6337 ERR .ERR10,<Attempt to return space already marked as in the free pool>
6338 ERR .ERR11,<ORION is not running>
6339 ERR .ERR12,<Failed to successfully send a message to OPR>
6340 ERR .ERR13,<Unimplemented NETCON command>
6341 ERR .ERR14,<Unknown internal NETCON message type>
6342 ERR .ERR15,<Exhausted table space for the known nodes>
6343 ERR .ERR16,<All server JFNs in use>
6344 ERR .ERR17,<NCU process halted prematurely>
6345 ERR .ERR18,<Unknown message type received from ORION>
6346 ERR .ERR19,<JSYS error>
6347 ERR .ERR20,<Could not get name of local node>
6348 ERR .ERR21,<Could not log line counters for communications line>
6349 ERR .ERR22,<Could not initiate Logging Process>
6350 ERR .ERR23,<Invalid line-id>
6351 ERR .ERR24,<Could not open file>
6352 ERR .ERR25,<Bad data in load file>
6353 ERR .ERR26,<Could not initiate automatic dump/load>
6354 ERR .ERR27,<Could not obtain network topology>
6355 ERR .ERR28,<Could not set up topology change server links>
6356 ERR .ERR29,<SYERR JSYS failed creating SYSERR entry>
6357 ERR .ERR30,<Free pool chain sequencing error, blocks not sorted correctly>
6358 LIST
6359 > ;END OF ERCOD DEFINITION
6360
6361 DEFINE ERR (A,B) <
6362 IF1 <IFDEF A,<PRINTX Error code "A" is multiply defined>>
6363 A==:ZZ
6364 [ASCIZ\B\]
6365 ZZ==ZZ+1>
6366
6367 500000 ZZ==ERRCD0
6368
6369 015502' ERRTAB: ERCOD
6370 000036 ERRTBL==.-ERRTAB
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 142
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6371
6372 ;CHANNEL AND PSI DATA BASE
6373
6374 015540' 000000000000# LVTTAB: LEV1PC ;LEVEL 1 PC
6375 015541' 000000000000# LEV2PC ;LEVEL 2 PC
6376 015542' 000000000000# LEV3PC ;LEVEL 3 PC
6377
6378 015543' CHTTAB:
6379 000000 PIDCHN==0 ;INTERRUPT CHANNEL FOR IPCF MESSAGES
6380 015543' 000002 013404' PIDLVL,,PIDINT ;0
6381 000001 JFDCHN==1 ;1 - NJFN ARE FOR NCU DATA INTERRUPTS
6382
6383 000000 ZZ==0
6384 REPEAT NJFN,<
6385 DEFINE CHNBLD (A)<
6386 LALL
6387 JFDLVL,,JFD'A
6388 SALL
6389 >
6390 CHNBLD (\ZZ)
6391 ZZ==ZZ+1>
6392
6393 015544' 000003 013544' JFDLVL,,JFD0
6394 SALL
6395
6396 015545' 000003 013554' JFDLVL,,JFD1
6397 SALL
6398
6399 015546' 000003 013564' JFDLVL,,JFD2
6400 SALL
6401
6402 015547' 000003 013574' JFDLVL,,JFD3
6403 SALL
6404 000004
6405
6406 015550' BLOCK 8-NJFN ;UNUSED CHANNELS
6407 015554' 000001 015404' 1,,PDLOV ;9 - PDL OVERFLOWS
6408 015555' 000000 000000 0 ;10 - UNUSED
6409 015556' 000001 015407' 1,,DATERR ;11 - IO DATA ERRORS AND PARITY ERRORS
6410 015557' BLOCK 3 ;12-14 UNUSED
6411 015562' 000001 015420' 1,,ILLINS ;15 - ILLEGAL INSTRUCTION
6412 015563' 000001 015412' 1,,ILLMRD ;16 - ILLEGAL MEMORY READ
6413 015564' 000001 015415' 1,,ILLMWR ;17 - ILLEGAL MEMORY WRITE
6414 015565' 000000 000000 0 ;18 - UNUSED
6415 015566' 000002 013715' FKTLVL,,FRKTER ;19 - FORK TERMINATION
6416 015567' 000001 015427' 1,,MACHSZ ;20 - MACHINE SIZE EXCEEDED
6417 015570' BLOCK 2 ;21-22 - UNUSED
6418
6419 000027 JFNCHN==^D23 ;START OF JFN INTERRUPT CHANNELS
6420 IFL <^D8-NJFN>,<PRINTX NUMBER OF NCU JFNS EXCEEDED CHANNEL SPACE>
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 143
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6421 000000 ZZ==0
6422 REPEAT NJFN,<
6423 DEFINE CHNBLD (A)<
6424 LALL
6425 JFNLVL,,JFN'A
6426 SALL
6427 >
6428 CHNBLD (\ZZ)
6429 ZZ==ZZ+1>
6430
6431 015572' 000002 013504' JFNLVL,,JFN0
6432 SALL
6433
6434 015573' 000002 013514' JFNLVL,,JFN1
6435 SALL
6436
6437 015574' 000002 013524' JFNLVL,,JFN2
6438 SALL
6439
6440 015575' 000002 013534' JFNLVL,,JFN3
6441 SALL
6442 000004
6443
6444 000033 TOPCHN==JFNCHN+NJFN
6445 000000 ZZ=0
6446 REPEAT TOPMAX,<
6447 DEFINE CHNBLD (A)<
6448 LALL
6449 TOPLVL,,TOP'A
6450 SALL
6451 >
6452 CHNBLD (\ZZ)
6453 ZZ=ZZ+1>
6454
6455 015576' 000002 013604' TOPLVL,,TOP0
6456 SALL
6457
6458 015577' 000002 013614' TOPLVL,,TOP1
6459 SALL
6460 000002
6461
6462
6463 000035 ATOCHN==TOPCHN+TOPMAX ;CHANNEL FOR TOPOLOGY CHANGE INTERRUPT
6464 015600' 000002 013635' TOPLVL,,ATO0 ; FROM THE MONITOR
6465
6466 000036 HCKCHN==ATOCHN+1
6467 015601' 000002 013624' HCKLVL,,HCKINT ;Channel for topology polling TIMER
6468 ; interrupts
6469
6470 015602' BLOCK ^D35-HCKCHN-1 ;Rest of interrupt table
6471
6472 000032 JFNCHB==JFNCHN-1+NJFN ;BIT POSITION
6473 000017 JFNCHM==<-1_-<^D36-NJFN>> ;MASK
6474 000004 JFDCHB==JFDCHN-1+NJFN ;BIT POSITION
6475 000017 JFDCHM==<-1_-<^D36-NJFN>> ;BIT MASK
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 143-1
NCP MAC 5-Oct-81 16:46 Routines to Parse and Rebuild Commands from OPR
6476 000034 TOPCHB==TOPCHN-1+TOPMAX ;BIT POSITION
6477 000003 TOPCHM==<-1_-<^D36-TOPMAX>> ;MASK
6478 000035 ATOCHB==ATOCHN ;BIT POSITION
6479 000001 ATOCHM==1 ;MASK
6480
6481
6482 400507 300000 FIXCHN==1B<PIDCHN>!1B9!1B11!1B15!1B16!1B17!1B19!1B20
6483 360000 017140 VARCHN==<JFNCHM>B<JFNCHB>!<JFDCHM>B<JFDCHB>!<ATOCHM>B<ATOCHB>!1b<HCKCHN>
6484
6485 015606' 760507 317140 ONCHNS: FIXCHN!VARCHN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 144
NCP MAC 5-Oct-81 16:46 Routines to Manipulate the Database
6486 SUBTTL Routines to Manipulate the Database
6487
6488
6489 ;ADDNOD - ROUTINE TO ADD A NODE TO THE LIST OF KNOWN NODES
6490 ;
6491 ;ACCEPTS IN T1/ POINTER TO ASCIZ NAME OF NEW NODE
6492 ; CALL ADDNOD
6493 ;RETURNS: +1 FAILURE, INSUFFICIENT RESOURCES FOR ANOTHER NODE
6494 ; +2 SUCCESS, WITH T1/ ADDRESS OF NODE INFORMATION BLOCK
6495
6496 015607' 265 16 0 00 015343* ADDNOD: STKVAR <STNNOD,STNNIB>
6497 015610' 000002 000002
6498 015611' 200 02 0 00 000001 MOVE T2,T1 ;COPY STRING TO A FREE BLOCK
6499 015612' 201 01 0 00 000000 MOVEI T1,0 ;NO PREVIOUS STRING BLOCK
6500 015613' 201 03 0 00 000010 MOVEI T3,NODLEN ;STRING IS A NODE NAME
6501 015614' 260 17 0 00 013352' CALL CPYASC ;COPY THE STRING
6502 015615' 263 17 0 00 000000 RETBAD () ;FAILED
6503
6504 ; STORE THE ASCIZ NODE NAME IN THE STRING AREA
6505
6506 015616' 271 01 0 00 000001 ADDI T1,1 ;POINT TO THE ACTUAL TEXT
6507 015617' 202 01 0 17 777776 MOVEM T1,STNNOD ;SAVE ADDRESS OF NODE NAME IN STRING AREA
6508
6509 ; ALLOCATE A NEW NODE INFORMATION BLOCK AND ADD NODE TO NODE TABLE
6510
6511 015620' 260 17 0 00 015717' CALL SETNIB ;GO GET ADDRESS OF NEXT FREE NIB
6512 015621' 254 00 0 00 015635' JRST ADDNO1 ;RETURN FAILURE, NO NIB'S AVAILABLE
6513 015622' 202 01 0 17 777775 MOVEM T1,STNNIB ;SAVE ADDRESS OF NEW NIB
6514 015623' 540 02 0 00 000001 HRR T2,T1 ;GET NIB ADDRESS (DATA PART OF TABLE ENTRY)
6515 015624' 504 02 0 17 777776 HRL T2,STNNOD ;GET ADDRESS OF ASCIZ NODE NAME
6516 015625' 201 01 0 00 015110* MOVEI T1,NODTAB ;GET ADDRESS OF NODE TABLE
6517 015626' 104 00 0 00 000536 TBADD ;ADD THE NODE TO THE TABLE
6518 015627' 320 16 0 00 015635' ERJMP ADDNO1 ;FAILED, RETURN ERROR
6519
6520 ; INITIALIZE THE NEW NODE INFORMATION BLOCK AND RETURN
6521
6522 015630' 200 01 0 17 777775 MOVE T1,STNNIB ;GET ADDRESS OF NEW NIB TO INITIALIZE
6523 015631' 200 02 0 17 777776 MOVE T2,STNNOD ;GET ADDRESS OF ASCIZ NODE NAME
6524 015632' 260 17 0 00 015735' CALL NIBINI ;GO INITIALIZE THE NEW NIB
6525 015633' 200 01 0 17 777775 MOVE T1,STNNIB ;GET ADDRESS OF NODE INFORMATION BLOCK
6526 015634' 254 00 0 00 015361* RETSKP ;RETURN SUCCESS
6527
6528
6529 015635' 200 01 0 17 777776 ADDNO1: MOVE T1,STNNOD ;GET POINTER TO NODE NAME STRING
6530 015636' 260 17 0 00 014115' CALL RELFRE ;RELEASE IT
6531 015637' 254 00 0 00 016623' FATAL.ERROR ;COULDNT RELEASE IT
6532 015640' 254 00 0 00 016736' RETBAD (.ERR15) ;NO MORE ROOM FOR NODE NAME
6533
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 145
NCP MAC 5-Oct-81 16:46 Routines to Manipulate the Database
6534 ;FOCLIN - ROUTINE TO FIND OR CREATE AN ENTRY IN A LINE ADJACENCY TABLE
6535 ;
6536 ;ACCEPTS IN T1/ ADDRESS OF NIB
6537 ; T2/ LINE ID
6538 ; CALL FOCLIN
6539 ;RETURNS: +1 FAILED, COULD NOT FIND OR CREATE ENTRY
6540 ; +2 SUCCESS, WITH T1/ ADDRESS OF ENTRY IN LINE ADJACENCY TABLE
6541
6542 015641' 265 16 0 00 015607* FOCLIN: STKVAR <FCLNIB,<FCLLIN,2>,FCLFRE>
6543 015642' 000004 000004
6544
6545 ; SEE IF THERE IS ALREADY AN ENTRY FOR THIS LINE
6546
6547 015643' 402 00 0 17 777773 SETZM FCLFRE ;INITIALIZE FIRST FREE ENTRY
6548 015644' 200 01 0 01 000006 LOAD T1,NDLIN,(T1) ;GET ADDRESS OF LINE ADJACENCY TABLE
6549 015645' 205 04 0 00 777773 MOVSI T4,-MXLNOD ;SET UP TO LOOP OVER EACH ENTRY IN THE TABLE
6550 015646' 200 16 0 01 000002 FCL010: JN LTUSE,(T1),FCL015 ;IF THIS ENTRY IN USE, GO SEE WHICH LINE IT IS
6551 015647' 321 16 0 00 015653'
6552 015650' 336 00 0 17 777773 SKIPN FCLFRE ;FREE ENTRY, ANY PREVIOUS FREE ENTRIES FOUND ?
6553 015651' 202 01 0 17 777773 MOVEM T1,FCLFRE ;NO, SAVE ENTRY ADDRESS
6554 015652' 254 00 0 00 015657' JRST FCL020 ;GO CHECK NEXT ENTRY IN TABLE
6555 015653' 316 02 0 01 000000 FCL015: CAMN T2,0(T1) ;TYPE AND CONTROLLER NUMBER COMPARE ?
6556 015654' 312 03 0 01 000001 CAME T3,1(T1) ; AND ALSO UNIT NUMBER AND STATION ADDRESS ?
6557 015655' 334 00 0 00 000000 SKIPA ;NO, GO CHECK NEXT ENTRY
6558 015656' 254 00 0 00 015634* RETSKP ;FOUND DESIRED ENTRY, RETURN WITH T1/ ENTRY ADR
6559 015657' 271 01 0 00 000004 FCL020: ADDI T1,LATSIZ ;FORM ADDRESS OF NEXT ENTRY IN TABLE
6560 015660' 253 04 0 00 015646' AOBJN T4,FCL010 ;LOOP OVER ALL ENTRIES IN TABLE
6561 015661' 200 01 0 17 777773 MOVE T1,FCLFRE ;NOT FOUND, GET ADDRESS OF A FREE ENTRY
6562 015662' 124 02 0 01 000000 DMOVEM T2,(T1) ;STORE LINE ID IN NEW ENTRY
6563 015663' 205 16 0 00 400000 SETONE LTUSE,(T1) ;MARK THAT THIS ENTRY IS NOW IN USE
6564 015664' 436 16 0 01 000002
6565 015665' 254 00 0 00 015656* RETSKP ;AND RETURN WITH T1/ ENTRY ADDRESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 146
NCP MAC 5-Oct-81 16:46 Routines to Manipulate the Database
6566 ;ROUTINE TO FIND OR CREATE AN ENTRY IN THE PGM TABLE
6567
6568 ;ACCEPTS IN T1/ DEVICE TYPE CODE
6569 ; T2/ CPU TYPE CODE
6570 ; T3/ PROGRAM TYPE
6571 ; CALL FOCPGM
6572 ;RETURNS +1: COULD NOT CREATE AN ENTRY
6573 ; +2: T1/ ADR OF ENTRY IN PGM TABLE
6574
6575 015666' 265 16 0 00 014432' FOCPGM: SAVEQ ;SAVE SOME ACS
6576 015667' 400 06 0 00 000000 SETZ Q2, ;INITIALIZE POINTER TO FIRST FREE ENTRY
6577 015670' 200 05 0 00 020702' MOVE Q1,[-MAXPGM,,PGMTAB]
6578 015671' 554 04 0 05 000000 FOCPG1: LOAD T4,PGLDV,(Q1) ;CHECK DEVIVE TYPE
6579 015672' 312 01 0 00 000004 CAME T1,T4 ;FOUND A MATCH?
6580 015673' 254 00 0 00 015704' JRST FOCPG2 ;NO, STEP TO NEXT ENTRY
6581 015674' 550 04 0 05 000000 LOAD T4,PGCPU,(Q1) ;CHECK CPU TYPE
6582 015675' 312 02 0 00 000004 CAME T2,T4 ;FOUND A MATCH?
6583 015676' 254 00 0 00 015707' JRST FOCPG3 ;NO
6584 015677' 554 04 0 05 000001 LOAD T4,PGPGM,(Q1) ;CHECK PROGRAM TYPE
6585 015700' 312 03 0 00 000004 CAME T3,T4 ;FOUND A MATCH?
6586 015701' 254 00 0 00 015707' JRST FOCPG3 ;NO
6587 015702' 550 01 0 00 000005 HRRZ T1,Q1 ;YES, RETURN THIS ADDRESS IN T1
6588 015703' 254 00 0 00 015665* RETSKP
6589
6590 015704' 326 06 0 00 015707' FOCPG2: JUMPN Q2,FOCPG3 ;SEEN A FREE ENTRY YET?
6591 015705' 306 04 0 00 777777 CAIN T4,.PGFRE ;NO, IS THIS ONE FREE?
6592 015706' 550 06 0 00 000005 HRRZ Q2,Q1 ;YES, REMEMBER THIS ENTRY
6593 015707' 271 05 0 00 000002 FOCPG3: ADDI Q1,PGLEN-1 ;STEP TO NEXT ENTRY
6594 015710' 253 05 0 00 015671' AOBJN Q1,FOCPG1 ;...
6595 015711' 322 06 0 00 015336* JUMPE Q2,R ;SEARCHED WHOLE TABLE, ANY FREE SLOTS?
6596 015712' 506 01 0 06 000000 STOR T1,PGLDV,(Q2) ;YES, CREATE THIS ENTRY
6597 015713' 542 02 0 06 000000 STOR T2,PGCPU,(Q2) ;STORE THE DEVICE AND CPU TYPES
6598 015714' 506 03 0 06 000001 STOR T3,PGPGM,(Q2) ;STORE THE PROGRAM TYPE
6599 015715' 550 01 0 00 000006 HRRZ T1,Q2 ;RETURN THE ADDRESS IN T1
6600 015716' 254 00 0 00 015703* RETSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 147
NCP MAC 5-Oct-81 16:46 Routines to Manipulate the Database
6601 ;SETNIB - ROUTINE TO ALLOCATE THE NEXT FREE NODE INFORMATION BLOCK
6602 ;
6603 ;CALL: CALL SETNIB
6604 ;RETURNS: +1 FAILURE, NO MORE NIB'S AVAILABLE
6605 ; +2 SUCCESS, WITH T1/ ADDRESS OF NODE INFORMATION BLOCK
6606
6607 015717' 350 01 0 00 015111* SETNIB: AOS T1,NXTNIB ;GET NUMBER OF NEXT AVAILABLE NIB
6608 015720' 301 01 0 00 000062 CAIL T1,MAXNOD ;ANY MORE AVAILABLE ?
6609 015721' 263 17 0 00 000000 RET ;NO, RETURN FAILURE
6610 015722' 202 01 0 00 015717* MOVEM T1,NXTNIB ;YES, STORE NUMBER OF LAST NIB USED
6611 015723' 221 01 0 00 000022 IMULI T1,NIBSIZ ;COMPUTE STARTING ADDRESS OF THIS NIB
6612 015724' 271 01 0 00 002164' ADDI T1,NIBTAB ;FORM STARTING ADDRESS OF THE NEW NIB
6613 015725' 254 00 0 00 015716* RETSKP ;RETURN SUCCESS
6614
6615
6616 ;SETLTB - ROUTINE TO ALLOCATE A LINE TABLE
6617 ;
6618 ;CALL: CALL SETLTB
6619 ;RETURNS: +1 FAILURE, NO MORE LINE TABLES AVAILABLE
6620 ; +2 SUCCESS, WITH T1/ ADDRESS OF LINE TABLE
6621
6622 015726' 350 01 0 00 015112* SETLTB: AOS T1,NXTLIN ;GET NUMBER OF NEXT AVAILABLE LINE TABLE
6623 015727' 301 01 0 00 000062 CAIL T1,MAXLIN ;ANY MORE AVAILABLE ?
6624 015730' 263 17 0 00 000000 RET ;NO, RETURN FAILURE
6625 015731' 202 01 0 00 015726* MOVEM T1,NXTLIN ;YES, STORE NUMBER OF LAST LINE TABLE USED
6626 015732' 221 01 0 00 000024 IMULI T1,LINSIZ ;COMPUTE STARTING ADDRESS OF THIS LINE TABLE
6627 015733' 271 01 0 00 003770' ADDI T1,ADJTAB ;FORM STARTING ADDRESS OF THE NEW LINE TABLE
6628 015734' 254 00 0 00 015725* RETSKP ;RETURN SUCCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 148
NCP MAC 5-Oct-81 16:46 Routines to Manipulate the Database
6629 ;NIBINI - ROUTINE TO INITIALIZE A NODE INFORMATION BLOCK
6630 ;
6631 ;ACCEPTS IN T1/ ADDRESS OF NODE INFORMATION BLOCK
6632 ; T2/ ADDRESS OF ASCIZ NODE NAME
6633 ; CALL NIBINI
6634 ;RETURNS: +1 ALWAYS, WITH NIB INITIALIZED
6635
6636 015735' 265 16 0 00 015641* NIBINI: STKVAR <NBINIB>
6637 015736' 000001 000001
6638 015737' 202 01 0 17 777776 MOVEM T1,NBINIB ;SAVE ADDRESS OF NIB
6639 015740' 514 04 0 00 000001 HRLZ T4,T1 ;GET STARTING ADDRESS OF NIB
6640 015741' 541 04 0 01 000001 HRRI T4,1(T1) ;GET DESTINATION ADDRESS FOR BLT
6641 015742' 402 00 0 01 000000 SETZM (T1) ;ZERO THE FIRST WORD OF THE NIB
6642 015743' 251 04 0 01 000021 BLT T4,NIBSIZ-1(T1) ;INITIALIZE THE NIB
6643 015744' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;SET UP A POINTER TO THE NODE NAME
6644 015745' 202 02 0 01 000007 STOR T2,NDNAM,(T1) ;STORE POINTER TO NODE NAME IN THE NIB
6645 015746' 202 02 0 01 000014 STOR T2,NDPNA,(T1) ;STORE NAME NODE SHOULD USE ON BEING LOADED
6646 015747' 200 02 0 00 021461' move t2,[point 7,ournam] ;get pointer to our node name
6647 015750' 202 02 0 01 000016 STOR T2,NDPHT,(T1) ;STORE POINTER TO DEFAULT HOST FOR LOADS
6648 015751' 553 00 0 01 000000 SETZRO NDFLG,(T1) ;INITIALIZE THE FLAGS FOR THIS NODE
6649 015752' 523 00 0 01 000010 SETONE NDPRO,(T1) ;NOTE THAT NO PROTOCOL HAS BEEN DECLARED YET
6650 015753' 476 00 0 01 000015 setone ndpnu,(t1) ;no default node number
6651 015754' 205 16 0 00 040000 SETONE NDFRD,(T1) ;FORCE AUTO DUMP
6652 015755' 436 16 0 01 000000
6653 015756' 205 16 0 00 020000 SETONE NDFRL,(T1) ;FORCE AUTO LOAD
6654 015757' 436 16 0 01 000000
6655 015760' 260 17 0 00 015726' CALL SETLTB ;GET ADDRESS OF A LINE TABLE
6656 015761' 263 17 0 00 000000 RET ;FAILED, RETURN ERROR
6657 015762' 200 04 0 17 777776 MOVE T4,NBINIB ;GET ADDRESS OF NIB BEING INITIALIZED
6658 015763' 202 01 0 04 000006 STOR T1,NDLIN,(T4) ;STORE ADDRESS OF LINE TABLE FOR THIS NIB
6659 015764' 263 17 0 00 000000 RET ;RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 149
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6660 SUBTTL AUTO DUMP/LOAD ROUTINES
6661
6662 ;DMPLOD - AUTO DUMP AND LOAD OF NODES
6663
6664 ;ACCEPTS:
6665
6666 ;RETURNS: +1,ERROR
6667 ; +2,OTHERWISE
6668
6669 015765' 265 16 0 00 015735* DMPLOD: STKVAR<DMPTOP,DMPHLD>
6670 015766' 000002 000002
6671
6672 ; GET CURRENT TOPOLOGY FROM MONITOR
6673
6674 015767' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE FOR TOPOLOGY INFORMATION
6675 015770' 263 17 0 00 000000 RETBAD ;NO SPACE - ERROR
6676 015771' 202 02 0 17 777776 MOVEM T2,DMPTOP ;SAVE ADDRESS OF PAGE BUFFER
6677 015772' 260 17 0 00 016061' CALL TOPLGY ;GET CURRENT NETWORK TOPOLOGY
6678 015773' 254 00 0 00 016055' JRST DMPERR ;FAILED, GO RELEASE ASSIGNED PAGE
6679 015774' 402 00 0 17 777775 SETZM DMPHLD ;GET READY TO GET FIRST NIB
6680 ;...
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 150
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6681 ;...
6682
6683 ; LOOP THROUGH ALL NIB'S. FOR EACH NIB NOT IN TOPOLGY DUMP/LOAD AS INDICATED
6684
6685 015775' 200 01 0 17 777775 DMPLOP: MOVE T1,DMPHLD ;GET NIB ADDRESS
6686 015776' 260 17 0 00 016067' CALL GTNXNB ;GET NEXT NIB
6687 015777' 254 00 0 00 016055' JRST DMPERR ;ERROR - FAIL
6688 016000' 322 01 0 00 016051' JUMPE T1,DMPEND ;JUMP IF LOOKED AT ALL NIBS
6689 016001' 202 01 0 17 777775 MOVEM T1,DMPHLD ;SAVE NIB ADDRESS
6690 016002' 200 02 0 17 777776 MOVE T2,DMPTOP ;ADDRESS OF TOPOLOGY DATA
6691 016003' 260 17 0 00 016112' CALL CHKNIB ;SEE IF NIB IS IN TOPOLOGY
6692 016004' 254 00 0 00 015775' JRST DMPLOP ;YES - TRY NEXT NIB
6693
6694 ; FOUND A NIB NOW PROCESS DUMP COMMAND
6695
6696 016005' 200 01 0 17 777775 MOVE T1,DMPHLD ;GET NIB ADDRESS
6697 016006' 200 16 0 01 000000 JN NDDIP,(T1),ATOLOD ;JUMP IF DUMP IN PROGRESS FOR THIS NIB
6698 016007' 603 16 0 00 002000
6699 016010' 254 00 0 00 016030'
6700 016011' 200 16 0 01 000000 JN NDLIP,(T1),ATOLOD ;JUMP IF LOAD IN PROGRESS FOR THIS NIB
6701 016012' 603 16 0 00 001000
6702 016013' 254 00 0 00 016030'
6703 016014' 200 16 0 01 000000 JE NDDOK,(T1),ATOLOD ;JUMP IF NOT RESPONSIBLE FOR THIS NODE
6704 016015' 607 16 0 00 000400
6705 016016' 254 00 0 00 016030'
6706 016017' 200 16 0 01 000000 JE NDFRD,(T1),ATOLOD ;IF BIT NDFRD IS ZERO => NO DUMPING
6707 016020' 607 16 0 00 040000
6708 016021' 254 00 0 00 016030'
6709 016022' 205 16 0 00 002000 SETONE NDDIP,(T1) ;SET DUMP IN PROGRESS
6710 016023' 436 16 0 01 000000
6711 016024' 200 01 0 01 000007 LOAD T1,NDNAM,(T1) ;GET POINTER TO NODE NAME
6712 016025' 201 02 0 00 000021 MOVEI T2,.DNDMP ;TELL SNDCMD TO DO A DUMP COMMAND
6713 016026' 260 17 0 00 016130' CALL SNDCMD ;GO SEND THE DUMP COMMAND
6714 016027' 255 00 0 00 000000 JFCL ;ERROR - TRY LOAD WITHOUT DUMPING
6715
6716 ; PROCESS LOAD COMMAND
6717
6718 016030' 200 01 0 17 777775 ATOLOD: MOVE T1,DMPHLD ;GET NIB ADDRESS
6719 016031' 200 16 0 01 000000 JN NDLIP,(T1),DMPLOP ;JUMP IF LOAD IN PROGRESS FOR THIS NIB
6720 016032' 603 16 0 00 001000
6721 016033' 254 00 0 00 015775'
6722 016034' 200 16 0 01 000000 JE NDDOK,(T1),DMPLOP ;JUMP IF NOT RESPONSIBLE FOR THIS NODE
6723 016035' 607 16 0 00 000400
6724 016036' 254 00 0 00 015775'
6725 016037' 200 16 0 01 000000 JE NDFRL,(T1),DMPLOP ;IF BIT NDFRL IS ZERO => NO LOADING
6726 016040' 607 16 0 00 020000
6727 016041' 254 00 0 00 015775'
6728 016042' 205 16 0 00 001000 SETONE NDLIP,(T1) ;SET LOAD IN PROGRESS
6729 016043' 436 16 0 01 000000
6730 016044' 200 01 0 01 000007 LOAD T1,NDNAM,(T1) ;GET POINTER TO NODE NAME
6731 016045' 201 02 0 00 000042 MOVEI T2,.DNLOA ;TELL SNDCMD TO DO A LOAD COMMAND
6732 016046' 260 17 0 00 016130' CALL SNDCMD ;GO SEND THE LOAD COMMAND
6733 016047' 254 00 0 00 016055' JRST DMPERR ;ERROR - FAIL
6734 016050' 254 00 0 00 015775' JRST DMPLOP ;AND LOOP ON ALL NIB'S
6735
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 150-1
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6736 016051' 200 01 0 17 777776 DMPEND: MOVE T1,DMPTOP ;GET TOPOLOGY PAGE ADDRESS
6737 016052' 260 17 0 00 014267' CALL RELPGA ;AND RELEASE
6738 016053' 263 17 0 00 000000 RETBAD ;ERROR - FAIL
6739 016054' 254 00 0 00 015734* RETSKP
6740
6741 016055' 200 01 0 17 777776 DMPERR: MOVE T1,DMPTOP ;GET TOPOLOGY PAGE ADDRESS
6742 016056' 260 17 0 00 014267' CALL RELPGA ;AND RELEASE
6743 016057' 263 17 0 00 000000 RETBAD ;ERROR - FAIL
6744 016060' 263 17 0 00 000000 RETBAD
6745
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 151
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6746
6747 ;TOPLGY - ROUTINE TO GET THE CURRENT NETWORK TOPOLOGY
6748 ;
6749 ;ACCEPTS IN T2/ ADDRESS OF BUFFER IN WHICH TO PUT TOPOLOGY
6750 ; CALL TOPLGY
6751 ;RETURNS: +1 FAILED
6752 ; +2 SUCCESS, TOPOLOGY FILLED IN
6753
6754 016061' 201 01 0 00 000010 TOPLGY: MOVEI T1,.NDGNT ;GET NETWORK TOPOLGY FUNCTION
6755 016062' 201 03 0 00 001000 MOVEI T3,1000 ;LET IT USE THE WHOLE PAGE
6756 016063' 202 03 0 02 000000 MOVEM T3,.NDNND(T2) ;INTO BLOCK
6757 016064' 104 00 0 00 000567 NODE
6758 016065' 320 16 0 00 015711* ERJMP R ;FAILED, RETURN ERROR
6759 016066' 254 00 0 00 016054* RETSKP ;DONE, RETURN TOPOLOGY
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 152
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6760 ;GTNXNB - GET NEXT NIB
6761
6762 ;ACCEPTS: T1/ 0 - START AT THE TOP
6763 ; ADDRESS - OF NIB
6764
6765 ;RETURNS: +1, ERROR
6766 ; +2, OTHERWISE
6767 ; T1/ 0 - NO MORE NIBS
6768 ; ADDRESS OF NEXT NIB
6769
6770 016067' 326 01 0 00 016074' GTNXNB: JUMPN T1,GTNXT1 ;IF NON-ZERO THEN GET THE NEXT NIB
6771
6772 ; HERE TO GET THE FIRST NIB
6773
6774 016070' 554 01 0 00 015625* HLRZ T1,NODTAB ;GET THE CURRENT LENGTH
6775 016071' 332 00 0 00 000001 SKIPE T1 ;SKIP IF NO NIB'S
6776 016072' 550 01 0 00 000000# HRRZ T1,NODTAB+1 ;GET ADDRESS OF FIRST NIB
6777 016073' 254 00 0 00 016066* RETSKP ;RETURN
6778
6779 ; HERE TO GET OTHER THAN FIRST NIB
6780
6781 016074' 200 02 0 01 000007 GTNXT1: LOAD T2,NDNAM,(T1) ;GET ASCIZ NODE NAME
6782 016075' 201 01 0 00 016070* MOVEI T1,NODTAB ;POINT TO TABLE OF NODE NAMES
6783 016076' 104 00 0 00 000537 TBLUK ;FIND THE ENTRY
6784 016077' 320 16 0 00 016677' ERJMP [RETBAD] ;ERROR - RETURN
6785 016100' 607 02 0 00 040000 TXNN T2,TL%EXM ;EXACT MATCH
6786 016101' 263 17 0 00 000000 RETBAD ;NO - DISASTER
6787 016102' 201 03 0 01 000001 MOVEI T3,1(T1) ;BUMP TO NEXT ITEM
6788 016103' 554 02 0 00 016075* HLRZ T2,NODTAB ;SEE IF NEXT ONE EXISTS
6789 016104' 271 02 0 00 016103* ADDI T2,NODTAB ;POINT TO END OF TABLE
6790 016105' 550 01 0 03 000000 HRRZ T1,(T3) ;GET NIB ADDRESS
6791 016106' 317 03 0 00 000002 CAMG T3,T2 ;ARE WE AT THE END
6792 016107' 254 00 0 00 016073* RETSKP ;NO - RETURN NEXT NIB
6793 016110' 402 00 0 00 000001 SETZM T1 ;YES - SHOW ALL HAVE BEEN RETURNED
6794 016111' 254 00 0 00 016107* RETSKP
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 153
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6795
6796 ;CHKNIB - CHECK FOR NIB BEING IN TOPOLOGY
6797
6798 ;ACCEPTS: T1/ ADDRESS OF NIB
6799 ; T2/ ADDRESS OF NODE JSYS .NDGNT INFORMATION
6800
6801 ;RETURNS: +1, NIB IN TOPOLOGY
6802 ; +2, NIB NOT IN TOPOLOGY
6803
6804 016112' 265 16 0 00 014432' CHKNIB: SAVEQ
6805 016113' 201 05 0 02 000002 MOVEI Q1,.NDBK1(T2) ;POINT TO START OF BLOCK ADDRESSES
6806 016114' 554 02 0 02 000000 HLRZ T2,.NDNND(T2) ;GET COUNT OF NODES IN PAGE
6807 016115' 322 02 0 00 016065* JUMPE T2,R ;NO NODES - SHOW BY RETURN
6808 016116' 213 00 0 00 000002 MOVNS T2 ;BUILD THE AOBJN COUNT
6809 016117' 504 05 0 00 000002 HRL Q1,T2 ;...
6810 016120' 200 06 0 01 000007 LOAD Q2,NDNAM,(T1) ;MOVE NIB NAME POINTER
6811
6812 ; HERE TO SEE IF NIB IS IN THE TOPOLOGY
6813
6814 016121' 200 01 0 00 000006 CHKLOP: MOVE T1,Q2 ;MOVE FOR JSYS
6815 016122' 200 02 0 05 000000 MOVE T2,0(Q1) ;GET ADDRESS OF NODE BLOCK
6816 016123' 200 02 0 02 000000 MOVE T2,.NDNAM(T2) ;GET POINTER TO NODE NAME
6817 016124' 104 00 0 00 000540 STCMP ;DO THEY MATCH?
6818 016125' 322 01 0 00 016115* JUMPE T1,R ;JUMP IF YES
6819 016126' 253 05 0 00 016121' AOBJN Q1,CHKLOP ;KEEP LOOKING
6820 016127' 254 00 0 00 016111* RETSKP ;NOT THERE.
6821
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 154
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6822 ;SNDCMD - BUILD AND SEND AN ORION TYPE COMMAND
6823
6824 ;ACCEPTS: T1/ POINTER TO ASCIZ NODE NAME
6825 ; T2/ .DNDMP/.DNLOA (FUNCTION CODE FOR DUMP OR LOAD)
6826
6827 ;RETURNS: +1,ERROR
6828 ; +2,OTHERWISE, T1/ADDRESS OF PAGE TO BE SENT TO ORION
6829
6830 016130' 265 16 0 00 015765* SNDCMD: STKVAR <SNDNAM,SNDHLD,SNDFNC,<SNDBLK,4>>
6831 016131' 000007 000007
6832 016132' 202 11 0 17 777775 MOVEM P2,SNDHLD ;SAVE
6833 016133' 202 01 0 17 777776 MOVEM T1,SNDNAM ;SAVE THE POINTER TO THE NAME
6834 016134' 202 02 0 17 777774 MOVEM T2,SNDFNC ;SAVE THE COMMAND FUNCTION
6835 016135' 260 17 0 00 014234' CALL ASGPAG ;GET A PAGE FOR THE ORION MESSAGE
6836 016136' 263 17 0 00 000000 RETBAD ;NO SPACE - ERROR
6837 016137' 201 04 0 00 200050 MOVEI T4,.OMCMD ;TELL NETCON IT'S AN OPR COMMAND MESSAGE
6838 016140' 542 04 0 02 000000 STOR T4,MS.TYP,.MSTYP(T2) ;STORE IN PAGE
6839 016141' 201 04 0 00 000200 MOVEI T4,200 ;[4001]SET COMMAND MESSAGE LENGTH
6840 016142' 506 04 0 02 000000 STOR T4,MS.CNT,.MSTYP(T2) ;[4001]TOO LARGE VALUE < PAGE
6841 016143' 402 00 0 02 000002 SETZM .MSCOD(T2) ;ZERO OPR IDENTIFIER
6842 016144' 201 04 0 00 000100 MOVEI T4,100 ;PUT COMMANDS 100 LOCATIONS INTO PAGE
6843 016145' 202 04 0 02 000007 MOVEM T4,COM.PB(T2) ;PUT IN PROPER FIELD
6844 016146' 201 11 0 02 000100 MOVEI P2,100(T2) ;POINT TO COMMAND AREA
6845
6846 ; BUILT HEADER INFO - NOW START BUILDING COMMANDS. BUILD DUMP/LOAD
6847
6848 016147' 201 01 0 00 000000 MOVEI T1,.CMKEY ;INDICATE IT'S A KEY WORD
6849 016150' 542 01 0 11 000000 STOR T1,PBTYP ;INTO TYPE FIELD
6850 016151' 250 02 0 17 777774 EXCH T2,SNDFNC ;SAVE PAGE ADDRESS - GET FUNCTION TYPE
6851 016152' 202 02 0 11 000001 STOR T2,PBVAL ;SAVE THE DUMP/LOAD FUNCTION
6852 016153' 201 01 0 00 000002 MOVEI T1,2 ;LENGTH OF BLOCK
6853 016154' 506 01 0 11 000000 STOR T1,PBLEN ;INTO IT'S FIELD
6854 016155' 270 11 0 00 000001 ADD P2,T1 ;BUMP BASE REG
6855
6856 ; DUMP/LOAD REMOTE
6857
6858 016156' 201 01 0 00 000000 MOVEI T1,.CMKEY ;INDICATE IT'S A KEY WORD
6859 016157' 542 01 0 11 000000 STOR T1,PBTYP ;INTO TYPE FIELD
6860 016160' 201 02 0 00 000055 MOVEI T2,.DNNOD ;FUNCTION CODE IS REMOTE
6861 016161' 202 02 0 11 000001 STOR T2,PBVAL ;SAVE
6862 016162' 201 01 0 00 000002 MOVEI T1,2 ;LENGTH OF BLOCK
6863 016163' 506 01 0 11 000000 STOR T1,PBLEN ;INTO IT'S FIELD
6864 016164' 270 11 0 00 000001 ADD P2,T1 ;BUMP BASE REG
6865
6866 ; DUMP/LOAD REMOTE node name
6867
6868 016165' 201 01 0 00 000026 MOVEI T1,.CMNOD ;INDICATE IT'S A KEY WORD
6869 016166' 542 01 0 11 000000 STOR T1,PBTYP ;INTO TYPE FIELD
6870 016167' 200 02 0 17 777776 MOVE T2,SNDNAM ;GET POINTER TO NODE NAME
6871 016170' 561 01 0 11 000001 HRROI T1,.PBVAL(P2) ;POINT TO WHERE WE WANT IT TO GO
6872 016171' 400 03 0 00 000000 SETZ T3, ;COPY WHOLE STRING
6873 016172' 104 00 0 00 000053 SOUT
6874 ERJMP [MOVE T1,SNDFNC ;ERROR - FREE PAGE
6875 CALL RELPGA
6876 NON.FATAL.ERROR
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 154-1
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6877 016173' 320 16 0 00 021462' RETBAD]
6878 016174' 201 01 0 00 000016 MOVEI T1,<<MAXNOD+12>/5>+2 ;INDICATE MAX LENGTH
6879 016175' 506 01 0 11 000000 STOR T1,PBLEN ;SAVE IN COMMAND BLOCK
6880 016176' 270 11 0 00 000001 ADD P2,T1 ;ADD TO BASE
6881 ;...
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 155
NCP MAC 5-Oct-81 16:46 AUTO DUMP/LOAD ROUTINES
6882
6883 ;...
6884
6885 ; ADD CONFIRMATION TO LINE
6886
6887 016177' 201 01 0 00 000010 MOVEI T1,.CMCFM ;GET CRLF CODE
6888 016200' 542 01 0 11 000000 STOR T1,PBTYP ;INTO TYPE FIELD
6889 016201' 201 01 0 00 000002 MOVEI T1,2 ;LENGTH OF BLOCK
6890 016202' 506 01 0 11 000000 STOR T1,PBLEN ;INTO IT'S FIELD
6891 016203' 201 02 0 17 777770 MOVEI T2,SNDBLK ;POINT TO IPCF PDB
6892
6893 ; BUILT COMMAND - NOW SEND TO NETCON
6894
6895 016204' 201 01 0 00 200000 MOVX T1,IP%CFV ;SEND TO NETCON - A WHOLE PAGE
6896 016205' 202 01 0 02 000000 MOVEM T1,.IPCFL(T2) ;INTO PDB
6897 016206' 200 01 0 00 002050' MOVE T1,PID ;GET OUR PID
6898 016207' 202 01 0 02 000001 MOVEM T1,.IPCFS(T2) ;INTO PDB
6899 016210' 202 01 0 02 000002 MOVEM T1,.IPCFR(T2) ;INTO PDB
6900 016211' 200 01 0 17 777774 MOVE T1,SNDFNC ;GET PAGE ADDRESS
6901 016212' 242 01 0 00 777767 LSH T1,-^D9 ;MAKE INTO PAGE NUMBER
6902 016213' 505 01 0 00 001000 HRLI T1,1000 ;SHOW IT AS A PAGE MESSAGE
6903 016214' 202 01 0 02 000003 MOVEM T1,.IPCFP(T2) ;INTO PDB
6904 016215' 201 01 0 00 000004 MOVEI T1,4 ;LENGTH OF PDB
6905 016216' 104 00 0 00 000510 MSEND ;SEND THE COMMAND
6906 RETER2 (.ERR12,<MOVE T1,SNDFNC
6907 CALL RELPGA
6908 016217' 254 00 0 00 021466' NON.FATAL.ERROR()>)
6909 016220' 200 01 0 17 777774 MOVE T1,SNDFNC ;GET PAGE TO RELEASE
6910 016221' 260 17 0 00 014267' CALL RELPGA ;RELEASE IT
6911 016222' 260 17 0 00 014473' NON.FATAL.ERROR
6912 016223' 254 00 0 00 016127* RETSKP ;SUCCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 156
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
6913 SUBTTL Network Topology Monitoring Routines
6914
6915 ;PRUNE - ROUTINE TO PRUNE THE TOPOLOGY OF NODES NO LONGER PRESENT
6916 ;
6917 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME FROM WHICH UPDATED INFO CAME
6918 ; T2/ ADDRESS OF UPDATED NODE LIST FROM THAT NODE
6919 ; CALL PRUNE
6920 ;RETURNS: +1 ALWAYS, TOPOLOGY TABLES UPDATED
6921
6922 016224' 265 16 0 00 014444' PRUNE: SAVEPQ
6923 016225' 265 16 0 00 013352* ASUBR <PRUNOD,PRUNEW,PRUOLD>
6924
6925 ; SET UP TO LOOP OVER EACH NODE IN THE OLD NODE LIST
6926
6927 016226' 200 01 0 15 000001 MOVE T1,PRUNOD ;GET POINTER TO NAME OF SOURCE NODE
6928 016227' 260 17 0 00 016325' CALL FNDLST ;GO GET THIS NODE'S OLD NODE LIST
6929 016230' 263 17 0 00 000000 RET ;NO LIST-- NO NODES TO PRUNE
6930 016231' 202 01 0 15 000003 MOVEM T1,PRUOLD ;SAVE ADDRESS OF OLD NODE LIST
6931 016232' 554 10 0 01 000000 HLRZ P1,(T1) ;GET NUMBER OF ITEMS IN NODE LIST
6932 016233' 210 10 0 00 000010 MOVN P1,P1 ;GET -NUMBER OF ITEMS
6933 016234' 204 10 0 00 000010 MOVS P1,P1 ;GET -NUMBER OF ITEMS,,0
6934 016235' 541 10 0 01 000001 HRRI P1,1(T1) ;FORM AOBJN POINTER TO OLD NODE LIST
6935
6936 ; LOOP OVER EACH NODE IN THE OLD NODE LIST
6937
6938 016236' 200 01 0 15 000002 PRU020: MOVE T1,PRUNEW ;GET ADDRESS OF NEW NODE LIST
6939 016237' 554 02 0 10 000000 HLRZ T2,(P1) ;GET ADDRESS OF NODE NAME FROM OLD LIST
6940 016240' 505 02 0 00 440700 HRLI T2,(POINT 7,) ;FORM POINTER TO NODE NAME FROM OLD LIST
6941 016241' 260 17 0 00 016247' CALL REMOVE ;REMOVE FROM TOPOLOGY IF NEEDED
6942 016242' 253 10 0 00 016236' AOBJN P1,PRU020 ;NO, CHECK NEXT NODE IN OLD LIST
6943
6944 ; REPLACE THE OLD NODE LIST WITH THE NEW NODE LIST
6945
6946 016243' 200 01 0 15 000003 MOVE T1,PRUOLD ;GET ADDRESS OF OLD NODE LIST
6947 016244' 200 02 0 15 000002 MOVE T2,PRUNEW ;GET ADDRESS OF NEW NODE LIST
6948 016245' 260 17 0 00 016276' CALL SWPLST ;GO REPLACE OLD LIST WITH NEW LIST
6949 016246' 263 17 0 00 000000 RET ;DONE, RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 157
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
6950
6951 ;REMOVE - ROUTINE TO REMOVE A NODE FROM THE TOPOLOGY TABLES
6952 ;
6953 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME TO REMOVE
6954 ; CALL REMOVE
6955 ;RETURNS: +1 ALWAYS
6956
6957 016247' 265 16 0 00 016225* REMOVE: ASUBR <RMVNOD>
6958
6959 ; REMOVE THE NODE FROM THE MONITOR'S DATABASE
6960
6961 016250' 200 01 0 15 000001 MOVE T1,RMVNOD ;GET POINTER TO ASCIZ NODE NAME
6962 016251' 260 17 0 00 016255' CALL MONDEL ;DELETE THE NODE FROM MONITOR
6963
6964 ; SEE IF ANY OTHER NODES MUST ALSO BE DELETED
6965
6966 016252' 200 01 0 15 000001 MOVE T1,RMVNOD ;GET POINTER TO ASCIZ NODE NAME
6967 016253' 260 17 0 00 016333' CALL TSTTOP ;DOES THIS NODE HAVE A NODE LIST ?
6968 016254' 263 17 0 00 000000 RET ;NO, SO NO OTHER NODES TO DELETE
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 158
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
6969
6970 ;MONDEL - ROUTINE TO DELETE A NODE FROM THE MONITOR'S DATABSE
6971 ;
6972 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
6973 ; CALL MONDEL
6974 ;RETURNS: +1 ALWAYS
6975
6976 016255' 265 16 0 00 016130* MONDEL: STKVAR <<MNDBLK,20>>
6977 016256' 000020 000020
6978 016257' 201 02 0 17 777757 MOVEI T2,MNDBLK ;GET ADDRESS OF ARGUMENT BLOCK
6979 016260' 201 04 0 00 000001 MOVEI T4,1 ;ONE NODE TO REMOVE
6980 016261' 202 04 0 02 000000 MOVEM T4,.NDNND(T2) ;STORE NUMBER OF NODE BLOCKS
6981 016262' 201 04 0 00 000003 MOVEI T4,.NDNBS ;GET SIZE OF A NODE BLOCK
6982 016263' 202 04 0 02 000001 MOVEM T4,.NDCNT(T2) ;SAVE IN ARG BLOCK
6983 016264' 201 04 0 02 000003 MOVEI T4,.NDBK1+1(T2) ;GET ADDRESS OF THE NODE BLOCK
6984 016265' 202 04 0 02 000002 MOVEM T4,.NDBK1(T2) ;STORE IN ARG BLOCK
6985 016266' 202 01 0 04 000000 MOVEM T1,.NDNAM(T4) ;STORE POINTER TO NODE NAME
6986 016267' 201 03 0 00 000001 MOVEI T3,.NDSOF ;STATE IS NOW OFF
6987 016270' 202 03 0 04 000001 MOVEM T3,.NDSTA(T4) ;STORE STATE INDICATING "REMOVE NODE FROM LIST"
6988 016271' 402 00 0 04 000002 SETZM .NDNXT(T4) ;NO SOURCE NODE NAME
6989 016272' 201 01 0 00 000007 MOVEI T1,.NDSNT ;GET "SET NETWORK TOPOLOGY" FUNCTION
6990 016273' 104 00 0 00 000567 NODE ;REMOVE NODE FROM TABLE OF KNOWN NODES
6991 016274' 320 16 0 00 016125* ERJMP R ;FAILED
6992 016275' 263 17 0 00 000000 RET ;DONE, RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 159
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
6993
6994 ;SWPLST - ROUTINE TO REPLACE AN OLD NODE LIST WITH A NEW NODE LIST
6995 ;
6996 ;ACCEPTS IN T1/ ADDRESS OF OLD NODE LIST
6997 ; T2/ ADDRESS OF NEW NODE LIST
6998 ; T3/ POINTER TO ASCIZ NODE NAME
6999 ; CALL SWPLST
7000 ;RETURNS: +1 ALWAYS, NEW LIST SAVED AND OLD LIST RELEASED
7001
7002 016276' 265 16 0 00 016247* SWPLST: ASUBR <SWLOLD,SWLNEW,SWLNOD,SWLENT>
7003
7004 ; DELETE OLD LIST AND RELEASE THE SPACE
7005
7006 016277' 200 16 0 00 021472' LOCK TOPTAB ;LOCK THE MASTER TABLE OF LISTS
7007 016300' 260 17 0 00 014336'
7008 016301' 200 01 0 00 002005' MOVE T1,TOPTAB ;GET ADDRESS OF TABLE OF NODE LISTS
7009 016302' 200 02 0 15 000003 MOVE T2,SWLNOD ;GET POINTER TO NODE NAME
7010 016303' 104 00 0 00 000535 TBDEL ;DELETE THE ENTRY
7011 016304' 320 16 0 00 016311' ERJMP SWL010 ;FAILED, JUST INSERT NEW LIST
7012 016305' 200 01 0 15 000001 MOVE T1,SWLOLD ;GET ADDRESS OF OLD LIST
7013 016306' 275 01 0 00 000001 SUBI T1,1 ;POINT TO BLOCK HEADER
7014 016307' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE LIST
7015 016310' 254 00 0 00 016623' FATAL.ERROR ;FAILED
7016
7017 ; STORE THE NEW NODE LIST
7018
7019 016311' 200 04 0 15 000003 SWL010: MOVE T4,SWLNOD ;GET POINTER TO ASCIZ NODE NAME
7020 016312' 133 00 0 00 000004 IBP T4 ;INCREMENT AND DECREMENT THE POINTER IN
7021 016313' 211 03 0 00 000001 MOVNI T3,1 ; CASE IT WAS POINTING TO THE WORD JUST
7022 016314' 133 03 0 00 000004 ADJBP T3,T4 ; BEFORE THE NAME.
7023 016315' 514 02 0 00 000003 HRLZ T2,T3 ;GET ADR OF NAME,,0
7024 016316' 540 02 0 15 000002 HRR T2,SWLNEW ;GET ADDRESS OF NEW NODE LIST
7025 016317' 200 01 0 00 002005' MOVE T1,TOPTAB ;GET ADDRESS OF TABLE OF NODE LISTS
7026 016320' 104 00 0 00 000536 TBADD ;PUT THE NEW NODE LIST IN THE TABLE
7027 016321' 320 16 0 00 016322' ERJMP .+1 ;FAILED
7028 016322' 200 16 0 00 021472' UNLOCK TOPTAB ;UNLOCK THE TABLE
7029 016323' 260 17 0 00 014351'
7030 016324' 254 00 0 00 016223* RETSKP ;DONE, RETURN
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 160
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7031
7032 ;FNDLST - ROUTINE TO FIND A NODE'S NODE LIST
7033 ;
7034 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
7035 ; CALL FNDLST
7036 ;RETURNS: +1 FAILED, NODE NOT IN TOPTAB
7037 ; +2 SUCCESS, WITH T1/ ADDRESS OF NODE LIST
7038
7039 016325' 200 02 0 00 000001 FNDLST: MOVE T2,T1 ;COPY POINTER TO NODE NAME
7040 016326' 201 01 0 00 002005' MOVEI T1,TOPTAB ;GET ADDRESS OF NODE LIST TABLE
7041 016327' 104 00 0 00 000537 TBLUK ;FIND THE ENTRY FOR THIS NODE
7042 016330' 320 16 0 00 016274* ERJMP R ;FAILED, CANNOT RETURN NODE LIST
7043 016331' 550 01 0 01 000000 HRRZ T1,(T1) ;GET ADDRESS OF NODE LIST FOR THIS NODE
7044 016332' 254 00 0 00 016324* RETSKP ;DONE, RETURN SUCCESS
7045 ;TSTTOP - ROUTINE TO SEE IF A NODE IS IN TOPTAB
7046 ;
7047 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
7048 ; CALL TSTTOP
7049 ;RETURNS: +1 NODE NOT IN TOPTAB
7050 ; +2 NODE IS IN TOPTAB AND HAS ITS OWN NODE LIST
7051
7052 ; A NODE IS PLACE INTO TOPTAB WHEN NETCON SUCCESSFULLY GETS A NODE
7053 ; LIST FROM THE TOPOLOGY TASK IN THE NODE.
7054
7055 016333' 200 02 0 00 000001 TSTTOP: MOVE T2,T1 ;COPY POINTER TO ASCIZ NODE NAME
7056 016334' 201 01 0 00 002005' MOVEI T1,TOPTAB ;TOPTAB IS ITSELF JUST A NODE LIST
7057 016335' 260 17 0 00 016340' CALL NODCHK ;IS THE SPECIFIED NODE IN TOPTAB ?
7058 016336' 254 00 0 00 016332* RETSKP ;NODE IS IN TOPTAB
7059 016337' 263 17 0 00 000000 RET ;NODE IS NOT IN TOPTAB
7060 ;NODCHK - ROUTINE TO CHECK TO SEE IF A NODE IS IN A NODE LIST
7061 ;
7062 ;ACCEPTS IN T1/ ADDRESS OF NODE LIST
7063 ; T2/ POINTER TO ASCIZ NODE NAME TO CHECK
7064 ; CALL NODCHK
7065 ;RETURNS: +1 NODE IS IN THE NODE LIST
7066 ; +2 NODE IS NOT IN THE NODE LIST
7067
7068 016340' 104 00 0 00 000537 NODCHK: TBLUK ;SEE IF THE NODE IS IN THE NODE LIST
7069 016341' 320 16 0 00 016336* ERJMP RSKP ;FAILED, ASSUME NOT IN LIST
7070 016342' 607 03 0 00 040000 TXNN T3,TL%EXM ;EXACT MATCH ?
7071 016343' 254 00 0 00 016341* RETSKP ;NO, NOT IN LIST
7072 016344' 263 17 0 00 000000 RET ;YES, NODE IS IN THE NODE LIST
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 161
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7073
7074 ;TOPCHK - ROUTINE TO DETERMINE IF TOPOLOGY MONITORING SHOULD BE
7075 ; INITIATED TO A SPECIFIED NODE.
7076 ;
7077 ;ACCEPTS IN T1/ POINTER TO ASCIZ NODE NAME
7078 ; CALL TOPCHK
7079 ;RETURNS: +1 DO NOT INITIATE TOPOLOGY MONITORING
7080 ; +2 NODE IS ADJACENT DN20, INITIATE TOPOLOGY MONITORING
7081
7082 016345' 265 16 0 00 016276* TOPCHK::ASUBR <CKTNOD>
7083
7084 ; GET THE SPECIFIED NODE'S NIB
7085
7086 016346' 200 01 0 15 000001 MOVE T1,CKTNOD ;GET POINTER TO ASCIZ NODE NAME
7087 016347' 260 17 0 00 006100* CALL GETNIB ;GET THE NODE INFORMATION BLOCK
7088 016350' 263 17 0 00 000000 RETBAD () ;FAILED, RETURN "DO NOT INITIATE"
7089
7090 ; SEE IF MONITORING SHOULD BE STARTED BASED ON WHETHER OR NOT THE
7091 ; SPECIFIED NODE IS A DN20.
7092
7093 016351' 200 01 0 01 000011 LOAD T1,NDSRV,(T1) ;GET POINTER TO ASCIZ SERVER NODE NAME
7094 016352' 561 02 0 00 015317* HRROI T2,OURNAM ;GET POINTER TO OUR NODE NAME
7095 016353' 104 00 0 00 000540 STCMP ;ARE WE THE SERVER FOR THIS NODE ?
7096 016354' 320 16 0 00 016330* ERJMP R ;FAILED, RETURN "DO NOT INTITIATE"
7097 016355' 322 01 0 00 016343* JUMPE T1,RSKP ;WE ARE THE SERVER, INITIATE MONITORING
7098 016356' 263 17 0 00 000000 RET ;WE ARE NOT SERVER, MUST NOT BE A DN20
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 162
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7099
7100 ;MONINI - ROUTINE TO INITIALIZE NETWORK TOPOLOGY MONITORING FROM A NODE
7101 ;
7102 ;ACCEPTS IN T1/ POINTER TO NODE NAME
7103 ; CALL MONINI
7104 ;RETURNS: +1 FAILED
7105 ; +2 SUCCESS
7106
7107 016357' 265 16 0 00 016345* MONINI::ASUBR <MNINOD,MNIIDX,MNIPAG,MNIERR>
7108 016360' 265 16 0 00 016255* STKVAR <<MNIHLD,2>,MNIHST,MNILST,MNILNK>
7109 016361' 000005 000005
7110
7111 ; CONNECT A LOGICAL LINK TO THE TOPOLOGY CHANGE NOTIFIER TASK
7112
7113 016362' 200 01 0 15 000001 MOVE T1,MNINOD ;GET POINTER TO NODE NAME
7114 016363' 260 17 0 00 016445' CALL TOPLNK ;GET LINK TO TASK
7115 016364' 263 17 0 00 000000 RET ;FAILED
7116 016365' 202 01 0 17 777772 MOVEM T1,MNILNK ;SAVE DCN: LINK TO TOPOLOGY TASK IN DN20
7117
7118 ; SEND THE REQUEST FOR TOPOLOGY CHANGE NOTIFICATIONS
7119
7120 016366' 200 01 0 17 777772 MOVE T1,MNILNK ;GET DCN: LINK TO TOPOLOGY TASK
7121 016367' 200 02 0 00 021475' MOVE T2,[ POINT 8,[ BYTE(8) .TPREQ, .TPVER, 1, 0, 0 ]]
7122 016370' 211 03 0 00 000005 MOVNI T3,5 ;FIVE BYTES
7123 016371' 104 00 0 00 000532 SOUTR ;SEND REQUEST
7124 ERJMP [MOVE T1,MNILNK ;FAILED, GET DCN: LINK TO TOPOLOGY TASK
7125 TXO T1,CZ%ABT ;DO ABORT CLOSE
7126 CLOSF ;RELEASE THE LINK
7127 NON.FATAL.ERROR
7128 016372' 320 16 0 00 021500' RETBAD (.NRNCE)] ;RETURN FAILURE
7129
7130 ; RECEIVE THE RESPONSE FROM THE TOPOLOGY CHANGE TASK
7131
7132 016373' 200 01 0 17 777772 MOVE T1,MNILNK ;GET DCN: LINK TO TOPOLOGY TASK
7133 016374' 200 02 0 15 000001 MOVE T2,MNINOD ;GET POINTER TO ASCIZ NODE NAME
7134 016375' 260 17 0 00 016403' CALL RCVTOP ;GET & PROCESS REPLY FROM TOPOLOGY TASK
7135 JRST [ MOVE T1,MNILNK ;FAILED, GET DCN: LINK TO TOPOLOGY TASK
7136 TXO T1,CZ%ABT ;DO ABORT CLOSE
7137 CLOSF ;RELEASE THE LINK
7138 NON.FATAL.ERROR
7139 016376' 254 00 0 00 021500' RETBAD (.NRNCE)] ;RETURN FAILURE
7140
7141 ; RELEASE THE DCN: LINK TO THE TOPOLOGY TASK
7142
7143 016377' 200 01 0 17 777772 MOVE T1,MNILNK ;GET DCN: LOGICAL LINK
7144 016400' 104 00 0 00 000022 CLOSF ;RELEASE THE LINK
7145 016401' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
7146
7147 ; RETURN TO CALLER
7148
7149 016402' 254 00 0 00 016355* RETSKP ;DONE, RETURN SUCCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 163
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7150
7151 ;RCVTOP - ROUTINE TO RECEIVE AND PROCESS REPLY FROM TOPOLOGY TASK
7152 ;
7153 ;ACCEPTS IN T1/ JFN OF DCN: LINK TO TOPOLOGY TASK
7154 ; T2/ POINTER TO ASCIZ NODE NAME
7155 ; CALL RCVTOP
7156 ;RETURNS: +1 FAILED
7157 ; +2 SUCCESS, MONITOR ADVISED OF TOPOLOGY INFO
7158
7159 016403' 265 16 0 00 016357* RCVTOP: ASUBR <RTPLNK,RTPHST,RTPPAG,RTPERR>
7160
7161 ; ASSIGN A PAGE FOR RECEIPT OF REPLY MSG FROM TOPOLOGY TASK
7162
7163 016404' 260 17 0 00 014234' CALL ASGPAG ;GET SPACE FOR THE RESPONSE
7164 016405' 263 17 0 00 000000 RETBAD () ;FAILED
7165 016406' 202 02 0 15 000003 MOVEM T2,RTPPAG ;SAVE PAGE NUMBER
7166
7167 ; RECEIVE THE REPLY MESSAGE CONTAINING THE TOPOLOGY INFO
7168
7169 016407' 200 01 0 15 000001 MOVE T1,RTPLNK ;GET DCN: LINK TO TOPOLOGY TASK
7170 016410' 200 02 0 15 000003 MOVE T2,RTPPAG ;GET ADDRESS OF MESSAGE PAGE
7171 016411' 505 02 0 00 441000 HRLI T2,(POINT 8,) ;FORM POINTER TO WHERE DATA IS TO GO
7172 016412' 211 03 0 00 004000 MOVNI T3,4000 ;MAX ONE PAGE OF DATA
7173 016413' 104 00 0 00 000531 SINR ;GET TOPOLOGY TASK'S REPLY
7174 016414' 320 16 0 00 016437' ERJMP RTPINX ;FAILED, GO RELEASE ASSIGNED PAGE
7175
7176 ; PARSE INITIAL PART OF REPLY FROM TOPOLOGY TASK
7177
7178 016415' 201 02 0 03 004000 MOVEI T2,4000(T3) ;COMPUTE NUMBER OF BYTES IN RESPONSE
7179 016416' 200 01 0 15 000003 MOVE T1,RTPPAG ;GET PAGE ADDRESS WHERE DATA IS
7180 016417' 505 01 0 00 441000 HRLI T1,(POINT 8,) ;FORM POINTER TO RESPONSE
7181 016420' 260 17 0 00 016574' CALL CHKTOP ;GO CHECK INITIAL PART OF TOPOLOGY MESSAGE
7182 016421' 254 00 0 00 016437' JRST RTPINX ;FAILED, GO CLEAN UP
7183
7184 ; ADVISE MONITOR OF TOPOLOGY AS PER REMAINDER OF MESSAGE
7185
7186 016422' 200 03 0 15 000002 MOVE T3,RTPHST ;GET POINTER TO ASCIZ NODE NAME
7187 016423' 260 17 0 00 013765* CALL ADVTOP ;ADVISE MONITOR OF NEW NODES IN NETWORK
7188 016424' 254 00 0 00 016437' JRST RTPINX ;FAILED
7189 016425' 261 17 0 00 000001 PUSH P,T1 ;Save address of node topology table
7190 016426' 260 17 0 00 016514' CALL UPDNOD ;Update monitor's list for deleted nodes
7191 JRST [POP P,T1 ; Get node table address
7192 EXCH T1,TOPTAB ; Save address of node list
7193 CALL TOPFRE ; Release old topology table
7194 016427' 254 00 0 00 021505' JRST RTPINX] ; Failed to update monitor's list
7195 016430' 262 17 0 00 000001 POP P,T1 ;Get node table address back
7196 016431' 250 01 0 00 002005' EXCH T1,TOPTAB ;Save address of node list
7197 016432' 260 17 0 00 013773* CALL TOPFRE ;Release the old topology table
7198
7199 ; RELEASE PAGE USED FOR MESSAGE
7200
7201 016433' 200 01 0 15 000003 MOVE T1,RTPPAG ;GET PAGE ADDRESS
7202 016434' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
7203 016435' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
7204
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 163-1
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7205 ; RETURN SUCCESS
7206
7207 016436' 254 00 0 00 016402* RETSKP ;DONE, RETURN
7208
7209 ; HERE ON AN ERROR - RELEASE PAGE FOR MESSAGE AND RETURN FAILURE
7210
7211 016437' 202 01 0 15 000004 RTPINX: MOVEM T1,RTPERR ;SAVE ERROR CODE
7212 016440' 200 01 0 15 000003 MOVE T1,RTPPAG ;GET PAGE NUMBER
7213 016441' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
7214 016442' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
7215 016443' 200 01 0 15 000004 MOVE T1,RTPERR ;RESTORE ERROR CODE
7216 016444' 263 17 0 00 000000 RET ;FAIL
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 164
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7217 ;TOPLNK - ROUTINE TO GET A LOGICAL LINK TO THE TOPOLOGY CHANGE NOTIFIER TASK
7218 ;
7219 ;ACCEPTS IN T1/ POINTER TO NODE NAME
7220 ; CALL TOPLNK
7221 ;RETURNS: +1 FAILED
7222 ; +2 SUCCESS, WITH T1/ JFN FOR DCN: LOGICAL LINK
7223
7224 016445' 265 16 0 00 014444' TOPLNK: SAVEPQ
7225 016446' 265 16 0 00 016360* STKVAR <TPLNOD,<TPLSTR,20>,TPLLNK>
7226 016447' 000022 000022
7227
7228 ; GET A LOGICAL LINK TO THE TOPOLOGY TASK ON THE INDICATED NODE
7229
7230 016450' 202 01 0 17 777776 MOVEM T1,TPLNOD ;SAVE POINTER TO NODE NAME
7231 016451' 561 01 0 17 777756 HRROI T1,TPLSTR ;GET POINTER TO WHERE STRING BEING ASSEMBLED
7232 016452' 561 02 0 00 017212' HRROI T2,[ASCIZ/DCN:/] ;GET POINTER TO FIRST PART OF STRING
7233 016453' 402 00 0 00 000003 SETZM T3 ;TERMINATE ON NULL
7234 016454' 104 00 0 00 000053 SOUT ;ASSEMBLE INITIAL PART OF TEXT
7235 016455' 320 16 0 00 016354* ERJMP R ;FAILED, RETURN ERROR
7236 016456' 200 02 0 17 777776 MOVE T2,TPLNOD ;GET POINTER TO NODE NAME
7237 016457' 104 00 0 00 000053 SOUT ;ADD NODE NAME TO STRING
7238 016460' 320 16 0 00 016455* ERJMP R ;FAILED, RETURN ERROR
7239 016461' 561 02 0 00 021511' HRROI T2,[ASCIZ/-TASK-TOPOL.TOPOL/] ;GET REMAINDER OF TASK NAME
7240 016462' 104 00 0 00 000053 SOUT ;ADD TASK NAME TO STRING
7241 016463' 320 16 0 00 016460* ERJMP R ;FAILED, RETURN ERROR
7242 016464' 205 01 0 00 000001 MOVX T1,GJ%SHT ;SHORT CALL
7243 016465' 561 02 0 17 777756 HRROI T2,TPLSTR ;GET POINTER TO STRING
7244 016466' 104 00 0 00 000020 GTJFN ;GET A LOGICAL LINK TO TOPOLOGY TASK
7245 016467' 320 16 0 00 016463* ERJMP R ;FAILED, RETURN ERROR
7246 016470' 202 01 0 17 777755 MOVEM T1,TPLLNK ;SAVE LOGICAL LINK
7247 016471' 200 02 0 00 017223' MOVE T2,[100000,,300000] ;8 BIT BYTES, READ AND WRITE ACCESS
7248 016472' 104 00 0 00 000021 OPENF ;OPEN THE FILE
7249 ERJMP [MOVE T1,TPLLNK ;FAILED, GET JFN AGAIN
7250 RLJFN ;RELEASE JFN
7251 JFCL ;IGNORE ERROR HERE
7252 016473' 320 16 0 00 021515' RET ] ;RETURN FAILURE
7253 016474' 205 10 0 00 777764 MOVSI P1,-^D12 ;CHECK FOR ONE MINUTE
7254 016475' 200 01 0 17 777755 TPL010: MOVE T1,TPLLNK ;GET LOGICAL LINK
7255 016476' 201 02 0 00 000025 MOVX T2,.MORLS ;READ LINK STATUS
7256 016477' 104 00 0 00 000077 MTOPR ; TO SEE IF CONNECTED YET
7257 016500' 603 03 0 00 400000 TXNE T3,MO%CON ;CONNECTED ?
7258 016501' 254 00 0 00 016512' JRST TPL050 ;YES, GO RETURN TABLE INDEX
7259 016502' 201 01 0 00 011610 MOVX T1,^D5*^D1000 ;WAIT TIME IS FIVE SECONDS
7260 016503' 104 00 0 00 000167 DISMS ; AND THEN CHECK AGAIN
7261 016504' 253 10 0 00 016475' AOBJN P1,TPL010 ;GO CHECK TO SEE IF LINK IS CONNECTED YET
7262
7263 016505' 200 01 0 17 777755 MOVE T1,TPLLNK ;No .. we have failed
7264 016506' 661 01 0 00 004000 TXO T1,CZ%ABT ;Set abort flag
7265 016507' 104 00 0 00 000022 CLOSF ;Close the link
7266 016510' 260 17 0 00 014473' NON.FATAL.ERROR ; Tell anyone interested about CLOSE failure
7267 016511' 254 00 0 00 021476' RETBAD (.NRNCE) ;FAILED
7268
7269 016512' 200 01 0 17 777755 TPL050: MOVE T1,TPLLNK ;GET DCN: LINK TO TOPOLOGY TASK
7270 016513' 254 00 0 00 016436* RETSKP ;DONE, RETURN SUCCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 165
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7271 ; UPDNOD - ROUTINE TO REMOVE NODES NO LONGER PRESENT FROM MONITOR DATABASE
7272 ;
7273 ;ACCEPTS IN T1/ ADDRESS OF NEW NODE LIST
7274 ; CALL UPDNOD
7275 ;RETURNS: +1 FAILED
7276 ; +2 SUCCESS, NEW NODE LIST SAVED AS CURRENT LIST
7277
7278 016514' 265 16 0 00 016403* UPDNOD: ASUBR <UPNLST,UPNPAG>
7279 016515' 265 16 0 00 014444' SAVEPQ
7280
7281 ; OBTAIN OLD NODE LIST FROM MONITOR
7282
7283 016516' 260 17 0 00 014234' CALL ASGPAG ;ASSIGN A PAGE FOR THE OLD LIST
7284 016517' 263 17 0 00 000000 RETBAD () ;FAILED
7285 016520' 202 02 0 15 000002 MOVEM T2,UPNPAG ;SAVE PAGE ADDRESS
7286 016521' 202 02 0 00 000001 MOVEM T2,T1 ;COPY DESTINATION ADR FOR NODE LIST
7287 016522' 260 17 0 00 016061' CALL TOPLGY ;OBTAIN MONITOR'S CURRENT LIST
7288 JRST [ EXCH T1,UPNPAG ;SAVE ERROR CODE, GET PAGE ADDESS
7289 CALL RELPGA ;RELEASE THE PAGE
7290 NON.FATAL.ERROR
7291 MOVE T1,UPNPAG ;RESTORE ERROR CODE
7292 016523' 254 00 0 00 021521' RETBAD () ] ;FAILED
7293
7294 ; FORM AOBJN POINTER TO ITEMS IN THE OLD NODE LIST
7295
7296 016524' 200 04 0 15 000002 MOVE T4,UPNPAG ;GET ADR OF OLD NODE INFO
7297 016525' 554 07 0 04 000000 HLRZ Q3,.NDNND(T4) ;GET NUMBER OF NODES IN LIST
7298 016526' 322 07 0 00 016545' JUMPE Q3,UPND30 ;IF NONE, GO RELEASE PAGE AND DONE
7299 016527' 213 00 0 00 000007 MOVNS Q3 ;GET -SIZE OF LIST
7300 016530' 514 07 0 00 000007 HRLZ Q3,Q3 ;GET -SIZE,,0
7301 016531' 541 07 0 04 000002 HRRI Q3,.NDBK1(T4) ;FORM AOBJN POINTER TO ITEMS IN OLD LIST
7302
7303 ; LOOP OVER EACH ITEM IN OLD LIST - REMOVE FROM MONITOR DATABASE IF NOT HERE NOW
7304
7305 016532' 200 01 0 15 000001 UPND10: MOVE T1,UPNLST ;GET ADDRESS OF NEW NODE LIST
7306 016533' 550 02 0 07 000000 HRRZ T2,(Q3) ;GET ADDRESS OF A NODE BLOCK
7307 016534' 200 02 0 02 000000 MOVE T2,.NDNAM(T2) ;GET POINTER TO NODE NAME
7308 016535' 104 00 0 00 000537 TBLUK ;IS THIS NODE STILL PRESENT ?
7309 016536' 320 16 0 00 016544' ERJMP UPND20 ;FAILED, GO ON TO NEXT ITEM IN LIST
7310 016537' 603 02 0 00 040000 TXNE T2,TL%EXM ;EXACT MATCH ?
7311 016540' 254 00 0 00 016544' JRST UPND20 ;YES, NODE STILL THERE, DO NOT REMOVE IT
7312
7313 ; NODE NO LONGER ACCESSIBLE - REMOVE IT FROM MONITOR'S DATABASE
7314
7315 016541' 550 01 0 07 000000 HRRZ T1,(Q3) ;GET ADDRESS OF NODE BLOCK
7316 016542' 200 01 0 01 000000 MOVE T1,.NDNAM(T1) ;GET POINTER TO NODE NAME
7317 016543' 260 17 0 00 016255' CALL MONDEL ;REMOVE NODE FROM MONITOR'S LIST
7318
7319 016544' 253 07 0 00 016532' UPND20: AOBJN Q3,UPND10 ;LOOP OVER ALL NODES IN OLD LIST
7320 ;..
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 166
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7321 ;..
7322
7323 ; HERE TO RELEASE PAGE WITH OLD NODE LIST
7324
7325 016545' 200 01 0 15 000002 UPND30: MOVE T1,UPNPAG ;GET PAGE ADDRESS
7326 016546' 260 17 0 00 014267' CALL RELPGA ;RELEASE THE PAGE
7327 016547' 260 17 0 00 014473' NON.FATAL.ERROR ;FAILED
7328 016550' 254 00 0 00 016513* RETSKP ;DONE, RETURN SUCCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 167
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7329 ; FRELST - ROUTINE TO FREE A NODE LIST
7330 ;
7331 ;ACCEPTS IN T1/ ADDRESS OF NODE LIST
7332 ; CALL FRELST
7333 ;RETURNS: +1 FAILED
7334 ; +2 SUCCESS
7335
7336 016551' 265 16 0 00 016514* FRELST::ASUBR <FRLLST>
7337 016552' 265 16 0 00 014444' SAVEPQ
7338
7339 ; FORM AOBJN POINTER TO NODE LIST ENTRIES
7340
7341 016553' 336 01 0 15 000001 SKIPN T1,FRLLST ;GET ADDRESS OF NODE LIST
7342 016554' 254 00 0 00 016550* RETSKP ;DONE IF NO NODE LIST
7343 016555' 554 10 0 01 000000 HLRZ P1,(T1) ;GET # OF NODES IN LIST
7344 016556' 322 10 0 00 016567' JUMPE P1,FRL020 ;IF NO ENTRIES, JUST GO RELEASE LIST
7345 016557' 210 10 0 00 000010 MOVN P1,P1 ;GET -NUMBER OF NODES
7346 016560' 507 00 0 00 000010 HRLS P1 ;GET -NUMBER OF NODES,,0
7347 016561' 541 10 0 01 000001 HRRI P1,1(T1) ;FORM AOBJN POINTER TO NODE LIST
7348
7349 ; LOOP OVER EACH NODE IN LIST, RETURNING FREE BLOCK
7350
7351 016562' 554 01 0 10 000000 FRL010: HLRZ T1,(P1) ;GET ADDRESS OF A NODE NAME
7352 016563' 275 01 0 00 000001 SUBI T1,1 ;POINT TO START OF BLOCK
7353 016564' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE BLOCK
7354 016565' 254 00 0 00 016623' FATAL.ERROR ;FAILED, ISSUE MESSAGE AND CONTINUE
7355 016566' 253 10 0 00 016562' AOBJN P1,FRL010 ;LOOP OVER EACH ITEM IN NODE LIST
7356
7357 ; RELEASE THE NODE LIST ITSELF
7358
7359 016567' 200 01 0 15 000001 FRL020: MOVE T1,FRLLST ;GET ADDRESS OF NODE LIST
7360 016570' 275 01 0 00 000001 SUBI T1,1 ;POINT TO START OF BLOCK
7361 016571' 260 17 0 00 014115' CALL RELFRE ;RELEASE THE LIST
7362 016572' 254 00 0 00 016623' FATAL.ERROR ;FAILED, ISSUE MESSAGE AND CONTINUE
7363 016573' 254 00 0 00 016554* RETSKP ;DONE, RETURN SUCCESS
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 168
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7364 ;CHKTOP - ROUTINE TO CHECK INITIAL PART OF FIRST MESSAGE FROM TOPOLOGY TASK
7365 ;
7366 ;ACCEPTS IN T1/ POINTER TO FIRST FIELD IN TOPOLOGY MESSAGE
7367 ; T2/ NUMBER OF BYTES IN TOPOLOGY MESSAGE
7368 ; CALL CHKTOP
7369 ;RETURNS: +1 FAILED
7370 ; +2 SUCCESS, WITH T1/ UPDATED POINTER TO NEXT FIELD IN MESSAGE
7371 ; T2/ UPDATED COUNT OF BYTES REMAINING IN MESSAGE
7372
7373 016574' 275 02 0 00 000005 CHKTOP: SUBI T2,5 ;AT LEAST MESSAGE TYPE AND VERSION PRESENT ?
7374 016575' 321 02 0 00 016467* JUMPL T2,R ;NO, RETURN ERROR
7375 016576' 134 03 0 00 000001 ILDB T3,T1 ;YES, GET MESSAGE TYPE
7376 016577' 302 03 0 00 000002 CAIE T3,.TPACC ;REQUEST ACCEPTED ?
7377 016600' 263 17 0 00 000000 RET ;NO, FAIL
7378 016601' 134 03 0 00 000001 ILDB T3,T1 ;GET FIELD TYPE
7379 016602' 302 03 0 00 000006 CAIE T3,.TPVER ;VERSION FIELD ?
7380 016603' 263 17 0 00 000000 RET ;NO, FAIL
7381 016604' 134 03 0 00 000001 ILDB T3,T1 ;VERSION INFO
7382 016605' 134 04 0 00 000001 ILDB T4,T1 ; OK ?
7383 016606' 306 03 0 00 000001 CAIN T3,1 ;SHOULD BE VERSION
7384 016607' 302 04 0 00 000000 CAIE T4,0 ; 1.0.0
7385 016610' 263 17 0 00 000000 RET ;NOT CORRECT VERSION
7386 016611' 134 03 0 00 000001 ILDB T3,T1 ;GET LAST VERSION BYTE
7387 016612' 302 03 0 00 000000 CAIE T3,0 ;LAST BYTE OK ?
7388 016613' 263 17 0 00 000000 RET ;NO, FAIL
7389 016614' 254 00 0 00 016573* RETSKP ;DONE, RETURN SUCCESS
7390
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page 169
NCP MAC 5-Oct-81 16:46 Network Topology Monitoring Routines
7391 ; ENTRY VECTOR DEFINITION
7392
7393 016615' 254 00 0 00 005740' ENTVEC: JRST NETCON ;MAIN ENTRY POINT
7394 016616' 254 00 0 00 005740' JRST NETCON ;REENTER ENTRY POINT
7395 016617' 000400 004001 EXP VNETCON ;VERSION OF NETCON PROGRAM
7396
7397
7398 000003 016615' END <3,,ENTVEC>
NO ERRORS DETECTED
PROGRAM BREAK IS 021526
CPU TIME USED 01:10.587
149P CORE USED
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page S-1
NCP MAC 5-Oct-81 16:46 SYMBOL TABLE
ADDNO1 015635' CALLRE 254000 000000 spd DMPLN8 007634' ERRCD0 500000 spd
ADDNOD 015607' CFORK 104000 000152 int DMPLN9 007637' ERROR 014472' int
ADJTAB 003770' CHKLOP 016121' DMPLOD 015765' ERRORB 014532'
ADVTOP 016423' ext CHKNI1 013174' DMPLOP 015775' ERRSTR 014506' ext
AIC 104000 000131 int CHKNI2 013206' DMPREM 007740' ERRTAB 015502'
AR.LEN 777777 000000 spd CHKNIB 016112' DMPREQ 007514' ERRTBL 000036 spd
AR.TYP 777777 spd CHKNIC 013156' DMPRFR 007766' ERSTR 104000 000011 int
ARG.DA 000001 spd CHKNIL 013160' DMPRMD 007772' EVTLOG 006116'
ARG.HD 000000 spd CHKTOP 016574' DMPRML 007753' EVTRQ1 006121'
ARGX04 601715 int CHTTAB 015543' DMPRTB 007523' EVTRQ2 006225'
ARGX05 601716 int CIS 104000 000141 int DMPRTL 000003 spd EXCUTR 015311' ext
ASCLIN 012250' ext CLOSF 104000 000022 int DMPVIA 007526' FATAL 015446'
ASGPAG 014234' int CLRLIN 010705' DMRMTB 007765' FCL010 015646'
ASGPGF 014250' COM.PB 000007 spd DMRMTL 000001 spd FCL015 015653'
ASGPGL 014241' CPYAS1 013357' DO%FIL 000004 spd FCL020 015657'
ATO0 013635' CPYAS2 013370' DODSP 006025' FCNTAB 002043'
ATOCHB 000035 spd CPYASC 013352' int DODSPL 000004 spd FFP 000500 spd
ATOCHM 000001 spd CR%CAP 200000 000000 sin DOFKT 011233' FINDML 013154'
ATOCHN 000035 spd CR%MAP 400000 000000 sin DOFKT0 011262' FINFKT 013153'
ATOINI 015034' CR%ST 020000 000000 sin DOFKT1 011300' FINJFD 013155'
ATOLOD 016030' CRUMP 015423' DOFKTL 011237' FINMES 013124'
BEGFRE 015060' ext CVTDEV 000000 ext DOJFD 011304' FINMS1 013146'
BGLOOP 005746' CX 000016 DOJFD1 011327' FINMS2 013147'
BGLOP1 005772' CZ%ABT 004000 000000 sin DOJFD2 012034' FINMSD 013152'
BGWAIT 005753' DATERR 015407' DOJFD3 012072' FINREQ 013100'
BGWTPC 005754' DEBRK 104000 000136 int DOJFD5 012123' FIXCHN 400507 300000 spd
BIN 104000 000050 int DEQ 104000 000514 int DOJFD6 011363' FKTLVL 000002 spd
BKJFN 104000 000042 int DEQNIC 013302' DOJFD7 011372' FLOUT 104000 000233 int
BLDAC0 010747' DEVST 104000 000121 int DOLOOP 010540' FNDDS1 006075'
BLDAC1 011006' DIR 104000 000130 int DOLPB 006372' FNDDSP 006067' int
BLDAC2 010753' DIRST 104000 000041 int DOMES 006031' FNDLST 016325'
BLDACL 010757' DISFIN 006260' DOREQ 006017' FOCLIN 015641'
BLDACT 010745' DISKNO 006242' DOREQE 006055' FOCNIB 006077'
BLDCMA 012613' DISKTB 006255' DUPTST 015114' FOCPG1 015671'
BLDCMD 012542' DISKTL 000001 spd EDLOCK 014364' FOCPG2 015704'
BLDCML 012501' DISLIN 006236' EIR 104000 000126 int FOCPG3 015707'
BLDCOM 012474' DISLNS 006256' ELOCK 014336' int FOCPGM 015666'
BLDDEV 012627' DISLOG 006222' ENAFIN 006150' FPRCD 477000 spd
BLDDIR 012605' DISLTB 006234' ENAKNO 006136' FPTBL 002062'
BLDFIL 012576' DISLTL 000002 spd ENAKTB 006145' FREIN1 015077'
BLDFLT 012620' DISMS 104000 000167 int ENAKTL 000001 spd FREIN2 015104'
BLDKEY 012550' DISNOD 006302' ENALIN 006132' FREINI 015057'
BLDNOD 012576' DISREQ 006210' ENALNS 006146' FRELEV 000300 spd
BLDNUM 012556' DISRTB 006221' ENALTB 006130' FRELOK 002052'
BLDQUE 011010' DISRTL 000001 spd ENALTL 000002 spd FRELST 016551' int
BLDQUL 011017' DLOCK 014351' int ENANOD 006172' FREQDL 000004 spd
BLDSWI 012566' DMP200 010026' ENAREQ 006104' FREQDT 013120'
BLDTAB 012513' DMPCRL 007716' ENARTB 006115' FRKFLG 002017'
BLDTAD 012636' DMPEND 016051' ENARTL 000001 spd FRKTAB 002013'
BLDTBL 000027 spd DMPERR 016055' ENQ 104000 000513 int FRKTER 013715'
BLDTXT 012576' DMPLD2 007673' ENQC 104000 000515 int FRL010 016562'
BOOT 104000 000562 int DMPLD4 007706' ENQX6 601062 int FRL020 016567'
BOUT 104000 000051 int DMPLDT 007645' ENTVEC 016615' FRSHDR 002054'
BT%KSA 400000 000000 sin DMPLIN 007527' ERJMP 320700 000000 int FSADR 600000 spd
CALL 260740 000000 DMPLN7 007631' ERORB1 014570' FSHDR 014217'
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page S-2
NCP MAC 5-Oct-81 16:46 SYMBOL TABLE
FSLEN 100000 spd IP%CFR 100000 000000 sin LEV2PC 016634' ext LOPTST 011432'
FSP 000600 spd IP%CFS 200000 000000 sin LEV3PC 016631' ext LORMTB 007320'
GETAB 104000 000010 int IP%CFV 200000 sin LIDPRT 010726' int LORMTL 000003 spd
GETER 104000 000012 int IPCFX2 601017 int LINCTR 012023' LORPHO 007343'
GETEXB 012100' ext JFD0 013544' LINDRC 010500' int LORPNM 007354'
GETFR0 014034' JFD1 013554' LINLNG 010507' LORPNO 007371'
GETFR1 014043' JFD2 013564' LINRTB 010475' LORPNU 007365'
GETFR2 014061' JFD3 013574' LINRTL 000003 spd LSTFRE 015061' ext
GETFR4 014057' JFDCHB 000004 spd LINSET 007021' LSTLEN 000005 spd
GETFR5 014075' JFDCHM 000017 spd LINSIZ 000024 spd LSTLOP 012224'
GETFR6 014113' JFDCHN 000001 spd LINST5 012312' LSTTAB 006756'
GETFRE 014021' ent JFDINT 013700' LINST7 012316' LTLOG 200000 000000 spd
GETIMA 011757' ext JFDLVL 000003 spd LINSTS 012167' LTNIB 777777 spd
GETJF1 015241' JFDMES 012140' LINWTH 010522' LTUSE 400000 000000 spd
GETJFN 015214' JFDMSL 000027 spd LO%OPS 000020 spd LV1REQ 006056'
GETJI 104000 000507 int JFDMSO 000025 spd LO%PAR 000040 spd LV1RQL 000011 spd
GETLIN 012242' ext JFDTAB 002027' LO%ROM 000014 spd LVTTAB 015540'
GETNIB 016347' ext JFN0 013504' LO%TGT 000003 spd MACHSZ 015427'
GETNOD 000000 ext JFN1 013514' LOAKD1 007116' MAKDIS 006302' ext
GETNUM 011765' ext JFN2 013524' LOAKD2 007133' MAKDSL 006264' ext
GETRQ0 011134' JFN3 013534' LOAKD3 007141' MAKENA 006172' ext
GETRQ1 011141' JFNCHB 000032 spd LOAKD4 007162' MAKENL 006154' ext
GETRQI 011133' JFNCHM 000017 spd LOAKD5 007165' MAKHST 007455' ext
GETSR1 011220' JFNCHN 000027 spd LOAKD6 007170' MAKIMA 017072' ext
GETSRJ 011161' JFNERR 015211' LOAKM2 007253' MAKIMB 017015' ext
GETTWO 012175' ext JFNINI 015201' LOAKMN 007251' MAKLIN 010560' ext
GJ%FOU 400000 000000 sin JFNINT 013654' LOAKMX 007213' MAKNAM 007447' ext
GJ%OLD 100000 000000 sin JFNLOP 015203' LOALIN 007054' MAKNOD 017007' ext
GJ%SHT 000001 000000 sin JFNLVL 000002 spd LOAREM 007266' MAKNUM 007463' ext
GTJFN 104000 000020 int JFNTAB 002007' LOAREQ 007042' MAKSLN 007024' ext
GTNXNB 016067' KFORK 104000 000153 int LOARFR 007323' MAKTWO 010572' ext
GTNXT1 016074' KNOLEN 000002 spd LOARMD 007376' MAXLIN 000062 spd
HALTF 104000 000170 int KNOTAB 010203' LOARML 007306' MAXNOD 000062 spd
HCKCHN 000036 spd KYTAB 012645' LOARPL 000004 spd MAXPGM 000010 spd
HCKINT 013624' L1SAV1 015475' ext LOARPR 007330' MBPWSZ 000010 spd
HCKLVL 000002 spd L1SAV2 015476' ext LOARPT 007337' MF.SUF 777777 spd
HELLO 015342' L1SAV3 015477' ext LOARTB 007051' MO%CDN 777000 000000 sin
HELLO1 015346' L1SAV4 015444' ext LOARTL 000003 spd MO%CON 400000 000000 sin
HELLOW 015362' L1SAVC 000000 ext LOARVI 007327' MO%DAV 777000 sin
HMES 015375' L2SAV1 020472' ext LOAVIA 007265' MO%INA 000777 000000 sin
HMESHD 015371' L2SAV2 020473' ext LOD010 007451' MONDEL 016255'
HMESL 000010 spd L2SAV3 020474' ext LOD020 007457' MONINI 016357' int
HSMIN 000002 spd L2SAV4 020475' ext LOD100 007472' MRECV 104000 000511 int
HSSLP 000005 spd L2SAVC 020476' ext LOD200 007506' MS.CNT 777777 000000 spd
ILLINS 015420' L3SAV1 020520' ext LOGFRK 002004' MS.TYP 777777 spd
ILLMRD 015412' L3SAV2 020521' ext LOGGER 014730' ext MSEND 104000 000510 int
ILLMWR 015415' L3SAV3 020522' ext LOGINI 014725' MT.TXT 700000 spd
INILOG 010633' L3SAV4 020523' ext LOGTIM 006416' ext MTOPR 104000 000077 int
INIREQ 010623' L3SAVC 020524' ext LOKNOD 014314' int MUTIL 104000 000512 int
INIRQ5 010673' LATSIZ 000004 spd LOKVAL 000200 spd MXLNOD 000005 spd
INIRQX 010677' LCLSTS 011463' LOPLIN 010450' NAM010 015333'
INIRTB 010632' LDKMC1 007177' LOPLST 010463' NAMINI 015302'
INIRTL 000001 spd LDKMCX 007215' LOPREQ 010440' NCU 013675' ext
IP%CFB 400000 000000 sin LDKMD1 007206' LOPRTB 010447' NCUFFP 000400 spd
IP%CFP 400000 sin LEV1PC 015457' ext LOPRTL 000001 spd NCUNFP 000040 spd
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page S-3
NCP MAC 5-Oct-81 16:46 SYMBOL TABLE
NDDIP 002000 000000 spd OF%RD 200000 sin PRSFIL 012357' REQCOD 002001'
NDDMP 777777 777777 spd OF%WR 100000 sin PRSIFI 012363' REQLST 012221'
NDDOK 000400 000000 spd ONCHNS 015606' PRSKDP 007722' REQMES 002033'
NDFLG 777777 000000 spd OPENF 104000 000021 int PRSKEY 012326' REQNUM 002047'
NDFRD 040000 000000 spd OPRMES 014575' int PRSLID 012436' REQSTS 011735'
NDFRL 020000 000000 spd OPRMS5 014645' PRSNOD 012341' REQTAB 002023'
NDLIN 777777 777777 spd OPRMS8 014660' PRSNOI 012407' REQXTR 002037'
NDLIP 001000 000000 spd OPRMS9 014675' PRSNUM 012400' RESET 104000 000147 int
NDLOD 777777 777777 spd OPRPID 002051' PRSOFI 012362' RESTPQ 014456'
NDLOK 000200 000000 spd OT%SCL 000001 000000 sin PRSPRT 010724' RESTQ 014436'
NDNAM 777777 777777 spd OURNAM 021461' ext PRSTOK 012415' RESTT 014424'
NDPHT 777777 777777 spd OURNUM 015326' ext PRU020 016236' RET 263740 000000
NDPNA 777777 777777 spd P 000017 PRUNE 016224' RFSTS 104000 000156 int
NDPNU 777777 777777 spd P1 000010 PSIINI 015170' int RLFRX2 014214'
NDPRO 777777 spd P2 000011 PSOUT 104000 000076 int RLJFN 104000 000023 int
NDPST 010000 000000 spd P3 000012 Q1 000005 RPACS 104000 000057 int
NDSL1 777777 777777 spd P4 000013 Q2 000006 RQCHK 013216'
NDSL2 777777 777777 spd P5 000014 Q3 000007 RQMAX 000017 spd
NDSRV 777777 777777 spd P6 000015 QF%NOA 000001 spd RSKP 020470' ext
NETCON 005740' int PA%EX 020000 000000 sin QF%TXT 000002 spd RTPINX 016437'
NETINI 014701' PA%PEX 010000 000000 sin QUEFLG 777777 spd RWM 104000 000135 int
NFP 000100 spd PA%RD 100000 000000 sin QUEHLN 000002 spd SAVPQ 014444' int
NFSP 000100 spd PACINI 015045' QUEMES 777777 000000 spd SAVQ 014432' int
NIBINI 015735' PACTOP 015051' QUENC1 013273' SAVT 014420' int
NIBSIZ 000022 spd PAGLEV 000400 spd QUENC2 013277' SETADM 006763'
NIBTAB 002164' int PAGLOK 002053' QUENCF 013232' SETALD 007002'
NICLCT 012127' PBLEN 777777 000000 spd QUENCR 013227' SETATO 013644'
NICQUE 002003' PBTYP 777777 spd QUENCU 013235' SETCPL 000003 spd
NJFN 000004 spd PBVAL 777777 777777 spd QUEPNT 777777 spd SETCPT 006726'
NLCTMX 000011 spd PDINT1 013415' QUEQU1 013475' SETDDA 006777'
NNAMSZ 000006 spd PDINT2 013463' QUEQU2 013501' SETDDL 006772'
NNCUPG 000010 spd PDINT3 013452' QUEQUE 013472' SETDEN 006774'
NO%LFL 100000 000000 sin PDL 000000' QUETIM 013337' SETDLN 000002 spd
NODCHK 016340' PDLEN 002000 spd QUETYP 777777 000000 spd SETDVL 000015 spd
NODE 104000 000567 int PDLOV 015404' QUEUE 002002' SETDVT 006711'
NODLEN 000010 spd PGCPU 777777 spd R 016575' ext SETEX 006343'
NODLEV 000200 spd PGFIL 777777 777777 spd RCVTOP 016403' SETFIL 006645'
NODTAB 016104' ext PGLDV 777777 000000 spd REDLEN 000006 spd SETFTB 006705'
NOUT 104000 000224 int PGLEN 000003 spd REDTAB 011424' SETFTL 000004 spd
NQ%REQ 400000 000000 spd PGMTAB 020702' ext RELFR1 014141' SETHST 006353'
NQCHR 777777 spd PGPGM 777777 000000 spd RELFR2 014151' SETLCL 006354'
NQFCN 777777 000000 spd PID 002050' RELFR4 014211' SETLDA 007016'
NQLEN 000005 spd PIDCHN 000000 spd RELFR5 014177' SETLDL 007011'
NQMES 777777 000000 spd PIDIN1 015265' RELFR6 014161' SETLEN 007013'
NQNUM 777777 000000 spd PIDINI 015252' RELFR7 014166' SETLGI 006406'
NQOPT 777777 spd PIDINT 013404' RELFRE 014115' ent SETLIN 010704'
NQPNT 777777 spd PIDLVL 000002 spd RELFRW 014130' SETLLN 000002 spd
NQREQ 400000 000000 spd PIOFF. 014406' RELPAG 014270' SETLPL 000004 spd
NQRQT 377777 000000 spd PION. 014413' RELPGA 014267' int SETLPT 006563'
NQTXT 777777 spd PM%CNT 400000 000000 sin RELRQ1 011155' SETLTB 015726'
NQXTR 777777 spd PMAP 104000 000056 int RELRQ2 011156' SETMON 011231'
NXTLIN 015731' ext PRARG 104000 000545 int RELRQI 011143' SETNBP 006521'
NXTNIB 015722' ext PRS500 012467' REMOVE 016247' SETNDF 006465'
ODCNV 104000 000222 int PRSCFM 012335' REMSTS 011703' SETNHS 006617'
ODTIM 104000 000220 int PRSCMA 012427' REQADR 002000' SETNIB 015717'
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page S-4
NCP MAC 5-Oct-81 16:46 SYMBOL TABLE
SETNLF 006503' STCMP 104000 000540 int VARCHN 360000 017140 spd $GETSR 000017 777755 spd
SETNLP 006550' STOER1 014522' VNETCO 000400 004001 spd $HELLO 000017 777776 spd
SETNNM 006605' STOERC 014513' WAIT 104000 000306 int $IRQER 000017 777776 spd
SETNNU 006631' STONIC 011050' WAKBK1 006007' $IRQFL 000017 777775 spd
SETNO1 006575' STSLOP 011740' WAKBKG 005776' $IRQNO 000017 777774 spd
SETNO2 006603' SWL010 016311' WATINS 005774' $JFDNU 000017 777776 spd
SETNOD 006422' SWPLST 016276' WRNING 014473' int $LCJCT 000017 777775 spd
SETNON 006567' SWTAB 013016' WT.NDA 001000 000000 spd $LCJPT 000017 777776 spd
SETNPT 006451' SYRNCU 014714' ext WT.NFO 002000 000000 spd $LCLPR 000017 777775 spd
SETNSV 006522' SYSGT 104000 000016 int WT.SJI 004000 000000 spd $LCLSC 000017 777776 spd
SETNTB 006441' SYSNAM 002064' int WTHRTB 010535' $LCRCT 000017 777674 spd
SETNTL 000010 spd T1 000001 WTHRTL 000003 spd $LCRMS 000017 777675 spd
SETPSW 011232' T2 000002 ZZ 000002 spd $LCRTY 000017 777673 spd
SETPTB 006463' T3 000003 $ATOHL 000017 777776 spd $LKNMS 000017 777775 spd
SETPTL 000002 spd T4 000004 $BTDBL 000015 000001 spd $LNJCT 000017 777775 spd
SETREQ 006320' TBADD 104000 000536 int $BTDFI 000015 000017 spd $LNJCV 000017 777655 spd
SETRTB 006327' TBDEL 104000 000535 int $BTDPA 000015 000015 spd $LNJHS 000017 777652 spd
SETRTL 000014 spd TBLUK 104000 000537 int $BTLBL 000017 777763 spd $LNJLE 000017 777651 spd
SETSDF 006635' TIMER 104000 000522 int $BTLFI 000017 777760 spd $LNJNU 000017 777673 spd
SETSLF 006637' TL%EXM 040000 000000 sin $BTLPA 000017 777761 spd $LNJPT 000017 777776 spd
SETSTA 006731' TOP0 013604' $CHKNI 000017 777773 spd $LNJRV 000017 777660 spd
SETTDF 006641' TOP1 013614' $CKTNO 000015 000001 spd $LNJST 000017 777654 spd
SETTLF 006643' TOPCHB 000034 spd $CNTMS 000017 777677 spd $LNJSY 000017 777663 spd
SFORK 104000 000157 int TOPCHK 016345' int $CPYAD 000015 000001 spd $LNRCT 000017 777674 spd
SHNLNS 010345' TOPCHM 000003 spd $CPYFR 000015 000002 spd $LNRMS 000017 777675 spd
SHNNDS 010205' TOPCHN 000033 spd $CPYLE 000015 000003 spd $LNSMS 000017 777727 spd
SHOCNT 010067' TOPFRE 021507' ext $DISKE 000017 777774 spd $LOARB 000017 777751 spd
SHOEXE 010047' TOPI.1 014743' $DISLI 000017 777775 spd $LOARC 000017 777740 spd
SHOLEN 000011 spd TOPI.2 014746' $DISMS 000017 777754 spd $LOARF 000017 777747 spd
SHONCP 010410' TOPINI 014735' $DMMY 000017 777776 spd $LOARH 000017 777746 spd
SHOQTB 010407' TOPINL 014772' $DMPHL 000017 777775 spd $LOARM 000017 777750 spd
SHOQTL 000001 spd TOPINT 013733' $DMPRF 000017 777776 spd $LOARN 000017 777741 spd
SHOQUE 010377' TOPINX 014005' $DMPRM 000017 777675 spd $LOARS 000017 777737 spd
SHOREQ 010034' TOPLGY 016061' $DMPTO 000017 777776 spd $LOPBY 000017 777776 spd
SHORTB 010043' TOPLNK 016445' $DOFKT 000017 777737 spd $LOPCN 000017 777723 spd
SHORTL 000004 spd TOPLVL 000002 spd $DOJFD 000017 777577 spd $LOPHL 000017 777776 spd
SHOSTA 010131' TOPMAX 000002 spd $DOJHL 000017 777573 spd $LOPLI 000017 777724 spd
SHOTAB 011413' TOPOUT 015006' $DORCT 000017 777575 spd $LOPLN 000017 777722 spd
SHSKNO 010174' TOPSET 015012' $DORMS 000017 777576 spd $LOPMS 000017 777726 spd
SHSLCL 010144' TOPSRV 002006' $DORTX 000017 777574 spd $LOPWT 000017 777721 spd
SHSLIN 010307' TOPTAB 002005' $EDLCK 000017 777770 spd $LSJCN 000017 777776 spd
SHSNDX 010302' TOPTIM 000002 223700 spd $ENAKE 000017 777774 spd $LSJCT 000017 777675 spd
SHSNOD 010237' TPL010 016475' $ENALI 000017 777775 spd $LSJLI 000017 777673 spd
SIBE 104000 000102 int TPL050 016512' $ENAMS 000017 777754 spd $LSJMS 000017 777676 spd
SIN 104000 000052 int TRACE 000000 spd $ENQJF 000017 777757 spd $LSJPT 000017 777672 spd
SINR 104000 000531 int TRMLOG 010634' $ERROR 000017 777775 spd $LSRCT 000017 777775 spd
SIR 104000 000125 int TRMREQ 010613' $EXEST 000017 777757 spd $LSRPT 000017 777776 spd
SNDCMD 016130' TRMRTB 010622' $FCLFR 000017 777773 spd $LTLOG 000002 spd
SNDNIC 011105' TRMRTL 000001 spd $FCLLI 000017 777774 spd $LTNIB 000002 spd
SOUT 104000 000053 int TSTTOP 016333' $FCLNI 000017 777776 spd $LTUSE 000002 spd
SOUTR 104000 000532 int ULKNOD 014325' int $FINMS 000017 777577 spd $MNDBL 000017 777757 spd
SPACS 104000 000060 int UPDNOD 016514' $FINRQ 000015 000004 spd $MNIER 000015 000004 spd
STALEN 000004 spd UPND10 016532' $FOCNA 000015 000001 spd $MNIHL 000017 777775 spd
START 005740' UPND20 016544' $FRLLS 000015 000001 spd $MNIHS 000017 777774 spd
STATAB 010140' UPND30 016545' $GETJF 000017 777775 spd $MNIID 000015 000002 spd
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page S-5
NCP MAC 5-Oct-81 16:46 SYMBOL TABLE
$MNILN 000017 777772 spd $QUEME 000000 spd ..CSN 000000 spd .DNDMP 000021 spd
$MNILS 000017 777773 spd $QUENC 000015 000003 spd ..IFT 000000 spd .DNDR2 000112 spd
$MNINO 000015 000001 spd $QUEPN 000000 spd ..JX1 020000 000000 spd .DNDRC 000004 spd
$MNIPA 000015 000003 spd $QUETY 000001 spd ..MX1 011610 spd .DNDSL 000150 spd
$NBINI 000017 777776 spd $RCVPD 000017 777770 spd ..MX2 000001 spd .DNDTE 000016 spd
$NDDIP 000000 spd $RMVNO 000015 000001 spd ..NS 000001 spd .DNDUP 000020 spd
$NDDMP 000004 spd $RSJCN 000017 777775 spd ..NV 000002 spd .DNDV1 000024 spd
$NDDOK 000000 spd $RSJPT 000017 777776 spd ..PST 000000 spd .DNEAB 000122 spd
$NDFLG 000000 spd $RSRCN 000017 777776 spd ..STKN 000022 spd .DNELG 000147 spd
$NDFRD 000000 spd $RSRCT 000017 777774 spd ..STKQ 000023 spd .DNENA 000025 spd
$NDFRL 000000 spd $RSRMS 000017 777674 spd ..STKR 000010 spd .DNINI 000034 spd
$NDLIN 000006 spd $RSRPT 000017 777775 spd ..TRR 000010 spd .DNKDP 000036 spd
$NDLIP 000000 spd $RTPER 000015 000004 spd ..TSA1 000001 000000 spd .DNKDZ 000037 spd
$NDLOD 000003 spd $RTPHS 000015 000002 spd ..TX1 040000 000000 spd .DNKNO 000131 spd
$NDLOK 000000 spd $RTPLN 000015 000001 spd ..TX2 000001 spd .DNL1A 000010 spd
$NDNAM 000007 spd $RTPPA 000015 000003 spd .A16 000016 spd .DNL1E 000011 spd
$NDPHT 000016 spd $SDFFI 000017 777776 spd .AC1 000001 spd .DNLCT 000117 spd
$NDPNA 000014 spd $SFLFI 000017 777776 spd .AHNAM 010200 spd .DNLFR 000032 spd
$NDPNU 000015 spd $SHDMS 000017 777727 spd .ASSET 016551' ext .DNLGI 000045 spd
$NDPRO 000010 spd $SHLLI 000017 777675 spd .BTCLI 000014 sin .DNLNG 000135 spd
$NDPST 000000 spd $SHNMS 000017 777727 spd .BTKCC 000002 sin .DNLOA 000042 spd
$NDSL1 000012 spd $SHNNO 000017 777726 spd .BTKCP 000003 sin .DNLOG 000143 spd
$NDSL2 000013 spd $SHOMS 000017 777677 spd .BTKDC 000004 sin .DNLOP 000136 spd
$NDSRV 000011 spd $SLFFI 000017 777776 spd .BTKDP 000005 sin .DNLP1 000057 spd
$NHSNO 000017 777776 spd $SLSMS 000017 777727 spd .BTKER 000001 sin .DNLPB 000123 spd
$NNMNO 000017 777776 spd $SNDBL 000017 777770 spd .BTKMC 000000 sin .DNLPH 000033 spd
$NQCHR 000001 spd $SNDFN 000017 777774 spd .BTKMD 000012 sin .DNLPN 000050 spd
$NQFCN 000003 spd $SNDHL 000017 777775 spd .BTKML 000011 sin .DNMNT 000146 spd
$NQMES 000000 spd $SNDNA 000017 777776 spd .BTKRC 000006 sin .DNMXD 000137 spd
$NQNUM 000001 spd $SNDNI 000015 000004 spd .BTKRP 000007 sin .DNNCR 000052 spd
$NQOPT 000003 spd $SNLMS 000017 777677 spd .BTKSA 000010 sin .DNNDS 000132 spd
$NQPNT 000000 spd $SNSNO 000017 777776 spd .CHTAB 000011 sin .DNNOD 000055 spd
$NQREQ 000004 spd $SQNPA 000017 777776 spd .CMCFM 000010 sin .DNNON 000056 spd
$NQRQT 000002 spd $STLFL 000017 777774 spd .CMCMA 000013 sin .DNNSP 000053 spd
$NQTXT 000002 spd $STLLI 000017 777775 spd .CMFLD 000007 sin .DNONS 000140 spd
$NQXTR 000004 spd $STLNI 000017 777773 spd .CMIFI 000004 sin .DNP11 000065 spd
$OPRMS 000017 777770 spd $STNNI 000017 777775 spd .CMKEY 000000 sin .DNP8 000066 spd
$PBLEN 000011 000000 spd $STNNO 000017 777776 spd .CMNOD 000026 sin .DNPRM 000063 spd
$PBTYP 000011 000000 spd $STONI 000015 000004 spd .CMNOI 000002 sin .DNQ11 000015 spd
$PBVAL 000011 000001 spd $SWLEN 000015 000004 spd .CMNUM 000001 sin .DNQUE 000070 spd
$PGCPU 000000 spd $SWLNE 000015 000002 spd .CMOFI 000005 sin .DNRQP 000072 spd
$PGFIL 000002 spd $SWLNO 000015 000003 spd .CMTOK 000023 sin .DNSCT 000005 spd
$PGLDV 000000 spd $SWLOL 000015 000001 spd .CP11 000001 spd .DNSET 000077 spd
$PGPGM 000001 spd $TOPVR 000017 777776 spd .CP20 000002 spd .DNSEX 000026 spd
$PLICT 000017 777775 spd $TPIER 000017 777773 spd .CP8 000000 spd .DNSHW 000100 spd
$PLIDE 000017 777776 spd $TPIHS 000017 777775 spd .DNA11 000006 spd .DNSKL 000041 spd
$PLIST 000017 777773 spd $TPIPA 000017 777774 spd .DNADM 000144 spd .DNSLI 000040 spd
$PLIUN 000017 777774 spd $TPLLN 000017 777755 spd .DNALD 000145 spd .DNSLO 000044 spd
$PRTLI 000017 777773 spd $TPLNO 000017 777776 spd .DNCBL 000130 spd .DNSMO 000047 spd
$PRTSA 000017 777775 spd $TPLST 000017 777756 spd .DNCNL 000127 spd .DNSNB 000001 spd
$PRUNE 000015 000002 spd $ULNMS 000017 777775 spd .DND11 000014 spd .DNSNF 000022 spd
$PRUNO 000015 000001 spd $UPNLS 000015 000001 spd .DND20 000007 spd .DNSNL 000043 spd
$PRUOL 000015 000003 spd $UPNPA 000015 000002 spd .DNDAB 000121 spd .DNSNS 000076 spd
$QUEFC 000015 000004 spd ..ACT 000000 spd .DNDLV 000012 spd .DNSNT 000067 spd
$QUEFL 000001 spd ..CSC 000001 spd .DNDMC 000013 spd .DNSPW 000064 spd
NCP - TOPS20 NETWORK CONTROL PROGRAM (NCP) MACRO %53B(1215) 15:12 7-May-82 Page S-6
NCP MAC 5-Oct-81 16:46 SYMBOL TABLE
.DNSSD 000074 spd .ERR24 500027 sin .NCSLN 000010 spd .RFWAT 000004 sin
.DNSSF 000060 spd .ERR25 500030 sin .NCTST 000006 spd .SAC 000016
.DNSSL 000075 spd .ERR26 500031 sin .NDBK1 000002 spd .SPOPR 000004 sin
.DNSSO 000061 spd .ERR27 500032 sin .NDCLP 000005 sin .STKST 016446' ext
.DNSST 000103 spd .ERR28 500033 sin .NDCNT 000001 sin .TIMEL 000001 sin
.DNSTD 000110 spd .ERR29 500034 sin .NDGLI 000014 sin .TPACC 000002 spd
.DNSTL 000111 spd .ERR3 500002 sin .NDGLN 000001 sin .TPCHG 000003 spd
.DNSTS 000104 spd .ERR30 500035 sin .NDGNM 000003 sin .TPREQ 000001 spd
.DNTRM 000120 spd .ERR4 500003 sin .NDGNT 000010 sin .TPVER 000006 spd
.DNU11 000017 spd .ERR5 500004 sin .NDLND 000002 sin .TRSET 007527' ext
.DNVIA 000115 spd .ERR6 500005 sin .NDLON 000001 sin .VN20F 000000 sin
.DNWTH 000142 spd .ERR7 500006 sin .NDLST 000001 sin .VNMCB 000001 sin
.DNZRO 000141 spd .ERR8 500007 sin .NDNAM 000000 sin .WTTXT 000000 spd
.DOLIN 000001 spd .ERR9 500010 sin .NDNBS 000003 sin .WTTYP 000006 spd
.DOMXD 000002 spd .FHADR 000003 spd .NDNLN 000000 sin
.DOONS 000001 spd .FHBFA 000005 spd .NDNND 000000 sin
.DOZRO 000000 spd .FHBFS 000004 spd .NDNXT 000002 sin
.DTA11 000010 spd .FHCBS 000002 spd .NDSIC 000011 sin
.DTDLV 000016 spd .FHCNT 000001 spd .NDSLP 000004 sin
.DTDMC 000014 spd .FHFFB 000000 spd .NDSNT 000007 sin
.DTDTE 000024 spd .FHSLF 400000 sin .NDSOF 000001 sin
.DTDUP 000012 spd .FP 000015 spd .NDSTA 000001 sin
.DTDV1 000026 spd .IPCFL 000000 sin .NRILN 777777 777770 spd
.DTKDP 000034 spd .IPCFP 000003 sin .NRNCE 777777 777755 spd
.DTKDZ 000036 spd .IPCFR 000002 sin .NSOFF 000001 sin
.DTL1A 000020 spd .IPCFS 000001 sin .NSON 000000 sin
.DTL1E 000004 spd .JIUNO 000002 sin .NSSHT 000002 sin
.DTP11 000000 spd .LOPTH 000002 spd .OARGC 000004 spd
.DTQ11 000006 spd .LOTBD 000001 spd .OFLAG 000003 spd
.DTU11 000002 spd .LOTBP 000003 spd .OHDRS 000005 spd
.ENQAA 000001 sin .LOTGT 000000 spd .OMACK 200014 spd
.ENQBL 000000 sin .LSTCB 000006 spd .OMAHL 200007 spd
.ENQCS 000000 sin .LSTCN 000005 spd .OMCMD 200050 spd
.ENQID 000001 sin .LSTMN 000004 spd .OMHAC 200020 spd
.ENQLN 000000 sin .LSTOF 000001 spd .PBVAL 000001 spd
.ENQLV 000002 sin .LSTON 000000 spd .PGFRE 777777 spd
.ENQMS 000005 sin .LTALL 000000 spd .PRAST 000002 sin
.ENQRS 000004 sin .MOACN 000024 sin .PRIOU 000101 sin
.ENQUC 000003 sin .MOCIA 000776 sin .PTSDM 000003 spd
.ERR1 500000 sin .MORHN 000026 sin .PTSLD 000000 spd
.ERR10 500011 sin .MORLS 000025 sin .PTTDM 000004 spd
.ERR11 500012 sin .MSCOD 000002 spd .PTTLD 000001 spd
.ERR12 500013 sin .MSFLG 000001 spd .PVEND 000000 spd
.ERR13 500014 sin .MSTYP 000000 spd .QTFKT 000001 spd
.ERR14 500015 sin .MUCRE 000006 sin .QTJFD 000002 spd
.ERR15 500016 sin .MUFPQ 000017 sin .QTMES 000000 spd
.ERR16 500017 sin .MUPIC 000022 sin .QTTOP 000003 spd
.ERR17 500020 sin .MUQRY 000020 sin .RDLCT 000004 spd
.ERR18 500021 sin .MURSP 000025 sin .RDLNS 000001 spd
.ERR19 500022 sin .MUSPQ 000016 sin .RDLST 000005 spd
.ERR2 500001 sin .NCNLS 000007 spd .RDRNS 000003 spd
.ERR20 500023 sin .NCRED 000010 spd .RFFPT 000003 sin
.ERR21 500024 sin .NCRQD 000003 spd .RFIO 000001 sin
.ERR22 500025 sin .NCRQL 000002 spd .RFRUN 000000 sin
.ERR23 500026 sin .NCSET 000007 spd .RFSLP 000005 sin
ADDNO1 6512 6518 6529#
ADDNOD 686 6496#
ADJTAB 493# 6627
ADVTOP 377# 5159 7187
AR.LEN 5771 5788
AR.TYP 5765 5781
ARG.DA 604 5761 5782
ARG.HD 5765 5771 5781 5788
ARGX04 2686
ARGX05 2690
ASCLIN 377# 2900 3746 3893
ASGPAG 1535 1543 1993 1997 2588 4695 5134 5417# 5738 5870 6674 6835 7163 7283
ASGPGF 5423 5430#
ASGPGL 5422# 5424
ATO0 5042# 6464
ATOCHB 6478# 6483
ATOCHM 6479# 6483
ATOCHN 5937 6463# 6466 6478
ATOHLD 5935
ATOINI 5830 5935#
ATOLOD 6699 6702 6705 6708 6718#
BEGFRE 376# 5953 5969 5970
BGLOOP 510# 537 562
BGLOP1 522 536#
BGWAIT 515# 558
BGWTPC 516# 559
BLDAC0 2925# 2927
BLDAC1 2937 2960#
BLDAC2 2926 2930#
BLDACL 2936# 2960
BLDACT 2595 2922#
BLDCMA 4192 4254#
BLDCMD 4189 4206#
BLDCML 4167# 4179
BLDCOM 2955 3001 3313 4161#
BLDDEV 4195 4267#
BLDDIR 4190 4191 4247#
BLDFIL 4185 4186 4187 4237#
BLDFLT 4194 4260#
BLDKEY 4181 4212#
BLDNOD 4203 4239#
BLDNUM 4182 4201 4219#
BLDQUE 2596 2967#
BLDQUL 2977# 3006
BLDSWI 4184 4228#
BLDTAB 4172 4181# 4204
BLDTAD 4197 4275#
BLDTBL 4171 4204#
BLDTXT 4188 4196 4198 4199 4200 4202 4238#
BT%KSA 1639
BTDBLK 1962
BTDFIL 1962
BTDPAG 1962
BTLBLK 1505
BTLFIL 1505
BTLPAG 1505
CHKLOP 6814# 6819
CHKNI1 4404 4407#
CHKNI2 4401 4422#
CHKNIB 6691 6804#
CHKNIC 536 4390#
CHKNIF 4391
CHKNIL 4393# 4405 4410 4418
CHKNIM 4391
CHKNIN 4391
CHKNIT 4391
CHKTOP 7181 7373#
CHTTAB 6057 6378#
CKTNOD 7082
CLRLIN 2823 2863#
CNTMSG 2279
COM.PB 627 4164 6843
CPYADR 4626
CPYAS1 4628 4634#
CPYAS2 4645# 4653
CPYASC 3985 4028 4625# 6155 6501
CPYFRM 4626
CPYLEN 4626
CR%CAP 5062 5845
CR%MAP 5062 5845
CR%ST 5845
CRUMP 5563 6267#
CVTDEV 377#
CX 572 1623 1659 2923 2968 3061 3118 4162 4307 4440 4463 4467 4545 4601
4672 4673 4678 4681 4813 4814 4820 4833 4834 4840 4853 4854 4860 4873
4874 4880 4905 4906 4912 4925 4926 4932 4945 4946 4952 4965 4966 4972
4998 4999 5005 5018 5019 5025 5036 5037 5046 5047 5061 5105 5106 5222
5226 5227 5318 5322 5323 5351 5357 5362 5418 5425 5432 5458 5464 5472
5475 5523 5535 5587 5599 5617 5733 5853 5860 6070 6124 6194 6575 6804
6922 7006 7028 7224 7279 7337
CZ%ABT 3127 5189 7125 7136 7264
DATERR 6251# 6409
DEQNIC 4393 4544#
DISFIN 840 861 865#
DISKEY 801
DISKNO 833 842#
DISKTB 848 855# 857
DISKTL 849 857#
DISLID 801
DISLIN 832 837#
DISLNS 855 860#
DISLOG 811 819#
DISLTB 825 832# 835
DISLTL 826 835#
DISMSG 801
DISNOD 821 894#
DISREQ 651 800#
DISRTB 805 811# 813
DISRTL 806 813#
DLOCK 5226 5228 5322 5324 5426 5433 5464 5472 5476 5534# 7029
DMMY 5861
DMP200 2216 2219#
DMPCRL 2082 2084 2098 2102#
DMPEND 6688 6736#
DMPERR 6678 6687 6733 6741#
DMPHLD 6669
DMPLD2 2080# 2096
DMPLD4 2081 2091#
DMPLDT 2028 2034 2040 2058#
DMPLIN 1951 1961#
DMPLN7 2042#
DMPLN8 1999 2019 2045#
DMPLN9 1992 1995 2048#
DMPLOD 587 6669#
DMPLOP 6685# 6692 6721 6724 6727 6734
DMPREM 1952 2128#
DMPREQ 645 1943#
DMPRFR 2165 2169#
DMPRFS 2129
DMPRMC 2129
DMPRMD 2154 2178#
DMPRML 2152# 2173
DMPRMS 2129
DMPRTB 1945 1951# 1954
DMPRTL 1946 1954#
DMPTOP 6669
DMPVIA 1953 1956#
DMRMTB 2158 2165# 2166
DMRMTL 2159 2166#
DO%FIL 2187
DODSP 581 584# 588
DODSPL 575 588#
DOFKT 585 3204#
DOFKT0 3212 3215 3237#
DOFKT1 3210 3219 3222 3252 3256#
DOFKTL 3209# 3256
DOFKTS 3205
DOJFD 586 3266#
DOJFD1 3281 3287 3295 3301#
DOJFD2 3722# 3779
DOJFD3 3753# 3777
DOJFD5 3739 3742 3747 3758 3760 3763 3778#
DOJFD6 3320 3324 3336#
DOJFD7 3339 3343#
DOJFDM 3267
DOJHLD 3267
DOLOOP 2652 2671 2681 2699 2716#
DOLPB 972 976#
DOMES 584 591#
DORCTR 3267
DOREQ 529 571#
DOREQE 637 640# 916 920 941 958 965 967 969 975 983 996 998 1000
1004 1010 1019 1027 1031 1048 1052 1072 1075 1099 1102 1123 1138 1141
1152 1158 1170 1174 1292 1296 1299 1303 1364 1366 1373 1376 1404 1408
1432 1436 1491 1495 1603 1676 1696 1710 1728 1734 1738 1852 1856 1875
1892 1899 1944 1948 1956 1973 2109 2196 2202 2233 2237 2252 2266 2271
2273 2318 2322 2374 2579 2624 2628 2654 2658 2673 2683 2701 2705 2770
2774 2785 2789 2806 2809 3196 3200
DORMSG 3267
DORTXT 3267
DUPTST 499 6004#
EDLCKB 5547
EDLCKI 5547
EDLOCK 5495 5515 5528 5540 5547#
ELOCK 5223 5319 5419 5459 5522# 7007
ENAFIN 729 746 750#
ENAKEY 690
ENAKNO 722 731#
ENAKTB 733 740# 742
ENAKTL 734 742#
ENALID 690
ENALIN 721 726#
ENALNS 740 745#
ENALTB 714 721# 724
ENALTL 715 724#
ENAMSG 690
ENANOD 710 779#
ENAREQ 652 689#
ENARTB 694 700# 702
ENARTL 695 702#
ENQJFB 6004
ENQJFS 6004
ENQJFU 6004
ENQX6 6019
ENTVEC 7393# 7398
ERORB1 5703 5722#
ERRCD0 5696 6324# 6367
ERROR 504 578 947 1016 1023 1080 1107 1133 1194 1205 1225 1249 1324 1758
1767 1781 1790 2140 2149 2467 2478 2834 2845 3991 4316 4328 4586 4631
4658 4688 4697 4723 4752 4768 5054 5064 5076 5089 5109 5179 5193 5635#
5857 6156 6531 7015 7354 7362
ERRORB 3227 4359 5639 5649 5683#
ERRORC 5683
ERRORH 5683
ERRSTR 375# 5638 5640 5643 5647
ERRTAB 5700 6369# 6370
ERRTBL 5698 6370#
EVTLOG 700 708#
EVTRQ1 709 712#
EVTRQ2 820 823#
EXCUTR 375# 762 787 877 902 942 943 1477 1922 2212 2260 2304 2355 2413
2456 2517 2559 2728 2755 6157
EXESTR 2254
FATAL 6249 6253 6257 6261 6265 6270 6276 6289#
FCL010 6550# 6560
FCL015 6551 6555#
FCL020 6554 6559#
FCLFRE 6542
FCLLIN 6542
FCLNIB 6542
FCNTAB 477# 3083 3322 3325
FFP 429# 5437 5460 5979
FINDML 4336 4376#
FINFKT 4334 4373#
FINJFD 4335 4380#
FINMES 4333 4338#
FINMS1 4355 4364#
FINMS2 4350 4365#
FINMSD 4353 4369#
FINMSM 4339
FINREQ 533 4304#
FINRQA 4305
FINRQC 4305
FINRQE 4305
FINRQF 4305
FIXCHN 6482# 6485
FKTLVL 5101 6415
FNDDS1 664 669#
FNDDSP 636 662# 666 696 716 735 807 827 850 919 1030 1051 1173 1295
1302 1380 1407 1435 1494 1709 1737 1947 2160 2236 2321 2373 2578 2627
2657 2704 2773 2788 4117
FNDLST 6928 7039#
FOCLIN 1157 2872 6542#
FOCNAM 682
FOCNIB 681# 1012 1151 1697 1754 1777 2136 2816
FOCPG1 6578# 6594
FOCPG2 6580 6590#
FOCPG3 6583 6586 6590 6593#
FOCPGM 1308 6575#
FPRCD 431# 5436 5466
FPTBL 488# 5421 5467 5982
FREIN1 5985# 5986
FREIN2 5990# 5992
FREINI 5814 5969#
FRELEV 5222 5226 5227 5318 5322 5323
FRELOK 484# 5222 5226 5227 5318 5322 5323
FRELST 7336#
FREQDL 4313 4337#
FREQDT 4319 4333# 4337
FRKFLG 472# 5066
FRKTAB 471# 3209 3226 3234 3237 5065 5077
FRKTER 5101# 6415
FRL010 7351# 7355
FRL020 7344 7359#
FRLLST 7336
FRSHDR 487# 5220 5313 5403 5406 5408
FSADR 438# 5402 5405 5407
FSHDR 5397# 5987
FSLEN 439# 5404 5407
FSP 436# 5399
GETEXB 380# 3759
GETFR0 5224 5240#
GETFR1 5248# 5264
GETFR2 5249 5266#
GETFR4 5260 5263#
GETFR5 5257 5280#
GETFR6 5285 5294#
GETFRE 4474 4636 4686 5053 5088 5108 5216 5218#
GETIMA 380# 3467 3490 3509 3654
GETJF1 6096 6104 6108#
GETJFC 6086
GETJFJ 6086
GETJFN 3248 6073 6086#
GETLIN 380# 3740 3887
GETNIB 377# 683 7087
GETNOD 380#
GETNUM 380# 3479 3661
GETRQ0 3103# 3109
GETRQ1 3104 3109#
GETRQI 3065 3102#
GETSR1 3166 3177 3182#
GETSRC 3144
GETSRH 3144
GETSRJ 3074 3143#
GETSRT 3144
GETTWO 380# 3398 3433 3601 3719 3762 3841
GJ%FOU 1983
GJ%OLD 1525
GJ%SHT 1525 1983 3158 5908 6089 7242
GTNXNB 6686 6770#
GTNXT1 6770 6781#
HCKCHN 5866 5926 6466# 6470 6483
HCKINT 5032# 6467
HCKLVL 5032 6467
HELLO 5821 6194#
HELLO1 6198# 6220
HELLOT 6195
HELLOW 6203 6214#
HMES 6226 6228# 6236
HMESHD 6206 6223#
HMESL 6226 6229 6236#
HSMIN 6211# 6215
HSSLP 6212# 6215 6218
ILLINS 6263# 6411
ILLMRD 6255# 6412
ILLMWR 6259# 6413
INILOG 2792 2795#
INIREQ 646 2784#
INIRQ5 2826 2831#
INIRQX 2817 2842#
INIRTB 2786 2792# 2794
INIRTL 2787 2794#
IP%CFB 4706 4714
IP%CFP 5743 6223
IP%CFR 6223
IP%CFS 6223
IP%CFV 4706 5743 6895
IPCFX2 4721 4750
IRQERR 2798
IRQFLG 2798
IRQNOD 2798
JFD0 4899# 6393
JFD1 4919# 6396
JFD2 4939# 6399
JFD3 4959# 6402
JFDCHB 6474# 6483
JFDCHM 6475# 6483
JFDCHN 3071 6381# 6474
JFDINT 4915 4935 4955 4975 5084#
JFDLVL 4898 4918 4938 4958 6393 6396 6399 6402
JFDMES 3347 3797# 3820 3825
JFDMSL 3345 3825#
JFDMSO 3343 3820#
JFDNUM 5084
JFDTAB 474# 3081 3120 3123 3130 3271 3276 3289 3453 3640 3727 3874
JFN0 4807# 6431
JFN1 4827# 6434
JFN2 4847# 6437
JFN3 4867# 6440
JFNCHB 6472# 6483
JFNCHM 6473# 6483
JFNCHN 3247 6072 6419# 6444 6472
JFNERR 6074 6079#
JFNINI 5817 6070#
JFNINT 4823 4843 4863 4883 5061#
JFNLOP 6072# 6076
JFNLVL 4806 4826 4846 4866 6431 6434 6437 6440
JFNTAB 470# 3238 3240 3244 3253 5070 6075
KNOLEN 2372 2381#
KNOTAB 2371 2378# 2381
KYTAB 4212 4285#
L1SAV1 372# 6277 6283 6289 6316
L1SAV2 372# 6247 6251 6255 6259 6263 6268 6272 6284 6317
L1SAV3 372# 6278 6285 6290 6318
L1SAV4 372# 6279 6286
L1SAVC 372#
L2SAV1 373# 4668 4674 4809 4816 4829 4836 4849 4856 4869 4876 4994 5001 5014
5021 5032 5037 5042 5047 5101 5106
L2SAV2 373# 4669 4675 4810 4817 4830 4837 4850 4857 4870 4877 4995 5002 5015
5022 5033 5037 5043 5047 5102 5106
L2SAV3 373# 4670 4676 4811 4818 4831 4838 4851 4858 4871 4878 4996 5003 5016
5023 5034 5037 5044 5047 5103 5106
L2SAV4 373# 4671 4677 4812 4819 4832 4839 4852 4859 4872 4879 4997 5004 5017
5024 5035 5037 5045 5047 5104 5106
L2SAVC 373# 4672 4678 4813 4820 4833 4840 4853 4860 4873 4880 4998 5005 5018
5025 5036 5037 5046 5047 5105 5106
L3SAV1 374# 4901 4908 4921 4928 4941 4948 4961 4968
L3SAV2 374# 4902 4909 4922 4929 4942 4949 4962 4969
L3SAV3 374# 4903 4910 4923 4930 4943 4950 4963 4970
L3SAV4 374# 4904 4911 4924 4931 4944 4951 4964 4971
L3SAVC 374# 4905 4912 4925 4932 4945 4952 4965 4972
LATSIZ 6559
LCJCTR 3713
LCJPTR 3713
LCLPRT 962
LCLSCD 962
LCLSTS 3381 3425#
LCRCTR 3713
LCRMSG 3713
LCRTYP 3713
LDKMC1 1556 1605#
LDKMCX 1607 1616 1622#
LDKMD1 1558 1614#
LEV1PC 371# 556 6273 6299 6374
LEV2PC 371# 552 6375
LEV3PC 371# 549 6376
LIDPRT 2894#
LINCTR 3384 3712#
LINDRC 2661 2669#
LINLNG 2662 2679#
LINRTB 2655 2661# 2664
LINRTL 2656 2664#
LINSET 1384 1465#
LINSIZ 493 6626
LINST5 3928# 3931
LINST7 3928 3933#
LINSTS 3385 3834#
LINWTH 2663 2697#
LKNMSK 5486
LNJCTR 3427
LNJCVR 3427
LNJHST 3427
LNJLEN 3427
LNJNUM 3427
LNJPTR 3427
LNJRVR 3427
LNJSTA 3427
LNJSYS 3427
LNRCTR 3427
LNRMSG 3427
LNSMSG 1466
LO%OPS 1838
LO%PAR 1840
LO%ROM 1835
LO%TGT 1827
LOAKD1 1553# 1561 1563 1570 1611 1618
LOAKD2 1566# 1571
LOAKD3 1554 1567 1573#
LOAKD4 1589 1591# 1620
LOAKD5 1545 1594#
LOAKD6 1534 1537 1597#
LOAKM2 1661# 1674
LOAKMN 1629 1632 1636 1648 1652 1658#
LOAKMX 1565 1608 1617 1619#
LOALIN 1498 1504#
LOARBP 1684
LOARCT 1684
LOAREM 1499 1682#
LOAREQ 647 1490#
LOARFR 1713 1719#
LOARFS 1684
LOARHO 1684
LOARMC 1684
LOARMD 1703 1814#
LOARML 1701# 1723 1770 1793 1802 1811
LOARMS 1684
LOARNM 1684
LOARNO 1684
LOARNU 1684
LOARPL 1736 1745#
LOARPR 1715 1733#
LOARPT 1735 1741# 1745
LOARSL 1684
LOARSP 1684
LOARSV 1684
LOARTB 1492 1498# 1501
LOARTL 1493 1501#
LOARVI 1714 1728#
LOAVIA 1500 1676#
LOD010 1890 1893#
LOD020 1897 1900#
LOD100 1881 1915#
LOD200 1926 1929#
LOGFRK 467# 5825 5843 5849
LOGGER 377# 5846
LOGINI 1003 5826 5843#
LOGTIM 375# 1002
LOKNOD 5486#
LOKVAL 5222# 5222 5226# 5226 5227# 5227 5318# 5318 5322# 5322 5323# 5323 5418# 5418
5425# 5425 5432# 5432 5458# 5458 5464# 5464 5472# 5472 5475# 5475 7006# 7006
7028# 7028
LOPBYT 2637
LOPCNT 2637
LOPHLD 3391
LOPLID 2637
LOPLIN 2631 2636#
LOPLNG 2637
LOPLST 2650# 2675 2693 2707
LOPMSG 2637
LOPREQ 648 2623#
LOPRTB 2625 2631# 2632
LOPRTL 2626 2632#
LOPTST 3371 3390#
LOPWTH 2637
LORMTB 1707 1713# 1716
LORMTL 1708 1716#
LORPHO 1741 1750#
LORPNM 1742 1773#
LORPNO 1744 1807#
LORPNU 1743 1798#
LSJCNT 3870
LSJCTR 3870
LSJLIN 3870
LSJMSG 3870
LSJPTR 3870
LSRCTR 3835
LSRPTR 3835
LSTFRE 376# 5971
LSTLEN 1379 1399#
LSTLOP 3873# 3943
LSTTAB 1378 1393# 1399
LTLOG 2877 2881
LTNIB 1160
LTUSE 6550 6551 6563
LV1REQ 634 644# 653
LV1RQL 635 653#
LVTTAB 6057 6374#
MACHSZ 6272# 6416
MAKDIS 379# 894
MAKDSL 379# 869
MAKENA 379# 779
MAKENL 379# 754
MAKHST 379# 1898
MAKIMA 378# 1874 2201 2446 2729
MAKIMB 378# 1865
MAKLIN 378# 2296 2509 2735
MAKNAM 378# 1891
MAKNOD 378# 1851 1855 2195
MAKNUM 378# 1905
MAKSLN 379# 1469
MAKTWO 378# 2738 2745
MAXLIN 6623
MAXNOD 492 493 5993 6608 6878
MAXPGM 5988 6577
MBPWSZ 1863 1867
MF.SUF 597
MNDBLK 6976
MNIERR 7107
MNIHLD 7108
MNIHST 7108
MNIIDX 7107
MNILNK 7108
MNILST 7108
MNINOD 7107
MNIPAG 7107
MO%CDN 3172 5921 6098
MO%CON 3283 7257
MO%DAV 3169 6101
MO%INA 3174 6100
MONDEL 6962 6976# 7317
MONINI 5894 7107#
MS.CNT 3020 4347 6840
MS.TYP 594 6838
MT.TXT 595
MXLNOD 6549
NAM010 6182# 6187
NAMINI 5823 6150#
NBINIB 6636
NCU 377# 5078
NCUFFP 425# 5073 5974
NCUNFP 427# 5975
NDDIP 2206 6697 6698 6709
NDDMP 1077 1089
NDDOK 1085 2214 2215 6703 6704 6722 6723
NDFLG 6648
NDFRD 1418 1425 6651 6706 6707
NDFRL 1446 1453 6653 6725 6726
NDLIN 6548 6658
NDLIP 1916 6700 6701 6719 6720 6728
NDLOD 1104 1116
NDLOK 1112 1924 1925
NDNAM 1850 2194 6644 6711 6730 6781 6810
NDPHT 1198 1200 1246 1255 1894 6647
NDPNA 1187 1189 1222 1231 1887 6645
NDPNU 1209 1266 1901 6650
NDPRO 1054 6649
NDPST 1056
NDSL1 1143 1154
NDSL2 1145 1156
NDSRV 1130 1148 1150 7093
NETCON 497# 506 580 949 1018 1025 1082 1109 1135 1196 1207 1227 1251 1326
1760 1769 1783 1792 2142 2151 2469 2480 2836 2847 3993 4318 4330 4588
4633 4660 4690 4699 4725 4754 4770 5054 5064 5076 5089 5109 5179 5193
5857 5951 6156 6320 6531 7015 7354 7362 7393 7394
NETINI 502 5813#
NFP 430# 488 5420 5462 5980 5984
NFSP 437# 5400
NHSNOD 1239
NIBINI 6524 6636#
NIBSIZ 492 6611 6642
NIBTAB 492# 6612
NICLCT 3769 3783# 3792
NICQUE 466# 512 2969 2976 4515 4518 4522 4548 4554
NJFN 427 470 471 472 473 474 475 476 477 2924 2935 3102 3207 4801
4893 6071 6384 6406 6420 6422 6444 6472 6473 6474 6475
NLCTMX 3767 3792#
NNAMSZ 2445
NNCUPG 426# 427 5072 5074
NNMNOD 1215
NO%LFL 2086 2092 3774
NODCHK 7057 7068#
NODLEN 3984 3988 6154 6500
NODLEV 5222 5226 5227 5318 5322 5323 5418 5425 5432 5458 5464 5472 5475 5494
5514 7006 7028
NODTAB 376# 5994 6516 6774 6776 6782 6788 6789
NQ%REQ 4400 4412 4425 4486 4570
NQCHR 4500 4573
NQFCN 4506 4580
NQLEN 4473 4582
NQMES 3000 4480 4558
NQNUM 2984 4503 4575
NQOPT 4509 4578
NQPNT 2978 4511 4517 4524 4530 4553
NQREQ 4488 4569 4570
NQRQT 4497 4565
NQTXT 4492 4563
NQXTR 2992 4483 4560
NXTLIN 376# 5996 6622 6625
NXTNIB 376# 5995 6607 6610
OF%RD 1531 3164 6094
OF%WR 1989 3164 6094
ONCHNS 5815 6485#
OPRMES 2265 2606 2830 3230 3352 4362 5644 5733#
OPRMS5 5763 5778#
OPRMS8 5779 5789#
OPRMS9 5797 5804#
OPRMSA 5734
OPRMSB 5734
OPRMSH 5734
OPRMSS 5734
OPRPID 482# 4729 5747 6204 6225
OT%SCL 3443 3611 3751 3851
OURNAM 375# 1928 2218 6151 6164 6646 7094
OURNUM 375# 6173
P 498 690 728 745 752 753 801 839 844 847 860 867 868 962
976 981 984 986 1069 1073 1087 1096 1100 1114 1127 1139 1146 1215
1220 1229 1239 1244 1253 1289 1316 1328 1466 1468 1505 1511 1519 1523
1530 1538 1546 1551 1552 1573 1574 1576 1578 1579 1581 1583 1584 1586
1591 1594 1597 1605 1610 1614 1684 1686 1687 1688 1689 1690 1691 1692
1693 1694 1722 1753 1755 1764 1776 1778 1787 1801 1807 1808 1809 1810
1815 1823 1830 1831 1836 1853 1854 1859 1860 1861 1864 1866 1870 1871
1872 1876 1880 1882 1884 1888 1889 1895 1896 1902 1903 1910 1912 1920
2129 2131 2172 2179 2185 2197 2198 2199 2203 2210 2254 2256 2263 2279
2289 2299 2334 2339 2351 2389 2394 2409 2427 2432 2435 2443 2452 2464
2475 2481 2488 2494 2501 2508 2512 2531 2542 2554 2586 2591 2602 2607
2611 2615 2637 2643 2645 2647 2649 2674 2692 2706 2716 2717 2722 2726
2732 2733 2734 2736 2737 2739 2740 2741 2743 2744 2746 2747 2750 2751
2798 2800 2815 2820 2822 2831 2842 2848 2865 2867 2868 2869 2870 2871
2875 2895 2898 2904 3144 3146 3148 3149 3153 3159 3163 3167 3178 3182
3183 3185 3189 3205 3225 3229 3267 3290 3297 3298 3301 3318 3319 3321
3326 3331 3332 3350 3351 3391 3393 3401 3402 3409 3427 3429 3435 3436
3452 3454 3459 3466 3469 3470 3477 3478 3481 3485 3488 3492 3496 3498
3500 3502 3504 3506 3507 3511 3512 3513 3521 3526 3534 3540 3548 3554
3560 3568 3577 3578 3595 3597 3603 3604 3622 3635 3638 3639 3641 3646
3653 3660 3663 3664 3675 3676 3679 3696 3698 3713 3715 3721 3722 3726
3728 3733 3743 3744 3756 3757 3761 3764 3765 3766 3778 3780 3835 3837
3843 3844 3862 3870 3872 3873 3875 3880 3889 3890 3891 3892 3898 3899
3903 3904 3918 3919 3927 3938 3940 4104 4106 4107 4108 4109 4119 4132
4145 4149 4150 4151 4152 4339 4341 4357 4361 4364 4391 4395 4396 4397
4398 4407 4408 4413 4414 4422 4423 4426 4427 4683 4702 4704 4707 4709
4711 4715 4718 4728 4744 4746 4748 5084 5086 5092 5121 5126 5136 5141
5150 5157 5161 5163 5166 5172 5184 5185 5194 5242 5251 5254 5258 5267
5269 5277 5280 5294 5328 5333 5335 5336 5337 5342 5343 5345 5350 5356
5359 5360 5363 5365 5367 5370 5372 5373 5383 5384 5387 5388 5435 5465
5486 5489 5491 5492 5506 5509 5511 5512 5522 5524 5525 5529 5530 5531
5534 5536 5537 5541 5542 5543 5547 5549 5552 5554 5556 5557 5558 5559
5561 5562 5569 5572 5575 5578 5584 5585 5586 5589 5590 5591 5592 5596
5597 5598 5601 5602 5603 5604 5608 5609 5610 5611 5612 5613 5614 5615
5616 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5666 5667 5670
5672 5683 5685 5686 5695 5702 5708 5709 5715 5734 5736 5737 5740 5742
5744 5746 5748 5749 5753 5755 5762 5766 5778 5783 5790 5792 5799 5803
5804 5854 5861 5872 5878 5897 5935 5938 5940 6004 6007 6009 6010 6012
6013 6015 6022 6023 6026 6034 6038 6043 6086 6088 6093 6097 6105 6108
6115 6195 6197 6214 6496 6507 6513 6515 6522 6523 6525 6529 6542 6547
6552 6553 6561 6636 6638 6657 6669 6676 6679 6685 6689 6690 6696 6718
6736 6741 6830 6832 6833 6834 6850 6870 6874 6891 6900 6908 6909 6976
6978 7108 7116 7120 7124 7132 7135 7143 7189 7191 7195 7225 7230 7231
7236 7243 7246 7249 7254 7263 7269
P1 592 594 597 604 625 627 628 760 785 875 900 1475 1919 2209
2297 2353 2411 2454 2510 2551 2753 4163 4164 4165 4578 4581 4591 5611
5625 6931 6932 6933 6934 6939 6942 7253 7261 7343 7344 7345 7346 7347
7351 7355
P2 628 629 3951 3955 3957 3958 3966 3976 3982 3998 3999 4020 4024 4027
4032 4033 4041 4045 4047 4048 4057 4061 4062 4068 4071 4075 4076 4086
4090 4092 4093 4165 4166 4168 4170 4177 4178 4219 4220 4239 5612 5624
6832 6844 6849 6851 6853 6854 6859 6861 6863 6864 6869 6871 6879 6880
6888 6890
P3 1011 1013 1020 1054 1056 1057 1077 1085 1086 1089 1104 1112 1113 1116
1130 1143 1145 1148 1150 1154 1156 1160 1187 1189 1198 1200 1209 1222
1231 1246 1255 1266 1418 1419 1425 1426 1446 1447 1453 1454 5613 5623
P4 5614 5622
P5 5615 5621
P6 5616 5620
PA%EX 5958
PA%PEX 5957
PA%RD 5958
PACINI 5813 5951#
PACTOP 5956# 5962
PAGLEV 5418 5425 5432 5458 5464 5472 5475
PAGLOK 485# 5418 5425 5432 5458 5464 5472 5475
PBLEN 3957 3998 4027 4032 4047 4061 4075 4092 4177 6853 6863 6879 6890
PBTYP 3951 3966 3976 4020 4041 4057 4068 4086 4168 6849 6859 6869 6888
PBVAL 3955 4045 4090 4170 6851 6861
PDINT1 4685# 4756
PDINT2 4726 4732 4760#
PDINT3 4743# 4771
PDL 462# 498
PDLEN 462 498
PDLOV 6247# 6407
PGCPU 6581 6597
PGFIL 1321 1330
PGLDV 5990 6578 6596
PGLEN 5991 6593
PGMTAB 375# 5988 6577
PGPGM 6584 6598
PID 481# 4708 4730 4747 5745 6141 6143 6224 6897
PIDCHN 6144 6379# 6482
PIDIN1 6130 6135#
PIDINI 5819 6124#
PIDINT 4667# 6380
PIDLVL 4667 6380
PIOFF. 518 3246 4513 4547 4779 5221 5317 5417 5457 5569# 6267
PION. 521 527 3250 3255 4520 4532 4550 4556 4790 5226 5229 5322 5325 5427
5434 5464 5472 5477 5575#
PLICTL 4104
PLIDEV 4104
PLISTN 4104
PLIUNI 4104
PM%CNT 5400 5975 5980
PRS500 4139 4149#
PRSCFM 708 750 819 845 865 982 1074 1101 1166 1317 1375 1520 1701 1978
2152 2251 2282 2336 2391 2433 2495 2536 2650 2669 2679 2697 3965#
PRSCMA 1164 4085#
PRSFIL 1313 4004#
PRSIFI 1098 1516 1719 4004 4017#
PRSKDP 1507 1964 2108#
PRSKEY 630 692 712 731 803 823 842 915 964 968 995 1026 1047 1169
1291 1298 1363 1372 1403 1431 1490 1704 1733 1943 1969 2108 2155 2232
2270 2317 2368 2573 2623 2653 2700 2769 2784 2802 3950# 4113
PRSLID 726 837 1140 1367 2274 2490 2639 2808 2892 4103#
PRSNOD 940 1009 1137 1217 1241 1695 1750 1773 2132 2429 2812 3975#
PRSNOI 994 2572 2801 2807 2811 4056#
PRSNUM 999 1262 1798 2117 2672 2682 4040# 4130 4143
PRSOFI 1071 1974 2169 4005 4016#
PRSPRT 977 2892#
PRSTOK 2114 4066# 4125 4138
PRTLID 2895
PRTSAV 2895
PRU020 6938# 6942
PRUNE 6922#
PRUNEW 6923
PRUNOD 6923
PRUOLD 6923
PSIINI 5816 6054#
Q1 1270 1274 1278 1282 1307 1371 1383 1624 1635 1638 1646 1650 1666 1673
2594 2600 2810 2819 2924 2925 2927 2935 2936 2941 2948 2954 2960 2976
2978 2979 2984 2992 3000 3068 3070 3071 3073 3075 3077 3081 3083 3088
3119 3120 3123 3130 3132 3133 3270 3271 3276 3289 3305 3312 3322 3325
3355 3359 3453 3640 3727 3874 4319 4331 4477 4480 4483 4488 4489 4492
4497 4500 4503 4506 4509 4511 4517 4518 4530 4558 4561 4589 4602 4611
4691 4694 4701 4717 4734 4735 4761 4765 5068 5070 5596 5604 5608 5628
5886 5887 5890 5893 6071 6072 6075 6076 6079 6126 6127 6132 6136 6137
6142 6199 6200 6577 6578 6581 6584 6587 6592 6593 6594 6805 6809 6815
6819
Q2 1297 1305 1312 1321 1330 1631 1634 1651 1660 1667 1668 1672 1700 1850
1887 1894 1901 1916 1917 1924 2135 2137 2146 2194 2206 2207 2214 3208
3251 3257 3280 3286 3294 3300 3320 3339 3343 3344 3345 3347 3741 4464
4468 4514 4563 4566 4570 4603 4610 5071 5072 5073 5074 5597 5603 5609
5627 5878 5879 5884 5885 5886 6128 6138 6143 6201 6576 6590 6592 6595
6596 6597 6598 6599 6810 6814
Q3 1304 1306 1374 1377 1660 1665 1666 1674 3207 3209 3226 3234 3237 3238
3240 3244 3247 3253 3256 3325 3373 4560 4561 4565 4566 4573 4576 4590
5598 5602 5610 5626 6131 6141 6144 6204 7297 7298 7299 7300 7301 7306
7315 7319
QF%NOA 612 768 793 883 908 1483 1934 2224 2310 2361 2419 2461 2523 2565
2761 4352
QF%TXT 4344
QUEFCN 4472
QUEFLG 614 770 795 885 910 1485 1936 2226 2312 2363 2421 2463 2525 2567
2763 4309
QUEHLN 4323 4685 5052 5087 5107
QUEMES 592 3270 4321 4701 4717 4761 5093
QUENC1 4523# 4527
QUENC2 4525 4529#
QUENCF 4428 4466#
QUENCM 4472
QUENCN 4472
QUENCR 3045 4415 4462#
QUENCT 4472
QUENCU 4465 4469 4471#
QUEPNT 524 4734 4777 4782 4788
QUEQU1 4781# 4785
QUEQU2 4783 4787#
QUEQUE 4736 4776# 5057 5094 5112
QUETIM 4442 4495 4600#
QUETYP 574 4312 4694 5056 5091 5111
QUEUE 465# 514 519 525 4780
R 1626 1662 2979 3365 3366 3367 3368 3369 3370 3372 3380 3382 3441 3445
3451 3458 3473 3483 3494 3517 3530 3536 3542 3550 3556 3562 3609 3613
3621 3645 3669 3732 3849 3853 3861 3879 3900 3923 5130 5911 5914 5924
6185 6595 6758 6807 6818 6991 7042 7096 7235 7238 7241 7245 7374
RCVPDB 4683
RCVTOP 7134 7159#
REDLEN 3387#
REDTAB 3373 3380# 3387
RELFR1 5339# 5348
RELFR2 5340 5346 5350#
RELFR4 5378 5383#
RELFR5 5368 5373#
RELFR6 5353 5358#
RELFR7 5358 5363#
RELFRE 945 1014 1021 1078 1105 1131 1192 1203 1223 1247 1322 1756 1765 1779
1788 2138 2147 2465 2476 2832 2843 3989 4326 4584 4629 4656 4766 5310
5312# 6530 7014 7353 7361
RELFRW 5320 5328#
RELPAG 2608 2616 5457#
RELPGA 1592 1595 2043 2046 3356 4366 4762 5173 5186 5456# 5803 5805 5898 6737
6742 6875 6908 6910 7202 7213 7289 7326
RELRQ1 3124 3130#
RELRQ2 3121 3132#
RELRQI 3076 3089 3117# 3360
REMOVE 6941 6957#
REMSTS 3383 3594#
REQADR 463# 528 532 766 791 881 906 1481 1932 2222 2288 2308 2359 2417
2459 2521 2563 2759
REQCOD 464# 626 5750
REQLST 3863 3869#
REQMES 475# 2954 3070 3132 3312 3355
REQNUM 479# 3042
REQSTS 3623 3634#
REQTAB 473# 2925 2936 2941 3103 3105 3133 3305
REQXTR 476# 2948 3073
RESTPQ 5618#
RESTQ 5600#
RESTT 5588#
RLFRX2 5351 5357 5362 5387#
RMVNOD 6957
RQCHK 4409 4439#
RQMAX 4443 4445
RSJCNT 3595
RSJPTR 3595
RSKP 599 609 615 671 685 772 797 887 912 950 991 1006 1059 1091
1118 1161 1168 1211 1332 1388 1420 1427 1448 1455 1487 1602 1640 1655
1670 1938 2056 2124 2228 2268 2314 2365 2423 2471 2527 2569 2620 2765
2838 2879 2884 2914 3048 3097 3107 3180 3259 3273 3284 3362 3421 3585
3626 3703 3782 3866 3944 3960 3970 4001 4007 4009 4035 4050 4078 4095
4154 4370 4374 4377 4381 4448 4521 4534 4593 4652 5238 5295 5326 5385
5444 5478 5807 5832 5850 5881 5900 5931 5943 6018 6077 6081 6106 6147
6209 6526 6558 6565 6588 6600 6613 6628 6739 6759 6777 6792 6794 6820
6912 7030 7044 7058 7069 7071 7097 7149 7207 7270 7328 7342 7363 7389
RSRCNT 3635
RSRCTR 3635
RSRMSG 3635
RSRPTR 3635
RTPERR 7159
RTPHST 7159
RTPINX 7174 7182 7188 7194 7211#
RTPLNK 7159
RTPPAG 7159
SAVPQ 572 4162 4545 5608# 6922 7224 7279 7337
SAVQ 1623 1659 2923 2968 3061 3118 4307 4463 4467 4601 4681 5061 5596# 5733
5853 5860 6070 6124 6194 6575 6804
SAVT 4440 5584#
SDFFIL 1069
SETADM 1040 1403#
SETALD 1041 1431#
SETATO 5048 5052#
SETCPL 1301 1357#
SETCPT 1300 1354# 1357
SETDDA 1412 1424#
SETDDL 1405 1411# 1413
SETDEN 1411 1417#
SETDLN 1406 1413#
SETDVL 1294 1352# 4116
SETDVT 1293 1339# 1352 4115
SETEX 923 940#
SETFIL 1271 1275 1279 1283 1288#
SETFTB 1333# 1337
SETFTL 1337#
SETHST 925 958#
SETLCL 926 961#
SETLDA 1440 1452#
SETLDL 1433 1439# 1441
SETLEN 1439 1445#
SETLGI 924 994#
SETLIN 2821 2862#
SETLLN 1434 1441#
SETLPL 1172 1181#
SETLPT 1171 1177# 1181
SETLTB 6622# 6655
SETMON 927 3196#
SETNBP 1034 1123#
SETNDF 1035 1068#
SETNHS 1177 1238#
SETNIB 6511 6607#
SETNLF 1036 1095#
SETNLP 1037 1164# 1232 1256 1267
SETNNM 1178 1214#
SETNNU 1179 1262#
SETNO1 1191 1197#
SETNO2 1202 1208#
SETNOD 928 1009#
SETNON 1180 1186#
SETNPT 1039 1047#
SETNSV 1038 1126#
SETNTB 1028 1034# 1042
SETNTL 1029 1042#
SETPSW 929 3200#
SETPTB 1049 1062# 1065
SETPTL 1050 1065#
SETREQ 644 915#
SETRTB 917 923# 935
SETRTL 918 935#
SETSDF 930 1269#
SETSLF 931 1273#
SETSTA 932 1363#
SETTDF 933 1277#
SETTLF 934 1281#
SFLFIL 1289
SHDMSG 2389
SHLLID 2488
SHNLNS 2379 2530#
SHNMSG 2427
SHNNDS 2378 2388#
SHNNOD 2427
SHOCNT 2240 2270#
SHOEXE 2241 2251#
SHOLEN 3323 3375#
SHOMSG 2488
SHONCP 2582 2585#
SHOQTB 2576 2582# 2583
SHOQTL 2577 2583#
SHOQUE 2242 2572#
SHOREQ 649 2232#
SHORTB 2234 2240# 2244
SHORTL 2235 2244#
SHOSTA 2243 2317#
SHOTAB 3330 3365# 3375
SHSKNO 2327 2368#
SHSLCL 2325 2333#
SHSLIN 2326 2487#
SHSNDX 2434 2447 2458 2475#
SHSNOD 2328 2426#
SLFFIL 1096
SLSMSG 2334
SNDBLK 6830
SNDCMD 6713 6732 6830#
SNDFNC 6830
SNDHLD 6830
SNDNAM 6830
SNDNIC 3060# 4403
SNDNIF 3063
SNDNIM 3063
SNDNIN 3063
SNDNIT 3063
SNLMSG 2531
SNSNOD 1127
SQNPAG 2586
STALEN 2320 2330#
START 496# 501
STATAB 2319 2325# 2330
STLFLG 2865
STLLID 2865
STLNIB 2865
STNNIB 6496
STNNOD 6496
STOER1 5661 5666#
STOERC 3094 3162 3191 5658# 5803 6092 6116 6140 6146 6208 6908
STONIC 763 788 878 903 1478 1929 2219 2305 2356 2414 2457 2518 2560 2756
3017#
STONIF 3018
STONIM 3018
STONIN 3018
STONIT 3018
STSLOP 3639# 3701
SWL010 7011 7019#
SWLENT 7002
SWLNEW 7002
SWLNOD 7002
SWLOLD 7002
SWPLST 6948 7002#
SWTAB 4230 4289#
SYRNCU 377# 5824
SYSNAM 490# 6186
T1 510 519 520 524 528 546 549 552 556 557 563 574 577 592
597 598 600 604 606 614 618 622 625 626 627 629 632 638
641 663 669 684 698 718 728 737 752 759 760 761 766 770
784 785 786 791 795 809 829 839 844 847 852 867 874 875
876 881 885 899 900 901 906 910 921 943 944 966 971 974
979 981 984 988 997 1001 1002 1011 1013 1020 1032 1054 1073 1077
1078 1087 1089 1100 1104 1105 1114 1116 1130 1131 1139 1143 1146 1148
1150 1160 1175 1187 1190 1191 1198 1201 1202 1220 1222 1223 1229 1231
1244 1246 1247 1253 1255 1266 1297 1304 1305 1310 1312 1316 1321 1322
1328 1330 1365 1369 1371 1374 1377 1409 1437 1474 1475 1476 1481 1485
1496 1509 1511 1519 1525 1528 1530 1536 1540 1541 1542 1544 1548 1549
1550 1552 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1585 1591
1593 1594 1596 1597 1600 1700 1711 1722 1739 1753 1755 1764 1776 1778
1787 1801 1814 1815 1818 1842 1884 1885 1908 1919 1922 1927 1932 1936
1949 1966 1968 1972 1977 1983 1986 1988 1994 1998 2001 2002 2005 2006
2010 2011 2015 2022 2042 2044 2045 2047 2048 2051 2053 2110 2113 2120
2122 2123 2135 2137 2146 2163 2172 2178 2179 2182 2188 2209 2212 2217
2222 2226 2238 2256 2262 2272 2276 2281 2288 2289 2290 2292 2294 2297
2303 2308 2312 2323 2339 2340 2343 2346 2353 2354 2359 2363 2375 2394
2395 2398 2401 2404 2411 2412 2417 2421 2432 2435 2436 2439 2442 2454
2455 2459 2463 2464 2475 2481 2492 2494 2501 2502 2504 2506 2510 2516
2521 2525 2542 2543 2545 2547 2550 2551 2558 2563 2567 2580 2591 2592
2593 2594 2600 2602 2603 2604 2607 2611 2615 2629 2641 2643 2644 2645
2646 2647 2648 2649 2659 2674 2684 2686 2688 2690 2692 2706 2717 2718
2721 2725 2742 2753 2754 2759 2763 2775 2790 2805 2810 2815 2818 2819
2827 2831 2842 2848 2868 2870 2877 2878 2881 2882 2897 2898 2899 2902
2906 2910 2913 3020 3021 3023 3029 3030 3031 3032 3033 3034 3038 3039
3064 3068 3071 3075 3077 3081 3088 3090 3092 3105 3106 3111 3119 3120
3123 3127 3146 3149 3158 3163 3178 3182 3183 3185 3189 3209 3213 3214
3216 3217 3218 3220 3221 3223 3224 3228 3234 3238 3240 3247 3251 3253
3257 3270 3271 3276 3289 3301 3317 3318 3326 3331 3351 3355 3359 3393
3394 3395 3396 3401 3418 3419 3420 3429 3430 3431 3436 3452 3453 3459
3460 3462 3469 3471 3477 3484 3486 3487 3495 3497 3499 3501 3503 3505
3511 3597 3598 3599 3604 3639 3640 3646 3647 3649 3663 3675 3678 3679
3715 3716 3717 3722 3726 3727 3733 3734 3736 3741 3743 3756 3764 3780
3837 3838 3839 3844 3873 3874 3880 3881 3883 3890 3898 3901 3903 3918
3921 3922 3924 3929 3933 3951 3952 3955 3966 3967 3976 3977 3978 3981
4020 4021 4023 4041 4042 4045 4057 4058 4066 4068 4069 4071 4072 4086
4087 4090 4119 4124 4132 4137 4145 4149 4150 4173 4207 4208 4247 4249
4267 4270 4315 4323 4324 4325 4342 4344 4347 4348 4349 4352 4356 4360
4364 4365 4395 4407 4422 4441 4446 4473 4477 4515 4517 4548 4553 4558
4560 4563 4565 4569 4573 4575 4578 4580 4583 4589 4602 4611 4627 4628
4634 4635 4639 4640 4650 4651 4655 4662 4668 4674 4685 4691 4692 4694
4702 4703 4704 4706 4707 4708 4709 4710 4714 4715 4717 4718 4719 4721
4728 4729 4730 4735 4743 4750 4761 4765 4777 4788 4809 4816 4829 4836
4849 4856 4869 4876 4901 4908 4921 4928 4941 4948 4961 4968 4994 5001
5007 5014 5021 5027 5032 5037 5042 5047 5052 5056 5062 5065 5067 5077
5087 5091 5093 5101 5106 5107 5111 5128 5140 5150 5151 5154 5161 5163
5166 5172 5175 5179 5184 5185 5188 5189 5193 5194 5218 5220 5240 5244
5245 5246 5252 5259 5261 5262 5266 5268 5276 5281 5282 5283 5286 5287
5289 5290 5312 5313 5328 5329 5330 5332 5333 5334 5335 5343 5344 5352
5364 5384 5388 5389 5397 5402 5403 5404 5405 5406 5407 5408 5428 5435
5436 5437 5438 5456 5460 5461 5462 5464 5466 5468 5469 5472 5474 5494
5514 5522 5523 5531 5534 5535 5543 5550 5553 5554 5555 5556 5560 5569
5570 5572 5575 5576 5578 5584 5592 5640 5642 5658 5659 5660 5662 5663
5667 5668 5670 5671 5685 5687 5726 5737 5741 5742 5743 5744 5745 5746
5747 5748 5750 5751 5761 5769 5782 5786 5789 5790 5791 5793 5794 5795
5796 5797 5798 5803 5804 5815 5827 5829 5831 5843 5845 5846 5849 5857
5864 5875 5890 5891 5892 5893 5897 5908 5915 5925 5937 5938 5939 5951
5954 5955 5961 5969 5971 5972 5977 5982 5985 5989 5990 5993 5994 6006
6007 6008 6009 6011 6012 6014 6019 6021 6026 6031 6034 6038 6042 6054
6056 6072 6075 6080 6088 6089 6093 6105 6108 6109 6111 6115 6125 6135
6140 6146 6152 6156 6157 6158 6160 6162 6166 6168 6171 6177 6182 6183
6186 6198 6205 6208 6214 6215 6217 6218 6277 6280 6281 6283 6289 6291
6294 6296 6298 6303 6306 6311 6313 6316 6498 6499 6506 6507 6513 6514
6516 6522 6525 6529 6532 6548 6550 6553 6555 6556 6559 6561 6562 6563
6564 6579 6587 6596 6599 6607 6608 6610 6611 6612 6622 6623 6625 6626
6627 6638 6639 6640 6641 6642 6644 6645 6647 6648 6649 6650 6651 6652
6653 6654 6658 6685 6688 6689 6696 6697 6700 6703 6706 6709 6710 6711
6718 6719 6722 6725 6728 6729 6730 6736 6741 6754 6770 6774 6775 6776
6781 6782 6787 6790 6793 6810 6814 6818 6833 6848 6849 6852 6853 6854
6858 6859 6862 6863 6864 6868 6869 6871 6874 6878 6879 6880 6887 6888
6889 6890 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6908 6909
6927 6930 6931 6934 6938 6946 6961 6966 6985 6989 7008 7012 7013 7025
7039 7040 7043 7055 7056 7086 7093 7097 7113 7116 7120 7124 7125 7128
7132 7135 7136 7139 7143 7169 7179 7180 7189 7191 7192 7195 7196 7201
7211 7212 7215 7230 7231 7242 7246 7249 7254 7259 7263 7264 7267 7269
7286 7288 7291 7305 7315 7316 7325 7341 7343 7347 7351 7352 7359 7360
7375 7378 7381 7382 7386
T2 511 513 515 524 525 530 531 548 551 554 557 558 559 562
563 574 575 581 582 594 595 610 616 634 662 665 669 694
714 733 758 759 768 770 783 784 793 795 805 825 848 873
874 883 885 898 899 908 910 917 970 973 976 985 1028 1049
1145 1154 1171 1293 1300 1306 1378 1383 1405 1433 1473 1474 1483 1485
1492 1523 1531 1538 1539 1540 1541 1542 1546 1547 1548 1549 1550 1555
1557 1559 1560 1562 1564 1568 1569 1586 1605 1606 1609 1610 1614 1615
1618 1624 1628 1631 1635 1638 1639 1642 1647 1650 1654 1663 1664 1667
1671 1672 1707 1735 1816 1819 1843 1861 1863 1866 1867 1871 1873 1876
1882 1883 1909 1910 1911 1912 1918 1920 1921 1934 1936 1945 1981 1989
1996 2000 2003 2004 2007 2008 2009 2012 2013 2014 2016 2023 2029 2035
2060 2061 2064 2065 2066 2070 2073 2076 2085 2089 2091 2102 2158 2180
2183 2189 2198 2200 2203 2208 2210 2211 2224 2226 2234 2257 2260 2263
2264 2291 2292 2293 2294 2295 2298 2299 2300 2310 2312 2319 2351 2352
2361 2363 2371 2409 2410 2419 2421 2445 2448 2451 2452 2453 2461 2463
2503 2504 2505 2506 2507 2511 2512 2513 2523 2525 2544 2545 2546 2547
2549 2550 2554 2555 2565 2567 2576 2597 2605 2625 2655 2702 2727 2732
2734 2736 2737 2741 2742 2744 2751 2752 2761 2763 2771 2786 2829 2871
2897 2907 2930 2938 2941 2945 2948 2949 2951 2954 2956 2971 2980 2984
2988 2992 2993 2996 3000 3002 3020 3021 3022 3024 3028 3031 3035 3040
3069 3070 3072 3073 3082 3083 3084 3092 3147 3148 3151 3153 3155 3159
3164 3167 3169 3170 3172 3174 3175 3225 3229 3278 3290 3291 3302 3305
3309 3312 3314 3321 3336 3340 3346 3347 3350 3394 3397 3403 3409 3415
3418 3420 3430 3432 3437 3442 3446 3454 3455 3461 3464 3470 3474 3478
3482 3483 3493 3494 3512 3513 3518 3521 3523 3526 3532 3534 3538 3540
3543 3548 3552 3554 3558 3560 3563 3567 3570 3572 3574 3576 3578 3580
3598 3600 3605 3610 3614 3622 3638 3641 3642 3648 3651 3664 3665 3671
3680 3684 3688 3692 3696 3697 3698 3699 3716 3718 3723 3728 3729 3735
3738 3744 3745 3748 3750 3753 3757 3758 3765 3768 3769 3773 3838 3840
3845 3850 3854 3862 3872 3875 3876 3882 3885 3891 3892 3896 3899 3900
3902 3904 3905 3907 3909 3911 3913 3915 3919 3920 3923 3925 3927 3930
3933 3934 3938 3939 3940 3941 3957 3958 3982 3983 3998 3999 4024 4025
4032 4033 4047 4048 4061 4062 4075 4076 4092 4093 4115 4151 4152 4163
4168 4171 4172 4174 4175 4177 4178 4206 4207 4208 4210 4212 4215 4219
4224 4228 4230 4232 4239 4240 4243 4247 4249 4250 4254 4256 4260 4264
4267 4268 4270 4271 4275 4279 4345 4347 4348 4357 4361 4396 4400 4402
4408 4412 4423 4425 4441 4443 4444 4445 4446 4478 4480 4481 4483 4484
4486 4492 4493 4494 4497 4498 4500 4501 4503 4504 4506 4507 4509 4522
4524 4526 4530 4553 4554 4575 4576 4580 4581 4582 4583 4605 4608 4609
4641 4645 4669 4675 4701 4711 4744 4780 4782 4784 4788 4810 4817 4830
4837 4850 4857 4870 4877 4902 4909 4922 4929 4942 4949 4962 4969 4995
5002 5015 5022 5033 5037 5043 5047 5055 5056 5068 5078 5090 5091 5092
5093 5102 5106 5110 5111 5127 5136 5141 5142 5149 5152 5218 5240 5242
5243 5244 5246 5248 5250 5251 5256 5262 5263 5266 5267 5270 5273 5274
5275 5276 5277 5278 5280 5281 5284 5286 5290 5291 5292 5293 5294 5312
5331 5332 5336 5337 5339 5341 5342 5347 5352 5354 5355 5374 5375 5376
5380 5382 5383 5387 5398 5399 5422 5423 5430 5431 5438 5439 5440 5441
5442 5443 5465 5466 5467 5468 5489 5490 5491 5493 5509 5510 5511 5513
5524 5526 5530 5536 5539 5542 5549 5550 5551 5552 5561 5585 5591 5638
5643 5647 5666 5671 5672 5687 5688 5691 5695 5696 5697 5698 5699 5700
5704 5708 5709 5713 5715 5720 5722 5726 5736 5740 5752 5754 5756 5757
5758 5759 5764 5765 5766 5780 5781 5783 5792 5793 5795 5796 5799 5865
5872 5874 5887 5888 5909 5912 5920 5921 5922 5926 5940 5957 5958 5973
5974 5978 5979 5983 5985 6015 6022 6027 6035 6037 6043 6057 6059 6090
6094 6097 6098 6099 6100 6101 6102 6109 6111 6126 6136 6153 6159 6169
6179 6180 6199 6206 6216 6247 6248 6251 6252 6255 6256 6259 6260 6263
6264 6268 6269 6272 6273 6274 6275 6284 6294 6299 6307 6317 6498 6514
6515 6523 6555 6562 6582 6597 6643 6644 6645 6646 6647 6676 6690 6712
6731 6756 6781 6785 6788 6789 6791 6805 6806 6807 6808 6809 6815 6816
6834 6838 6840 6841 6843 6844 6850 6851 6860 6861 6870 6891 6896 6898
6899 6903 6939 6940 6947 6978 6980 6982 6983 6984 7009 7023 7024 7039
7055 7094 7121 7133 7165 7170 7171 7178 7232 7236 7239 7243 7247 7255
7285 7286 7306 7307 7310 7373 7374
T3 532 635 666 695 715 734 753 758 761 762 783 786 787 806
826 849 868 873 876 877 898 901 902 918 985 986 1029 1050
1156 1172 1294 1301 1307 1379 1406 1434 1473 1476 1477 1493 1634 1642
1643 1708 1736 1822 1825 1827 1829 1833 1835 1850 1854 1864 1872 1887
1889 1890 1894 1896 1897 1901 1903 1904 1907 1908 1918 1927 1928 1946
2024 2025 2030 2031 2036 2037 2058 2062 2067 2071 2074 2077 2086 2092
2103 2159 2194 2199 2208 2217 2218 2235 2258 2281 2298 2303 2304 2320
2350 2354 2355 2372 2408 2412 2413 2443 2451 2455 2456 2508 2511 2516
2517 2553 2558 2559 2577 2599 2626 2656 2703 2728 2733 2750 2754 2755
2772 2787 2818 2869 2907 2913 2933 2939 2942 2946 2952 2958 2974 2981
2985 2989 2994 2997 3004 3025 3026 3036 3041 3043 3085 3086 3150 3169
3172 3174 3226 3283 3292 3296 3297 3303 3306 3310 3315 3319 3337 3341
3348 3397 3402 3404 3410 3432 3435 3439 3443 3449 3456 3461 3462 3463
3466 3471 3475 3488 3489 3507 3508 3515 3519 3528 3544 3547 3565 3600
3603 3607 3611 3619 3643 3648 3649 3650 3653 3658 3659 3660 3667 3694
3718 3721 3724 3730 3735 3736 3737 3745 3751 3754 3770 3771 3774 3840
3843 3847 3851 3859 3877 3882 3883 3884 3889 3916 3929 3930 3936 3984
3988 4027 4116 4170 4173 4175 4209 4210 4212 4213 4220 4221 4230 4231
4241 4260 4261 4268 4275 4276 4309 4312 4321 4324 4325 4358 4397 4413
4426 4524 4525 4526 4590 4603 4610 4642 4643 4653 4670 4676 4745 4746
4747 4748 4782 4783 4784 4811 4818 4831 4838 4851 4858 4871 4878 4903
4910 4923 4930 4943 4950 4963 4970 4996 5003 5016 5023 5034 5037 5044
5047 5069 5103 5106 5126 5143 5149 5157 5158 5248 5249 5250 5253 5255
5263 5270 5271 5272 5274 5282 5287 5288 5289 5292 5293 5339 5340 5341
5345 5347 5350 5358 5361 5366 5367 5369 5371 5373 5374 5377 5379 5380
5381 5382 5400 5421 5422 5431 5440 5441 5443 5469 5470 5473 5474 5492
5512 5525 5527 5529 5537 5538 5541 5557 5586 5590 5637 5648 5686 5693
5706 5710 5716 5724 5767 5769 5770 5771 5772 5784 5786 5787 5788 5866
5873 5874 5919 5921 5953 5954 5962 5975 5980 5984 5986 6023 6028 6044
6098 6100 6101 6154 6158 6159 6164 6169 6173 6180 6183 6278 6285 6290
6300 6308 6318 6500 6556 6585 6598 6755 6756 6787 6790 6791 6872 6986
6987 7021 7022 7023 7070 7122 7172 7178 7186 7233 7257 7375 7376 7378
7379 7381 7383 7386 7387
T4 612 614 662 663 757 782 872 897 942 944 1468 1472 1533 1536
1544 1588 1590 1593 1596 1600 1619 1627 1640 1655 1668 1669 1817 1818
1820 1827 1835 1838 1840 1842 1991 1994 1998 2018 2026 2027 2032 2033
2038 2039 2041 2044 2047 2053 2059 2079 2080 2083 2085 2096 2181 2182
2184 2187 2188 2301 2302 2342 2343 2345 2346 2347 2348 2397 2398 2400
2401 2403 2404 2405 2406 2438 2439 2441 2442 2449 2450 2514 2515 2556
2557 2720 2721 2724 2725 2748 2749 2795 2796 2800 2821 2823 2824 2862
2863 2867 2904 2905 3033 3039 3042 3043 3044 3102 3103 3105 3106 3109
3298 3299 3300 3322 3323 3330 3481 3484 3485 3486 3487 3492 3495 3496
3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3568 3569 3571 3573
3657 3658 3659 3665 3678 3683 3687 3691 3761 3766 3767 3769 3770 3773
3901 3906 3908 3910 3912 3914 3924 3925 3928 4016 4018 4021 4066 4072
4164 4166 4309 4310 4312 4313 4319 4321 4322 4398 4414 4427 4591 4606
4608 4645 4646 4647 4649 4650 4651 4671 4677 4812 4819 4822 4832 4839
4842 4852 4859 4862 4872 4879 4882 4904 4911 4914 4924 4931 4934 4944
4951 4954 4964 4971 4974 4997 5004 5017 5024 5035 5037 5045 5047 5065
5066 5070 5071 5077 5086 5104 5106 5154 5155 5253 5254 5255 5256 5258
5259 5261 5269 5271 5272 5273 5275 5278 5329 5331 5354 5355 5356 5359
5360 5361 5363 5364 5365 5366 5369 5370 5371 5372 5375 5376 5377 5420
5424 5436 5437 5635 5636 5690 5702 5703 5749 5751 5757 5759 5760 5761
5765 5770 5771 5772 5781 5782 5787 5788 5879 5880 5882 5883 5884 5988
5990 5991 5992 6027 6035 6054 6059 6150 6151 6179 6182 6186 6187 6279
6286 6549 6560 6578 6579 6581 6582 6584 6585 6591 6639 6640 6642 6657
6658 6837 6838 6839 6840 6842 6843 6979 6980 6981 6982 6983 6984 6985
6987 6988 7019 7020 7022 7296 7297 7301 7382 7384
TL%EXM 6785 7070 7310
TOP0 4992# 6455
TOP1 5012# 6458
TOPCHB 6476#
TOPCHK 7082#
TOPCHM 6477#
TOPCHN 5920 5926 6444# 6463 6476
TOPFRE 380# 5164 5167 7193 7197
TOPI.1 5038 5860#
TOPI.2 5858 5864#
TOPINI 5828 5853#
TOPINL 5885# 5889 5892 5896
TOPINT 5008 5028 5121#
TOPINX 5145 5153 5156 5160 5165 5184#
TOPLGY 6677 6754# 7287
TOPLNK 7114 7224#
TOPLVL 4991 5011 5042 6455 6458 6464
TOPMAX 4986 6446 6463 6476 6477
TOPOUT 5885 5897#
TOPSET 5178 5192 5856 5908#
TOPSRV 469# 5128 5140 5175 5188 5915
TOPTAB 468# 7006 7008 7025 7028 7040 7056 7192 7196
TOPTIM 5865
TOPVR0 5854
TPIERR 5121
TPIHST 5121
TPIPAG 5121
TPL010 7254# 7261
TPL050 7258 7269#
TPLLNK 7225
TPLNOD 7225
TPLSTR 7225
TRACE 422 422# 5219 5230 5314
TRMLOG 2777 2796#
TRMREQ 650 2769#
TRMRTB 2771 2777# 2779
TRMRTL 2772 2779#
TSTTOP 6967 7055#
ULKNOD 5506#
ULNMSK 5506
UPDNOD 5162 7190 7278#
UPND10 7305# 7319
UPND20 7309 7311 7319#
UPND30 7298 7325#
UPNLST 7278
UPNPAG 7278
VARCHN 6483# 6485
VNETCO 7395
WAKBK1 550 553 557#
WAKBKG 546# 4737 5058 5095 5113
WATINS 515 540#
WRNING 535 619 2610 2618 3232 3354 3358 4368 4417 4430 4764 5174 5177 5187
5191 5636# 5803 5806 5827 5829 5831 6162 6166 6171 6876 6908 6911 7127
7138 7145 7203 7214 7266 7290 7327
WT.NDA 5758
WT.NFO 5758
WT.SJI 5758
WTHRTB 2702 2709# 2712
WTHRTL 2703 2712#
ZZ 4800# 4806 4825 4825# 4826 4845 4845# 4846 4865 4865# 4866 4885 4885# 4892#
4898 4917 4917# 4918 4937 4937# 4938 4957 4957# 4958 4977 4977# 4985# 4991
5010 5010# 5011 5030 5030# 6367# 6370 6370# 6383# 6392 6395 6395# 6398 6398#
6401 6401# 6404 6404# 6421# 6430 6433 6433# 6436 6436# 6439 6439# 6442 6442#
6445# 6454 6457 6457# 6460 6460#
$ATOHL 5935#
$BTDBL 1962#
$BTDFI 1962#
$BTDPA 1962#
$BTLBL 1505#
$BTLFI 1505#
$BTLPA 1505#
$CHKNI 4391#
$CKTNO 7082#
$CNTMS 2279#
$CPYAD 4626#
$CPYFR 4626#
$CPYLE 4626#
$DISKE 801#
$DISLI 801#
$DISMS 801#
$DMMY 5861#
$DMPHL 6669#
$DMPRF 2129#
$DMPRM 2129#
$DMPTO 6669#
$DOFKT 3205#
$DOJFD 3267#
$DOJHL 3267#
$DORCT 3267#
$DORMS 3267#
$DORTX 3267#
$EDLCK 5547#
$ENAKE 690#
$ENALI 690#
$ENAMS 690#
$ENQJF 6004#
$ERROR 5683#
$EXEST 2254#
$FCLFR 6542#
$FCLLI 6542#
$FCLNI 6542#
$FINMS 4339#
$FINRQ 4305#
$FOCNA 682#
$FRLLS 7336#
$GETJF 6086#
$GETSR 3144#
$HELLO 6195#
$IRQER 2798#
$IRQFL 2798#
$IRQNO 2798#
$JFDNU 5084#
$LCJCT 3713#
$LCJPT 3713#
$LCLPR 962#
$LCLSC 962#
$LCRCT 3713#
$LCRMS 3713#
$LCRTY 3713#
$LKNMS 5486#
$LNJCT 3427#
$LNJCV 3427#
$LNJHS 3427#
$LNJLE 3427#
$LNJNU 3427#
$LNJPT 3427#
$LNJRV 3427#
$LNJST 3427#
$LNJSY 3427#
$LNRCT 3427#
$LNRMS 3427#
$LNSMS 1466#
$LOARB 1684#
$LOARC 1684#
$LOARF 1684#
$LOARH 1684#
$LOARM 1684#
$LOARN 1684#
$LOARS 1684#
$LOPBY 2637#
$LOPCN 2637#
$LOPHL 3391#
$LOPLI 2637#
$LOPLN 2637#
$LOPMS 2637#
$LOPWT 2637#
$LSJCN 3870#
$LSJCT 3870#
$LSJLI 3870#
$LSJMS 3870#
$LSJPT 3870#
$LSRCT 3835#
$LSRPT 3835#
$LTLOG 2877# 2881#
$LTNIB 1160#
$LTUSE 6550# 6563#
$MNDBL 6976#
$MNIER 7107#
$MNIHL 7108#
$MNIHS 7108#
$MNIID 7107#
$MNILN 7108#
$MNILS 7108#
$MNINO 7107#
$MNIPA 7107#
$NBINI 6636#
$NDDIP 2206# 6697# 6709#
$NDDMP 1077# 1089#
$NDDOK 1085# 2214# 6703# 6722#
$NDFLG 6648#
$NDFRD 1418# 1425# 6651# 6706#
$NDFRL 1446# 1453# 6653# 6725#
$NDLIN 6548# 6658#
$NDLIP 1916# 6700# 6719# 6728#
$NDLOD 1104# 1116#
$NDLOK 1112# 1924#
$NDNAM 1850# 2194# 6644# 6711# 6730# 6781# 6810#
$NDPHT 1198# 1200# 1246# 1255# 1894# 6647#
$NDPNA 1187# 1189# 1222# 1231# 1887# 6645#
$NDPNU 1209# 1266# 1901# 6650#
$NDPRO 1054# 6649#
$NDPST 1056#
$NDSL1 1143# 1154#
$NDSL2 1145# 1156#
$NDSRV 1130# 1148# 1150# 7093#
$NHSNO 1239#
$NNMNO 1215#
$NQCHR 4500# 4573#
$NQFCN 4506# 4580#
$NQMES 3000# 4480# 4558#
$NQNUM 2984# 4503# 4575#
$NQOPT 4509# 4578#
$NQPNT 2978# 4511# 4517# 4524# 4530# 4553#
$NQREQ 4488# 4569#
$NQRQT 4497# 4565#
$NQTXT 4492# 4563#
$NQXTR 2992# 4483# 4560#
$OPRMS 5734#
$PBLEN 3957# 3998# 4027# 4032# 4047# 4061# 4075# 4092# 4177# 6853# 6863# 6879# 6890#
$PBTYP 3951# 3966# 3976# 4020# 4041# 4057# 4068# 4086# 4168# 6849# 6859# 6869# 6888#
$PBVAL 3955# 4045# 4090# 4170# 6851# 6861#
$PGCPU 6581# 6597#
$PGFIL 1321# 1330#
$PGLDV 5990# 6578# 6596#
$PGPGM 6584# 6598#
$PLICT 4104#
$PLIDE 4104#
$PLIST 4104#
$PLIUN 4104#
$PRTLI 2895#
$PRTSA 2895#
$PRUNE 6923#
$PRUNO 6923#
$PRUOL 6923#
$QUEFC 4472#
$QUEFL 614# 770# 795# 885# 910# 1485# 1936# 2226# 2312# 2363# 2421# 2463# 2525# 2567#
2763# 4309#
$QUEME 592# 3270# 4321# 4701# 4717# 4761# 5093#
$QUENC 4472#
$QUEPN 524# 4734# 4777# 4782# 4788#
$QUETY 574# 4312# 4694# 5056# 5091# 5111#
$RCVPD 4683#
$RMVNO 6957#
$RSJCN 3595#
$RSJPT 3595#
$RSRCN 3635#
$RSRCT 3635#
$RSRMS 3635#
$RSRPT 3635#
$RTPER 7159#
$RTPHS 7159#
$RTPLN 7159#
$RTPPA 7159#
$SDFFI 1069#
$SFLFI 1289#
$SHDMS 2389#
$SHLLI 2488#
$SHNMS 2427#
$SHNNO 2427#
$SHOMS 2488#
$SLFFI 1096#
$SLSMS 2334#
$SNDBL 6830#
$SNDFN 6830#
$SNDHL 6830#
$SNDNA 6830#
$SNDNI 3063#
$SNLMS 2531#
$SNSNO 1127#
$SQNPA 2586#
$STLFL 2865#
$STLLI 2865#
$STLNI 2865#
$STNNI 6496#
$STNNO 6496#
$STONI 3018#
$SWLEN 7002#
$SWLNE 7002#
$SWLNO 7002#
$SWLOL 7002#
$TOPVR 5854#
$TPIER 5121#
$TPIHS 5121#
$TPIPA 5121#
$TPLLN 7225#
$TPLNO 7225#
$TPLST 7225#
$ULNMS 5506#
$UPNLS 7278#
$UPNPA 7278#
%AR.LE 5771 5772 5788 5789
%AR.TY 5765 5766 5781 5782
%LO%RO 1835 1836
%LO%TG 1827 1828
%LTLOG 2877 2881
%LTNIB 1160
%LTUSE 6550 6563
%MF.SU 597 598
%MO%CD 3172 3173 5921 5922 6098 6099
%MO%DA 3169 3170 6101 6102
%MO%IN 3174 3175 6100 6101
%MS.CN 3020 3021 4347 4348 6840 6841
%MS.TY 594 595 6838 6839
%NDDIP 2206 6697 6709
%NDDMP 1077 1089
%NDDOK 1085 2214 6703 6722
%NDFLG 6648
%NDFRD 1418 1425 6651 6706
%NDFRL 1446 1453 6653 6725
%NDLIN 6548 6658
%NDLIP 1916 6700 6719 6728
%NDLOD 1104 1116
%NDLOK 1112 1924
%NDNAM 1850 2194 6644 6711 6730 6781 6810
%NDPHT 1198 1200 1246 1255 1894 6647
%NDPNA 1187 1189 1222 1231 1887 6645
%NDPNU 1209 1266 1901 6650
%NDPRO 1054 6649
%NDPST 1056
%NDSL1 1143 1154
%NDSL2 1145 1156
%NDSRV 1130 1148 1150 7093
%NQCHR 4500 4573
%NQFCN 4506 4580
%NQMES 3000 4480 4558
%NQNUM 2984 4503 4575
%NQOPT 4509 4578
%NQPNT 2978 4511 4517 4524 4530 4553
%NQREQ 4488 4569
%NQRQT 4497 4565
%NQTXT 4492 4563
%NQXTR 2992 4483 4560
%PBLEN 3957 3998 4027 4032 4047 4061 4075 4092 4177 6853 6863 6879 6890
%PBTYP 3951 3966 3976 4020 4041 4057 4068 4086 4168 6849 6859 6869 6888
%PBVAL 3955 4045 4090 4170 6851 6861
%PGCPU 6581 6597
%PGFIL 1321 1330
%PGLDV 5990 6578 6596
%PGPGM 6584 6598
%QUEFL 614 770 795 885 910 1485 1936 2226 2312 2363 2421 2463 2525 2567
2763 4309
%QUEME 592 3270 4321 4701 4717 4761 5093
%QUEPN 524 4734 4777 4782 4788
%QUETY 574 4312 4694 5056 5091 5111
..ACT 1056# 1056 1085# 1085 1112# 1112 1418# 1418 1425# 1425 1446# 1446 1453# 1453
1916# 1916 1924# 1924 2206# 2206 2214# 2214 2877# 2877 2881# 2881 4488# 4488
4569# 4569 6550# 6550 6563# 6563 6651# 6651 6653# 6653 6697# 6697 6700# 6700
6703# 6703 6706# 6706 6709# 6709 6719# 6719 6722# 6722 6725# 6725 6728# 6728
..CSC 524# 524 525 525# 574# 574 575 575# 592# 592 593 593# 594# 594
595 595# 597# 597 598 598# 614# 614 615 615# 770# 770 771 771#
795# 795 796 796# 885# 885 886 886# 910# 910 911 911# 1054# 1054
1055 1055# 1056# 1056 1058 1058# 1077# 1077 1078 1078# 1085# 1085 1087 1087#
1089# 1089 1090 1090# 1104# 1104 1105 1105# 1112# 1112 1114 1114# 1116# 1116
1117 1117# 1130# 1130 1131 1131# 1143# 1143 1144 1144# 1145# 1145 1146 1146#
1148# 1148 1149 1149# 1150# 1150 1151 1151# 1154# 1154 1155 1155# 1156# 1156
1157 1157# 1160# 1160 1161 1161# 1187# 1187 1188 1188# 1189# 1189 1190 1190#
1198# 1198 1199 1199# 1200# 1200 1201 1201# 1209# 1209 1210 1210# 1222# 1222
1223 1223# 1231# 1231 1232 1232# 1246# 1246 1247 1247# 1255# 1255 1256 1256#
1266# 1266 1267 1267# 1321# 1321 1322 1322# 1330# 1330 1331 1331# 1418# 1418
1420 1420# 1425# 1425 1427 1427# 1446# 1446 1448 1448# 1453# 1453 1455 1455#
1485# 1485 1486 1486# 1827# 1827 1828 1828# 1835# 1835 1836 1836# 1850# 1850
1851 1851# 1887# 1887 1888 1888# 1894# 1894 1895 1895# 1901# 1901 1902 1902#
1916# 1916 1918 1918# 1924# 1924 1927 1927# 1936# 1936 1937 1937# 2194# 2194
2195 2195# 2206# 2206 2208 2208# 2214# 2214 2217 2217# 2226# 2226 2227 2227#
2312# 2312 2313 2313# 2363# 2363 2364 2364# 2421# 2421 2422 2422# 2463# 2463
2464 2464# 2525# 2525 2526 2526# 2567# 2567 2568 2568# 2763# 2763 2764 2764#
2877# 2877 2879 2879# 2881# 2881 2883 2883# 2978# 2978 2979 2979# 2984# 2984
2985 2985# 2992# 2992 2993 2993# 3000# 3000 3001 3001# 3020# 3020 3021 3021#
3169# 3169 3170 3170# 3172# 3172 3173 3173# 3174# 3174 3175 3175# 3270# 3270
3271 3271# 3951# 3951 3952 3952# 3955# 3955 3956 3956# 3957# 3957 3958 3958#
3966# 3966 3967 3967# 3976# 3976 3977 3977# 3998# 3998 3999 3999# 4020# 4020
4021 4021# 4027# 4027 4028 4028# 4032# 4032 4033 4033# 4041# 4041 4042 4042#
4045# 4045 4046 4046# 4047# 4047 4048 4048# 4057# 4057 4058 4058# 4061# 4061
4062 4062# 4068# 4068 4069 4069# 4075# 4075 4076 4076# 4086# 4086 4087 4087#
4090# 4090 4091 4091# 4092# 4092 4093 4093# 4168# 4168 4169 4169# 4170# 4170
4171 4171# 4177# 4177 4178 4178# 4309# 4309 4310 4310# 4312# 4312 4313 4313#
4321# 4321 4322 4322# 4347# 4347 4348 4348# 4480# 4480 4481 4481# 4483# 4483
4484 4484# 4488# 4488 4490 4490# 4492# 4492 4493 4493# 4497# 4497 4498 4498#
4500# 4500 4501 4501# 4503# 4503 4504 4504# 4506# 4506 4507 4507# 4509# 4509
4510 4510# 4511# 4511 4512 4512# 4517# 4517 4518 4518# 4524# 4524 4525 4525#
4530# 4530 4531 4531# 4553# 4553 4554 4554# 4558# 4558 4559 4559# 4560# 4560
4561 4561# 4563# 4563 4564 4564# 4565# 4565 4566 4566# 4569# 4569 4572 4572#
4573# 4573 4574 4574# 4575# 4575 4576 4576# 4578# 4578 4579 4579# 4580# 4580
4581 4581# 4694# 4694 4695 4695# 4701# 4701 4702 4702# 4717# 4717 4718 4718#
4734# 4734 4735 4735# 4761# 4761 4762 4762# 4777# 4777 4778 4778# 4782# 4782
4783 4783# 4788# 4788 4789 4789# 5056# 5056 5057 5057# 5091# 5091 5092 5092#
5093# 5093 5094 5094# 5111# 5111 5112 5112# 5765# 5765 5766 5766# 5771# 5771
5772 5772# 5781# 5781 5782 5782# 5788# 5788 5789 5789# 5921# 5921 5922 5922#
5990# 5990 5991 5991# 6098# 6098 6099 6099# 6100# 6100 6101 6101# 6102 6102#
6548# 6548 6549 6549# 6550# 6550 6552 6552# 6563# 6563 6565 6565# 6578# 6578
6579 6579# 6581# 6581 6582 6582# 6584# 6584 6585 6585# 6596# 6596 6597 6597#
6598 6598# 6599 6599# 6644# 6644 6645 6645# 6646 6646# 6647# 6647 6648 6648#
6649 6649# 6650 6650# 6651 6651# 6653 6653# 6655 6655# 6658# 6658 6659 6659#
6697# 6697 6700 6700# 6703 6703# 6706 6706# 6709 6709# 6711 6711# 6712 6712#
6719# 6719 6722 6722# 6725 6725# 6728 6728# 6730 6730# 6731 6731# 6781# 6781
6782 6782# 6810# 6810 6811 6811# 6838# 6838 6839 6839# 6840# 6840 6841 6841#
6849# 6849 6850 6850# 6851# 6851 6852 6852# 6853# 6853 6854 6854# 6859# 6859
6860 6860# 6861# 6861 6862 6862# 6863# 6863 6864 6864# 6869# 6869 6870 6870#
6879# 6879 6880 6880# 6888# 6888 6889 6889# 6890# 6890 6891 6891# 7093# 7093
7094 7094#
..CSN 524# 524 574# 574 592# 592 594# 594 597# 597 614# 614 770# 770
795# 795 885# 885 910# 910 1054# 1054 1056# 1056 1077# 1077 1085# 1085
1089# 1089 1104# 1104 1112# 1112 1116# 1116 1130# 1130 1143# 1143 1145# 1145
1148# 1148 1150# 1150 1154# 1154 1156# 1156 1160# 1160 1187# 1187 1189# 1189
1198# 1198 1200# 1200 1209# 1209 1222# 1222 1231# 1231 1246# 1246 1255# 1255
1266# 1266 1321# 1321 1330# 1330 1418# 1418 1425# 1425 1446# 1446 1453# 1453
1485# 1485 1827# 1827 1835# 1835 1850# 1850 1887# 1887 1894# 1894 1901# 1901
1916# 1916 1924# 1924 1936# 1936 2194# 2194 2206# 2206 2214# 2214 2226# 2226
2312# 2312 2363# 2363 2421# 2421 2463# 2463 2525# 2525 2567# 2567 2763# 2763
2877# 2877 2881# 2881 2978# 2978 2984# 2984 2992# 2992 3000# 3000 3020# 3020
3169# 3169 3172# 3172 3174# 3174 3270# 3270 3951# 3951 3955# 3955 3957# 3957
3966# 3966 3976# 3976 3998# 3998 4020# 4020 4027# 4027 4032# 4032 4041# 4041
4045# 4045 4047# 4047 4057# 4057 4061# 4061 4068# 4068 4075# 4075 4086# 4086
4090# 4090 4092# 4092 4168# 4168 4170# 4170 4177# 4177 4309# 4309 4312# 4312
4321# 4321 4347# 4347 4480# 4480 4483# 4483 4488# 4488 4492# 4492 4497# 4497
4500# 4500 4503# 4503 4506# 4506 4509# 4509 4511# 4511 4517# 4517 4524# 4524
4530# 4530 4553# 4553 4558# 4558 4560# 4560 4563# 4563 4565# 4565 4569# 4569
4573# 4573 4575# 4575 4578# 4578 4580# 4580 4694# 4694 4701# 4701 4717# 4717
4734# 4734 4761# 4761 4777# 4777 4782# 4782 4788# 4788 5056# 5056 5091# 5091
5093# 5093 5111# 5111 5765# 5765 5771# 5771 5781# 5781 5788# 5788 5921# 5921
5990# 5990 6098# 6098 6100# 6100 6101# 6101 6548# 6548 6550# 6550 6563# 6563
6578# 6578 6581# 6581 6584# 6584 6596# 6596 6597# 6597 6598# 6598 6644# 6644
6645# 6645 6647# 6647 6648# 6648 6649# 6649 6650# 6650 6651# 6651 6653# 6653
6658# 6658 6697# 6697 6700# 6700 6703# 6703 6706# 6706 6709# 6709 6711# 6711
6719# 6719 6722# 6722 6725# 6725 6728# 6728 6730# 6730 6781# 6781 6810# 6810
6838# 6838 6840# 6840 6849# 6849 6851# 6851 6853# 6853 6859# 6859 6861# 6861
6863# 6863 6869# 6869 6879# 6879 6888# 6888 6890# 6890 7093# 7093
..IFT 1056# 1056 1058# 1058 1085# 1085 1087# 1087 1112# 1112 1114# 1114 1418# 1418
1420# 1420 1425# 1425 1427# 1427 1446# 1446 1448# 1448 1453# 1453 1455# 1455
1916# 1916 1918# 1918 1924# 1924 1925# 1925 1927# 1927 2206# 2206 2208# 2208
2214# 2214 2215# 2215 2217# 2217 2877# 2877 2879# 2879 2881# 2881 2883# 2883
4488# 4488 4490# 4490 4569# 4569 4570# 4570 4572# 4572 6550# 6550 6551# 6551
6552# 6552 6563# 6563 6565# 6565 6651# 6651 6653# 6653 6655# 6655 6697# 6697
6698# 6698 6700# 6700 6701# 6701 6703# 6703 6704# 6704 6706# 6706 6707# 6707
6709# 6709 6711# 6711 6719# 6719 6720# 6720 6722# 6722 6723# 6723 6725# 6725
6726# 6726 6728# 6728 6730# 6730
..JX1 1925# 1925 2215# 2215 4570# 4570 6551# 6551 6698# 6698 6701# 6701 6704# 6704
6707# 6707 6720# 6720 6723# 6723 6726# 6726
..MX1 612# 612 768# 768 793# 793 883# 883 908# 908 1056# 1056 1085# 1085
1112# 1112 1270# 1270 1274# 1274 1278# 1278 1282# 1282 1418# 1418 1425# 1425
1446# 1446 1453# 1453 1483# 1483 1525# 1525 1822# 1822 1825# 1825 1829# 1829
1833# 1833 1863# 1863 1907# 1907 1916# 1916 1934# 1934 1983# 1983 2113# 2113
2206# 2206 2224# 2224 2310# 2310 2342# 2342 2345# 2345 2350# 2350 2361# 2361
2397# 2397 2400# 2400 2403# 2403 2408# 2408 2419# 2419 2438# 2438 2441# 2441
2445# 2445 2461# 2461 2523# 2523 2549# 2549 2553# 2553 2565# 2565 2720# 2720
2724# 2724 2761# 2761 2877# 2877 2881# 2881 3158# 3158 3278# 3278 3286# 3286
3515# 3515 3528# 3528 3532# 3532 3538# 3538 3547# 3547 3552# 3552 3558# 3558
3657# 3657 3667# 3667 3671# 3671 3896# 3896 4018# 4018 4124# 4124 4137# 4137
4488# 4488 4706# 4706 4714# 4714 5062# 5062 5490# 5490 5510# 5510 5743# 5743
5752# 5752 5758# 5758 5764# 5764 5780# 5780 5794# 5794 5845# 5845 5865# 5865
5866# 5866 5908# 5908 5920# 5920 5922# 5922 5925# 5925 5926# 5926 5937# 5937
5958# 5958 5989# 5989 6006# 6006 6042# 6042 6089# 6089 6154# 6154 6160# 6160
6168# 6168 6169# 6169 6563# 6563 6651# 6651 6653# 6653 6709# 6709 6728# 6728
6895# 6895 7242# 7242 7255# 7255 7259# 7259
..MX2 612# 613 768# 769 793# 794 883# 884 908# 909 1056# 1056 1057 1085#
1085 1086 1112# 1112 1113 1270# 1271 1274# 1275 1278# 1279 1282# 1283 1418#
1418 1419 1425# 1425 1426 1446# 1446 1447 1453# 1453 1454 1483# 1484 1525#
1525 1526 1822# 1823 1825# 1826 1829# 1830 1833# 1834 1863# 1864 1907# 1908
1916# 1916 1917 1934# 1935 1983# 1983 1984 2113# 2114 2206# 2206 2207 2224#
2225 2310# 2311 2342# 2343 2345# 2346 2350# 2351 2361# 2362 2397# 2398 2400#
2401 2403# 2404 2408# 2409 2419# 2420 2438# 2439 2441# 2442 2445# 2446 2461#
2462 2523# 2524 2549# 2550 2553# 2554 2565# 2566 2720# 2721 2724# 2725 2761#
2762 2877# 2877 2878 2881# 2881 2882 3158# 3158 3159 3278# 3279 3286# 3286
3287 3515# 3516 3528# 3529 3532# 3533 3538# 3539 3547# 3548 3552# 3553 3558#
3559 3657# 3658 3667# 3668 3671# 3672 3896# 3897 4018# 4019 4124# 4125 4137#
4138 4488# 4488 4489 4706# 4706 4714# 4714 4715 5062# 5062 5063 5490# 5491
5510# 5511 5743# 5744 5752# 5753 5758# 5758 5759 5764# 5765 5780# 5781 5794#
5795 5845# 5845 5846 5865# 5865 5866# 5867 5908# 5908 5909 5920# 5921 5922#
5923 5925# 5926 5926# 5927 5937# 5938 5958# 5958 5989# 5990 6006# 6006 6007
6042# 6043 6089# 6089 6090 6154# 6155 6160# 6161 6168# 6169 6169# 6170 6563#
6563 6564 6651# 6651 6652 6653# 6653 6654 6709# 6709 6710 6728# 6728 6729
6895# 6896 7242# 7242 7243 7255# 7256 7259# 7260
..NS 1056# 1056 1058 1085# 1085 1087 1112# 1112 1114 1189# 1189 1190 1200# 1200
1201 1209# 1209 1210 1418# 1418 1420 1425# 1425 1427 1446# 1446 1448 1453#
1453 1455 1916# 1916 1918 1924# 1924 1927 2206# 2206 2208 2214# 2214 2217
2877# 2877 2879 2881# 2881 2883 4488# 4488 4490 4511# 4511 4512 4569# 4569
4572 4734# 4734 4735 4777# 4777 4778 6550# 6550 6552 6563# 6563 6565 6648#
6648 6649 6649# 6650 6650# 6651 6651# 6653 6653# 6655 6697# 6697 6700 6700#
6703 6703# 6706 6706# 6709 6709# 6711 6719# 6719 6722 6722# 6725 6725# 6728
6728# 6730
..NV 682# 682 1962# 1962 1963 3018# 3018 3063# 3063 4305# 4305 4472# 4472 4626#
4626 6923# 6923 6957# 6957 7002# 7002 7082# 7082 7107# 7107 7159# 7159 7278#
7278 7336# 7336
..PST 524# 524 574# 574 592# 592 594# 594 597# 597 614# 614 770# 770
795# 795 885# 885 910# 910 1054# 1054 1056# 1056 1077# 1077 1085# 1085
1089# 1089 1104# 1104 1112# 1112 1116# 1116 1130# 1130 1143# 1143 1145# 1145
1148# 1148 1150# 1150 1154# 1154 1156# 1156 1160# 1160 1187# 1187 1189# 1189
1198# 1198 1200# 1200 1209# 1209 1222# 1222 1231# 1231 1246# 1246 1255# 1255
1266# 1266 1321# 1321 1330# 1330 1418# 1418 1425# 1425 1446# 1446 1453# 1453
1485# 1485 1827# 1827 1835# 1835 1850# 1850 1887# 1887 1894# 1894 1901# 1901
1916# 1916 1924# 1924 1936# 1936 2194# 2194 2206# 2206 2214# 2214 2226# 2226
2312# 2312 2363# 2363 2421# 2421 2463# 2463 2525# 2525 2567# 2567 2763# 2763
2877# 2877 2881# 2881 2978# 2978 2984# 2984 2992# 2992 3000# 3000 3020# 3020
3169# 3169 3172# 3172 3174# 3174 3270# 3270 3951# 3951 3955# 3955 3957# 3957
3966# 3966 3976# 3976 3998# 3998 4020# 4020 4027# 4027 4032# 4032 4041# 4041
4045# 4045 4047# 4047 4057# 4057 4061# 4061 4068# 4068 4075# 4075 4086# 4086
4090# 4090 4092# 4092 4168# 4168 4170# 4170 4177# 4177 4309# 4309 4312# 4312
4321# 4321 4347# 4347 4480# 4480 4483# 4483 4488# 4488 4492# 4492 4497# 4497
4500# 4500 4503# 4503 4506# 4506 4509# 4509 4511# 4511 4517# 4517 4524# 4524
4530# 4530 4553# 4553 4558# 4558 4560# 4560 4563# 4563 4565# 4565 4569# 4569
4573# 4573 4575# 4575 4578# 4578 4580# 4580 4694# 4694 4701# 4701 4717# 4717
4734# 4734 4761# 4761 4777# 4777 4782# 4782 4788# 4788 5056# 5056 5091# 5091
5093# 5093 5111# 5111 5765# 5765 5771# 5771 5781# 5781 5788# 5788 5921# 5921
5990# 5990 6098# 6098 6100# 6100 6101# 6101 6548# 6548 6550# 6550 6563# 6563
6578# 6578 6581# 6581 6584# 6584 6596# 6596 6597# 6597 6598# 6598 6644# 6644
6645# 6645 6647# 6647 6648# 6648 6649# 6649 6650# 6650 6651# 6651 6653# 6653
6658# 6658 6697# 6697 6700# 6700 6703# 6703 6706# 6706 6709# 6709 6711# 6711
6719# 6719 6722# 6722 6725# 6725 6728# 6728 6730# 6730 6781# 6781 6810# 6810
6838# 6838 6840# 6840 6849# 6849 6851# 6851 6853# 6853 6859# 6859 6861# 6861
6863# 6863 6869# 6869 6879# 6879 6888# 6888 6890# 6890 7093# 7093
..STKN 690# 690 691 801# 801 802 962# 962 963 1069# 1069 1070 1096# 1096
1097 1127# 1127 1128 1215# 1215 1216 1239# 1239 1240 1289# 1289 1290 1466#
1466 1467 1505# 1505 1506 1684# 1684 1685 2129# 2129 2130 2254# 2254 2255
2279# 2279 2280 2334# 2334 2335 2389# 2389 2390 2427# 2427 2428 2488# 2488
2489 2531# 2531 2532 2586# 2586 2587 2637# 2637 2638 2798# 2798 2799 2865#
2865 2866 2895# 2895 2896 3144# 3144 3145 3205# 3205 3206 3267# 3267 3268
3391# 3391 3392 3427# 3427 3428 3595# 3595 3596 3635# 3635 3636 3713# 3713
3714 3835# 3835 3836 3870# 3870 3871 4104# 4104 4105 4339# 4339 4340 4391#
4391 4392 4683# 4683 4684 5084# 5084 5085 5121# 5121 5122 5486# 5486 5487
5506# 5506 5507 5547# 5547 5548 5683# 5683 5684 5734# 5734 5735 5854# 5854
5855 5861# 5861 5862 5935# 5935 5936 6004# 6004 6005 6086# 6086 6087 6195#
6195 6196 6496# 6496 6497 6542# 6542 6543 6636# 6636 6637 6669# 6669 6670
6830# 6830 6831 6976# 6976 6977 7108# 7108 7109 7225# 7225 7226
..STKQ 690# 690 801# 801 962# 962 1069# 1069 1096# 1096 1127# 1127 1215# 1215
1239# 1239 1289# 1289 1466# 1466 1505# 1505 1684# 1684 2129# 2129 2254# 2254
2279# 2279 2334# 2334 2389# 2389 2427# 2427 2488# 2488 2531# 2531 2586# 2586
2637# 2637 2798# 2798 2865# 2865 2895# 2895 3144# 3144 3205# 3205 3267# 3267
3391# 3391 3427# 3427 3595# 3595 3635# 3635 3713# 3713 3835# 3835 3870# 3870
4104# 4104 4339# 4339 4391# 4391 4683# 4683 5084# 5084 5121# 5121 5486# 5486
5506# 5506 5547# 5547 5683# 5683 5734# 5734 5854# 5854 5861# 5861 5935# 5935
6004# 6004 6086# 6086 6195# 6195 6496# 6496 6542# 6542 6636# 6636 6669# 6669
6830# 6830 6976# 6976 7108# 7108 7225# 7225
..STKR 690# 692 801# 803 962# 964 1069# 1071 1096# 1098 1127# 1129 1215# 1217
1239# 1241 1289# 1291 1466# 1468 1505# 1507 1684# 1686 2129# 2131 2254# 2256
2279# 2281 2334# 2336 2389# 2391 2427# 2429 2488# 2490 2531# 2533 2586# 2588
2637# 2639 2798# 2800 2865# 2867 2895# 2897 3144# 3146 3205# 3207 3267# 3269
3391# 3393 3427# 3429 3595# 3597 3635# 3637 3713# 3715 3835# 3837 3870# 3872
4104# 4106 4339# 4341 4391# 4393 4683# 4685 5084# 5086 5121# 5123 5486# 5488
5506# 5508 5547# 5549 5683# 5685 5734# 5736 5854# 5856 5861# 5863 5935# 5937
6004# 6006 6086# 6088 6195# 6197 6496# 6498 6542# 6544 6636# 6638 6669# 6671
6830# 6832 6976# 6978 7108# 7110 7225# 7227
..TRR 682# 683 1962# 1964 3018# 3019 3063# 3064 4305# 4306 4472# 4473 4626# 4627
6923# 6924 6957# 6958 7002# 7003 7082# 7083 7107# 7108 7159# 7160 7278# 7279
7336# 7337
..TSA1 1056# 1056 1085# 1085 1112# 1112 1418# 1418 1425# 1425 1446# 1446 1453# 1453
1916# 1916 1924# 1924 2206# 2206 2214# 2214 2877# 2877 2881# 2881 4488# 4488
4569# 4569 6550# 6550 6563# 6563 6651# 6651 6653# 6653 6697# 6697 6700# 6700
6703# 6703 6706# 6706 6709# 6709 6719# 6719 6722# 6722 6725# 6725 6728# 6728
..TX1 1838# 1838 1840# 1840 1925# 1925 2187# 2187 2215# 2215 3127# 3127 3283# 3283
4344# 4344 4352# 4352 4400# 4400 4412# 4412 4425# 4425 4486# 4486 4570# 4570
5189# 5189 5551# 5551 5957# 5957 6698# 6698 6701# 6701 6704# 6704 6707# 6707
6720# 6720 6723# 6723 6726# 6726 6785# 6785 7070# 7070 7125# 7125 7136# 7136
7257# 7257 7264# 7264 7310# 7310
..TX2 1838# 1839 1840# 1841 1925# 1925 1926 2187# 2188 2215# 2215 2216 3127# 3127
3128 3283# 3283 3284 4344# 4345 4352# 4353 4400# 4400 4401 4412# 4412 4413
4425# 4425 4426 4486# 4486 4487 4570# 4570 4571 5189# 5189 5190 5551# 5551
5552 5957# 5957 5958 6698# 6698 6699 6701# 6701 6702 6704# 6704 6705 6707#
6707 6708 6720# 6720 6721 6723# 6723 6724 6726# 6726 6727 6785# 6785 6786
7070# 7070 7071 7125# 7125 7136# 7136 7257# 7257 7258 7264# 7264 7265 7310#
7310 7311
.A16 682 690 801 962 1069 1096 1127 1215 1239 1289 1466 1505 1684 1962
2129 2254 2279 2334 2389 2427 2488 2531 2586 2637 2798 2865 2895 3018
3063 3144 3205 3267 3391 3427 3595 3635 3713 3835 3870 4104 4305 4339
4391 4472 4626 4683 5084 5121 5486 5506 5547 5683 5734 5854 5861 5935
6004 6086 6195 6496 6542 6636 6669 6830 6923 6957 6976 7002 7082 7107
7108 7159 7225 7278 7336
.AC1 6032 6040
.AHNAM 6234
.ASSET 682 3018 3063 4305 4472 4626 6923 6957 7002 7082 7107 7159 7278 7336
.BTCLI 2906
.BTKCC 1578 2011 2037
.BTKCP 1576 2014
.BTKDC 1583 2006 2031
.BTKDP 1581 2009
.BTKER 1573 2060 2076
.BTKMC 1511 1968 2064
.BTKMD 2015
.BTKML 1585
.BTKRC 1584 2002 2025 2058 2095
.BTKRP 2004 2059 2091
.BTKSA 1551 1610
.CHTAB 3657 3671 3896
.CMCFM 3967 6887
.CMCMA 4087
.CMFLD 3978
.CMIFI 4018
.CMKEY 3952 6848 6858
.CMNOD 3977 6868
.CMNOI 4058
.CMNUM 4042
.CMOFI 4016
.CMTOK 4069
.CP11 1355
.CP20 1356
.CP8 1354
.DNA11 1345
.DNADM 1040
.DNALD 1041
.DNCBL 1396
.DNCNL 1395
.DND11 1339
.DND20 1356
.DNDAB 974 1412 1440
.DNDLV 1348
.DNDMC 1347
.DNDMP 645 6712
.DNDR2 1972 2165
.DNDRC 2661
.DNDSL 651
.DNDTE 1350
.DNDUP 1346
.DNDV1 1351
.DNEAB 971 1411 1439
.DNELG 700 811
.DNENA 652
.DNINI 646
.DNKDP 1340 2110
.DNKDZ 1341
.DNKNO 722 833 2327
.DNL1A 1349
.DNL1E 1343
.DNLCT 997 2805
.DNLFR 1713
.DNLGI 924 2777
.DNLNG 2662
.DNLOA 647 6731
.DNLOG 2792
.DNLOP 648
.DNLP1 1179 1743
.DNLPB 966
.DNLPH 925 1177 1741
.DNLPN 1178 1742
.DNMNT 1397
.DNMXD 2709
.DNNCR 2582
.DNNDS 2378
.DNNOD 928 1499 1952 2328 6860
.DNNON 1180 1744
.DNNSP 1063
.DNONS 2710
.DNP11 1355
.DNP8 1354
.DNPRM 1037 1715
.DNQ11 1344
.DNQUE 2242
.DNRQP 1062
.DNSCT 2240
.DNSET 644
.DNSEX 923 2241
.DNSHW 649
.DNSKL 740 855 2379
.DNSLI 721 832 1365 1498 1951 2272 2326 2631
.DNSLO 926 2325
.DNSMO 927
.DNSNB 1034
.DNSNF 1035
.DNSNL 1036
.DNSNS 1038
.DNSNT 1039
.DNSPW 929
.DNSSD 930 1333
.DNSSF 1394
.DNSSL 931 1334
.DNSSO 1393
.DNSST 932
.DNSTD 933 1335
.DNSTL 934 1336
.DNSTS 2243
.DNTRM 650
.DNU11 1342
.DNVIA 1500 1714 1953
.DNWTH 2663
.DNZRO 2711
.DOLIN 2724 2749
.DOMXD 2648 2709
.DOONS 2710
.DOZRO 2711
.DTA11 1345
.DTDLV 1348
.DTDMC 1347
.DTDTE 1350
.DTDUP 1346
.DTDV1 1351
.DTKDP 1340
.DTKDZ 1341
.DTL1A 1349
.DTL1E 1343
.DTP11 1339
.DTQ11 1344
.DTU11 1342
.ENQAA 6014
.ENQBL 5560
.ENQCS 6021
.ENQID 5558 6010
.ENQLN 5556 6009
.ENQLV 5554 6007
.ENQMS 5557
.ENQRS 5559 6013
.ENQUC 5552 6012
.ERR1 6080 6370#
.ERR10 5389 6370#
.ERR11 6370#
.ERR12 5803 6370# 6908
.ERR13 641 4662 6370#
.ERR14 577 632 4315 6370#
.ERR15 1310 6370# 6532
.ERR16 3111 6370#
.ERR17 3224 6370#
.ERR18 618 622 6370#
.ERR19 988 1588 2018 5659 5663 6370#
.ERR2 6140 6370#
.ERR20 6162 6166 6171 6370#
.ERR21 6370#
.ERR22 5827 6370#
.ERR23 979 1369 1509 1966 2276 2492 2641 6370#
.ERR24 1528 1533 1986 1991 2051 6370#
.ERR25 1619 6370#
.ERR26 5831 6370#
.ERR27 5829 6370#
.ERR28 5179 5193 5857 6370#
.ERR29 6370#
.ERR3 6208 6370#
.ERR30 5252 5344 6370#
.ERR4 6146 6370#
.ERR5 5428 6370#
.ERR6 5464 6370#
.ERR7 5472 6370#
.ERR8 5268 6156 6370#
.ERR9 5334 6370#
.FHADR 446# 5329 5330 5408
.FHBFA 448# 5245 5262 5266
.FHBFS 447# 5244 5259 5261 5276
.FHCBS 445#
.FHCNT 444# 5240 5281 5364 5406
.FHFFB 443# 5403
.FHSLF 546 3090 4358 5398 5570 5576 5637 5648 5668 5864 5925 5955 5973 5978
6056 6138 6307
.IPCFL 4707 4715 5744 6896
.IPCFP 4702 4704 4718 5742 6903
.IPCFR 4709 5748 6899
.IPCFS 4728 5746 6898
.JIUNO 6028
.LOPTH 1822
.LOTBD 1829
.LOTBP 1833
.LOTGT 1825
.LSTCB 1396 3914
.LSTCN 1395 3912
.LSTMN 1397 3910
.LSTOF 1394 3908
.LSTON 1393 3906
.LTALL 2549
.MOACN 3175 5922 6102
.MOCIA 3170 6099
.MORHN 5127
.MORLS 3278 7255
.MSCOD 625 5751 5796 6841
.MSFLG 597
.MSTYP 594 3020 3021 4347 4348 6838 6840
.MUCRE 6137
.MUFPQ 6127
.MUPIC 6142
.MUQRY 4745
.MURSP 6200
.MUSPQ 6132
.NCNLS 757 782 872 897
.NCRED 2291 2301 2342 2347 2397 2405 2438 2449 2503 2514 2544 2556
.NCRQD 2181
.NCRQL 1817
.NCSET 757 782 872 897 1472
.NCSLN 1472
.NCTST 2720 2748
.NDBK1 6805 6983 6984 7301
.NDCLP 973
.NDCNT 6982
.NDGLI 5875
.NDGLN 6160
.NDGNM 6168
.NDGNT 6754
.NDLND 5890 5893
.NDLON 5888
.NDLST 5887
.NDNAM 6816 6985 7307 7316
.NDNBS 6981
.NDNLN 5874 5879
.NDNND 6756 6806 6980 7297
.NDNXT 6988
.NDSIC 5939
.NDSLP 970
.NDSNT 6989
.NDSOF 6986
.NDSTA 6987
.NRILN 2902 2910
.NRNCE 3286 7128 7139 7267
.NSOFF 3571 3687
.NSON 3569 3683
.NSSHT 3573 3691
.OARGC 5757
.OFLAG 5759
.OHDRS 604 5760
.OMACK 5794
.OMAHL 6229
.OMCMD 616 6837
.OMHAC 610
.PBVAL 3982 4024 4071 4239 6871
.PGFRE 5989 6591
.PRAST 5067
.PRIOU 6031 6042 6298 6306
.PTSDM 1270 1333
.PTSLD 1274 1334
.PTTDM 1278 1335
.PTTLD 1282 1336
.PVEND 1907
.QTFKT 5110
.QTJFD 5090
.QTMES 4692
.QTTOP 5055
.RDLCT 2293 2302 3737
.RDLNS 2345 2348 3463
.RDLST 2505 2515 2546 2557 3884
.RDRNS 2400 2406 2441 2450 3650
.RFFPT 3223
.RFIO 3221
.RFRUN 3220
.RFSLP 3217
.RFWAT 3218
.SPOPR 6201
.STKST 690 801 962 1069 1096 1127 1215 1239 1289 1466 1505 1684 2129 2254
2279 2334 2389 2427 2488 2531 2586 2637 2798 2865 2895 3144 3205 3267
3391 3427 3595 3635 3713 3835 3870 4104 4339 4391 4683 5084 5121 5486
5506 5547 5683 5734 5854 5861 5935 6004 6086 6195 6496 6542 6636 6669
6830 6976 7108 7225
.TIMEL 5864
.TPACC 7376
.TPCHG 5155
.TPREQ 7121
.TPVER 7121 7379
.TRSET 1962
.VN20F 1062
.VNMCB 1063
.WTTXT 5780
.WTTYP 5764
AIC 5927 6060
ASUBR 681 3017 3062 4304 4471 4625 6923 6957 7002 7082 7107 7159 7278 7336
ATOHLD 5935# 5935 5938 5940
BIN 1553 1566 1625 1661
BKJFN 3472
BOOT 1587 2017 2908
BOUT 2090 3533 3539 3553 3559 3672 3673 3674 3897 4216 4225 4229 4233 4244
4251 4255 4257 4265 4272 4280 5721
BTDBLK 1962# 1962 1968 2002 2004 2006 2009 2011 2014 2016 2025 2031 2037 2058
2059 2060 2064 2076 2091 2095
BTDFIL 1962# 1962 1977 1981 1988 2022 2048
BTDPAG 1962# 1962 1996 2000 2007 2012 2026 2032 2038 2042 2045
BTLBLK 1505# 1505 1511 1551 1573 1576 1578 1581 1583 1584 1586 1610
BTLFIL 1505# 1505 1519 1523 1530 1552 1597
BTLPAG 1505# 1505 1538 1546 1574 1579 1591 1594 1605 1614
CALL 499 502 504 518 521 527 529 533 535 536 578 619 630 636
683 692 696 708 712 716 726 731 735 750 754 763 779 788
803 807 819 823 827 837 842 845 850 865 869 878 894 903
915 919 940 945 947 964 968 977 982 994 995 999 1003 1009
1012 1014 1016 1021 1023 1026 1030 1047 1051 1071 1074 1078 1080 1098
1101 1105 1107 1131 1133 1137 1140 1151 1157 1164 1166 1169 1173 1192
1194 1203 1205 1217 1223 1225 1241 1247 1249 1262 1291 1295 1298 1302
1308 1313 1317 1322 1324 1363 1367 1372 1375 1380 1384 1403 1407 1431
1435 1469 1478 1490 1494 1507 1516 1520 1535 1543 1592 1595 1607 1616
1629 1632 1636 1648 1652 1695 1697 1701 1704 1709 1719 1733 1737 1750
1754 1756 1758 1765 1767 1773 1777 1779 1781 1788 1790 1798 1851 1855
1865 1874 1891 1898 1905 1929 1943 1947 1964 1969 1974 1978 1993 1997
2028 2034 2040 2043 2046 2082 2084 2097 2098 2108 2114 2117 2132 2136
2138 2140 2147 2149 2152 2155 2160 2169 2195 2201 2219 2232 2236 2251
2265 2270 2274 2282 2296 2305 2317 2321 2336 2356 2368 2373 2391 2414
2429 2433 2446 2457 2465 2467 2476 2478 2490 2495 2509 2518 2536 2560
2572 2573 2578 2588 2595 2596 2606 2608 2610 2616 2618 2623 2627 2639
2650 2653 2657 2669 2672 2679 2682 2697 2700 2704 2729 2735 2738 2745
2756 2769 2773 2784 2788 2801 2802 2807 2808 2811 2812 2816 2824 2830
2832 2834 2843 2845 2872 2892 2900 2955 3001 3045 3065 3074 3076 3089
3227 3230 3232 3246 3248 3250 3255 3313 3330 3352 3354 3356 3358 3360
3398 3433 3467 3479 3490 3509 3601 3623 3654 3661 3719 3740 3746 3759
3762 3841 3863 3887 3893 3985 3989 3991 4004 4005 4028 4113 4117 4125
4130 4138 4143 4181 4182 4184 4185 4186 4187 4188 4190 4191 4192 4194
4195 4196 4197 4198 4199 4200 4201 4202 4203 4316 4326 4328 4359 4362
4366 4368 4393 4403 4409 4415 4417 4428 4430 4442 4474 4495 4513 4520
4532 4547 4550 4556 4584 4586 4629 4631 4636 4656 4658 4673 4686 4688
4695 4697 4723 4736 4737 4752 4762 4764 4766 4768 4779 4790 4814 4834
4854 4874 4906 4926 4946 4966 4999 5019 5037 5038 5047 5053 5054 5057
5058 5064 5076 5088 5089 5094 5095 5106 5108 5109 5112 5113 5134 5159
5162 5164 5167 5173 5174 5177 5178 5179 5186 5187 5191 5192 5193 5221
5223 5224 5226 5228 5229 5317 5319 5320 5322 5324 5325 5417 5419 5426
5427 5433 5434 5457 5459 5464 5472 5476 5477 5528 5540 5587 5599 5617
5639 5644 5649 5738 5803 5805 5806 5813 5814 5816 5817 5819 5821 5823
5824 5826 5827 5828 5829 5830 5831 5856 5857 5870 5894 5898 5987 6073
6155 6156 6162 6166 6171 6267 6501 6511 6524 6530 6531 6655 6674 6677
6686 6691 6713 6732 6737 6742 6835 6875 6876 6908 6910 6911 6928 6941
6948 6962 6967 7007 7014 7015 7029 7057 7087 7114 7127 7134 7138 7145
7163 7181 7187 7190 7193 7197 7202 7203 7213 7214 7266 7283 7287 7289
7290 7317 7326 7327 7353 7354 7361 7362
CALLRE 686 5495 5515
CFORK 5063 5847
CHKNIF 4391# 4391 4398 4414 4427
CHKNIM 4391# 4391 4395 4407 4422
CHKNIN 4391# 4391 4397 4413 4426
CHKNIT 4391# 4391 4396 4408 4423
CHNBLD 6392# 6392 6395# 6395 6398# 6398 6401# 6401 6430# 6430 6433# 6433 6436# 6436
6439# 6439 6454# 6454 6457# 6457
CIS 6055
CKTNOD 7082# 7082 7086
CLOSF 2049 3122 3128 3184 3239 5176 5190 6110 7126 7137 7144 7265
CNTMSG 2279# 2279 2289 2299
CPYADR 4626# 4626 4640 4651 4655
CPYFRM 4626# 4626 4641
CPYLEN 4626# 4626 4634 4642
DEBRK 4679 4821 4841 4861 4881 4913 4933 4953 4973 5006 5026 5037 5047 5106
6287
DEQ 5513 5539
DEVST 4269
DIR 5571
DIRST 4248 6036
DISKEY 801# 801 844 847
DISLID 801# 801 839 860 867
DISMS 541 6219 6282 7260
DISMSG 801# 801 868
DMMY 5861# 5861
DMPHLD 6669# 6669 6679 6685 6689 6696 6718
DMPRFS 2129# 2129 2131 2172 2185 2197 2199
DMPRMC 2129# 2129 2198 2203
DMPRMS 2129# 2129 2179 2210
DMPTOP 6669# 6669 6676 6690 6736 6741
DOFKTS 3205# 3205 3225 3229
DOJFDM 3267# 3267 3301 3350
DOJHLD 3267# 3267 3326 3331 3332
DORCTR 3267# 3267 3297 3319
DORMSG 3267# 3267 3290 3298 3321
DORTXT 3267# 3267 3318 3351
EDLCKB 5547# 5547 5552 5554 5556 5557 5558 5559 5561
EDLCKI 5547# 5547 5549 5562
EIR 5577 6061
ENAKEY 690# 690
ENALID 690# 690 728 745 752
ENAMSG 690# 690 753
ENDAS. 683# 3019# 3064# 4306# 4473# 4627# 6924# 6958# 7003# 7083# 7108# 7160# 7279# 7337#
ENDSV. 692# 803# 964# 1071# 1098# 1129# 1217# 1241# 1291# 1468# 1507# 1686# 2131# 2256#
2281# 2336# 2391# 2429# 2490# 2533# 2588# 2639# 2800# 2867# 2897# 3146# 3207# 3269#
3393# 3429# 3597# 3637# 3715# 3837# 3872# 4106# 4341# 4393# 4685# 5086# 5123# 5488#
5508# 5549# 5685# 5736# 5856# 5863# 5937# 6006# 6088# 6197# 6498# 6544# 6638# 6671#
6832# 6978# 7110# 7227#
ENDTV. 1964#
ENQ 5493 5526 6016
ENQC 6024
ENQJFB 6004# 6004 6007 6009 6010 6012 6013 6015 6022
ENQJFS 6004# 6004 6023 6026 6043
ENQJFU 6004# 6004 6034 6038
ENTINT 4667 4807 4827 4847 4867 4899 4919 4939 4959 4992 5012 5032 5042 5101
ERCOD 6326# 6369
ERJMP 988 1554 1567 1588 1599 1626 1662 2018 2069 2088 2909 3088 3177 3212
3236 3280 3294 3406 3412 3441 3445 3451 3458 3473 3517 3530 3536 3542
3550 3556 3562 3609 3613 3621 3645 3669 3732 3849 3853 3861 3879 4278
4721 5076 5130 5145 5877 5911 5914 5924 5942 6104 6162 6166 6171 6185
6518 6758 6784 6874 6991 7011 7027 7042 7069 7096 7124 7174 7235 7238
7241 7245 7249 7309
ERR 6361# 6370
ERRORC 5683# 5683 5685 5695 5702 5709 5715
ERRORH 5683# 5683 5686 5708
ERSTR 5711 6309
EXESTR 2254# 2254 2256 2263
FATAL. 503 576 946 1015 1022 1079 1106 1132 1193 1204 1224 1248 1323 1757
1766 1780 1789 2139 2148 2466 2477 2833 2844 3990 4314 4327 4585 4630
4657 4687 4696 4722 4751 4767 5054 5064 5076 5089 5109 5179 5193 5857
6156 6531 7015 7354 7362
FATMES 6242# 6247 6251 6255 6259 6263 6268
FCLFRE 6542# 6542 6547 6552 6553 6561
FCLLIN 6542# 6542
FCLNIB 6542# 6542
FINMSM 4339# 4339 4341 4357 4361 4364
FINRQA 4305# 4305 4322 4345 4365
FINRQC 4305# 4305 4354
FINRQE 4305# 4305 4356
FINRQF 4305# 4305 4310 4342
FLOUT 4262
FOCNAM 682# 682 684
FRLLST 7336# 7336 7341 7359
GETAB 6184
GETER 3091 5669
GETJFC 6086# 6086 6088 6097
GETJFJ 6086# 6086 6093 6105 6108 6115
GETJI 6029
GETSRC 3144# 3144 3146 3167 3182 3189
GETSRH 3144# 3144 3148 3153 3163 3178 3183 3185
GETSRT 3144# 3144 3149 3159
GTJFN 1526 1984 3160 5910 6091 7244
HALTF 500 505 579 948 1017 1024 1081 1108 1134 1195 1206 1226 1250 1325
1759 1768 1782 1791 2141 2150 2468 2479 2835 2846 3992 4317 4329 4587
4632 4659 4689 4698 4724 4753 4769 5054 5064 5076 5089 5109 5179 5193
5857 6156 6319 6531 7015 7354 7362
HELLOT 6195# 6195 6197 6214
IRQERR 2798# 2798 2820
IRQFLG 2798# 2798 2800 2822
IRQNOD 2798# 2798 2815 2831 2842 2848
JE 1923 2213 6703 6706 6722 6725
JFDENT 4887# 4898 4918 4938 4958
JFDNUM 5084# 5084 5086 5092
JFNENT 4795# 4806 4826 4846 4866
JN 4567 6550 6697 6700 6719
JXE 1925 2215 6704 6707 6723 6726
JXN 4570 6551 6698 6701 6720
KEYWOR 4287
KFORK 3235 5844
LCJCTR 3713# 3713 3744 3757 3765
LCJPTR 3713# 3713 3715 3722 3726 3743 3756 3764 3780
LCLPRT 962# 962 981 986
LCLSCD 962# 962 976 984
LCRCTR 3713# 3713 3721 3778
LCRMSG 3713# 3713 3728 3733
LCRTYP 3713# 3713 3761 3766
LKNMSK 5486# 5486 5489 5491 5492 5509 5511
LNJCTR 3427# 3427 3470 3478 3512
LNJCVR 3427# 3427 3502 3504 3506 3548 3554 3560
LNJHST 3427# 3427 3488 3578
LNJLEN 3427# 3427 3492 3577
LNJNUM 3427# 3427 3481 3513
LNJPTR 3427# 3427 3429 3436 3452 3466 3469 3477 3511
LNJRVR 3427# 3427 3496 3498 3500 3526 3534 3540
LNJSTA 3427# 3427 3485 3568
LNJSYS 3427# 3427 3507 3521
LNRCTR 3427# 3427 3435
LNRMSG 3427# 3427 3454 3459
LNSMSG 1466# 1466 1468
LOAD 523 573 591 593 596 1076 1103 1129 1149 1153 1155 1186 1197 1221
1245 1320 1849 1886 1893 1900 2193 2977 2983 2991 2999 3019 3269 3950
3954 3956 3965 3975 3997 4019 4026 4031 4040 4044 4046 4056 4060 4067
4074 4085 4089 4091 4167 4169 4176 4308 4311 4320 4346 4523 4552 4557
4559 4562 4564 4572 4574 4577 4579 4716 4760 4781 6548 6578 6581 6584
6711 6730 6781 6810 7093
LOARBP 1684# 1684 1686 1687 1830 1831 1859 1860 1864
LOARCT 1684# 1684 1882 1912
LOARFS 1684# 1684 1692 1722 1836 1870 1872
LOARHO 1684# 1684 1688 1753 1755 1764 1809 1895 1896
LOARMC 1684# 1684 1861 1866 1871 1876
LOARMS 1684# 1684 1815 1920
LOARNM 1684# 1684 1689 1776 1778 1787 1808 1888 1889
LOARNO 1684# 1684 1690 1810 1880
LOARNU 1684# 1684 1691 1801 1807 1902 1903
LOARSL 1684# 1684 1694
LOARSP 1684# 1684 1884 1910
LOARSV 1684# 1684 1693 1823 1853 1854
LOCK 5222 5318 5418 5458 7006
LOPBYT 2637# 2637 2716 2722 2726 2732 2734 2736 2739 2740 2743 2746 2747 2750
LOPCNT 2637# 2637 2645 2674 2737
LOPHLD 3391# 3391 3393 3401 3402 3409
LOPLID 2637# 2637 2643 2733
LOPLNG 2637# 2637 2647 2692 2744
LOPMSG 2637# 2637 2717 2751
LOPWTH 2637# 2637 2649 2706 2741
LSJCNT 3870# 3870 3872 3938 3940
LSJCTR 3870# 3870 3891 3899 3904 3919
LSJLIN 3870# 3870 3889 3892
LSJMSG 3870# 3870 3875 3880
LSJPTR 3870# 3870 3873 3890 3898 3903 3918 3927
LSRCTR 3835# 3835 3843 3862
LSRPTR 3835# 3835 3837 3844
MNDBLK 6976# 6976 6978
MNIERR 7107# 7107
MNIHLD 7108# 7108
MNIHST 7108# 7108
MNIIDX 7107# 7107
MNILNK 7108# 7108 7116 7120 7124 7132 7135 7143
MNILST 7108# 7108
MNINOD 7107# 7107 7113 7133
MNIPAG 7107# 7107
MOVX 611 767 792 882 907 1056 1085 1112 1269 1273 1277 1281 1418 1425
1446 1453 1482 1524 1821 1824 1828 1832 1862 1906 1916 1933 1982 2112
2206 2223 2309 2341 2344 2349 2360 2396 2399 2402 2407 2418 2437 2440
2444 2460 2522 2548 2552 2564 2719 2723 2760 2877 2881 3157 3277 3285
3514 3527 3531 3537 3546 3551 3557 3656 3666 3670 3895 4017 4123 4136
4488 4705 4713 5062 5490 5510 5743 5752 5758 5764 5780 5794 5845 5865
5866 5908 5920 5922 5925 5926 5937 5958 5989 6006 6042 6089 6154 6160
6168 6169 6563 6651 6653 6709 6728 6895 7242 7255 7259
MRECV 4712 4720
MSEND 5800 6207 6905
MTOPR 3176 3279 5129 5923 6103 7256
MUTIL 4749 6129 6133 6139 6145 6202
NBINIB 6636# 6636 6638 6657
ND 421
NHSNOD 1239# 1239 1244 1253
NNMNOD 1215# 1215 1220 1229
NODE 987 5876 5941 6161 6165 6170 6757 6990
NON.FA 534 617 2609 2617 3231 3353 3357 4367 4416 4429 4763 5174 5177 5187
5191 5803 5806 5827 5829 5831 6162 6166 6171 6876 6908 6911 7127 7138
7145 7203 7214 7266 7290 7327
NOUT 2068 2087 2093 2943 2986 3307 3411 3516 3529 3535 3541 3549 3555 3561
3668 3775 4222 5717 6045 6301
ODCNV 4607
ODTIM 2075 3444 3612 3752 3852 4277
OPENF 1532 1990 3165 5913 6095 7248
OPRMSA 5734# 5734 5740 5749 5790 5792 5803 5804
OPRMSB 5734# 5734 5742 5744 5746 5748 5799
OPRMSH 5734# 5734 5736 5755 5762 5766
OPRMSS 5734# 5734 5737 5753 5778 5783
PIOFF 517 3245 4512 4546 4778 5221 5317 5417 5457 6267
PION 520 526 3249 3254 4519 4531 4549 4555 4789 5226 5229 5322 5325 5427
5434 5464 5472 5477
PLICTL 4104# 4104 4106 4132 4150
PLIDEV 4104# 4104 4108 4119 4149
PLISTN 4104# 4104 4109 4152
PLIUNI 4104# 4104 4107 4145 4151
PMAP 5401 5976 5981
PRARG 5075
PRTLID 2895# 2895 2898 2904
PRTSAV 2895# 2895
PRUNEW 6923# 6923 6938 6947
PRUNOD 6923# 6923 6927
PRUOLD 6923# 6923 6930 6946
PSOUT 603 605 608 5641 5650 6033 6039 6041 6217 6280 6293 6295 6297 6305
6315
QUEFCN 4472# 4472 4504 4507
QUENCM 4472# 4472 4478 4481
QUENCN 4472# 4472 4498 4501
QUENCT 4472# 4472 4484
RCVPDB 4683# 4683 4702 4704 4707 4709 4711 4715 4718 4728 4744 4746 4748
RESET 497
RESIAC 4674 4815 4835 4855 4875 4907 4927 4947 4967 5000 5020 5037 5047 5106
RET 555 561 564 623 633 642 667 693 697 713 717 727 732 736
751 756 765 781 790 804 808 824 828 838 843 846 851 866
871 880 896 905 980 989 1219 1243 1264 1311 1315 1319 1370 1382
1386 1471 1480 1510 1518 1522 1529 1601 1630 1633 1637 1641 1644 1649
1653 1656 1675 1699 1706 1721 1752 1762 1775 1785 1800 1931 1967 1971
1976 1980 1987 2052 2054 2105 2111 2116 2119 2121 2134 2144 2157 2162
2171 2221 2277 2284 2307 2338 2358 2370 2393 2416 2431 2483 2493 2497
2520 2538 2562 2575 2590 2613 2642 2687 2691 2731 2758 2804 2814 2850
2874 2893 2903 2911 2928 2961 2970 3047 3067 3079 3112 3134 3261 3400
3407 3413 3434 3465 3468 3480 3491 3510 3602 3624 3652 3655 3662 3677
3720 3842 3864 3886 3888 3894 3926 3953 3968 3979 3987 3995 4006 4022
4030 4043 4059 4063 4070 4073 4088 4114 4118 4126 4131 4144 4211 4217
4226 4235 4245 4252 4258 4266 4273 4281 4394 4431 4449 4476 4551 4612
4638 4663 4755 4791 5039 5040 5059 5080 5096 5114 5135 5180 5195 5226
5241 5252 5268 5322 5334 5344 5389 5409 5428 5464 5472 5532 5544 5564
5573 5579 5593 5605 5629 5646 5651 5664 5673 5727 5739 5818 5820 5822
5848 5871 5877 5899 5942 5963 5997 6020 6025 6030 6047 6062 6080 6188
6502 6532 6609 6624 6656 6659 6675 6738 6743 6744 6784 6786 6836 6877
6929 6949 6968 6992 7059 7072 7088 7098 7115 7128 7139 7164 7216 7252
7267 7284 7292 7377 7380 7385 7388
RETBAD 621 631 640 755 764 780 789 870 879 895 904 978 1218 1242
1263 1309 1314 1318 1368 1381 1385 1470 1479 1508 1517 1521 1527 1698
1705 1720 1751 1761 1774 1784 1799 1930 1965 1970 1975 1979 1985 2050
2115 2118 2133 2143 2156 2161 2170 2220 2275 2283 2306 2337 2357 2369
2392 2415 2430 2482 2491 2496 2519 2537 2561 2574 2589 2612 2640 2685
2689 2730 2757 2803 2813 2849 2873 2901 2909 3046 3066 3078 3110 3260
3399 3406 3412 3986 3994 4029 4475 4637 4661 5135 5225 5226 5252 5268
5321 5322 5334 5344 5389 5428 5463 5464 5471 5472 5739 5818 5820 5822
5848 5871 5877 5899 5942 6080 6502 6532 6675 6738 6743 6744 6784 6786
6836 6877 7088 7128 7139 7164 7267 7284 7292
RETER2 3093 3161 3190 5801 5803 6092 6116 6140 6146 6208 6906 6908
RETSKP 599 609 615 670 685 771 796 886 911 950 990 1005 1058 1090
1117 1161 1167 1210 1331 1387 1420 1427 1448 1455 1486 1602 1670 1937
2055 2124 2227 2267 2313 2364 2422 2470 2526 2568 2619 2764 2837 2879
2883 2914 3048 3096 3107 3179 3258 3272 3284 3361 3421 3584 3625 3702
3781 3865 3944 3959 3969 4000 4007 4008 4034 4049 4077 4094 4153 4369
4373 4376 4380 4447 4521 4533 4592 4652 5238 5295 5326 5385 5444 5478
5807 5832 5850 5881 5900 5931 5943 6018 6077 6081 6106 6147 6209 6526
6558 6565 6588 6600 6613 6628 6739 6759 6777 6792 6794 6820 6912 7030
7044 7058 7071 7149 7207 7270 7328 7342 7363 7389
RFSTS 3211
RLJFN 1598 3187 3242 6113 7250
RMVNOD 6957# 6957 6961 6966
RPACS 5956
RSJCNT 3595# 3595 3603 3622
RSJPTR 3595# 3595 3597 3604
RSRCNT 3635# 3635 3638 3696 3698
RSRCTR 3635# 3635 3664 3676
RSRMSG 3635# 3635 3641 3646
RSRPTR 3635# 3635 3639 3653 3660 3663 3675 3679
RTPERR 7159# 7159 7211 7215
RTPHST 7159# 7159 7186
RTPLNK 7159# 7159 7169
RTPPAG 7159# 7159 7165 7170 7179 7201 7212
RWM 547
SAVEPQ 571 4161 4544 6922 7224 7279 7337
SAVEQ 1622 1658 2922 2967 3060 3117 4306 4462 4466 4600 4680 5061 5733 5853
5860 6070 6124 6194 6575 6804
SAVET 4439
SAVIAC 4668 4808 4828 4848 4868 4900 4920 4940 4960 4993 5013 5032 5042 5101
SDFFIL 1069# 1069 1073 1087
SETONE 1055 1084 1111 1417 1445 1915 2205 2880 4487 6563 6649 6650 6651 6653
6709 6728
SETZRO 1188 1199 1208 1424 1452 2876 4510 4733 4776 6648
SFLFIL 1289# 1289 1316 1328
SFORK 5079
SHDMSG 2389# 2389 2394 2409
SHLLID 2488# 2488 2494 2508
SHNMSG 2427# 2427 2435 2452
SHNNOD 2427# 2427 2432 2443 2464 2475 2481
SHOMSG 2488# 2488 2501 2512
SIBE 3274
SIN 3027
SINR 3293 3457 3644 3731 3878 5144 7173
SIR 6058
SLFFIL 1096# 1096 1100 1114
SLSMSG 2334# 2334 2339 2351
SNDBLK 6830# 6830 6891
SNDFNC 6830# 6830 6834 6850 6874 6900 6908 6909
SNDHLD 6830# 6830 6832
SNDNAM 6830# 6830 6833 6870
SNDNIF 3063# 3063 3082
SNDNIM 3063# 3063 3069 3072
SNDNIN 3063# 3063 3064 3085
SNDNIT 3063# 3063 3084
SNLMSG 2531# 2531 2542 2554
SNSNOD 1127# 1127 1139 1146
SOUT 2063 2072 2078 2104 2259 2261 2601 2934 2940 2947 2950 2953 2959 2975
2982 2990 2995 2998 3005 3037 3152 3154 3156 3304 3311 3316 3338 3342
3349 3405 3417 3440 3450 3476 3520 3522 3525 3545 3566 3575 3579 3583
3608 3620 3695 3700 3725 3749 3755 3772 3848 3860 3917 3937 3942 4214
4234 4242 5694 5701 5707 5714 5725 5768 5785 6873 7234 7237 7240
SOUTR 3087 7123
SPACS 5959
SQNPAG 2586# 2586 2591 2602 2607 2611 2615
STCMP 6817 7095
STKVAR 689 800 961 1068 1095 1126 1214 1238 1288 1465 1504 1682 2128 2253
2278 2333 2388 2426 2487 2530 2585 2636 2797 2864 2894 3143 3204 3266
3390 3425 3594 3634 3712 3834 3869 4103 4338 4390 4682 5084 5121 5486
5506 5547 5683 5734 5854 5861 5935 6004 6086 6195 6496 6542 6636 6669
6830 6976 7108 7225
STLFLG 2865# 2865 2867 2875
STLLID 2865# 2865 2868 2871
STLNIB 2865# 2865 2869 2870
STNNIB 6496# 6496 6513 6522 6525
STNNOD 6496# 6496 6507 6515 6523 6529
STONIF 3018# 3018 3044
STONIM 3018# 3018 3025 3029 3038 3041
STONIN 3018# 3018 3035
STONIT 3018# 3018 3023 3024 3028 3040
STOR 613 769 794 884 909 1053 1088 1115 1142 1144 1147 1159 1230 1254
1265 1329 1484 1826 1834 1935 2225 2311 2362 2420 2462 2524 2566 2762
3168 3171 3173 4479 4482 4491 4496 4499 4502 4505 4508 4516 4529 4693
4700 4787 5056 5091 5093 5111 5765 5771 5781 5788 5921 5990 6098 6100
6101 6596 6597 6598 6644 6645 6647 6658 6838 6840 6849 6851 6853 6859
6861 6863 6869 6879 6888 6890
SWITCH 4291
SWLENT 7002# 7002
SWLNEW 7002# 7002 7024
SWLNOD 7002# 7002 7009 7019
SWLOLD 7002# 7002 7012
SYSGT 6178
TBADD 6517 7026
TBDEL 7010
TBLUK 6783 7041 7068 7308
TIMER 5867
TMSG 6032 6040
TOPENT 4980# 4991 5011
TOPVR0 5854# 5854 5872 5878 5897
TPIERR 5121# 5121 5184 5194
TPIHST 5121# 5121 5126 5157
TPIPAG 5121# 5121 5136 5141 5150 5172 5185
TPLLNK 7225# 7225 7246 7249 7254 7263 7269
TPLNOD 7225# 7225 7230 7236
TPLSTR 7225# 7225 7231 7243
TRVAR 1961
TXNE 3282 4343 4351 5957 6698 6701 6720 7257 7310
TXNN 1925 2215 6704 6707 6723 6726 6785 7070
TXO 1837 1839 2186 3126 4411 4570 5189 5551 7125 7136 7264
TXZ 4424
TXZE 4399 4485
ULNMSK 5506# 5506 5512
UNLOCK 5226 5227 5322 5323 5425 5432 5464 5472 5475 7028
UPNLST 7278# 7278 7305
UPNPAG 7278# 7278 7285 7288 7291 7296 7325
WAIT 540
WRNMES 6217 6280
X 4282# 4287 4291
%LTLOG 2877 2881
%LTNIB 1160
%LTUSE 6550 6563
%NDDIP 2206 6697 6709
%NDDMP 1077 1089
%NDDOK 1085 2214 6703 6722
%NDFLG 6648
%NDFRD 1418 1425 6651 6706
%NDFRL 1446 1453 6653 6725
%NDLIN 6548 6658
%NDLIP 1916 6700 6719 6728
%NDLOD 1104 1116
%NDLOK 1112 1924
%NDNAM 1850 2194 6644 6711 6730 6781 6810
%NDPHT 1198 1200 1246 1255 1894 6647
%NDPNA 1187 1189 1222 1231 1887 6645
%NDPNU 1209 1266 1901 6650
%NDPRO 1054 6649
%NDPST 1056
%NDSL1 1143 1154
%NDSL2 1145 1156
%NDSRV 1130 1148 1150 7093
%NQCHR 4500 4573
%NQFCN 4506 4580
%NQMES 3000 4480 4558
%NQNUM 2984 4503 4575
%NQOPT 4509 4578
%NQPNT 2978 4511 4517 4524 4530 4553
%NQREQ 4488 4569
%NQRQT 4497 4565
%NQTXT 4492 4563
%NQXTR 2992 4483 4560
%PBLEN 3957 3998 4027 4032 4047 4061 4075 4092 4177 6853 6863 6879 6890
%PBTYP 3951 3966 3976 4020 4041 4057 4068 4086 4168 6849 6859 6869 6888
%PBVAL 3955 4045 4090 4170 6851 6861
%PGCPU 6581 6597
%PGFIL 1321 1330
%PGLDV 5990 6578 6596
%PGPGM 6584 6598
%QUEFL 614 770 795 885 910 1485 1936 2226 2312 2363 2421 2463 2525 2567
2763 4309
%QUEME 592 3270 4321 4701 4717 4761 5093
%QUEPN 524 4734 4777 4782 4788
%QUETY 574 4312 4694 5056 5091 5111
..JN 4569 6550 6697 6700 6719