Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / 20 / default.oc
1 \f
2 Open coding: X$DEF-GET-MODE
3 <GFCN X$DEF-GET-MODE ("VALUE" <OR FALSE STRING> CHANNEL ANY) CHANNEL4 OPER5> 
4 <TEMP DATA6 TEMP11> 
5                                              PUSH TP* #REF [0] 
6                                              PUSH TP* #REF [0] 
7                                              PUSH TP* #REF [0] 
8                                              PUSH TP* #REF [0] 
9
10 <INTGO> 
11 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
12                                              DMOVE B1* 8 (A2*) 
13
14 <DEAD CHANNEL4> 
15 <NTHUV DATA6 1 = DATA6 (TYPE FIX)>           DMOVE B1* 0 (B2*) 
16
17 <AND DATA6 #WORD *000000777777* = TEMP11>    ANDI B2* 262143 
18
19 <DEAD DATA6> 
20 <SYSOP 'GTSTS TEMP11 (RETURN 2) = DATA6>     MOVE A1* B2* 
21                                              GTSTS O* O* 
22                                              JUMP TP* #REF [JS9] 
23                                              MOVSI A1* 64 
24                                              JRST #REF [JS10] 
25                               JS9 :          MOVEI A1* 131072 
26                                              GETER O* O* 
27                                              HRRZ B2* A2* 
28                                              MOVSI B1* 64 
29                                              MOVEI C1* 0 
30                                              JSP T* @ 170 
31                                              HRLI A1* 321 
32                               JS10 :
33 <DEAD TEMP11> 
34 <LESS? DATA6 0 + PHRASE16!-LB (TYPE FIX)>    JUMPL A2* #REF [PHRASE16] 
35
36 <RETURN "CLOSED">                            DMOVE A1* 4 (M*) 
37                                              JRST @ 148 
38                               PHRASE16 :
39 <AND DATA6 #WORD *100000000000* = TEMP11>    TLNN A2* 32768 
40                                              JRST #REF [PHRASE19] 
41
42 <VEQUAL? TEMP11 0 + PHRASE19!-LB (TYPE FIX)> 
43 <DEAD TEMP11> 
44 <AND DATA6 #WORD *020000000000* = TEMP11>    AND A2* #REF [2147483648] 
45
46 <DEAD DATA6> 
47 <VEQUAL? TEMP11 0 - PHRASE24!-LB (TYPE FIX)> JUMPN A2* #REF [PHRASE24] 
48
49 <DEAD TEMP11> 
50 <RETURN "APPEND">                            DMOVE A1* 6 (M*) 
51                                              JRST @ 148 
52                               PHRASE24 :
53 <RETURN "MODIFY">                            DMOVE A1* 8 (M*) 
54                                              JRST @ 148 
55                               PHRASE19 :
56 <AND DATA6 #WORD *200000000000* = TEMP11>    AND A2* #REF [17179869184] 
57
58 <DEAD DATA6> 
59 <VEQUAL? TEMP11 0 - TAG29!-LB (TYPE FIX)>    JUMPN A2* #REF [TAG29] 
60
61 <DEAD TEMP11> 
62 <RETURN %<>>                                 MOVSI A1* 321 
63                                              MOVEI A2* 0 
64                                              JRST @ 148 
65                               TAG29 :
66 <RETURN "READ">                              DMOVE A1* 10 (M*) 
67                                              JRST @ 148 
68
69 2 flushed temporaries.
70 \f
71 Open coding: X$DEF-GET-BYTE-SIZE
72 <GFCN X$DEF-GET-BYTE-SIZE ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5> 
73 <TEMP DATA6 TEMP11> 
74                                              PUSH TP* #REF [0] 
75                                              PUSH TP* #REF [0] 
76                                              PUSH TP* #REF [0] 
77                                              PUSH TP* #REF [0] 
78
79 <INTGO> 
80 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
81                                              DMOVE B1* 8 (A2*) 
82
83 <DEAD CHANNEL4> 
84 <NTHUV DATA6 1 = DATA6 (TYPE FIX)>           DMOVE B1* 0 (B2*) 
85
86 <SYSOP 'RFBSZ DATA6 (RETURN 2) = DATA6>      MOVE A1* B2* 
87                                              RFBSZ O* O* 
88                                              JUMP TP* #REF [JS15] 
89                                              MOVSI A1* 64 
90                                              JRST #REF [JS16] 
91                               JS15 :         MOVEI A1* 131072 
92                                              GETER O* O* 
93                                              HRRZ B2* A2* 
94                                              MOVSI B1* 64 
95                                              MOVEI C1* 0 
96                                              JSP T* @ 170 
97                                              HRLI A1* 321 
98                               JS16 :
99 <SET TEMP11 DATA6>                           DMOVE B1* A1* 
100
101 <TYPE? TEMP11 321 + PHRASE16!-LB>            LDB O* #REF [19595788291] 
102                                              DMOVEM A1* 0 DATA6 (F*) 
103                                              DMOVEM B1* 0 TEMP11 (F*) 
104                                              CAIN O* 321 
105                                              JRST #REF [PHRASE16] 
106
107 <EQUAL? DATA6 7 - PHRASE13!-LB>              CAMN A1* #REF [16777216] 
108                                              CAME A2* #REF [7] 
109                                              JRST #REF [PHRASE13] 
110
111 <RETURN "ASCII">                             DMOVE A1* 12 (M*) 
112                                              JRST @ 148 
113                               PHRASE13 :
114 <EQUAL? DATA6 8 - PHRASE14!-LB>              CAMN A1* #REF [16777216] 
115                                              CAME A2* #REF [8] 
116                                              JRST #REF [PHRASE14] 
117
118 <RETURN "8BIT">                              DMOVE A1* 14 (M*) 
119                                              JRST @ 148 
120                               PHRASE14 :
121 <EQUAL? DATA6 36 - PHRASE15!-LB>             CAMN A1* #REF [16777216] 
122                                              CAME A2* #REF [36] 
123                                              JRST #REF [PHRASE15] 
124
125 <RETURN "BINARY">                            DMOVE A1* 16 (M*) 
126                                              JRST @ 148 
127                               PHRASE15 :
128 <SET TEMP11 DATA6> 
129 <DEAD DATA6>                                 DMOVEM A1* 0 TEMP11 (F*) 
130                               PHRASE16 :
131 <RETURN TEMP11>                              DMOVE A1* 0 TEMP11 (F*) 
132                                              JRST @ 148 
133
134 <DEAD TEMP11> \f
135 Open coding: X$DEF-SHORT-NAME
136 <GFCN X$DEF-SHORT-NAME ("VALUE" <OR FALSE STRING> CHANNEL ANY) CHANNEL4 OPER5> 
137 <TEMP DATA6> 
138                                              PUSH TP* #REF [0] 
139                                              PUSH TP* #REF [0] 
140
141 <INTGO> 
142 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
143                                              DMOVE B1* 8 (A2*) 
144
145 <DEAD CHANNEL4> 
146 <FRAME ?FRM17!-LB I$DO-JFNS>                 PUSH TP* #REF [16777216] 
147                                              #GFRM ?FRM17!-LB T 
148
149 <NTHUV DATA6 1 = STACK (TYPE FIX)>           PUSH TP* 0 (B2*) 
150                                              PUSH TP* 1 (B2*) 
151
152 <DEAD DATA6> 
153 <PUSH 153092097>                             PUSH TP* #REF [16777216] 
154                                              PUSH TP* #REF [153092097] 
155
156 <CALL 'I$DO-JFNS 2 = DATA6 ?FRM17!-LB>       #GCAL I$DO-JFNS T %<> 
157                               ?FRM17 :
158 <RETURN DATA6>                               JRST @ 148 
159
160 <DEAD DATA6> 
161 1 flushed temporaries.
162 \f
163 Open coding: X$DEF-NM1
164 <GFCN X$DEF-NM1 ("VALUE" <OR FALSE STRING> CHANNEL ANY) CHANNEL4 OPER5> 
165 <TEMP DATA6> 
166                                              PUSH TP* #REF [0] 
167                                              PUSH TP* #REF [0] 
168
169 <INTGO> 
170 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
171                                              DMOVE B1* 8 (A2*) 
172
173 <DEAD CHANNEL4> 
174 <FRAME ?FRM22!-LB I$DO-JFNS>                 PUSH TP* #REF [16777216] 
175                                              #GFRM ?FRM22!-LB T 
176
177 <NTHUV DATA6 1 = STACK (TYPE FIX)>           PUSH TP* 0 (B2*) 
178                                              PUSH TP* 1 (B2*) 
179
180 <DEAD DATA6> 
181 <PUSH 134217728>                             PUSH TP* #REF [16777216] 
182                                              PUSH TP* #REF [134217728] 
183
184 <CALL 'I$DO-JFNS 2 = DATA6 ?FRM22!-LB>       #GCAL I$DO-JFNS T %<> 
185                               ?FRM22 :
186 <RETURN DATA6>                               JRST @ 148 
187
188 <DEAD DATA6> 
189 1 flushed temporaries.
190 \f
191 Open coding: X$DEF-NM2
192 <GFCN X$DEF-NM2 ("VALUE" <OR FALSE STRING> CHANNEL ANY) CHANNEL4 OPER5> 
193 <TEMP DATA6> 
194                                              PUSH TP* #REF [0] 
195                                              PUSH TP* #REF [0] 
196
197 <INTGO> 
198 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
199                                              DMOVE B1* 8 (A2*) 
200
201 <DEAD CHANNEL4> 
202 <FRAME ?FRM27!-LB I$DO-JFNS>                 PUSH TP* #REF [16777216] 
203                                              #GFRM ?FRM27!-LB T 
204
205 <NTHUV DATA6 1 = STACK (TYPE FIX)>           PUSH TP* 0 (B2*) 
206                                              PUSH TP* 1 (B2*) 
207
208 <DEAD DATA6> 
209 <PUSH 16777216>                              PUSH TP* #REF [16777216] 
210                                              PUSH TP* #REF [16777216] 
211
212 <CALL 'I$DO-JFNS 2 = DATA6 ?FRM27!-LB>       #GCAL I$DO-JFNS T %<> 
213                               ?FRM27 :
214 <RETURN DATA6>                               JRST @ 148 
215
216 <DEAD DATA6> 
217 1 flushed temporaries.
218 \f
219 Open coding: X$DEF-DEV
220 <GFCN X$DEF-DEV ("VALUE" <OR FALSE STRING> CHANNEL ANY) CHANNEL4 OPER5> 
221 <TEMP DATA6> 
222                                              PUSH TP* #REF [0] 
223                                              PUSH TP* #REF [0] 
224
225 <INTGO> 
226 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
227                                              DMOVE B1* 8 (A2*) 
228
229 <DEAD CHANNEL4> 
230 <FRAME ?FRM32!-LB I$DO-JFNS>                 PUSH TP* #REF [16777216] 
231                                              #GFRM ?FRM32!-LB T 
232
233 <NTHUV DATA6 1 = STACK (TYPE FIX)>           PUSH TP* 0 (B2*) 
234                                              PUSH TP* 1 (B2*) 
235
236 <DEAD DATA6> 
237 <PUSH 8589934592>                            PUSH TP* #REF [16777216] 
238                                              PUSH TP* #REF [8589934592] 
239
240 <CALL 'I$DO-JFNS 2 = DATA6 ?FRM32!-LB>       #GCAL I$DO-JFNS T %<> 
241                               ?FRM32 :
242 <RETURN DATA6>                               JRST @ 148 
243
244 <DEAD DATA6> 
245 1 flushed temporaries.
246 \f
247 Open coding: X$DEF-SNM
248 <GFCN X$DEF-SNM ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5> 
249 <TEMP DATA7 STR6 TEMP13> 
250                                              PUSH TP* #REF [0] 
251                                              PUSH TP* #REF [0] 
252                                              PUSH TP* #REF [0] 
253                                              PUSH TP* #REF [0] 
254                                              PUSH TP* #REF [0] 
255                                              PUSH TP* #REF [0] 
256
257 <INTGO> 
258 <NTHUV CHANNEL4 5 = DATA7>                   DMOVE A1* 0 CHANNEL4 (F*) 
259                                              DMOVE B1* 8 (A2*) 
260
261 <DEAD CHANNEL4> 
262 <FRAME ?FRM37!-LB I$DO-JFNS>                 PUSH TP* #REF [16777216] 
263                                              #GFRM ?FRM37!-LB T 
264
265 <NTHUV DATA7 1 = STACK (TYPE FIX)>           PUSH TP* 0 (B2*) 
266                                              PUSH TP* 1 (B2*) 
267
268 <PUSH 1073741824>                            PUSH TP* #REF [16777216] 
269                                              PUSH TP* #REF [1073741824] 
270
271 <CALL 'I$DO-JFNS 2 = STR6 ?FRM37!-LB>        DMOVEM B1* 0 DATA7 (F*) 
272                                              #GCAL I$DO-JFNS T %<> 
273                               ?FRM37 :
274 <NTHUV DATA7 1 = TEMP13 (TYPE FIX)>          DMOVE B1* @ 1 DATA7 (F*) 
275
276 <GETBITS TEMP13 18 18 = TEMP13>              LDB B2* #REF [19629342724] 
277
278 <VEQUAL? TEMP13 0 - BOOL12!-LB (TYPE FIX)>   DMOVEM A1* 0 STR6 (F*) 
279                                              JUMPN B2* #REF [BOOL12] 
280
281 <DEAD TEMP13> 
282 <FRAME 'T$GET-DEVICE-TYPE>                   JSP T* @ 144 
283
284 <NTHUV DATA7 1 = STACK (TYPE FIX)>           DMOVE A1* 0 DATA7 (F*) 
285                                              PUSH TP* 0 (A2*) 
286                                              PUSH TP* 1 (A2*) 
287
288 <DEAD DATA7> 
289 <CALL 'T$GET-DEVICE-TYPE 1 = TEMP13>         MOVE O1* 19 (M*) 
290                                              MOVEI O2* 1 
291                                              JSP T* @ 145 
292
293 <EQUAL? TEMP13 0 - PHRASE10!-LB>             CAMN A1* #REF [16777216] 
294                                              CAME A2* #REF [0] 
295                                              JRST #REF [PHRASE10] 
296
297 <DEAD TEMP13>                 BOOL12 :
298 <TYPE? STR6 321 + BOOL17!-LB>                LDB O* #REF [(STR6 19599196160)] 
299                                              CAIN O* 321 
300                                              JRST #REF [BOOL17] 
301
302 <EMPUS? STR6 - PHRASE10!-LB (TYPE STRING)>   HRRZ O* 0 STR6 (F*) 
303                                              JUMPN O* #REF [PHRASE10] 
304                               BOOL17 :
305 <FRAME 'T$GET-CONNECTED-DIR>                 JSP T* @ 144 
306
307 <CALL 'T$GET-CONNECTED-DIR 0 = TEMP13>       MOVE O1* 21 (M*) 
308                                              MOVEI O2* 0 
309                                              JSP T* @ 145 
310
311 <RETURN TEMP13>                              JRST @ 148 
312
313 <DEAD TEMP13>                 PHRASE10 :
314 <RETURN STR6>                                DMOVE A1* 0 STR6 (F*) 
315                                              JRST @ 148 
316
317 <DEAD STR6> 
318 1 flushed temporaries.
319 \f
320 Open coding: X$DEF-NAME
321 <GFCN X$DEF-NAME ("VALUE" <OR FALSE STRING> CHANNEL ANY "OPTIONAL" ANY)
322 CHANNEL6 OPER7 BITS8>                        ADDI O2* 157 (R*) 
323                                              JRST @ (O2*) 
324                                              DISPATCH OPT4 
325                                              DISPATCH OPT5 
326                               OPT4 :
327 <PUSH 31>                                    PUSH TP* #REF [16777216] 
328                                              PUSH TP* #REF [31] 
329                               OPT5 :
330 <TEMP DATA9 (ARGBITS10:FIX 1) TEMP13> 
331                                              PUSH TP* #REF [16777216] 
332                                              PUSH TP* #REF [1] 
333                                              PUSH TP* #REF [0] 
334                                              PUSH TP* #REF [0] 
335                                              PUSH TP* #REF [0] 
336                                              PUSH TP* #REF [0] 
337
338 <INTGO> 
339 <NTHUV CHANNEL6 5 = DATA9>                   DMOVE A1* 0 CHANNEL6 (F*) 
340                                              DMOVE B1* 8 (A2*) 
341
342 <DEAD CHANNEL6> 
343 <AND BITS8 #WORD *000000000020* = TEMP13>    DMOVE A1* 0 BITS8 (F*) 
344                                              TRNN A2* 16 
345                                              JRST #REF [PHRASE12] 
346
347 <VEQUAL? TEMP13 0 + PHRASE12!-LB (TYPE FIX)> 
348 <DEAD TEMP13> 
349 <OR ARGBITS10 #WORD *100000000000* = ARGBITS10> 
350                                              DMOVE C1* 0 ARGBITS10 (F*) 
351                                              TLO C2* 32768 
352                                              MOVEM C2* 1 ARGBITS10 (F*) 
353                               PHRASE12 :
354 <AND BITS8 #WORD *000000000010* = TEMP13>    TRNN A2* 8 
355                                              JRST #REF [PHRASE17] 
356
357 <VEQUAL? TEMP13 0 + PHRASE17!-LB (TYPE FIX)> 
358 <DEAD TEMP13> 
359 <OR ARGBITS10 #WORD *010000000000* = ARGBITS10> 
360                                              DMOVE C1* 0 ARGBITS10 (F*) 
361                                              TLO C2* 4096 
362                                              MOVEM C2* 1 ARGBITS10 (F*) 
363                               PHRASE17 :
364 <AND BITS8 #WORD *000000000004* = TEMP13>    TRNN A2* 4 
365                                              JRST #REF [PHRASE21] 
366
367 <VEQUAL? TEMP13 0 + PHRASE21!-LB (TYPE FIX)> 
368 <DEAD TEMP13> 
369 <OR ARGBITS10 #WORD *001000000000* = ARGBITS10> 
370                                              DMOVE C1* 0 ARGBITS10 (F*) 
371                                              TLO C2* 512 
372                                              MOVEM C2* 1 ARGBITS10 (F*) 
373                               PHRASE21 :
374 <AND BITS8 #WORD *000000000002* = TEMP13>    TRNN A2* 2 
375                                              JRST #REF [PHRASE25] 
376
377 <VEQUAL? TEMP13 0 + PHRASE25!-LB (TYPE FIX)> 
378 <DEAD TEMP13> 
379 <OR ARGBITS10 #WORD *000100000000* = ARGBITS10> 
380                                              DMOVE C1* 0 ARGBITS10 (F*) 
381                                              TLO C2* 64 
382                                              MOVEM C2* 1 ARGBITS10 (F*) 
383                               PHRASE25 :
384 <AND BITS8 #WORD *000000000001* = TEMP13>    ANDI A2* 1 
385
386 <DEAD BITS8> 
387 <VEQUAL? TEMP13 0 + PHRASE29!-LB (TYPE FIX)> JUMPE A2* #REF [PHRASE29] 
388
389 <DEAD TEMP13> 
390 <OR ARGBITS10 #WORD *000010000000* = ARGBITS10> 
391                                              DMOVE A1* 0 ARGBITS10 (F*) 
392                                              TLO A2* 8 
393                                              MOVEM A2* 1 ARGBITS10 (F*) 
394                               PHRASE29 :
395 <FRAME ?FRM46!-LB I$DO-JFNS>                 PUSH TP* #REF [16777216] 
396                                              #GFRM ?FRM46!-LB T 
397
398 <NTHUV DATA9 1 = STACK (TYPE FIX)>           PUSH TP* 0 (B2*) 
399                                              PUSH TP* 1 (B2*) 
400
401 <DEAD DATA9> 
402 <PUSH ARGBITS10>                             PUSH TP* 0 ARGBITS10 (F*) 
403                                              PUSH TP* 1 ARGBITS10 (F*) 
404
405 <DEAD ARGBITS10> 
406 <CALL 'I$DO-JFNS 2 = TEMP13 ?FRM46!-LB>      #GCAL I$DO-JFNS T %<> 
407                               ?FRM46 :
408 <RETURN TEMP13>                              JRST @ 148 
409
410 <DEAD TEMP13> 
411 2 flushed temporaries.
412 \f
413 Open coding: I$DO-JFNS
414 <GFCN I$DO-JFNS ("VALUE" <OR FALSE STRING> FIX FIX) JFN4 BITS5> 
415 <TEMP STR7:STRING TEMP14 CT6 OLD34 NEW35:STRING> 
416                                              PUSH TP* #REF [0] 
417                                              PUSH TP* #REF [0] 
418                                              PUSH TP* #REF [0] 
419                                              PUSH TP* #REF [0] 
420                                              PUSH TP* #REF [0] 
421                                              PUSH TP* #REF [0] 
422                                              PUSH TP* #REF [0] 
423                                              PUSH TP* #REF [0] 
424                                              PUSH TP* #REF [0] 
425                                              PUSH TP* #REF [0] 
426
427 <INTGO> 
428 <GVAL 'I$NAMSTR = STR7>                      DMOVE A1* @ 23 (M*) 
429
430 <AND JFN4 #WORD *000000777777* = JFN4>       HRRZS B2* 1 JFN4 (TP*) 
431
432 <VEQUAL? JFN4 65 + BOOL11!-LB (TYPE FIX)>    CAIN B2* 65 
433                                              JRST #REF [BOOL11] 
434
435 <VEQUAL? JFN4 64 - PHRASE10!-LB (TYPE FIX)>  CAIE B2* 64 
436                                              JRST #REF [PHRASE10] 
437                               BOOL11 :
438 <AND BITS5 #WORD *100000000000* = TEMP14>    DMOVE C1* 0 BITS5 (TP*) 
439                                              TLNE C2* 32768 
440                                              JRST #REF [PHRASE13] 
441
442 <VEQUAL? TEMP14 0 - PHRASE13!-LB (TYPE FIX)> 
443 <DEAD TEMP14> 
444 <RETURN "">                                  DMOVE A1* 24 (M*) 
445                                              MOVE O* (TP*) <- 2 ,WINNING-VICTIM
446
447                                              SUBI TP* ,WINNING-VICTIM 
448                                              JRST @ O* 
449                               PHRASE13 :
450 <AND BITS5 #WORD *000000000001* = TEMP14>    ANDI C2* 1 
451
452 <DEAD BITS5> 
453 <VEQUAL? TEMP14 0 - PHRASE17!-LB (TYPE FIX)> JUMPN C2* #REF [PHRASE17] 
454
455 <DEAD TEMP14> 
456 <RETURN "TTY">                               DMOVE A1* 26 (M*) 
457                                              MOVE O* (TP*) <- 2 ,WINNING-VICTIM
458
459                                              SUBI TP* ,WINNING-VICTIM 
460                                              JRST @ O* 
461                               PHRASE17 :
462 <RETURN "TTY:">                              DMOVE A1* 28 (M*) 
463                                              MOVE O* (TP*) <- 2 ,WINNING-VICTIM
464
465                                              SUBI TP* ,WINNING-VICTIM 
466                                              JRST @ O* 
467                               PHRASE10 :
468 <SYSOP 'JFNS STR7 JFN4 BITS5 0 = CT6>        DMOVEM A1* 0 STR7 (TP*) 
469                                              MOVE A1* A2* 
470                                              MOVE A2* B2* 
471                                              MOVE B1* 1 BITS5 (TP*) 
472                                              MOVEI B2* 0 
473                                              HRRZ C1* A1* 
474                                              PUSHJ P* @ 202 
475
476 <DEAD JFN4 BITS5> 
477 <SET TEMP14 CT6>                             DMOVE B1* A1* 
478
479 <TYPE? TEMP14 321 + PHRASE22!-LB>            LDB O* #REF [19595788291] 
480                                              DMOVEM A1* 0 CT6 (TP*) 
481                                              DMOVEM B1* 0 TEMP14 (TP*) 
482                                              CAIN O* 321 
483                                              JRST #REF [PHRASE22] 
484
485 <UUBLOCK 453 CT6 = CT6 (TYPE STRING)>        MOVEI O1* 453 
486                                              MOVE O2* A2* 
487                                              PUSHJ P* @ 214 
488
489 <SET TEMP14 STR7 (TYPE STRING)>              DMOVE B1* 0 STR7 (TP*) 
490
491 <DEAD STR7> 
492 <SET STR7 CT6 (TYPE STRING)>                 DMOVE C1* A1* 
493
494 <LOOP>                                       DMOVEM A1* 0 CT6 (TP*) 
495                                              DMOVEM B1* 0 TEMP14 (TP*) 
496                               MAP24 :
497 <INTGO> 
498 <EMPUS? TEMP14 + MAPAP27!-LB>                HRRZ O* 0 TEMP14 (TP*) 
499                                              JUMPE O* #REF [MAPAP27] 
500
501 <EMPUS? STR7 + MAPAP27!-LB>                  TRNN C1* 262143 
502                                              JRST #REF [MAPAP27] 
503
504 <SET OLD34 TEMP14>                           DMOVE B1* 0 TEMP14 (TP*) 
505
506 <SET NEW35 STR7>                             DMOVE A1* C1* 
507
508 <NTHUS OLD34 1 = OLD34 (TYPE CHARACTER)>     ILDB B2* B2* 
509
510 <PUTUS NEW35 1 OLD34>                        DMOVEM A1* 0 NEW35 (TP*) 
511                                              IDPB B2* A2* 
512
513 <DEAD NEW35 OLD34> 
514 <RESTUS TEMP14 1 = TEMP14 (TYPE STRING)>     SOS O* 0 TEMP14 (TP*) 
515                                              IBP O* 1 TEMP14 (TP*) 
516
517 <RESTUS STR7 1 = STR7 (TYPE STRING)>         SUBI C1* 1 
518                                              IBP O* C2* 
519
520 <JUMP + MAP24!-LB>                           JRST #REF [MAP24] 
521                               MAPAP27 :
522 <SET TEMP14 CT6>                             DMOVE A1* 0 CT6 (TP*) 
523
524 <DEAD CT6>                                   DMOVEM A1* 0 TEMP14 (TP*) 
525                               PHRASE22 :
526 <RETURN TEMP14>                              DMOVE A1* 0 TEMP14 (TP*) 
527                                              MOVE O* (TP*) <- 2 ,WINNING-VICTIM
528
529                                              SUBI TP* ,WINNING-VICTIM 
530                                              JRST @ O* 
531
532 <DEAD TEMP14> \f
533 Open coding: X$DEF-FLUSH
534 <GFCN X$DEF-FLUSH ("VALUE" ANY CHANNEL ANY) CHANNEL4 OPER5> 
535 <TEMP DATA6> 
536                                              PUSH TP* #REF [0] 
537                                              PUSH TP* #REF [0] 
538
539 <INTGO> 
540 <NTHUV CHANNEL4 5 = DATA6>                   DMOVE A1* 0 CHANNEL4 (F*) 
541                                              DMOVE B1* 8 (A2*) 
542
543 <DEAD CHANNEL4> 
544 <NTHUV DATA6 1 = DATA6 (TYPE FIX)>           DMOVE B1* 0 (B2*) 
545
546 <AND DATA6 #WORD *000000777777* = DATA6>     ANDI B2* 262143 
547
548 <OR DATA6 #WORD *004000000000* = DATA6>      TLO B2* 2048 
549
550 <SYSOP 'CLOSF DATA6 = DATA6>                 MOVE A1* B2* 
551                                              CLOSF O* O* 
552                                              JUMP TP* #REF [JS64] 
553                                              MOVE A2* 1 
554                                              MOVSI A1* 64 
555                                              JRST #REF [JS65] 
556                               JS64 :         MOVEI A1* 131072 
557                                              GETER O* O* 
558                                              HRRZ B2* A2* 
559                                              MOVSI B1* 64 
560                                              MOVEI C1* 0 
561                                              JSP T* @ 170 
562                                              HRLI A1* 321 
563                               JS65 :
564 <TYPE? DATA6 321 + PHRASE9!-LB>              LDB O* #REF [19595788289] 
565                                              CAIN O* 321 
566                                              JRST #REF [PHRASE9] 
567
568 <RETURN DATA6>                               JRST @ 148 
569
570 <DEAD DATA6>                  PHRASE9 :
571 <RETURN DATA6>                               JRST @ 148 
572
573 <DEAD DATA6> 
574 1 flushed temporaries.
575 \f
576 Open coding: X$DEF-HACK-DATE
577 <GFCN X$DEF-HACK-DATE ("VALUE" <OR FALSE FIX> CHANNEL ATOM "OPTIONAL" FIX)
578 CHANNEL6 OPR7 NEW8>                          ADDI O2* 292 (R*) 
579                                              JRST @ (O2*) 
580                                              DISPATCH OPT4 
581                                              DISPATCH OPT5 
582                               OPT4 :
583 <PUSH #UNBOUND 0 >                           PUSH TP* #REF [0] 
584                                              PUSH TP* #REF [0] 
585                               OPT5 :
586 <TEMP DATA9 JFN11:FIX TEMP16> 
587                                              PUSH TP* #REF [16777216] 
588                                              PUSH TP* #REF [0] 
589                                              PUSH TP* #REF [0] 
590                                              PUSH TP* #REF [0] 
591                                              PUSH TP* #REF [0] 
592                                              PUSH TP* #REF [0] 
593
594 <INTGO> 
595 <NTHUV CHANNEL6 5 = DATA9>                   DMOVE A1* 0 CHANNEL6 (F*) 
596                                              DMOVE B1* 8 (A2*) 
597
598 <DEAD CHANNEL6> 
599 <NTHUV DATA9 1 = DATA9 (TYPE FIX)>           DMOVE B1* 0 (B2*) 
600
601 <AND DATA9 #WORD *000000777777* = JFN11>     ANDI B2* 262143 
602
603 <DEAD DATA9> 
604 <NTHR 'DATEU 1 = DATA9 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG15!-LB)> 
605                                              MOVE T* 1 30 (M*) 
606                                              MOVEM B2* 1 JFN11 (F*) 
607                                              SKIPN A2* 0 (T*) 
608                                              JRST #REF [TAG15] 
609
610 <TYPE? DATA9 <TYPE-CODE FALSE> + TAG15!-LB> 
611 <NTHR DATA9 1 = DATA9 (RECORD-TYPE GBIND)>   DMOVE A1* (A2*) 
612
613 <TYPE? DATA9 0 - PHRASE14!-LB>               LDB O* #REF [19595788289] 
614                                              JUMPN O* #REF [PHRASE14] 
615
616 <DEAD DATA9>                  TAG15 :
617 <UUBLOCK 1990 3 = DATA9>                     MOVEI O1* 1990 
618                                              MOVEI O2* 3 
619                                              PUSHJ P* @ 214 
620
621 <SET TEMP16 DATA9>                           DMOVE B1* A1* 
622
623 <LOOP (TEMP16 VALUE LENGTH)>  ISTR17 :
624 <EMPUU? TEMP16 + ISTRE18!-LB>                TRNN B1* 262143 
625                                              JRST #REF [ISTRE18] 
626
627 <PUTUU TEMP16 1 0>                           SETZM 0 (B2*) 
628
629 <RESTUU TEMP16 1 = TEMP16>                   ADDI B2* 1 
630                                              SUBI B1* 1 
631
632 <JUMP + ISTR17!-LB>                          JRST #REF [ISTR17] 
633                               ISTRE18 :
634 <SETG 'DATEU DATA9>                          DMOVEM A1* @ 33 (M*) 
635
636 <DEAD DATA9>                  PHRASE14 :
637 <GVAL 'DATEU = TEMP16>                       DMOVE A1* @ 33 (M*) 
638
639 <TYPE? NEW8 0 - PHRASE20!-LB>                LDB O* #REF [(NEW8 19599196160)] 
640                                              DMOVEM A1* 0 TEMP16 (F*) 
641                                              JUMPN O* #REF [PHRASE20] 
642
643 <SYSOP 'RFTAD JFN11 TEMP16 3 = DATA9>        MOVE A1* 1 JFN11 (F*) 
644                                              MOVE A2* 1 TEMP16 (F*) 
645                                              MOVEI B1* 3 
646                                              PUSHJ P* @ 224 
647
648 <DEAD JFN11> 
649 <TYPE? DATA9 321 + PHRASE29!-LB>             LDB O* #REF [19595788289] 
650                                              DMOVEM A1* 0 DATA9 (F*) 
651                                              CAIN O* 321 
652                                              JRST #REF [PHRASE29] 
653
654 <VEQUAL? OPR7 'T$READ-DATE - PHRASE24!-LB>   DMOVE B1* 0 OPR7 (F*) 
655                                              CAME B2* 35 (M*) 
656                                              JRST #REF [PHRASE24] 
657
658 <DEAD OPR7> 
659 <NTHUU TEMP16 3 = DATA9 (TYPE FIX)>          DMOVE B1* 0 TEMP16 (F*) 
660                                              MOVE A2* 2 (B2*) 
661
662 <DEAD TEMP16> 
663 <RETURN DATA9>                          *TRQ*MOVSI A1* 64 
664                                              JRST @ 148 
665
666 <DEAD DATA9>                  PHRASE24 :
667 <NTHUU TEMP16 1 = DATA9 (TYPE FIX)>          MOVE A2* @ 1 TEMP16 (F*) 
668
669 <DEAD TEMP16> 
670 <RETURN DATA9>                          *TRQ*MOVSI A1* 64 
671                                              JRST @ 148 
672
673 <DEAD DATA9>                  PHRASE20 :
674 <PUTUU TEMP16 1 -1>                          SETOM 0 (A2*) 
675
676 <PUTUU TEMP16 2 -1>                          SETOM 1 (A2*) 
677
678 <PUTUU TEMP16 3 -1>                          SETOM 2 (A2*) 
679
680 <VEQUAL? OPR7 'T$READ-DATE - PHRASE27!-LB>   DMOVE B1* 0 OPR7 (F*) 
681                                              CAME B2* 35 (M*) 
682                                              JRST #REF [PHRASE27] 
683
684 <DEAD OPR7> 
685 <PUTUU TEMP16 3 NEW8>                        DMOVE B1* 0 NEW8 (F*) 
686                                              MOVEM B2* 2 (A2*) 
687
688 <JUMP + COND26!-LB>                          JRST #REF [COND26] 
689                               PHRASE27 :
690 <PUTUU TEMP16 1 NEW8>                        DMOVE B1* 0 NEW8 (F*) 
691                                              MOVEM B2* 0 (A2*) 
692                               COND26 :
693 <SYSOP 'SFTAD JFN11 TEMP16 3 = DATA9>        MOVE A1* 1 JFN11 (F*) 
694                                              MOVEI B1* 3 
695                                              SFTAD O* O* 
696                                              JUMP TP* #REF [JS72] 
697                                              MOVE A2* 1 
698                                              MOVSI A1* 64 
699                                              JRST #REF [JS73] 
700                               JS72 :         MOVEI A1* 131072 
701                                              GETER O* O* 
702                                              HRRZ B2* A2* 
703                                              MOVSI B1* 64 
704                                              MOVEI C1* 0 
705                                              JSP T* @ 170 
706                                              HRLI A1* 321 
707                               JS73 :
708 <DEAD JFN11 TEMP16> 
709 <TYPE? DATA9 321 + PHRASE29!-LB>             LDB O* #REF [19595788289] 
710                                              DMOVEM A1* 0 DATA9 (F*) 
711                                              CAIN O* 321 
712                                              JRST #REF [PHRASE29] 
713
714 <SET DATA9 NEW8>                             DMOVE B1* 0 NEW8 (F*) 
715
716 <DEAD NEW8>                                  DMOVEM B1* 0 DATA9 (F*) 
717                               PHRASE29 :
718 <RETURN DATA9>                               DMOVE A1* 0 DATA9 (F*) 
719                                              JRST @ 148 
720
721 <DEAD DATA9> 
722 Fixing Up CALLs
723 Writing MSUBR
724  [Code: 414 / Vector: 36]