Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / 20 / mappur.mima
1
2 #WORD *16661553260*
3 <GFCN \1aT$PCODE ("VALUE" T$PCODE FIX STRING) ID4 DBNAM5>
4                     <TEMP PURVEC6:LIST DBVEC7 TEMP12 TEMP13 CT17:FIX DBV18:VECTOR NEW43:VECTOR TEMP44>
5                     <INTGO>
6                     <GVAL 'I$PURVEC = PURVEC6>
7                     <GVAL 'I$DBVEC = DBVEC7>
8                     <EMPL? PURVEC6 - PHRASE11 (TYPE LIST)>
9                     <UUBLOCK <TYPE-CODE UVECTOR> 100 = TEMP12>
10                     <SET TEMP13 TEMP12>
11                     <LOOP (TEMP13 VALUE LENGTH)>
12 ISTR14
13                     <EMPUU? TEMP13 + ISTRE15>
14                     <PUTUU TEMP13 1 0>
15                     <RESTUU TEMP13 1 = TEMP13>
16                     <JUMP + ISTR14>
17 ISTRE15
18                     <RESTUU TEMP12 95 = TEMP12 (TYPE UVECTOR)>
19                     <CHTYPE TEMP12 <TYPE-CODE T$PCODE> = TEMP12>
20                     <CONS TEMP12 () = PURVEC6>
21                     <DEAD TEMP12>
22                     <SETG 'I$PURVEC PURVEC6>
23 PHRASE11
24                     <SET CT17 1 (TYPE FIX)>
25                     <SET DBV18 DBVEC7>
26                     <LOOP>
27 AGAIN20
28                     <INTGO>
29                     <NTHUV DBV18 1 = TEMP12>
30                     <TYPE? TEMP12 <TYPE-CODE FALSE> + PHRASE22>
31                     <FRAME '\1aT$S=?>
32                     <NTHUV TEMP12 1 = STACK (TYPE STRING)>
33                     <PUSH DBNAM5>
34                     <CALL '\1aT$S=? 2 = TEMP13>
35                     <TYPE? TEMP13 <TYPE-CODE FALSE> - EXIT16>
36                     <DEAD TEMP13>
37 PHRASE22
38                     <TYPE? TEMP12 <TYPE-CODE FALSE> - PHRASE25>
39                     <DEAD TEMP12>
40                     <PUSH DBNAM5>
41                     <DEAD DBNAM5>
42                     <PUSH %<>>
43                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP13>
44                     <PUTUV DBV18 1 TEMP13>
45                     <DEAD DBV18 TEMP13>
46                     <JUMP + EXIT16>
47 PHRASE25
48                     <ADD CT17 1 = CT17 (TYPE FIX)>
49                     <RESTUV DBV18 1 = DBV18 (TYPE VECTOR)>
50                     <EMPUV? DBV18 - AGAIN20 (TYPE VECTOR)>
51                     <LENUV DBVEC7 = TEMP13 (TYPE FIX)>
52                     <ADD TEMP13 5 = TEMP13 (TYPE FIX)>
53                     <UUBLOCK <TYPE-CODE VECTOR> TEMP13 = DBV18>
54                     <DEAD TEMP13>
55                     <SET TEMP13 DBV18>
56                     <LOOP (TEMP13 VALUE LENGTH)>
57 ISTR29
58                     <EMPUV? TEMP13 + ISTRE30>
59                     <PUTUV TEMP13 1 %<>>
60                     <RESTUV TEMP13 1 = TEMP13>
61                     <JUMP + ISTR29>
62 ISTRE30
63                     <SET TEMP13 DBVEC7 (TYPE VECTOR)>
64                     <DEAD DBVEC7>
65                     <SET TEMP12 DBV18 (TYPE VECTOR)>
66                     <LOOP>
67 MAP32
68                     <INTGO>
69                     <EMPUV? TEMP13 + MAPAP35>
70                     <EMPUV? TEMP12 + MAPAP35>
71                     <SET DBVEC7 TEMP13>
72                     <SET NEW43 TEMP12>
73                     <NTHUV DBVEC7 1 = TEMP44>
74                     <DEAD DBVEC7>
75                     <PUTUV NEW43 1 TEMP44>
76                     <DEAD NEW43 TEMP44>
77                     <RESTUV TEMP13 1 = TEMP13 (TYPE VECTOR)>
78                     <RESTUV TEMP12 1 = TEMP12 (TYPE VECTOR)>
79                     <JUMP + MAP32>
80 MAPAP35
81                     <SET DBVEC7 DBV18>
82                     <DEAD DBV18>
83                     <SETG 'I$DBVEC DBVEC7>
84                     <GVAL 'I$DBVEC = TEMP12>
85                     <CONS TEMP12 () = TEMP12>
86                     <SETS 'DBVEC TEMP12>
87                     <DEAD TEMP12>
88                     <PUSH DBNAM5>
89                     <DEAD DBNAM5>
90                     <PUSH %<>>
91                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP44>
92                     <PUTUV DBVEC7 CT17 TEMP44>
93                     <DEAD DBVEC7 TEMP44>
94 EXIT16
95                     <SET TEMP44 %<> (TYPE FALSE)>
96                     <SET TEMP12 PURVEC6 (TYPE LIST)>
97                     <LOOP>
98 MAP48
99                     <INTGO>
100                     <EMPL? TEMP12 + MAPAP51>
101                     <NTHL TEMP12 1 = TEMP44>
102                     <LOOP>
103 AGAIN57
104                     <INTGO>
105                     <NTHUU TEMP44 1 = DBVEC7 (TYPE FIX)>
106                     <VEQUAL? ID4 DBVEC7 - PHRASE59 (TYPE FIX)>
107                     <DEAD DBVEC7>
108                     <NTHUU TEMP44 2 = DBVEC7 (TYPE FIX)>
109                     <VEQUAL? CT17 DBVEC7 + MAPAP51 (TYPE FIX)>
110                     <DEAD DBVEC7>
111 PHRASE59
112                     <RESTUU TEMP44 5 = TEMP44 (TYPE UVECTOR)>
113                     <CHTYPE TEMP44 <TYPE-CODE UVECTOR> = TEMP44>
114                     <EMPUU? TEMP44 - PHRASE63 (TYPE UVECTOR)>
115                     <SET TEMP44 %<> (TYPE FALSE)>
116                     <JUMP + EXIT55>
117 PHRASE63
118                     <CHTYPE TEMP44 <TYPE-CODE T$PCODE> = TEMP44>
119                     <JUMP + AGAIN57>
120 EXIT55
121                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
122                     <JUMP + MAP48>
123 MAPAP51
124                     <TYPE? TEMP44 <TYPE-CODE FALSE> - PHRASE64>
125                     <NTHL PURVEC6 1 = DBVEC7 (TYPE T$PCODE)>
126                     <NTHUU DBVEC7 1 = TEMP12 (TYPE FIX)>
127                     <VEQUAL? TEMP12 0 + PHRASE73 (TYPE FIX)>
128                     <DEAD TEMP12>
129                     <LENUU DBVEC7 = TEMP12 (TYPE FIX)>
130                     <VEQUAL? TEMP12 100 - PHRASE70 (TYPE FIX)>
131                     <DEAD TEMP12>
132                     <UUBLOCK <TYPE-CODE UVECTOR> 100 = TEMP12>
133                     <SET TEMP44 TEMP12>
134                     <LOOP (TEMP44 VALUE LENGTH)>
135 ISTR71
136                     <EMPUU? TEMP44 + ISTRE72>
137                     <PUTUU TEMP44 1 0>
138                     <RESTUU TEMP44 1 = TEMP44>
139                     <JUMP + ISTR71>
140 ISTRE72
141                     <RESTUU TEMP12 95 = TEMP12 (TYPE UVECTOR)>
142                     <CHTYPE TEMP12 <TYPE-CODE T$PCODE> = DBVEC7>
143                     <DEAD TEMP12>
144                     <CONS DBVEC7 PURVEC6 = PURVEC6>
145                     <SETG 'I$PURVEC PURVEC6>
146                     <DEAD PURVEC6>
147                     <GVAL 'I$PURVEC = TEMP12>
148                     <SETS 'PURVEC TEMP12>
149                     <DEAD TEMP12>
150                     <JUMP + PHRASE73>
151 PHRASE70
152                     <BACKU DBVEC7 5 = TEMP12>
153                     <DEAD DBVEC7>
154                     <CHTYPE TEMP12 <TYPE-CODE T$PCODE> = DBVEC7>
155                     <DEAD TEMP12>
156                     <PUTL PURVEC6 1 DBVEC7>
157                     <DEAD PURVEC6>
158 PHRASE73
159                     <PUTUU DBVEC7 1 ID4>
160                     <DEAD ID4>
161                     <PUTUU DBVEC7 2 CT17>
162                     <DEAD CT17>
163                     <PUTUU DBVEC7 3 -1>
164                     <PUTUU DBVEC7 4 0>
165                     <PUTUU DBVEC7 5 0>
166                     <SET TEMP44 DBVEC7>
167                     <DEAD DBVEC7>
168 PHRASE64
169                     <RETURN TEMP44>
170                     <DEAD TEMP44>
171                     <END \1aT$PCODE>
172 #WORD *6104320401*
173 <GFCN \1aX$PCODE-PRINT ("VALUE" ANY T$PCODE) PC4>
174                     <TEMP OUTCHAN5 TEMP14 TEMP15:FIX>
175                     <INTGO>
176                     <GEN-LVAL 'OUTCHAN = OUTCHAN5>
177                     <FRAME '\1aT$PRINC>
178                     <PUSH "%<">
179                     <PUSH OUTCHAN5>
180                     <CALL '\1aT$PRINC 2>
181                     <FRAME '\1aT$PRIN1>
182                     <PUSH 'PCODE>
183                     <PUSH OUTCHAN5>
184                     <CALL '\1aT$PRIN1 2>
185                     <FRAME '\1aT$PRINC>
186                     <PUSH !\ >
187                     <PUSH OUTCHAN5>
188                     <CALL '\1aT$PRINC 2>
189                     <FRAME '\1aT$PRIN1>
190                     <NTHUU PC4 1 = STACK (TYPE FIX)>
191                     <PUSH OUTCHAN5>
192                     <CALL '\1aT$PRIN1 2>
193                     <FRAME '\1aT$PRINC>
194                     <PUSH !\ >
195                     <PUSH OUTCHAN5>
196                     <CALL '\1aT$PRINC 2>
197                     <FRAME '\1aT$PRIN1>
198                     <GVAL 'I$DBVEC = TEMP14>
199                     <NTHUU PC4 2 = TEMP15 (TYPE FIX)>
200                     <DEAD PC4>
201                     <NTHUV TEMP14 TEMP15 = TEMP14 (TYPE VECTOR)>
202                     <DEAD TEMP15>
203                     <NTHUV TEMP14 1 = STACK>
204                     <DEAD TEMP14>
205                     <PUSH OUTCHAN5>
206                     <CALL '\1aT$PRIN1 2>
207                     <FRAME '\1aT$PRINC>
208                     <PUSH !\>>
209                     <PUSH OUTCHAN5>
210                     <DEAD OUTCHAN5>
211                     <CALL '\1aT$PRINC 2 = TEMP14>
212                     <RETURN TEMP14>
213                     <DEAD TEMP14>
214                     <END \1aX$PCODE-PRINT>
215 #WORD *24206536430*
216 <GFCN \1aI$GET-DB ("VALUE" FIX T$PCODE) PC4>
217                     <TEMP DBVEC5:VECTOR DBID7 TEMP17 ERR9>
218                     <INTGO>
219                     <GVAL 'I$DBVEC = DBVEC5>
220                     <NTHUU PC4 2 = DBID7 (TYPE FIX)>
221                     <DEAD PC4>
222                     <NTHUV DBVEC5 DBID7 = DBVEC5 (TYPE VECTOR)>
223                     <DEAD DBID7>
224                     <LOOP>
225 AGAIN12
226                     <INTGO>
227                     <NTHUV DBVEC5 2 = DBID7>
228                     <TYPE? DBID7 <TYPE-CODE FALSE> - PHRASE28>
229                     <NTHUV DBVEC5 1 = TEMP17 (TYPE STRING)>
230                     <SYSOP 'GTJFN-S-S 8590196736 TEMP17 = DBID7>
231                     <DEAD TEMP17>
232                     <TYPE? DBID7 <TYPE-CODE FALSE> + PHRASE26>
233                     <SYSOP 'OPENF DBID7 66592 = ERR9>
234                     <TYPE? ERR9 <TYPE-CODE FALSE> + PHRASE19>
235                     <PUTUV DBVEC5 2 DBID7>
236                     <JUMP + PHRASE26>
237 PHRASE19
238                     <NTHL ERR9 1 = TEMP17>
239                     <EQUAL? TEMP17 196697 + BOOL21>
240                     <DEAD TEMP17>
241                     <NTHL ERR9 1 = TEMP17>
242                     <EQUAL? TEMP17 197591 - PHRASE20>
243                     <DEAD TEMP17>
244 BOOL21
245                     <SYSOP 'RLJFN DBID7>
246                     <DEAD DBID7>
247                     <NTHUV DBVEC5 1 = TEMP17 (TYPE STRING)>
248                     <NTHUV DBVEC5 1 = DBID7 (TYPE STRING)>
249                     <LENUS DBID7 = DBID7 (TYPE FIX)>
250                     <PRINT 65 TEMP17 DBID7>
251                     <DEAD TEMP17>
252                     <SYSOP 'ESOUT "Can't open database:  \0">
253                     <IFSYS "VAX">
254                     <NTHL ERR9 1 = TEMP17>
255                     <PUTBITS TEMP17 16 16 131072 = DBID7>
256                     <DEAD TEMP17>
257                     <ENDIF "VAX">
258                     <IFSYS "TOPS20">
259                     <NTHL ERR9 1 = TEMP17>
260                     <DEAD ERR9>
261                     <PUTBITS TEMP17 18 18 131072 = DBID7>
262                     <DEAD TEMP17>
263                     <ENDIF "TOPS20">
264                     <SYSOP 'ERSTR 65 DBID7 0>
265                     <DEAD DBID7>
266                     <QUIT 197591>
267                     <JUMP + AGAIN12>
268 PHRASE20
269                     <SYSOP 'RLJFN DBID7>
270                     <DEAD DBID7>
271                     <SET DBID7 ERR9>
272                     <DEAD ERR9>
273 PHRASE26
274                     <TYPE? DBID7 <TYPE-CODE FALSE> - PHRASE28>
275                     <NTHUV DBVEC5 1 = DBID7 (TYPE STRING)>
276                     <NTHUV DBVEC5 1 = TEMP17 (TYPE STRING)>
277                     <LENUS TEMP17 = TEMP17 (TYPE FIX)>
278                     <PRINT 65 DBID7 TEMP17>
279                     <DEAD DBID7 TEMP17>
280                     <PRINT 65 "
281 " 2>
282                     <FATAL "Can't find database">
283                     <JUMP + AGAIN12>
284 PHRASE28
285                     <RETURN DBID7>
286                     <DEAD DBID7>
287                     <END \1aI$GET-DB>
288 #WORD *3445262337*
289 <GFCN \1aX$PLOAD ("VALUE" ANY T$PCODE) PC4>
290                     <TEMP JFN5:FIX TEMP15 GCP11>
291                     <INTGO>
292                     <FRAME '\1aI$GET-DB>
293                     <PUSH PC4>
294                     <CALL '\1aI$GET-DB 1 = JFN5>
295                     <NTHUU PC4 3 = TEMP15 (TYPE FIX)>
296                     <LESS? TEMP15 0 + PHRASE14 (TYPE FIX)>
297                     <DEAD TEMP15>
298                     <FRAME '\1aI$MAP-IN>
299                     <PUSH JFN5>
300                     <DEAD JFN5>
301                     <PUSH PC4>
302                     <DEAD PC4>
303                     <CALL '\1aI$MAP-IN 2 = TEMP15>
304                     <RETURN TEMP15>
305                     <DEAD TEMP15>
306 PHRASE14
307                     <GVAL 'I$FBIN-SPACE = TEMP15>
308                     <TYPE? TEMP15 <TYPE-CODE FALSE> - PHRASE21>
309                     <DEAD TEMP15>
310                     <FRAME '\1aT$CREATE-NEW-SPACE>
311                     <PUSH 1024>
312                     <CALL '\1aT$CREATE-NEW-SPACE 1 = TEMP15>
313                     <SETG 'I$FBIN-SPACE TEMP15>
314                     <DEAD TEMP15>
315                     <GVAL 'I$FBIN-SPACE = TEMP15>
316                     <NTHUV TEMP15 1 = GCP11 (TYPE T$GC-PARAMS)>
317                     <PUTUU GCP11 16 -1>
318                     <DEAD GCP11>
319                     <FRAME '\1aT$SET-ZONE>
320                     <PUSH TEMP15>
321                     <DEAD TEMP15>
322                     <CALL '\1aT$SET-ZONE 1>
323                     <GVAL 'T$PSIZE = TEMP15>
324                     <UUBLOCK <TYPE-CODE UVECTOR> TEMP15 = GCP11>
325                     <DEAD TEMP15>
326                     <SET TEMP15 GCP11>
327                     <LOOP (TEMP15 VALUE LENGTH)>
328 ISTR26
329                     <EMPUU? TEMP15 + ISTRE27>
330                     <PUTUU TEMP15 1 0>
331                     <RESTUU TEMP15 1 = TEMP15>
332                     <JUMP + ISTR26>
333 ISTRE27
334                     <SETG 'I$IND-VEC GCP11>
335                     <DEAD GCP11>
336                     <GVAL 'T$PSIZE = GCP11>
337                     <UUBLOCK <TYPE-CODE UVECTOR> GCP11 = TEMP15>
338                     <DEAD GCP11>
339                     <SET GCP11 TEMP15>
340                     <LOOP (GCP11 VALUE LENGTH)>
341 ISTR28
342                     <EMPUU? GCP11 + ISTRE29>
343                     <PUTUU GCP11 1 0>
344                     <RESTUU GCP11 1 = GCP11>
345                     <JUMP + ISTR28>
346 ISTRE29
347                     <SETG 'I$DIR-VEC TEMP15>
348                     <DEAD TEMP15>
349                     <FRAME '\1aT$RESTORE-ZONE>
350                     <CALL '\1aT$RESTORE-ZONE 0>
351 PHRASE21
352                     <GVAL 'I$IND-VEC = TEMP15>
353                     <GVAL 'I$DIR-VEC = GCP11>
354                     <FRAME '\1aI$MAP-PAGE>
355                     <PUSH JFN5>
356                     <PUSH TEMP15>
357                     <PUSH 0>
358                     <PUSH 'T>
359                     <CALL '\1aI$MAP-PAGE 4>
360                     <FRAME '\1aI$HASH-PCODE>
361                     <PUSH PC4>
362                     <PUSH TEMP15>
363                     <DEAD TEMP15>
364                     <CALL '\1aI$HASH-PCODE 2 = TEMP15>
365                     <FRAME '\1aI$MAP-PAGE>
366                     <PUSH JFN5>
367                     <PUSH GCP11>
368                     <PUSH TEMP15>
369                     <DEAD TEMP15>
370                     <PUSH 'T>
371                     <CALL '\1aI$MAP-PAGE 4>
372                     <NTHUU GCP11 1 = TEMP15 (TYPE FIX)>
373                     <PUTUU GCP11 1 TEMP15>
374                     <FRAME '\1aI$BINSRC>
375                     <PUSH PC4>
376                     <PUSH GCP11>
377                     <DEAD GCP11>
378                     <CALL '\1aI$BINSRC 2 = GCP11>
379                     <TYPE? GCP11 <TYPE-CODE FALSE> + PHRASE35>
380                     <IFSYS "VAX">
381                     <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
382                     <AND TEMP15 #WORD *177777* = TEMP15>
383                     <ENDIF "VAX">
384                     <IFSYS "TOPS20">
385                     <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
386                     <AND TEMP15 #WORD *777777* = TEMP15>
387                     <ENDIF "TOPS20">
388                     <PUTUU PC4 3 TEMP15>
389                     <IFSYS "VAX">
390                     <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
391                     <GETBITS TEMP15 16 16 = TEMP15>
392                     <ENDIF "VAX">
393                     <IFSYS "TOPS20">
394                     <NTHUU GCP11 2 = TEMP15 (TYPE FIX)>
395                     <DEAD GCP11>
396                     <GETBITS TEMP15 18 18 = TEMP15>
397                     <ENDIF "TOPS20">
398                     <SUB TEMP15 4 = TEMP15 (TYPE FIX)>
399                     <PUTUU PC4 5 TEMP15>
400                     <DEAD TEMP15>
401                     <FRAME '\1aI$MAP-IN>
402                     <PUSH JFN5>
403                     <DEAD JFN5>
404                     <PUSH PC4>
405                     <DEAD PC4>
406                     <CALL '\1aI$MAP-IN 2 = TEMP15>
407                     <RETURN TEMP15>
408                     <DEAD TEMP15>
409 PHRASE35
410                     <FRAME '\1aT$ERROR>
411                     <PUSH '@MISSING-SAV-FILE>
412                     <PUSH PC4>
413                     <DEAD PC4>
414                     <PUSH 'I$PLOAD>
415                     <CALL '\1aT$ERROR 3 = TEMP15>
416                     <RETURN TEMP15>
417                     <DEAD TEMP15>
418                     <END \1aX$PLOAD>
419 #WORD *2417725315*
420 <GFCN \1aI$HASH-PCODE ("VALUE" FIX T$PCODE UVECTOR) PC4 IV5>
421                     <TEMP ID6:FIX TEMP8:FIX>
422                     <INTGO>
423                     <NTHUU PC4 1 = ID6 (TYPE FIX)>
424                     <DEAD PC4>
425                     <NTHUU IV5 4 = TEMP8 (TYPE FIX)>
426                     <MOD ID6 TEMP8 = ID6 (TYPE FIX)>
427                     <DEAD TEMP8>
428                     <LSH ID6 1 = TEMP8 (TYPE FIX)>
429                     <DEAD ID6>
430                     <ADD TEMP8 5 = TEMP8 (TYPE FIX)>
431                     <NTHUU IV5 TEMP8 = ID6 (TYPE FIX)>
432                     <DEAD IV5 TEMP8>
433                     <RETURN ID6>
434                     <DEAD ID6>
435                     <END \1aI$HASH-PCODE>
436 #WORD *12061176664*
437 <GFCN \1aI$MAP-PAGE ("VALUE" ANY FIX <OR UVECTOR FIX> FIX ANY "OPTIONAL" FIX) JFN6 UV7 PGNO8 ALLOW?9 NPGS10>
438                     <OPT-DISPATCH 4 %<> OPT4 OPT5>
439 OPT4
440                     <PUSH 1>
441 OPT5
442                     <TEMP EXBIT11:FIX TEMP20 TEMP32:FIX TEMP28 ERR12>
443                     <INTGO>
444                     <TYPE? ALLOW?9 <TYPE-CODE FALSE> + PHRASE14>
445                     <DEAD ALLOW?9>
446                     <SET EXBIT11 256 (TYPE FIX)>
447 PHRASE14
448                     <LOOP>
449 AGAIN18
450                     <INTGO>
451                     <IFSYS "VAX">
452                     <PUTBITS PGNO8 16 16 JFN6 = TEMP20>
453                     <ENDIF "VAX">
454                     <IFSYS "TOPS20">
455                     <PUTBITS PGNO8 18 18 JFN6 = TEMP20>
456                     <ENDIF "TOPS20">
457                     <IFSYS "VAX">
458                     <VALUE UV7 = TEMP32>
459                     <DIV TEMP32 256 = TEMP32 (TYPE FIX)>
460                     <LSH TEMP32 -2 = TEMP28 (TYPE FIX)>
461                     <DEAD TEMP32>
462                     <PUTBITS TEMP28 16 16 131072 = TEMP32>
463                     <ENDIF "VAX">
464                     <IFSYS "TOPS20">
465                     <VALUE UV7 = TEMP32>
466                     <DIV TEMP32 512 = TEMP28 (TYPE FIX)>
467                     <DEAD TEMP32>
468                     <PUTBITS TEMP28 18 18 131072 = TEMP32>
469                     <ENDIF "TOPS20">
470                     <VEQUAL? NPGS10 1 - PHRASE37 (TYPE FIX)>
471                     <IFSYS "VAX">
472                     <PUTBITS 0 16 16 EXBIT11 = TEMP28>
473                     <ENDIF "VAX">
474                     <IFSYS "TOPS20">
475                     <PUTBITS 0 18 18 EXBIT11 = TEMP28>
476                     <ENDIF "TOPS20">
477                     <OR TEMP28 #WORD *100000000000* = TEMP28>
478                     <JUMP + EXIT43>
479 PHRASE37
480                     <IFSYS "VAX">
481                     <OR EXBIT11 #WORD *500000* = TEMP28>
482                     <PUTBITS NPGS10 16 16 TEMP28 = TEMP28>
483                     <ENDIF "VAX">
484                     <IFSYS "TOPS20">
485                     <OR EXBIT11 #WORD *500000* = TEMP28>
486                     <PUTBITS NPGS10 18 18 TEMP28 = TEMP28>
487                     <ENDIF "TOPS20">
488 EXIT43
489                     <SYSOP 'PMAP TEMP20 TEMP32 TEMP28 = ERR12>
490                     <DEAD TEMP28>
491                     <SET TEMP28 ERR12>
492                     <TYPE? TEMP28 <TYPE-CODE FALSE> - PHRASE51>
493                     <NTHL ERR12 1 = TEMP28>
494                     <EQUAL? TEMP28 196697 + BOOL48>
495                     <NTHL ERR12 1 = TEMP28>
496                     <EQUAL? TEMP28 197591 - PHRASE47>
497 BOOL48
498                     <SYSOP 'ESOUT "Can't map in pages:  \0">
499                     <IFSYS "VAX">
500                     <NTHL ERR12 1 = TEMP20>
501                     <PUTBITS TEMP20 16 16 131072 = TEMP28>
502                     <ENDIF "VAX">
503                     <IFSYS "TOPS20">
504                     <NTHL ERR12 1 = TEMP20>
505                     <DEAD ERR12>
506                     <PUTBITS TEMP20 18 18 131072 = TEMP28>
507                     <ENDIF "TOPS20">
508                     <SYSOP 'ERSTR 65 TEMP28 0>
509                     <QUIT 197591>
510                     <JUMP + AGAIN18>
511 PHRASE47
512                     <FRAME '\1aERROR>
513                     <PUSH '@CANT-MAP-IN-PAGES>
514                     <PUSH ERR12>
515                     <DEAD ERR12>
516                     <PUSH 'X$PLOAD>
517                     <CALL '\1aERROR 3 = TEMP28>
518 PHRASE51
519                     <RETURN TEMP28>
520                     <DEAD TEMP28>
521                     <END \1aI$MAP-PAGE>
522 #WORD *1035615340*
523 <GFCN \1aI$BINSRC ("VALUE" <OR FALSE <UVECTOR FIX [REST FIX]>> T$PCODE <UVECTOR [REST FIX]>) PC4 DV5>
524                     <TEMP ID6 CNT7:FIX EXIT8:FIX TEMP27:FIX>
525                     <INTGO>
526                     <NTHUU PC4 1 = ID6 (TYPE FIX)>
527                     <DEAD PC4>
528                     <NTHUU DV5 2 = CNT7 (TYPE FIX)>
529                     <SET EXIT8 CNT7>
530                     <RESTUU DV5 2 = DV5 (TYPE UVECTOR)>
531                     <LOOP>
532 AGAIN13
533                     <INTGO>
534                     <DIV CNT7 2 = CNT7 (TYPE FIX)>
535                     <VEQUAL? CNT7 0 - EXIT18 (TYPE FIX)>
536                     <LOOP>
537 AGAIN20
538                     <INTGO>
539                     <GRTR? EXIT8 0 + PHRASE22 (TYPE FIX)>
540                     <RETURN %<>>
541 PHRASE22
542                     <SUB EXIT8 1 = EXIT8 (TYPE FIX)>
543                     <NTHUU DV5 1 = TEMP27 (TYPE FIX)>
544                     <VEQUAL? ID6 TEMP27 - PHRASE26 (TYPE FIX)>
545                     <DEAD TEMP27>
546                     <RETURN DV5>
547                     <DEAD DV5>
548 PHRASE26
549                     <RESTUU DV5 2 = DV5 (TYPE UVECTOR)>
550                     <JUMP + AGAIN20>
551 EXIT18
552                     <NTHUU DV5 1 = TEMP27 (TYPE FIX)>
553                     <VEQUAL? ID6 TEMP27 - PHRASE28 (TYPE FIX)>
554                     <DEAD TEMP27>
555                     <RETURN DV5>
556                     <DEAD DV5>
557 PHRASE28
558                     <ADD CNT7 1 = TEMP27 (TYPE FIX)>
559                     <LSH TEMP27 1 = TEMP27 (TYPE FIX)>
560                     <SUB TEMP27 1 = TEMP27 (TYPE FIX)>
561                     <NTHUU DV5 TEMP27 = TEMP27 (TYPE FIX)>
562                     <LESS? ID6 TEMP27 + PHRASE29 (TYPE FIX)>
563                     <DEAD TEMP27>
564                     <LSH CNT7 1 = TEMP27 (TYPE FIX)>
565                     <RESTUU DV5 TEMP27 = DV5 (TYPE UVECTOR)>
566                     <DEAD TEMP27>
567 PHRASE29
568                     <SUB EXIT8 CNT7 = EXIT8 (TYPE FIX)>
569                     <JUMP + AGAIN13>
570                     <END \1aI$BINSRC>
571 #WORD *25034067652*
572 <GFCN \1aI$MAP-IN ("VALUE" ANY FIX T$PCODE) JFN4 PC5>
573                     <TEMP TEMP10:FIX NPGS9:FIX TEMP17 SADR8:FIX>
574                     <INTGO>
575                     <NTHUU PC5 5 = TEMP10 (TYPE FIX)>
576                     <ADD TEMP10 4 = TEMP10 (TYPE FIX)>
577                     <FRAME '\1aT$GET-BLOCK-OF-SPACE>
578                     <IFSYS "VAX">
579                     <GVAL 'T$PSIZE = TEMP17>
580                     <SUB TEMP17 1 = TEMP17 (TYPE FIX)>
581                     <ADD TEMP17 TEMP10 = TEMP17 (TYPE FIX)>
582                     <DIV TEMP17 256 = TEMP17 (TYPE FIX)>
583                     <LSH TEMP17 -2 = NPGS9 (TYPE FIX)>
584                     <DEAD TEMP17>
585                     <ENDIF "VAX">
586                     <IFSYS "TOPS20">
587                     <GVAL 'T$PSIZE = TEMP17>
588                     <SUB TEMP17 1 = TEMP17 (TYPE FIX)>
589                     <ADD TEMP17 TEMP10 = TEMP17 (TYPE FIX)>
590                     <DEAD TEMP10>
591                     <DIV TEMP17 512 = NPGS9 (TYPE FIX)>
592                     <DEAD TEMP17>
593                     <ENDIF "TOPS20">
594                     <PUSH NPGS9>
595                     <PUSH -10>
596                     <CALL '\1aT$GET-BLOCK-OF-SPACE 2 = TEMP17>
597                     <TYPE? TEMP17 <TYPE-CODE FALSE> + BOOL13>
598                     <LESS? TEMP17 0 - PHRASE12 (TYPE FIX)>
599 BOOL13
600                     <FRAME '\1aERROR>
601                     <PUSH '@CANT-GET-PAGES>
602                     <PUSH PC5>
603                     <DEAD PC5>
604                     <PUSH 'I$MAP-IN>
605                     <CALL '\1aERROR 3 = TEMP17>
606                     <RETURN TEMP17>
607                     <DEAD TEMP17>
608 PHRASE12
609                     <IFSYS "VAX">
610                     <LSH TEMP17 8 = TEMP10 (TYPE FIX)>
611                     <LSH TEMP10 2 = SADR8 (TYPE FIX)>
612                     <DEAD TEMP10>
613                     <ENDIF "VAX">
614                     <IFSYS "TOPS20">
615                     <LSH TEMP17 9 = SADR8 (TYPE FIX)>
616                     <DEAD TEMP17>
617                     <ENDIF "TOPS20">
618                     <FRAME '\1aI$MAP-PAGE>
619                     <PUSH JFN4>
620                     <DEAD JFN4>
621                     <PUSH SADR8>
622                     <NTHUU PC5 3 = STACK (TYPE FIX)>
623                     <PUSH %<>>
624                     <PUSH NPGS9>
625                     <DEAD NPGS9>
626                     <CALL '\1aI$MAP-PAGE 5>
627                     <ADD SADR8 4 = TEMP10 (TYPE FIX)>
628                     <DEAD SADR8>
629                     <PUTUU PC5 4 TEMP10>
630                     <DEAD TEMP10>
631                     <RETURN PC5>
632                     <DEAD PC5>
633                     <END \1aI$MAP-IN>
634 #WORD *30033070653*
635                     <GFCN \1aX$PURCLN ("VALUE" ATOM)>
636                     <TEMP TEMP10 DV5 PC28>
637                     <INTGO>
638                     <GVAL 'I$FBIN-SPACE = TEMP10>
639                     <TYPE? TEMP10 <TYPE-CODE FALSE> + MAPAP38>
640                     <DEAD TEMP10>
641                     <FRAME '\1aT$RETURN-PAGES>
642                     <PUSH -10>
643                     <CALL '\1aT$RETURN-PAGES 1>
644                     <NTHR 'I$PURVEC 1 = TEMP10 (RECORD-TYPE ATOM) (BRANCH-FALSE + MAPAP38)>
645                     <TYPE? TEMP10 <TYPE-CODE FALSE> + MAPAP38>
646                     <NTHR TEMP10 1 = TEMP10 (RECORD-TYPE GBIND)>
647                     <TYPE? TEMP10 <TYPE-CODE UNBOUND> + MAPAP38>
648                     <DEAD TEMP10>
649                     <FRAME '\1aI$FLUSH-PAGES>
650                     <IFSYS "VAX">
651                     <GVAL 'I$FBIN-SPACE = TEMP10>
652                     <NTHUV TEMP10 1 = TEMP10 (TYPE T$GC-PARAMS)>
653                     <NTHUU TEMP10 14 = TEMP10 (TYPE FIX)>
654                     <DIV TEMP10 256 = TEMP10 (TYPE FIX)>
655                     <LSH TEMP10 -2 = STACK (TYPE FIX)>
656                     <DEAD TEMP10>
657                     <ENDIF "VAX">
658                     <IFSYS "TOPS20">
659                     <GVAL 'I$FBIN-SPACE = TEMP10>
660                     <NTHUV TEMP10 1 = TEMP10 (TYPE T$GC-PARAMS)>
661                     <NTHUU TEMP10 14 = TEMP10 (TYPE FIX)>
662                     <DIV TEMP10 512 = STACK (TYPE FIX)>
663                     <DEAD TEMP10>
664                     <ENDIF "TOPS20">
665                     <PUSH 2>
666                     <CALL '\1aI$FLUSH-PAGES 2>
667                     <GVAL 'I$PURVEC = TEMP10>
668                     <GVAL 'I$DBVEC = DV5>
669                     <LOOP>
670 MAP19
671                     <INTGO>
672                     <EMPL? TEMP10 + MAPAP22>
673                     <NTHL TEMP10 1 = PC28>
674                     <LOOP>
675 AGAIN31
676                     <INTGO>
677                     <PUTUU PC28 4 0>
678                     <PUTUU PC28 3 -1>
679                     <PUTUU PC28 5 0>
680                     <RESTUU PC28 5 = PC28 (TYPE UVECTOR)>
681                     <CHTYPE PC28 <TYPE-CODE UVECTOR> = PC28>
682                     <EMPUU? PC28 - AGAIN31 (TYPE UVECTOR)>
683                     <RESTL TEMP10 1 = TEMP10 (TYPE LIST)>
684                     <JUMP + MAP19>
685 MAPAP22
686                     <SET TEMP10 DV5 (TYPE VECTOR)>
687                     <DEAD DV5>
688                     <LOOP>
689 MAP35
690                     <INTGO>
691                     <EMPUV? TEMP10 + MAPAP38>
692                     <NTHUV TEMP10 1 = PC28>
693                     <TYPE? PC28 <TYPE-CODE FALSE> + PHRASE44>
694                     <NTHUV PC28 2 = DV5>
695                     <TYPE? DV5 <TYPE-CODE FALSE> + PHRASE44>
696                     <DEAD DV5>
697                     <NTHUV PC28 2 = DV5 (TYPE FIX)>
698                     <SYSOP 'CLOSF DV5>
699                     <DEAD DV5>
700                     <PUTUV PC28 2 %<>>
701                     <DEAD PC28>
702 PHRASE44
703                     <RESTUV TEMP10 1 = TEMP10 (TYPE VECTOR)>
704                     <JUMP + MAP35>
705 MAPAP38
706                     <RETURN 'T>
707                     <END \1aX$PURCLN>