Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / asmgen.mima
1
2 "CODE IS STORED IN A LIST OF UVECTORS.  EACH INSTRUCTION IS A FIX.  THE
3  INSTRUCTION CONTAINS THE INSTRUCTION BYTE (8 BITS) + INFORMATION TO FIX UP THE
4  INSTRUCTION.  WHEN AN INSTRUCTION DOES NOT FIT INTO A SINGLE FIX IT IS
5  FOLLOWED BY ADDITIONAL FIXES.  EVERY INSTRUCTION TAKES UP AN INTEGER NUMBER OF
6  FIXES EVEN THOUGH THE OUTPUT VERSION MAY BE DIFFERENT.  THERE IS A TEMPORARY 
7  FIXUP TABLE WHICH IS USED TO DETERMINE THE LOCATION OF THE TEMPORARIES AND
8  ALSO A LABEL FIXUP TABLE TO KEEP TRACK OF THE LABELS.  THE SYSTEM ATTEMPTS
9  TO FIX UP LABELS IN PARTICULAR INTERVALS SO THAT IT DOESN'T HAVE TO KEEP
10  TRACK OF TOO MANY LABELS.  ANY NON-LOOPING LABELS WILL BE FLUSHED AS SOON
11  AS THEY ARE FIXED UP.  THERE IS ALSO A CONSTANT TABLE WHICH KEEPS TRACK OF
12  THE LOCATION OF ALL FULL-WORD CONSTANTS.  THESE ARE FIXED UP LIKE LABELS.  IN
13  GENERAL THE FIRST OCCURANCE OF A 32 BIT CONSTANT WILL BE OUTPUT AS AN
14  IMMEDIATE INSTRUCTION.  ALL OTHER OCCURANCES WILL BE OUTPUT AS A REFERENCE
15  TO THAT CONSTANT IN PC-RELATIVE MODE (THIS WILL BE AN OPTION.  WE MAY
16  EVENTUALLY GENERATE ALL CONSTANTS IMMEDIATE IF THAT PROVES TO GENERATE
17  FASTER RUNNING CODE"
18
19 #WORD *4161262110*
20                     <GFCN \1aINIT-CODE ("VALUE" FIX)>
21                     <TEMP TEMP4 TEMP5>
22                     <INTGO>
23                     <UUBLOCK <TYPE-CODE UVECTOR> 1024 = TEMP4>
24                     <SET TEMP5 TEMP4>
25                     <LOOP (TEMP5 VALUE LENGTH)>
26 ISTR6
27                     <EMPUU? TEMP5 + ISTRE7>
28                     <PUTUU TEMP5 1 0>
29                     <RESTUU TEMP5 1 = TEMP5>
30                     <JUMP + ISTR6>
31 ISTRE7
32                     <SETG 'CURRENT-CODE TEMP4>
33                     <DEAD TEMP4>
34                     <GVAL 'CURRENT-CODE = TEMP4>
35                     <CONS TEMP4 () = TEMP4>
36                     <SETG 'CODE-LIST TEMP4>
37                     <DEAD TEMP4>
38                     <SETG 'CODE-COUNT 1>
39                     <RETURN 1>
40                     <END \1aINIT-CODE>
41
42 #WORD *15055105314*
43                     <GFCN \1aRESET-CODE ("VALUE" <LIST [REST FIX]>)>
44                     <TEMP TEMP4>
45                     <INTGO>
46                     <GVAL 'CODE-LIST = TEMP4>
47                     <NTHL TEMP4 1 = TEMP4 (TYPE UVECTOR)>
48                     <SETG 'CURRENT-CODE TEMP4>
49                     <DEAD TEMP4>
50                     <SETG 'CODE-COUNT 1>
51                     <SETG 'SAVED-CODE-COUNT %<>>
52                     <SETG 'SAVED-CODE-STACK ()>
53                     <RETURN ()>
54                     <END \1aRESET-CODE>
55
56 #WORD *7273431076*
57                     <GFCN \1aNTH-CODE ("VALUE" FIX FIX) NUM4>
58                     <TEMP CL5 PTR9:FIX>
59                     <INTGO>
60                     <GVAL 'CODE-LIST = CL5>
61                     <SET PTR9 NUM4>
62                     <LOOP>
63 AGAIN10
64                     <INTGO>
65                     <GRTR? PTR9 1024 + PHRASE12 (TYPE FIX)>
66                     <NTHL CL5 1 = CL5 (TYPE UVECTOR)>
67                     <NTHUU CL5 PTR9 = PTR9 (TYPE FIX)>
68                     <DEAD CL5>
69                     <RETURN PTR9>
70                     <DEAD PTR9>
71 PHRASE12
72                     <RESTL CL5 1 = CL5 (TYPE LIST)>
73                     <EMPL? CL5 - PHRASE15 (TYPE LIST)>
74                     <FRAME '\1aERROR>
75                     <PUSH 'OUT-OF-BOUNDS>
76                     <PUSH NUM4>
77                     <PUSH 'NTH-CODE>
78                     <CALL '\1aERROR 3>
79 PHRASE15
80                     <SUB PTR9 1024 = PTR9 (TYPE FIX)>
81                     <JUMP + AGAIN10>
82                     <END \1aNTH-CODE>
83
84 #WORD *16276717004*
85                     <GFCN \1aPUT-CODE ("VALUE" ATOM FIX FIX) NUM4 VAL5>
86                     <TEMP CL6 PTR10:FIX>
87                     <INTGO>
88                     <GVAL 'CODE-LIST = CL6>
89                     <SET PTR10 NUM4>
90                     <LOOP>
91 AGAIN11
92                     <INTGO>
93                     <GRTR? PTR10 1024 + PHRASE13 (TYPE FIX)>
94                     <NTHL CL6 1 = CL6 (TYPE UVECTOR)>
95                     <PUTUU CL6 PTR10 VAL5>
96                     <DEAD CL6 PTR10 VAL5>
97                     <RETURN 'T>
98 PHRASE13
99                     <RESTL CL6 1 = CL6 (TYPE LIST)>
100                     <EMPL? CL6 - PHRASE16 (TYPE LIST)>
101                     <FRAME '\1aERROR>
102                     <PUSH 'OUT-OF-BOUNDS>
103                     <PUSH NUM4>
104                     <CALL '\1aERROR 2>
105 PHRASE16
106                     <SUB PTR10 1024 = PTR10 (TYPE FIX)>
107                     <JUMP + AGAIN11>
108                     <END \1aPUT-CODE>
109
110 #WORD *33337566645*
111                     <GFCN \1aADD-WORD-TO-CODE ("VALUE" FIX FIX) WD4>
112                     <TEMP CCODE6 COUNT7:FIX TEMP10 RLST5:LIST>
113                     <INTGO>
114                     <GVAL 'CURRENT-CODE = CCODE6>
115                     <GVAL 'CODE-COUNT = COUNT7>
116                     <EMPUU? CCODE6 - PHRASE18 (TYPE UVECTOR)>
117                     <GVAL 'CODE-LIST = TEMP10>
118                     <SUB COUNT7 1 = CCODE6 (TYPE FIX)>
119                     <DIV CCODE6 1024 = CCODE6 (TYPE FIX)>
120                     <SUB CCODE6 1 = CCODE6 (TYPE FIX)>
121                     <GRTR? CCODE6 0 - RESTL13 (TYPE FIX)>
122                     <LOOP (TEMP10 VALUE) (CCODE6 VALUE)>
123 RESTL12
124                     <INTGO>
125                     <RESTL TEMP10 1 = TEMP10 (TYPE LIST)>
126                     <SUB CCODE6 1 = CCODE6 (TYPE FIX)>
127                     <GRTR? CCODE6 0 + RESTL12 (TYPE FIX)>
128 RESTL13
129                     <SET RLST5 TEMP10>
130                     <DEAD TEMP10>
131                     <EMPL? RLST5 + PHRASE15>
132                     <RESTL RLST5 1 = TEMP10 (TYPE LIST)>
133                     <EMPL? TEMP10 - PHRASE15>
134                     <DEAD TEMP10>
135                     <UUBLOCK <TYPE-CODE UVECTOR> 1024 = CCODE6>
136                     <SET TEMP10 CCODE6>
137                     <LOOP (TEMP10 VALUE LENGTH)>
138 ISTR16
139                     <EMPUU? TEMP10 + ISTRE17>
140                     <PUTUU TEMP10 1 0>
141                     <RESTUU TEMP10 1 = TEMP10>
142                     <JUMP + ISTR16>
143 ISTRE17
144                     <CONS CCODE6 () = TEMP10>
145                     <PUTREST RLST5 TEMP10>
146                     <DEAD RLST5 TEMP10>
147                     <JUMP + PHRASE18>
148 PHRASE15
149                     <RESTL RLST5 1 = TEMP10 (TYPE LIST)>
150                     <DEAD RLST5>
151                     <NTHL TEMP10 1 = CCODE6 (TYPE UVECTOR)>
152                     <DEAD TEMP10>
153 PHRASE18
154                     <PUTUU CCODE6 1 WD4>
155                     <DEAD WD4>
156                     <RESTUU CCODE6 1 = TEMP10 (TYPE UVECTOR)>
157                     <DEAD CCODE6>
158                     <SETG 'CURRENT-CODE TEMP10>
159                     <DEAD TEMP10>
160                     <ADD COUNT7 1 = CCODE6 (TYPE FIX)>
161                     <DEAD COUNT7>
162                     <SETG 'CODE-COUNT CCODE6>
163                     <RETURN CCODE6>
164                     <DEAD CCODE6>
165                     <END \1aADD-WORD-TO-CODE>
166
167 #WORD *4545712702*
168                     <GFCN \1aPRINT-SPEC-LABEL ("VALUE" FIX SPEC-LABEL) X4>
169                     <TEMP OUTCHAN5>
170                     <INTGO>
171                     <GEN-LVAL 'OUTCHAN = OUTCHAN5>
172                     <FRAME '\1aPRINC>
173                     <PUSH "ITAG">
174                     <PUSH OUTCHAN5>
175                     <CALL '\1aPRINC 2>
176                     <FRAME '\1aPRIN1>
177                     <CHTYPE X4 <TYPE-CODE FIX> = STACK>
178                     <DEAD X4>
179                     <PUSH OUTCHAN5>
180                     <DEAD OUTCHAN5>
181                     <CALL '\1aPRIN1 2 = OUTCHAN5>
182                     <RETURN OUTCHAN5>
183                     <DEAD OUTCHAN5>
184                     <END \1aPRINT-SPEC-LABEL>
185
186 <COND (<GASSIGNED? PRINT-SPEC-LABEL> <PRINTTYPE SPEC-LABEL ,PRINT-SPEC-LABEL>)>
187
188 #WORD *1534135646*
189                     <GFCN \1aPRINT-LABEL-REF ("VALUE" <OR ATOM SPEC-LABEL> LABEL-REF) LREF4>
190                     <TEMP OUTCHAN5>
191                     <INTGO>
192                     <GEN-LVAL 'OUTCHAN = OUTCHAN5>
193                     <FRAME '\1aPRINC>
194                     <PUSH "#LABEL-REF ">
195                     <PUSH OUTCHAN5>
196                     <CALL '\1aPRINC 2>
197                     <FRAME '\1aPRIN1>
198                     <NTHUV LREF4 1 = STACK>
199                     <DEAD LREF4>
200                     <PUSH OUTCHAN5>
201                     <DEAD OUTCHAN5>
202                     <CALL '\1aPRIN1 2 = OUTCHAN5>
203                     <RETURN OUTCHAN5>
204                     <DEAD OUTCHAN5>
205                     <END \1aPRINT-LABEL-REF>
206
207 <COND (<GASSIGNED? PRINT-LABEL-REF> <PRINTTYPE LABEL-REF ,PRINT-LABEL-REF>)>
208
209 #WORD *31705261531*
210                     <GFCN \1aINIT-LABEL-TABLE ("VALUE" FIX ANY) RESTART4>
211                     <TEMP LAB6:LABEL-REF TMP5:VECTOR TEMP8>
212                     <INTGO>
213                     <SETG 'LABEL-TABLE ()>
214                     <FRAME '\1aCREATE-LABEL-REF>
215                     <PUSH '\ >
216                     <CALL '\1aCREATE-LABEL-REF 1 = LAB6>
217                     <UUBLOCK <TYPE-CODE VECTOR> 128 = TMP5>
218                     <SET TEMP8 TMP5>
219                     <LOOP (TEMP8 VALUE LENGTH) (LAB6 TYPE VALUE LENGTH)>
220 ISTR9
221                     <EMPUV? TEMP8 + ISTRE10>
222                     <PUTUV TEMP8 1 LAB6>
223                     <RESTUV TEMP8 1 = TEMP8>
224                     <JUMP + ISTR9>
225 ISTRE10
226                     <LENUV TMP5 = TEMP8 (TYPE FIX)>
227                     <RESTUV TMP5 TEMP8 = TEMP8 (TYPE VECTOR)>
228                     <DEAD TMP5>
229                     <SETG 'OUTST-LABEL-TABLE TEMP8>
230                     <DEAD TEMP8>
231                     <TYPE? RESTART4 <TYPE-CODE FALSE> + BOOL11>
232                     <DEAD RESTART4>
233                     <SETG 'CURRENT-SLABEL 0>
234 BOOL11
235                     <SETG 'PTNS-TABLE ()>
236                     <SETG 'PTNS-COUNT 1>
237                     <RETURN 1>
238                     <END \1aINIT-LABEL-TABLE>
239
240 #WORD *20545430565*
241                     <GFCN \1aMAKE-LABEL ("VALUE" ANY "OPTIONAL" ANY) ATM?6>
242                     <OPT-DISPATCH 0 %<> OPT4 OPT5>
243 OPT4
244                     <PUSH %<>>
245 OPT5
246                     <TEMP TEMP12 STR7:STRING>
247                     <INTGO>
248                     <NTHR 'CURRENT-SLABEL 1 = TEMP12 (RECORD-TYPE ATOM) (BRANCH-FALSE + TAG11)>
249                     <TYPE? TEMP12 <TYPE-CODE FALSE> + TAG11>
250                     <NTHR TEMP12 1 = TEMP12 (RECORD-TYPE GBIND)>
251                     <TYPE? TEMP12 <TYPE-CODE UNBOUND> - PHRASE10>
252                     <DEAD TEMP12>
253 TAG11
254                     <SET TEMP12 0 (TYPE FIX)>
255                     <JUMP + COND9>
256 PHRASE10
257                     <GVAL 'CURRENT-SLABEL = TEMP12>
258 COND9
259                     <ADD TEMP12 1 = TEMP12 (TYPE FIX)>
260                     <SETG 'CURRENT-SLABEL TEMP12>
261                     <TYPE? ATM?6 <TYPE-CODE FALSE> + PHRASE14>
262                     <TYPE? ATM?6 <TYPE-CODE STRING> + PHRASE16>
263                     <SET ATM?6 "ITAG" (TYPE STRING)>
264 PHRASE16
265                     <PUSH ATM?6>
266                     <DEAD ATM?6>
267                     <FRAME '\1aUNPARSE>
268                     <PUSH TEMP12>
269                     <DEAD TEMP12>
270                     <CALL '\1aUNPARSE 1 = STACK>
271                     <UBLOCK <TYPE-CODE STRING> 2 = STR7 (TYPE STRING)>
272                     <FRAME '\1aLOOKUP>
273                     <PUSH STR7>
274                     <GVAL 'VAR-OBLIST = STACK>
275                     <CALL '\1aLOOKUP 2 = TEMP12>
276                     <TYPE? TEMP12 <TYPE-CODE FALSE> - COND13>
277                     <FRAME '\1aINSERT>
278                     <PUSH STR7>
279                     <DEAD STR7>
280                     <GVAL 'VAR-OBLIST = STACK>
281                     <CALL '\1aINSERT 2 = TEMP12>
282                     <RETURN TEMP12>
283                     <DEAD TEMP12>
284 PHRASE14
285                     <CHTYPE TEMP12 <TYPE-CODE SPEC-LABEL> = TEMP12>
286 COND13
287                     <RETURN TEMP12>
288                     <DEAD TEMP12>
289                     <END \1aMAKE-LABEL>
290
291 #WORD *31521250146*
292                     <GFCN \1aCOPY-PSAVE ("VALUE" FIX PTN-SAVE CODEVEC) PSAVE4 NCODE5>
293                     <TEMP TEMP9 RES6>
294                     <INTGO>
295                     <PUSH NCODE5>
296                     <DEAD NCODE5>
297                     <NTHUV PSAVE4 2 = STACK (TYPE VARTBL)>
298                     <NTHUV PSAVE4 3 = STACK (TYPE ATOM)>
299                     <NTHUV PSAVE4 4 = STACK>
300                     <PUSH ()>
301                     <UBLOCK <TYPE-CODE VECTOR> 5 = TEMP9 (TYPE VECTOR)>
302                     <CHTYPE TEMP9 <TYPE-CODE PTN-SAVE> = RES6>
303                     <DEAD TEMP9>
304                     <NTHUV PSAVE4 5 = TEMP9 (TYPE LIST)>
305                     <CONS RES6 TEMP9 = TEMP9>
306                     <PUTUV PSAVE4 5 TEMP9 (TYPE LIST)>
307                     <DEAD PSAVE4 TEMP9>
308                     <GVAL 'PTNS-TABLE = TEMP9>
309                     <CONS RES6 TEMP9 = TEMP9>
310                     <DEAD RES6>
311                     <SETG 'PTNS-TABLE TEMP9>
312                     <DEAD TEMP9>
313                     <GVAL 'PTNS-COUNT = TEMP9>
314                     <PUTBITS 90 16 0 TEMP9 = RES6>
315                     <DEAD TEMP9>
316                     <GVAL 'PTNS-COUNT = TEMP9>
317                     <ADD TEMP9 1 = TEMP9 (TYPE FIX)>
318                     <SETG 'PTNS-COUNT TEMP9>
319                     <DEAD TEMP9>
320                     <RETURN RES6>
321                     <DEAD RES6>
322                     <END \1aCOPY-PSAVE>
323
324 #WORD *20767101443*
325                     <GFCN \1aKILL-PSAVE ("VALUE" <OR FALSE PTN-SAVE> PTN-SAVE) PSAVE4>
326                     <TEMP TEMP14 TEMP16:LIST>
327                     <INTGO>
328                     <PUTUV PSAVE4 4 %<>>
329                     <SET TEMP14 %<> (TYPE FALSE)>
330                     <NTHUV PSAVE4 5 = TEMP16 (TYPE LIST)>
331                     <DEAD PSAVE4>
332                     <LOOP>
333 MAP6
334                     <INTGO>
335                     <EMPL? TEMP16 + MAPAP9>
336                     <NTHL TEMP16 1 = TEMP14>
337                     <PUTUV TEMP14 4 %<>>
338                     <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
339                     <JUMP + MAP6>
340 MAPAP9
341                     <RETURN TEMP14>
342                     <DEAD TEMP14>
343                     <END \1aKILL-PSAVE>
344
345 #WORD *23210600123*
346                     <GFCN \1aEMIT-POTENTIAL-STORE ("VALUE" <OR FALSE XREF-INFO> CODEVEC ATOM LINKVAR) CODE4 KIND5 LVAR6>
347                     <TEMP TEMP9 PTN7:PTN-SAVE TEMP11 XREF22:XREF-INFO>
348                     <INTGO>
349                     <PUSH CODE4>
350                     <DEAD CODE4>
351                     <NTHUV LVAR6 1 = STACK (TYPE VARTBL)>
352                     <PUSH KIND5>
353                     <DEAD KIND5>
354                     <PUSH 'T>
355                     <PUSH ()>
356                     <UBLOCK <TYPE-CODE VECTOR> 5 = TEMP9 (TYPE VECTOR)>
357                     <CHTYPE TEMP9 <TYPE-CODE PTN-SAVE> = PTN7>
358                     <DEAD TEMP9>
359                     <GVAL 'PTNS-TABLE = TEMP9>
360                     <CONS PTN7 TEMP9 = TEMP9>
361                     <SETG 'PTNS-TABLE TEMP9>
362                     <DEAD TEMP9>
363                     <FRAME '\1aADD-WORD-TO-CODE>
364                     <LSH 90 24 = TEMP9 (TYPE FIX)>
365                     <GVAL 'PTNS-COUNT = TEMP11>
366                     <OR TEMP9 TEMP11 = STACK>
367                     <DEAD TEMP9 TEMP11>
368                     <CALL '\1aADD-WORD-TO-CODE 1>
369                     <GVAL 'PTNS-COUNT = TEMP11>
370                     <ADD TEMP11 1 = TEMP11 (TYPE FIX)>
371                     <SETG 'PTNS-COUNT TEMP11>
372                     <DEAD TEMP11>
373                     <SET TEMP9 %<> (TYPE FALSE)>
374                     <NTHUV LVAR6 10 = TEMP11 (TYPE LIST)>
375                     <DEAD LVAR6>
376                     <LOOP>
377 MAP13
378                     <INTGO>
379                     <EMPL? TEMP11 + MAPAP16>
380                     <NTHL TEMP11 1 = XREF22>
381                     <NTHUV XREF22 11 = TEMP9 (TYPE LIST)>
382                     <CONS PTN7 TEMP9 = TEMP9>
383                     <PUTUV XREF22 11 TEMP9 (TYPE LIST)>
384                     <DEAD TEMP9>
385                     <SET TEMP9 XREF22>
386                     <DEAD XREF22>
387                     <RESTL TEMP11 1 = TEMP11 (TYPE LIST)>
388                     <JUMP + MAP13>
389 MAPAP16
390                     <RETURN TEMP9>
391                     <DEAD TEMP9>
392                     <END \1aEMIT-POTENTIAL-STORE>
393
394 #WORD *21131445017*
395                     <GFCN \1aGET-PTNS ("VALUE" PTN-SAVE ANY) NUM4>
396                     <TEMP TEMP5 TEMP6:FIX>
397                     <INTGO>
398                     <GVAL 'PTNS-TABLE = TEMP5>
399                     <GVAL 'PTNS-COUNT = TEMP6>
400                     <SUB TEMP6 NUM4 = TEMP6 (TYPE FIX)>
401                     <DEAD NUM4>
402                     <SUB TEMP6 1 = TEMP6 (TYPE FIX)>
403                     <GRTR? TEMP6 0 - RESTL9 (TYPE FIX)>
404                     <LOOP (TEMP5 VALUE) (TEMP6 VALUE)>
405 RESTL8
406                     <INTGO>
407                     <RESTL TEMP5 1 = TEMP5 (TYPE LIST)>
408                     <SUB TEMP6 1 = TEMP6 (TYPE FIX)>
409                     <GRTR? TEMP6 0 + RESTL8 (TYPE FIX)>
410 RESTL9
411                     <NTHL TEMP5 1 = TEMP5 (TYPE PTN-SAVE)>
412                     <RETURN TEMP5>
413                     <DEAD TEMP5>
414                     <END \1aGET-PTNS>
415
416 #WORD *22070677772*
417                     <GFCN \1aSAVE-XREF-AC-INFO ("VALUE" XREF-INFO XREF-INFO AC-STATE SLOAD-STATE) XREF4 SSTATE5 SLSTATE6>
418                     <TEMP>
419                     <INTGO>
420                     <PUTUV XREF4 3 SSTATE5>
421                     <DEAD SSTATE5>
422                     <PUTUV XREF4 10 SLSTATE6>
423                     <DEAD SLSTATE6>
424                     <RETURN XREF4>
425                     <DEAD XREF4>
426                     <END \1aSAVE-XREF-AC-INFO>
427
428 #WORD *3007150023*
429                     <GFCN \1aPRINT-XREF-INFO ("VALUE" FIX XREF-INFO) XREF4>
430                     <TEMP OUTCHAN5 TEMP10>
431                     <INTGO>
432                     <GEN-LVAL 'OUTCHAN = OUTCHAN5>
433                     <FRAME '\1aPRINC>
434                     <PUSH "#XREF-INFO ">
435                     <PUSH OUTCHAN5>
436                     <CALL '\1aPRINC 2>
437                     <FRAME '\1aPRIN1>
438                     <NTHUV XREF4 1 = TEMP10 (TYPE LABEL-REF)>
439                     <NTHUV TEMP10 1 = STACK>
440                     <DEAD TEMP10>
441                     <PUSH OUTCHAN5>
442                     <CALL '\1aPRIN1 2>
443                     <FRAME '\1aPRINC>
444                     <PUSH " ">
445                     <PUSH OUTCHAN5>
446                     <CALL '\1aPRINC 2>
447                     <FRAME '\1aPRIN1>
448                     <NTHUV XREF4 2 = STACK (TYPE FIX)>
449                     <DEAD XREF4>
450                     <PUSH OUTCHAN5>
451                     <DEAD OUTCHAN5>
452                     <CALL '\1aPRIN1 2 = TEMP10>
453                     <RETURN TEMP10>
454                     <DEAD TEMP10>
455                     <END \1aPRINT-XREF-INFO>
456
457 <COND (<GASSIGNED? PRINT-XREF-INFO> <PRINTTYPE XREF-INFO ,PRINT-XREF-INFO>)>
458
459 "UPDATE THE LABEL TABLES FOR A BRANCH"
460
461 #WORD *35753643504*
462                     <GFCN \1aUPDLT-BRANCH ("VALUE" XREF-INFO <OR ATOM SPEC-LABEL> FIX ANY ANY BOOLEAN) LABEL4 CODEPTR5 STATUS?6 LILEN7 FORCEL?8>
463                     <TEMP OUTST10>
464                     <INTGO>
465                     <GVAL 'OUTST-LABEL-TABLE = OUTST10>
466                     <FRAME '\1aGET-LREF>
467                     <PUSH LABEL4>
468                     <DEAD LABEL4>
469                     <CALL '\1aGET-LREF 1 = OUTST10>
470                     <FRAME '\1aADD-XREF>
471                     <PUSH OUTST10>
472                     <DEAD OUTST10>
473                     <PUSH CODEPTR5>
474                     <DEAD CODEPTR5>
475                     <PUSH STATUS?6>
476                     <DEAD STATUS?6>
477                     <PUSH LILEN7>
478                     <DEAD LILEN7>
479                     <PUSH FORCEL?8>
480                     <DEAD FORCEL?8>
481                     <CALL '\1aADD-XREF 5 = OUTST10>
482                     <RETURN OUTST10>
483                     <DEAD OUTST10>
484                     <END \1aUPDLT-BRANCH>
485
486 #WORD *1136336146*
487                     <GFCN \1aGET-LREF ("VALUE" LABEL-REF <OR ATOM SPEC-LABEL> "OPTIONAL" ANY) LABEL6 JUST-LOOKING?7>
488                     <OPT-DISPATCH 1 %<> OPT4 OPT5>
489 OPT4
490                     <PUSH %<>>
491 OPT5
492                     <TEMP GL9 TEMP21:VECTOR LREF22:LABEL-REF>
493                     <INTGO>
494                     <GVAL 'OUTST-LABEL-TABLE = TEMP21>
495                     <LOOP>
496 MAP11
497                     <INTGO>
498                     <EMPUV? TEMP21 + MAPAP14>
499                     <NTHUV TEMP21 1 = LREF22>
500                     <NTHUV LREF22 1 = GL9>
501                     <EQUAL? GL9 LABEL6 - PHRASE24>
502                     <DEAD GL9>
503                     <TYPE? JUST-LOOKING?7 <TYPE-CODE FALSE> - PHRASE27>
504                     <DEAD JUST-LOOKING?7>
505                     <PUTUV LREF22 9 %<>>
506 PHRASE27
507                     <RETURN LREF22>
508                     <DEAD LREF22>
509 PHRASE24
510                     <RESTUV TEMP21 1 = TEMP21 (TYPE VECTOR)>
511                     <JUMP + MAP11>
512 MAPAP14
513                     <FRAME '\1aCREATE-LABEL-REF>
514                     <PUSH LABEL6>
515                     <DEAD LABEL6>
516                     <CALL '\1aCREATE-LABEL-REF 1 = LREF22>
517                     <PUTUV LREF22 9 JUST-LOOKING?7>
518                     <DEAD JUST-LOOKING?7>
519                     <FRAME '\1aADD-OUTSTANDING-LABEL>
520                     <PUSH LREF22>
521                     <CALL '\1aADD-OUTSTANDING-LABEL 1>
522                     <RETURN LREF22>
523                     <DEAD LREF22>
524                     <END \1aGET-LREF>
525
526 #WORD *6317027030*
527                     <GFCN \1aCREATE-LABEL-REF ("VALUE" LABEL-REF <OR ATOM SPEC-LABEL>) NAME4>
528                     <TEMP TEMP6>
529                     <INTGO>
530                     <PUSH NAME4>
531                     <DEAD NAME4>
532                     <PUSH ()>
533                     <PUSH -1>
534                     <PUSH 0>
535                     <PUSH %<>>
536                     <PUSH %<>>
537                     <PUSH ()>
538                     <PUSH ()>
539                     <PUSH %<>>
540                     <UBLOCK <TYPE-CODE VECTOR> 9 = TEMP6>
541                     <CHTYPE TEMP6 <TYPE-CODE LABEL-REF> = TEMP6>
542                     <RETURN TEMP6>
543                     <DEAD TEMP6>
544                     <END \1aCREATE-LABEL-REF>
545
546 #WORD *20223320465*
547                     <GFCN \1aADD-OUTSTANDING-LABEL ("VALUE" <VECTOR [REST LABEL-REF]> LABEL-REF) LREF4>
548                     <TEMP OUTST5 TEMP9 NOUTST6:VECTOR TEMP11>
549                     <INTGO>
550                     <GVAL 'OUTST-LABEL-TABLE = OUTST5>
551                     <TOPU OUTST5 = TEMP9>
552                     <VEQUAL? TEMP9 OUTST5 - PHRASE8>
553                     <DEAD TEMP9>
554                     <FRAME '\1aVECGROW>
555                     <PUSH OUTST5>
556                     <PUSH 128>
557                     <CALL '\1aVECGROW 2 = NOUTST6>
558                     <RESTUV NOUTST6 127 = NOUTST6 (TYPE VECTOR)>
559                     <PUTUV NOUTST6 1 LREF4>
560                     <DEAD LREF4>
561                     <LENUV OUTST5 = TEMP9 (TYPE FIX)>
562                     <RESTUV NOUTST6 1 = TEMP11 (TYPE VECTOR)>
563                     <MOVE-WORDS OUTST5 TEMP11 TEMP9 (TYPE VECTOR) (DIRECTION %<>)>
564                     <DEAD OUTST5 TEMP11 TEMP9>
565                     <SETG 'OUTST-LABEL-TABLE NOUTST6>
566                     <RETURN NOUTST6>
567                     <DEAD NOUTST6>
568 PHRASE8
569                     <BACKU OUTST5 1 = OUTST5>
570                     <PUTUV OUTST5 1 LREF4>
571                     <DEAD LREF4>
572                     <SETG 'OUTST-LABEL-TABLE OUTST5>
573                     <RETURN OUTST5>
574                     <DEAD OUTST5>
575                     <END \1aADD-OUTSTANDING-LABEL>
576
577 "FINDS AND REMOVES A LABEL FROM THE OUTSTANDING LABEL TABLE.  THE LABEL WILL
578  NOT BE REMOVED IF IT IS A LOOP LABEL"
579
580 #WORD *17601262437*
581                     <GFCN \1aREMOVE-OUTSTANDING-LABEL ("VALUE" <OR FALSE LABEL-REF> <OR SPEC-LABEL ATOM>) LABEL4>
582                     <TEMP OUTST5 PTR9 LEN11:FIX LREF10:LABEL-REF TEMP17>
583                     <INTGO>
584                     <GVAL 'OUTST-LABEL-TABLE = OUTST5>
585                     <SET PTR9 1 (TYPE FIX)>
586                     <LENUV OUTST5 = LEN11 (TYPE FIX)>
587                     <LOOP>
588 AGAIN12
589                     <INTGO>
590                     <GRTR? PTR9 LEN11 - PHRASE14 (TYPE FIX)>
591                     <RETURN %<>>
592 PHRASE14
593                     <NTHUV OUTST5 PTR9 = LREF10 (TYPE LABEL-REF)>
594                     <NTHUV LREF10 1 = TEMP17>
595                     <EQUAL? TEMP17 LABEL4 - PHRASE24>
596                     <DEAD TEMP17>
597                     <NTHUV LREF10 5 = TEMP17>
598                     <TYPE? TEMP17 <TYPE-CODE FALSE> - BOOL20>
599                     <DEAD TEMP17>
600                     <NTHUV LREF10 9 = TEMP17>
601                     <TYPE? TEMP17 <TYPE-CODE FALSE> + PHRASE19>
602                     <DEAD TEMP17>
603 BOOL20
604                     <RETURN LREF10>
605                     <DEAD LREF10>
606 PHRASE19
607                     <VEQUAL? PTR9 1 - PHRASE21 (TYPE FIX)>
608                     <RESTUV OUTST5 1 = TEMP17 (TYPE VECTOR)>
609                     <DEAD OUTST5>
610                     <SETG 'OUTST-LABEL-TABLE TEMP17>
611                     <DEAD TEMP17>
612                     <RETURN LREF10>
613                     <DEAD LREF10>
614 PHRASE21
615                     <SUB PTR9 1 = TEMP17 (TYPE FIX)>
616                     <DEAD PTR9>
617                     <RESTUV OUTST5 1 = PTR9 (TYPE VECTOR)>
618                     <MOVE-WORDS OUTST5 PTR9 TEMP17 (TYPE VECTOR) (DIRECTION FORWARD)>
619                     <DEAD PTR9 TEMP17>
620                     <RESTUV OUTST5 1 = PTR9 (TYPE VECTOR)>
621                     <DEAD OUTST5>
622                     <SETG 'OUTST-LABEL-TABLE PTR9>
623                     <DEAD PTR9>
624                     <RETURN LREF10>
625                     <DEAD LREF10>
626 PHRASE24
627                     <ADD PTR9 1 = PTR9 (TYPE FIX)>
628                     <JUMP + AGAIN12>
629                     <END \1aREMOVE-OUTSTANDING-LABEL>
630
631 "UPDATE LABEL TABLES WHEN ENCOUNTERING AN ACTUAL LABEL"
632
633 #WORD *26432674645*
634                     <GFCN \1aUPDLT-LABEL ("VALUE" LABEL-REF <OR ATOM SPEC-LABEL> FIX <OR FALSE AC-STATE ATOM>) LABEL4 CODEPTR5 LOOP?6>
635                     <TEMP LTAB8 TEMP10 TABPTR9:FIX LREF7>
636                     <INTGO>
637                     <GVAL 'LABEL-TABLE = LTAB8>
638                     <LENL LTAB8 = TEMP10 (TYPE FIX)>
639                     <ADD TEMP10 1 = TABPTR9 (TYPE FIX)>
640                     <DEAD TEMP10>
641                     <FRAME '\1aREMOVE-OUTSTANDING-LABEL>
642                     <PUSH LABEL4>
643                     <CALL '\1aREMOVE-OUTSTANDING-LABEL 1 = LREF7>
644                     <TYPE? LREF7 <TYPE-CODE FALSE> - PHRASE13>
645                     <FRAME '\1aCREATE-LABEL-REF>
646                     <PUSH LABEL4>
647                     <DEAD LABEL4>
648                     <CALL '\1aCREATE-LABEL-REF 1 = LREF7>
649                     <FRAME '\1aADD-OUTSTANDING-LABEL>
650                     <PUSH LREF7>
651                     <CALL '\1aADD-OUTSTANDING-LABEL 1>
652                     <JUMP + COND12>
653 PHRASE13
654                     <PUTUV LREF7 9 %<>>
655 COND12
656                     <PUTUV LREF7 4 CODEPTR5 (TYPE FIX)>
657                     <DEAD CODEPTR5>
658                     <PUTUV LREF7 5 LOOP?6>
659                     <DEAD LOOP?6>
660                     <EMPL? LTAB8 - PHRASE17 (TYPE LIST)>
661                     <CONS LREF7 () = TEMP10>
662                     <SETG 'LABEL-TABLE TEMP10>
663                     <DEAD TEMP10>
664                     <JUMP + COND16>
665 PHRASE17
666                     <SET TEMP10 LTAB8>
667                     <DEAD LTAB8>
668                     <LOOP (TEMP10 VALUE)>
669 TAG18
670                     <RESTL TEMP10 1 = LTAB8 (TYPE LIST)>
671                     <EMPL? LTAB8 + TAG20>
672                     <SET TEMP10 LTAB8>
673                     <DEAD LTAB8>
674                     <JUMP + TAG18>
675 TAG20
676                     <CONS LREF7 () = LTAB8>
677                     <PUTREST TEMP10 LTAB8>
678                     <DEAD TEMP10 LTAB8>
679 COND16
680                     <FRAME '\1aFIXUP-BRANCH-REFERENCES>
681                     <NTHUV LREF7 2 = STACK (TYPE LIST)>
682                     <PUSH TABPTR9>
683                     <DEAD TABPTR9>
684                     <CALL '\1aFIXUP-BRANCH-REFERENCES 2>
685                     <PUTUV LREF7 7 () (TYPE LIST)>
686                     <PUTUV LREF7 8 () (TYPE LIST)>
687                     <RETURN LREF7>
688                     <DEAD LREF7>
689                     <END \1aUPDLT-LABEL>
690
691 #WORD *15765006677*
692                     <GFCN \1aFIXUP-BRANCH-REFERENCES ("VALUE" <OR ATOM FALSE> <LIST [REST XREF-INFO]> FIX) XREFS4 TABPTR5>
693                     <TEMP TEMP15 TEMP12:LIST TEMP21:FIX>
694                     <INTGO>
695                     <SET TEMP15 %<> (TYPE FALSE)>
696                     <SET TEMP12 XREFS4 (TYPE LIST)>
697                     <DEAD XREFS4>
698                     <LOOP>
699 MAP7
700                     <INTGO>
701                     <EMPL? TEMP12 + MAPAP10>
702                     <NTHL TEMP12 1 = TEMP15>
703                     <NTHUV TEMP15 2 = TEMP15 (TYPE FIX)>
704                     <FRAME '\1aNTH-CODE>
705                     <PUSH TEMP15>
706                     <CALL '\1aNTH-CODE 1 = TEMP21>
707                     <OR TEMP21 TABPTR5 = TEMP21>
708                     <FRAME '\1aPUT-CODE>
709                     <PUSH TEMP15>
710                     <DEAD TEMP15>
711                     <PUSH TEMP21>
712                     <DEAD TEMP21>
713                     <CALL '\1aPUT-CODE 2 = TEMP15>
714                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
715                     <JUMP + MAP7>
716 MAPAP10
717                     <RETURN TEMP15>
718                     <DEAD TEMP15>
719                     <END \1aFIXUP-BRANCH-REFERENCES>
720
721 #WORD *27255067700*
722                     <GFCN \1aADD-XREF ("VALUE" XREF-INFO LABEL-REF FIX ANY FIX BOOLEAN) LREF4 CODPTR5 STATUS?6 LILEN7 FORCEL?8>
723                     <TEMP TEMP11 XREF9:XREF-INFO>
724                     <INTGO>
725                     <PUSH LREF4>
726                     <PUSH CODPTR5>
727                     <DEAD CODPTR5>
728                     <PUSH %<>>
729                     <PUSH %<>>
730                     <PUSH %<>>
731                     <PUSH 0>
732                     <PUSH STATUS?6>
733                     <DEAD STATUS?6>
734                     <PUSH LILEN7>
735                     <DEAD LILEN7>
736                     <GVAL 'CODE-COUNT = STACK>
737                     <PUSH %<>>
738                     <PUSH ()>
739                     <PUSH FORCEL?8>
740                     <DEAD FORCEL?8>
741                     <UBLOCK <TYPE-CODE VECTOR> 12 = TEMP11 (TYPE VECTOR)>
742                     <CHTYPE TEMP11 <TYPE-CODE XREF-INFO> = XREF9>
743                     <DEAD TEMP11>
744                     <NTHUV LREF4 2 = TEMP11 (TYPE LIST)>
745                     <CONS XREF9 TEMP11 = TEMP11>
746                     <PUTUV LREF4 2 TEMP11 (TYPE LIST)>
747                     <DEAD LREF4 TEMP11>
748                     <RETURN XREF9>
749                     <DEAD XREF9>
750                     <END \1aADD-XREF>
751
752 #WORD *37064422603*
753                     <GFCN \1aEMIT-BRANCH ("VALUE" XREF-INFO FIX <OR ATOM SPEC-LABEL> ANY ANY "OPTIONAL" ANY BOOLEAN ANY) INST8 LABEL9 STATUS?10 LILEN11 ACNUM12 FORCEL?13 XT14>
754                     <OPT-DISPATCH 4 %<> OPT4 OPT5 OPT6 OPT7>
755 OPT4
756                     <PUSH %<>>
757 OPT5
758                     <PUSH %<>>
759 OPT6
760                     <PUSH %<>>
761 OPT7
762                     <TEMP (CNT16:FIX 1) XREF15:XREF-INFO LREF17:LABEL-REF TEMP21 TREF35:LABEL-REF>
763                     <INTGO>
764                     <LSH INST8 24 = INST8 (TYPE FIX)>
765                     <FRAME '\1aUPDLT-BRANCH>
766                     <PUSH LABEL9>
767                     <DEAD LABEL9>
768                     <GVAL 'CODE-COUNT = STACK>
769                     <PUSH STATUS?10>
770                     <DEAD STATUS?10>
771                     <PUSH LILEN11>
772                     <DEAD LILEN11>
773                     <PUSH FORCEL?13>
774                     <DEAD FORCEL?13>
775                     <CALL '\1aUPDLT-BRANCH 5 = XREF15>
776                     <NTHUV XREF15 1 = LREF17 (TYPE LABEL-REF)>
777                     <NTHUV LREF17 4 = TEMP21 (TYPE FIX)>
778                     <VEQUAL? TEMP21 0 + PHRASE20 (TYPE FIX)>
779                     <DEAD TEMP21>
780                     <GVAL 'LABEL-TABLE = TEMP21>
781                     <LOOP>
782 MAP25
783                     <INTGO>
784                     <EMPL? TEMP21 + MAPAP28>
785                     <NTHL TEMP21 1 = TREF35>
786                     <VEQUAL? TREF35 LREF17 + MAPAP28>
787                     <DEAD TREF35>
788                     <ADD CNT16 1 = CNT16 (TYPE FIX)>
789                     <RESTL TEMP21 1 = TEMP21 (TYPE LIST)>
790                     <JUMP + MAP25>
791 MAPAP28
792                     <OR INST8 CNT16 = INST8>
793                     <DEAD CNT16>
794 PHRASE20
795                     <TYPE? ACNUM12 <TYPE-CODE FALSE> + PHRASE40>
796                     <LSH ACNUM12 -8 = CNT16 (TYPE FIX)>
797                     <DEAD ACNUM12>
798                     <OR INST8 CNT16 = INST8>
799                     <DEAD CNT16>
800 PHRASE40
801                     <FRAME '\1aADD-WORD-TO-CODE>
802                     <PUSH INST8>
803                     <DEAD INST8>
804                     <CALL '\1aADD-WORD-TO-CODE 1>
805                     <SETG 'LAST-INST-LENGTH 1>
806                     <RETURN XREF15>
807                     <DEAD XREF15>
808                     <END \1aEMIT-BRANCH>
809
810 #WORD *24023410742*
811                     <GFCN \1aEMIT-LABEL ("VALUE" LABEL-REF <OR ATOM SPEC-LABEL> <OR FALSE AC-STATE ATOM>) LABEL4 LOOP?5>
812                     <TEMP TEMP7:LABEL-REF>
813                     <INTGO>
814                     <FRAME '\1aUPDLT-LABEL>
815                     <PUSH LABEL4>
816                     <DEAD LABEL4>
817                     <GVAL 'CODE-COUNT = STACK>
818                     <PUSH LOOP?5>
819                     <DEAD LOOP?5>
820                     <CALL '\1aUPDLT-LABEL 3 = TEMP7>
821                     <RETURN TEMP7>
822                     <DEAD TEMP7>
823                     <END \1aEMIT-LABEL>
824
825 "THE CONSTANT TABLE CONSISTS OF CONSTANT ADDRESS PAIRS.  THE ADDRESS MAY HAVE
826  3 STATES.  IF IT IS NON-ZERO. THEN IT IS THE ADDRESS OF THE MOST RECENT 
827  EMITTED VERSION OF A CONSTANT.  IF IT IS ZERO THEN IT INDICATES THAT A VERSION
828  OF THE CONSTANT WILL BE EMITTED BY SOME INSTRUCTION IN THE CURRENT SUBROUTINE
829  -1 IS USED BY THE SCAN PASS TO INDICATE THAT THE CONSTANT WILL HAVE BEEN
830  BEEN EMITTED BY A PREVIOUS INSTRUCTION"
831
832 #WORD *21312317016*
833                     <GFCN \1aINIT-CONSTANTS ("VALUE" <UVECTOR [REST FIX]>)>
834                     <TEMP TEMP4 TEMP5>
835                     <INTGO>
836                     <SETG 'CONSTANT-POINTER 1>
837                     <UUBLOCK <TYPE-CODE UVECTOR> 1024 = TEMP4>
838                     <SET TEMP5 TEMP4>
839                     <LOOP (TEMP5 VALUE LENGTH)>
840 ISTR6
841                     <EMPUU? TEMP5 + ISTRE7>
842                     <PUTUU TEMP5 1 0>
843                     <RESTUU TEMP5 1 = TEMP5>
844                     <JUMP + ISTR6>
845 ISTRE7
846                     <SETG 'CONSTANT-TABLE TEMP4>
847                     <RETURN TEMP4>
848                     <DEAD TEMP4>
849                     <END \1aINIT-CONSTANTS>
850
851 #WORD *36566107600*
852                     <GFCN \1aRESET-CONSTANTS ("VALUE" FIX)>
853                     <TEMP>
854                     <INTGO>
855                     <SETG 'CONSTANT-POINTER 1>
856                     <RETURN 1>
857                     <END \1aRESET-CONSTANTS>
858
859 "WARNING: THIS ADDS AN ENTRY  TO THE CONSTANT TABLE  IF IT IS NOT
860   ALREADY THERE.  THE INITIAL VERSION OF THIS ALGORITHM USES LINEAR
861   SEARCH.  THIS MAY SLOW DOWN THE WORLD"
862
863 #WORD *37733576264*
864                     <GFCN \1aAGEN-CONST ("VALUE" FIX FIX) NUM4>
865                     <TEMP TAB5:UVECTOR PTR10:FIX TEMP14 NTAB6:UVECTOR TAB130:UVECTOR TAB231>
866                     <INTGO>
867                     <GVAL 'CONSTANT-TABLE = TAB5>
868                     <SET PTR10 1 (TYPE FIX)>
869                     <LOOP>
870 AGAIN11
871                     <INTGO>
872                     <GVAL 'CONSTANT-POINTER = TEMP14>
873                     <VEQUAL? PTR10 TEMP14 - PHRASE13 (TYPE FIX)>
874                     <DEAD TEMP14>
875                     <LENUU TAB5 = TEMP14 (TYPE FIX)>
876                     <GRTR? PTR10 TEMP14 - PHRASE16 (TYPE FIX)>
877                     <DEAD TEMP14>
878                     <LENUU TAB5 = TEMP14 (TYPE FIX)>
879                     <ADD TEMP14 128 = TEMP14 (TYPE FIX)>
880                     <UUBLOCK <TYPE-CODE UVECTOR> TEMP14 = NTAB6>
881                     <DEAD TEMP14>
882                     <SET TEMP14 NTAB6>
883                     <LOOP (TEMP14 VALUE LENGTH)>
884 ISTR17
885                     <EMPUU? TEMP14 + ISTRE18>
886                     <PUTUU TEMP14 1 0>
887                     <RESTUU TEMP14 1 = TEMP14>
888                     <JUMP + ISTR17>
889 ISTRE18
890                     <SET TEMP14 TAB5 (TYPE UVECTOR)>
891                     <DEAD TAB5>
892                     <SET TAB5 NTAB6 (TYPE UVECTOR)>
893                     <LOOP>
894 MAP20
895                     <INTGO>
896                     <EMPUU? TEMP14 + MAPAP23>
897                     <EMPUU? TAB5 + MAPAP23>
898                     <SET TAB130 TEMP14>
899                     <SET TAB231 TAB5>
900                     <NTHUU TAB231 1 = TAB231 (TYPE FIX)>
901                     <PUTUU TAB130 1 TAB231>
902                     <DEAD TAB130 TAB231>
903                     <RESTUU TEMP14 1 = TEMP14 (TYPE UVECTOR)>
904                     <RESTUU TAB5 1 = TAB5 (TYPE UVECTOR)>
905                     <JUMP + MAP20>
906 MAPAP23
907                     <SET TAB5 NTAB6>
908                     <DEAD NTAB6>
909                     <SETG 'CONSTANT-TABLE TAB5>
910                     <DEAD TAB5>
911 PHRASE16
912                     <GVAL 'CONSTANT-TABLE = TAB5>
913                     <PUTUU TAB5 PTR10 NUM4>
914                     <DEAD TAB5 NUM4>
915                     <ADD PTR10 1 = TAB231 (TYPE FIX)>
916                     <GVAL 'CONSTANT-TABLE = TAB5>
917                     <PUTUU TAB5 TAB231 0>
918                     <DEAD TAB5 TAB231>
919                     <GVAL 'CONSTANT-POINTER = TAB231>
920                     <ADD TAB231 2 = TAB231 (TYPE FIX)>
921                     <SETG 'CONSTANT-POINTER TAB231>
922                     <DEAD TAB231>
923                     <RETURN PTR10>
924                     <DEAD PTR10>
925 PHRASE13
926                     <NTHUU TAB5 PTR10 = TAB231 (TYPE FIX)>
927                     <VEQUAL? NUM4 TAB231 - PHRASE33 (TYPE FIX)>
928                     <DEAD TAB231>
929                     <RETURN PTR10>
930                     <DEAD PTR10>
931 PHRASE33
932                     <ADD PTR10 2 = PTR10 (TYPE FIX)>
933                     <JUMP + AGAIN11>
934                     <END \1aAGEN-CONST>
935
936 #WORD *23213651406*
937                     <GFCN \1aINIT-PATCH-TABLE ("VALUE" FIX)>
938                     <TEMP>
939                     <INTGO>
940                     <SETG 'PATCH-TABLE ()>
941                     <SETG 'NUM-PATCH 1>
942                     <RETURN 1>
943                     <END \1aINIT-PATCH-TABLE>
944
945 #WORD *37311264752*
946                     <GFCN \1aADD-PATCH ("VALUE" FIX ATOM) PATCHTYPE4>
947                     <TEMP NUM7:FIX TEMP10 NPATCH5:PATCH>
948                     <INTGO>
949                     <GVAL 'NUM-PATCH = NUM7>
950                     <UBLOCK <TYPE-CODE UVECTOR> 0 = STACK>
951                     <PUSH PATCHTYPE4>
952                     <DEAD PATCHTYPE4>
953                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP10 (TYPE VECTOR)>
954                     <CHTYPE TEMP10 <TYPE-CODE PATCH> = NPATCH5>
955                     <DEAD TEMP10>
956                     <GVAL 'PATCH-TABLE = TEMP10>
957                     <CONS NPATCH5 TEMP10 = TEMP10>
958                     <DEAD NPATCH5>
959                     <SETG 'PATCH-TABLE TEMP10>
960                     <DEAD TEMP10>
961                     <LSH 87 24 = TEMP10 (TYPE FIX)>
962                     <OR TEMP10 NUM7 = TEMP10>
963                     <FRAME '\1aADD-WORD-TO-CODE>
964                     <PUSH TEMP10>
965                     <DEAD TEMP10>
966                     <CALL '\1aADD-WORD-TO-CODE 1>
967                     <ADD NUM7 1 = TEMP10 (TYPE FIX)>
968                     <SETG 'NUM-PATCH TEMP10>
969                     <DEAD TEMP10>
970                     <RETURN NUM7>
971                     <DEAD NUM7>
972                     <END \1aADD-PATCH>
973
974 #WORD *16227066403*
975                     <GFCN \1aGET-PATCH ("VALUE" PATCH FIX) NUM4>
976                     <TEMP TAB5:LIST TEMP6:FIX TEMP7>
977                     <INTGO>
978                     <GVAL 'PATCH-TABLE = TAB5>
979                     <LENL TAB5 = TEMP6 (TYPE FIX)>
980                     <SUB NUM4 1 = TEMP7 (TYPE FIX)>
981                     <DEAD NUM4>
982                     <SUB TEMP6 TEMP7 = TEMP6 (TYPE FIX)>
983                     <DEAD TEMP7>
984                     <SUB TEMP6 1 = TEMP6 (TYPE FIX)>
985                     <GRTR? TEMP6 0 - RESTL10 (TYPE FIX)>
986                     <LOOP (TAB5 VALUE) (TEMP6 VALUE)>
987 RESTL8
988                     <INTGO>
989                     <RESTL TAB5 1 = TAB5 (TYPE LIST)>
990                     <SUB TEMP6 1 = TEMP6 (TYPE FIX)>
991                     <GRTR? TEMP6 0 + RESTL8 (TYPE FIX)>
992 RESTL10
993                     <NTHL TAB5 1 = TEMP7 (TYPE PATCH)>
994                     <DEAD TAB5>
995                     <RETURN TEMP7>
996                     <DEAD TEMP7>
997                     <END \1aGET-PATCH>
998
999 #WORD *24646603517*
1000                     <GFCN \1aINSERT-PATCH ("VALUE" PATCH FIX CODEVEC) NUM4 CDV5>
1001                     <TEMP PATCH6:PATCH>
1002                     <INTGO>
1003                     <FRAME '\1aGET-PATCH>
1004                     <PUSH NUM4>
1005                     <DEAD NUM4>
1006                     <CALL '\1aGET-PATCH 1 = PATCH6>
1007                     <PUTUV PATCH6 1 CDV5>
1008                     <DEAD CDV5>
1009                     <RETURN PATCH6>
1010                     <DEAD PATCH6>
1011                     <END \1aINSERT-PATCH>
1012
1013 #WORD *10233410137*
1014                     <GFCN \1aEMIT ("VALUE" <OR FALSE FIX> ANY "TUPLE" ANY) INST4>
1015                     <MAKTUP FIELDS5:TUPLE TEMP11 TEMP12 = FIELDS5>
1016                     <INTGO>
1017                     <GVAL 'SPECIAL-OPS = TEMP11>
1018                     <TYPE? INST4 <TYPE-CODE FIX> - PHRASE7>
1019                     <EMPUU? TEMP11 + PHRASE7>
1020                     <LOOP (INST4 VALUE) (TEMP11 LENGTH VALUE)>
1021 TAG9
1022                     <NTHUU TEMP11 1 = TEMP12>
1023                     <VEQUAL? TEMP12 INST4 + TAG8>
1024                     <DEAD TEMP12>
1025                     <RESTUU TEMP11 1 = TEMP11 (TYPE UVECTOR)>
1026                     <EMPUU? TEMP11 - TAG9>
1027                     <JUMP + PHRASE7>
1028 TAG8
1029                     <FRAME '\1aADD-WORD-TO-CODE>
1030                     <LSH INST4 24 = TEMP11 (TYPE FIX)>
1031                     <AND INST4 #WORD *7777* = TEMP12>
1032                     <DEAD INST4>
1033                     <OR TEMP11 TEMP12 = STACK>
1034                     <DEAD TEMP11 TEMP12>
1035                     <CALL '\1aADD-WORD-TO-CODE 1 = TEMP12>
1036                     <RETURN TEMP12>
1037                     <DEAD TEMP12>
1038 PHRASE7
1039                     <FRAME '\1aREAL-EMIT>
1040                     <PUSH INST4>
1041                     <DEAD INST4>
1042                     <PUSH FIELDS5>
1043                     <DEAD FIELDS5>
1044                     <PUSH %<>>
1045                     <CALL '\1aREAL-EMIT 3 = TEMP12>
1046                     <RETURN TEMP12>
1047                     <DEAD TEMP12>
1048                     <END \1aEMIT>
1049
1050 <GDECL (LAST-INST-LENGTH) FIX>
1051
1052 #WORD *7743236241*
1053                     <GFCN \1aREAL-EMIT ("VALUE" <OR FALSE FIX> FIX TUPLE <OR FALSE FIX>) INST4 FIELDS5 WHERE6>
1054                     <TEMP INST-INFO7:UVECTOR TEMP12 NUM-OPS8:FIX (SHFT9:FIX 16) (FNUM10:FIX 1) FLD25 NBYTES31 TEMP39 TEMP38 IMWRD32:FIX EAC27:FIX REG-OR-LIT26:FIX SIZC28:FIX>
1055                     <INTGO>
1056                     <FRAME '\1aGET-INST-INFO>
1057                     <PUSH INST4>
1058                     <CALL '\1aGET-INST-INFO 1 = INST-INFO7>
1059                     <NTHUU INST-INFO7 2 = TEMP12 (TYPE FIX)>
1060                     <LSH TEMP12 -24 = NUM-OPS8 (TYPE FIX)>
1061                     <DEAD TEMP12>
1062                     <LSH INST4 24 = INST4 (TYPE FIX)>
1063                     <TYPE? WHERE6 <TYPE-CODE FALSE> - PHRASE14>
1064                     <SETG 'LAST-INST-LENGTH 0>
1065 PHRASE14
1066                     <CHTYPE FIELDS5 <TYPE-CODE VECTOR> = TEMP12>
1067                     <LOOP>
1068 MAP16
1069                     <INTGO>
1070                     <EMPUV? TEMP12 + MAPAP19>
1071                     <NTHUV TEMP12 1 = FLD25>
1072                     <SET NBYTES31 0 (TYPE FIX)>
1073                     <VEQUAL? NUM-OPS8 0 - PHRASE34 (TYPE FIX)>
1074                     <FRAME '\1aERROR>
1075                     <PUSH 'TOO-MANY-OPERANDS!-ERRORS>
1076                     <PUSH INST4>
1077                     <SET TEMP39 2 (TYPE FIX)>
1078                     <SET TEMP38 FIELDS5>
1079                     <LOOP (TEMP38 VALUE LENGTH) (TEMP39 VALUE)>
1080 TAG40
1081                     <INTGO>
1082                     <EMPUV? TEMP38 + TAG37>
1083                     <NTHUV TEMP38 1 = STACK>
1084                     <RESTUV TEMP38 1 = TEMP38 (TYPE VECTOR)>
1085                     <ADD TEMP39 1 = TEMP39 (TYPE FIX)>
1086                     <JUMP + TAG40>
1087 TAG37
1088                     <CALL '\1aERROR TEMP39>
1089                     <DEAD TEMP39>
1090 PHRASE34
1091                     <TYPE? FLD25 <TYPE-CODE EFF-ADDR> + PHRASE43>
1092                     <TYPE? FLD25 <TYPE-CODE LADDR> + PHRASE43>
1093                     <FRAME '\1aERROR>
1094                     <PUSH 'BAD-CALL-TO-EMIT!-ERRORS>
1095                     <PUSH INST4>
1096                     <SET TEMP38 2 (TYPE FIX)>
1097                     <SET TEMP39 FIELDS5>
1098                     <LOOP (TEMP39 VALUE LENGTH) (TEMP38 VALUE)>
1099 TAG45
1100                     <INTGO>
1101                     <EMPUV? TEMP39 + TAG44>
1102                     <NTHUV TEMP39 1 = STACK>
1103                     <RESTUV TEMP39 1 = TEMP39 (TYPE VECTOR)>
1104                     <ADD TEMP38 1 = TEMP38 (TYPE FIX)>
1105                     <JUMP + TAG45>
1106 TAG44
1107                     <CALL '\1aERROR TEMP38>
1108                     <DEAD TEMP38>
1109 PHRASE43
1110                     <TYPE? FLD25 <TYPE-CODE LADDR> - PHRASE48>
1111                     <RESTL FLD25 1 = TEMP38 (TYPE LIST)>
1112                     <NTHL TEMP38 1 = TEMP38 (TYPE EFF-ADDR)>
1113                     <CHTYPE TEMP38 <TYPE-CODE FIX> = IMWRD32>
1114                     <DEAD TEMP38>
1115                     <NTHL FLD25 1 = TEMP38 (TYPE EFF-ADDR)>
1116                     <DEAD FLD25>
1117                     <LSH TEMP38 -24 = FLD25 (TYPE FIX)>
1118                     <DEAD TEMP38>
1119                     <JUMP + PHRASE49>
1120 PHRASE48
1121                     <LSH FLD25 8 = IMWRD32 (TYPE FIX)>
1122                     <LSH FLD25 -24 = FLD25 (TYPE FIX)>
1123 PHRASE49
1124                     <AND FLD25 #WORD *360* = EAC27>
1125                     <AND FLD25 #WORD *17* = REG-OR-LIT26>
1126                     <VEQUAL? EAC27 64 + PHRASE51 (TYPE FIX)>
1127                     <SUB NUM-OPS8 1 = NUM-OPS8 (TYPE FIX)>
1128                     <FRAME '\1aGET-OP-INFO>
1129                     <PUSH FNUM10>
1130                     <PUSH INST-INFO7>
1131                     <CALL '\1aGET-OP-INFO 2 = TEMP39>
1132                     <AND TEMP39 #WORD *7* = SIZC28>
1133                     <LSH TEMP39 -3 = TEMP39 (TYPE FIX)>
1134                     <ADD FNUM10 1 = FNUM10 (TYPE FIX)>
1135 PHRASE51
1136                     <LESS? EAC27 64 + PHRASE54 (TYPE FIX)>
1137                     <GRTR? EAC27 112 + PHRASE54 (TYPE FIX)>
1138                     <GVAL 'NAC-PC = TEMP38>
1139                     <EQUAL? TEMP38 REG-OR-LIT26 - PHRASE54>
1140                     <DEAD TEMP38>
1141                     <FRAME '\1aERROR>
1142                     <PUSH 'CANT-INDEX-PC!-ERRORS>
1143                     <PUSH INST4>
1144                     <SET TEMP39 2 (TYPE FIX)>
1145                     <SET TEMP38 FIELDS5>
1146                     <LOOP (TEMP38 VALUE LENGTH) (TEMP39 VALUE)>
1147 TAG57
1148                     <INTGO>
1149                     <EMPUV? TEMP38 + TAG56>
1150                     <NTHUV TEMP38 1 = STACK>
1151                     <RESTUV TEMP38 1 = TEMP38 (TYPE VECTOR)>
1152                     <ADD TEMP39 1 = TEMP39 (TYPE FIX)>
1153                     <JUMP + TAG57>
1154 TAG56
1155                     <CALL '\1aERROR TEMP39>
1156                     <DEAD TEMP39>
1157                     <JUMP + PHRASE86>
1158 PHRASE54
1159                     <LESS? EAC27 128 + PHRASE59 (TYPE FIX)>
1160                     <VEQUAL? EAC27 144 + BOOL66 (TYPE FIX)>
1161                     <VEQUAL? EAC27 128 - BOOL63 (TYPE FIX)>
1162                     <VEQUAL? SIZC28 2 + BOOL66 (TYPE FIX)>
1163                     <VEQUAL? SIZC28 5 - BOOL63 (TYPE FIX)>
1164 BOOL66
1165                     <GVAL 'NAC-PC = TEMP39>
1166                     <EQUAL? TEMP39 REG-OR-LIT26 + BOOL62>
1167                     <DEAD TEMP39>
1168 BOOL63
1169                     <VEQUAL? EAC27 224 + BOOL62 (TYPE FIX)>
1170                     <VEQUAL? EAC27 240 - PHRASE61 (TYPE FIX)>
1171 BOOL62
1172                     <SET NBYTES31 4 (TYPE FIX)>
1173                     <JUMP + PHRASE86>
1174 PHRASE61
1175                     <VEQUAL? EAC27 192 + BOOL68 (TYPE FIX)>
1176                     <VEQUAL? EAC27 208 + BOOL68 (TYPE FIX)>
1177                     <VEQUAL? EAC27 128 - PHRASE67 (TYPE FIX)>
1178                     <VEQUAL? SIZC28 1 - PHRASE67 (TYPE FIX)>
1179                     <GVAL 'NAC-PC = TEMP39>
1180                     <EQUAL? TEMP39 REG-OR-LIT26 - PHRASE67>
1181                     <DEAD TEMP39>
1182 BOOL68
1183                     <SET NBYTES31 2 (TYPE FIX)>
1184                     <JUMP + PHRASE86>
1185 PHRASE67
1186                     <VEQUAL? EAC27 160 + BOOL73 (TYPE FIX)>
1187                     <VEQUAL? EAC27 176 + BOOL73 (TYPE FIX)>
1188                     <VEQUAL? EAC27 128 - PHRASE72 (TYPE FIX)>
1189                     <VEQUAL? SIZC28 0 - PHRASE72 (TYPE FIX)>
1190                     <GVAL 'NAC-PC = TEMP39>
1191                     <EQUAL? TEMP39 REG-OR-LIT26 - PHRASE72>
1192                     <DEAD TEMP39>
1193 BOOL73
1194                     <SET NBYTES31 1 (TYPE FIX)>
1195                     <JUMP + PHRASE86>
1196 PHRASE72
1197                     <VEQUAL? EAC27 128 - PHRASE77 (TYPE FIX)>
1198                     <DEAD EAC27>
1199                     <GVAL 'NAC-PC = TEMP39>
1200                     <EQUAL? TEMP39 REG-OR-LIT26 - PHRASE77>
1201                     <DEAD TEMP39>
1202                     <VEQUAL? SIZC28 4 + BOOL81 (TYPE FIX)>
1203                     <VEQUAL? SIZC28 6 - PHRASE80 (TYPE FIX)>
1204 BOOL81
1205                     <SET NBYTES31 8 (TYPE FIX)>
1206                     <JUMP + PHRASE86>
1207 PHRASE80
1208                     <VEQUAL? SIZC28 3 - PHRASE82 (TYPE FIX)>
1209                     <SET NBYTES31 16 (TYPE FIX)>
1210                     <JUMP + PHRASE86>
1211 PHRASE82
1212                     <FRAME '\1aERROR>
1213                     <PUSH 'FOO!-ERRORS>
1214                     <CALL '\1aERROR 1>
1215                     <JUMP + PHRASE86>
1216 PHRASE77
1217                     <SET NBYTES31 0 (TYPE FIX)>
1218                     <JUMP + PHRASE86>
1219 PHRASE59
1220                     <SET NBYTES31 0 (TYPE FIX)>
1221 PHRASE86
1222                     <LSH FLD25 SHFT9 = TEMP39 (TYPE FIX)>
1223                     <DEAD FLD25>
1224                     <OR INST4 TEMP39 = INST4>
1225                     <DEAD TEMP39>
1226                     <SUB SHFT9 8 = SHFT9 (TYPE FIX)>
1227                     <LESS? SHFT9 0 - PHRASE88 (TYPE FIX)>
1228                     <SET SHFT9 24 (TYPE FIX)>
1229                     <TYPE? WHERE6 <TYPE-CODE FALSE> + PHRASE92>
1230                     <FRAME '\1aPUT-CODE>
1231                     <PUSH WHERE6>
1232                     <PUSH INST4>
1233                     <DEAD INST4>
1234                     <CALL '\1aPUT-CODE 2>
1235                     <ADD WHERE6 1 = WHERE6 (TYPE FIX)>
1236                     <JUMP + PHRASE94>
1237 PHRASE92
1238                     <FRAME '\1aADD-WORD-TO-CODE>
1239                     <PUSH INST4>
1240                     <DEAD INST4>
1241                     <CALL '\1aADD-WORD-TO-CODE 1>
1242                     <GVAL 'LAST-INST-LENGTH = TEMP39>
1243                     <ADD TEMP39 1 = TEMP39 (TYPE FIX)>
1244                     <SETG 'LAST-INST-LENGTH TEMP39>
1245                     <DEAD TEMP39>
1246 PHRASE94
1247                     <SET INST4 0 (TYPE FIX)>
1248 PHRASE88
1249                     <LOOP>
1250 AGAIN97
1251                     <INTGO>
1252                     <SUB NBYTES31 1 = NBYTES31 (TYPE FIX)>
1253                     <LESS? NBYTES31 0 + EXIT96 (TYPE FIX)>
1254                     <AND IMWRD32 #WORD *37700000000* = TEMP38>
1255                     <SUB SHFT9 24 = EAC27 (TYPE FIX)>
1256                     <LSH TEMP38 EAC27 = EAC27 (TYPE FIX)>
1257                     <DEAD TEMP38>
1258                     <OR INST4 EAC27 = INST4>
1259                     <DEAD EAC27>
1260                     <LSH IMWRD32 8 = IMWRD32 (TYPE FIX)>
1261                     <SUB SHFT9 8 = SHFT9 (TYPE FIX)>
1262                     <LESS? SHFT9 0 - AGAIN97 (TYPE FIX)>
1263                     <TYPE? WHERE6 <TYPE-CODE FALSE> + PHRASE108>
1264                     <FRAME '\1aPUT-CODE>
1265                     <PUSH WHERE6>
1266                     <PUSH INST4>
1267                     <DEAD INST4>
1268                     <CALL '\1aPUT-CODE 2>
1269                     <ADD WHERE6 1 = WHERE6 (TYPE FIX)>
1270                     <JUMP + PHRASE110>
1271 PHRASE108
1272                     <FRAME '\1aADD-WORD-TO-CODE>
1273                     <PUSH INST4>
1274                     <DEAD INST4>
1275                     <CALL '\1aADD-WORD-TO-CODE 1>
1276                     <GVAL 'LAST-INST-LENGTH = EAC27>
1277                     <ADD EAC27 1 = EAC27 (TYPE FIX)>
1278                     <SETG 'LAST-INST-LENGTH EAC27>
1279                     <DEAD EAC27>
1280 PHRASE110
1281                     <SET SHFT9 24 (TYPE FIX)>
1282                     <SET INST4 0 (TYPE FIX)>
1283                     <JUMP + AGAIN97>
1284 EXIT96
1285                     <RESTUV TEMP12 1 = TEMP12 (TYPE VECTOR)>
1286                     <JUMP + MAP16>
1287 MAPAP19
1288                     <VEQUAL? NUM-OPS8 0 + PHRASE113 (TYPE FIX)>
1289                     <DEAD NUM-OPS8>
1290                     <FRAME '\1aERROR>
1291                     <PUSH 'TOO-FEW-FIELDS!-ERRORS>
1292                     <PUSH INST4>
1293                     <SET FLD25 2 (TYPE FIX)>
1294                     <SET TEMP12 FIELDS5>
1295                     <DEAD FIELDS5>
1296                     <LOOP (TEMP12 VALUE LENGTH) (FLD25 VALUE)>
1297 TAG117
1298                     <INTGO>
1299                     <EMPUV? TEMP12 + TAG116>
1300                     <NTHUV TEMP12 1 = STACK>
1301                     <RESTUV TEMP12 1 = TEMP12 (TYPE VECTOR)>
1302                     <ADD FLD25 1 = FLD25 (TYPE FIX)>
1303                     <JUMP + TAG117>
1304 TAG116
1305                     <CALL '\1aERROR FLD25>
1306                     <DEAD FLD25>
1307 PHRASE113
1308                     <VEQUAL? SHFT9 24 - TAG121 (TYPE FIX)>
1309                     <DEAD SHFT9>
1310                     <RETURN %<>>
1311 TAG121
1312                     <TYPE? WHERE6 <TYPE-CODE FALSE> + PHRASE123>
1313                     <FRAME '\1aPUT-CODE>
1314                     <PUSH WHERE6>
1315                     <PUSH INST4>
1316                     <DEAD INST4>
1317                     <CALL '\1aPUT-CODE 2>
1318                     <ADD WHERE6 1 = WHERE6 (TYPE FIX)>
1319                     <RETURN WHERE6>
1320                     <DEAD WHERE6>
1321 PHRASE123
1322                     <FRAME '\1aADD-WORD-TO-CODE>
1323                     <PUSH INST4>
1324                     <DEAD INST4>
1325                     <CALL '\1aADD-WORD-TO-CODE 1>
1326                     <GVAL 'LAST-INST-LENGTH = NUM-OPS8>
1327                     <ADD NUM-OPS8 1 = NUM-OPS8 (TYPE FIX)>
1328                     <SETG 'LAST-INST-LENGTH NUM-OPS8>
1329                     <RETURN NUM-OPS8>
1330                     <DEAD NUM-OPS8>
1331                     <END \1aREAL-EMIT>
1332
1333 #WORD *27062413266*
1334                     <GFCN \1aEMIT-LABEL-WORD ("VALUE" XREF-INFO ATOM) LABEL4>
1335                     <TEMP (INST7:FIX 0) (CNT8:FIX 1) XREF5:XREF-INFO LREF6:LABEL-REF TEMP12 TREF26:LABEL-REF>
1336                     <INTGO>
1337                     <FRAME '\1aUPDLT-BRANCH>
1338                     <PUSH LABEL4>
1339                     <DEAD LABEL4>
1340                     <GVAL 'CODE-COUNT = STACK>
1341                     <PUSH 'NORMAL>
1342                     <PUSH 1>
1343                     <PUSH %<>>
1344                     <CALL '\1aUPDLT-BRANCH 5 = XREF5>
1345                     <NTHUV XREF5 1 = LREF6 (TYPE LABEL-REF)>
1346                     <NTHUV LREF6 4 = TEMP12 (TYPE FIX)>
1347                     <VEQUAL? TEMP12 0 + PHRASE11 (TYPE FIX)>
1348                     <DEAD TEMP12>
1349                     <GVAL 'LABEL-TABLE = TEMP12>
1350                     <LOOP>
1351 MAP16
1352                     <INTGO>
1353                     <EMPL? TEMP12 + MAPAP19>
1354                     <NTHL TEMP12 1 = TREF26>
1355                     <VEQUAL? TREF26 LREF6 + MAPAP19>
1356                     <DEAD TREF26>
1357                     <ADD CNT8 1 = CNT8 (TYPE FIX)>
1358                     <RESTL TEMP12 1 = TEMP12 (TYPE LIST)>
1359                     <JUMP + MAP16>
1360 MAPAP19
1361                     <OR INST7 CNT8 = INST7>
1362                     <DEAD CNT8>
1363 PHRASE11
1364                     <FRAME '\1aADD-WORD-TO-CODE>
1365                     <PUSH INST7>
1366                     <DEAD INST7>
1367                     <CALL '\1aADD-WORD-TO-CODE 1>
1368                     <SETG 'LAST-INST-LENGTH 1>
1369                     <RETURN XREF5>
1370                     <DEAD XREF5>
1371                     <END \1aEMIT-LABEL-WORD>
1372
1373 #WORD *5017277160*
1374                     <GFCN \1aBAD-MOVE ("VALUE" <OR FALSE FIX> ANY ANY ATOM "OPTIONAL" ANY) EA16 EA27 MSIZE8 EXTRA9>
1375                     <OPT-DISPATCH 3 %<> OPT4 OPT5>
1376 OPT4
1377                     <PUSH #T$UNBOUND 0>
1378 OPT5
1379                     <TEMP INST10 TEMP23>
1380                     <INTGO>
1381                     <VEQUAL? MSIZE8 'ZWL - PHRASE12>
1382                     <SET INST10 60 (TYPE FIX)>
1383                     <JUMP + PHRASE16>
1384 PHRASE12
1385                     <VEQUAL? MSIZE8 'LONG - PHRASE13>
1386                     <SET INST10 208 (TYPE FIX)>
1387                     <JUMP + PHRASE16>
1388 PHRASE13
1389                     <VEQUAL? MSIZE8 'WORD - PHRASE14>
1390                     <SET INST10 176 (TYPE FIX)>
1391                     <JUMP + PHRASE16>
1392 PHRASE14
1393                     <VEQUAL? MSIZE8 'BYTE - PHRASE15>
1394                     <SET INST10 144 (TYPE FIX)>
1395                     <JUMP + PHRASE16>
1396 PHRASE15
1397                     <VEQUAL? MSIZE8 'DOUBLE - PHRASE16>
1398                     <DEAD MSIZE8>
1399                     <SET INST10 125 (TYPE FIX)>
1400 PHRASE16
1401                     <TYPE? EXTRA9 <TYPE-CODE UNBOUND> + PHRASE18>
1402                     <TYPE? EXTRA9 <TYPE-CODE FALSE> + PHRASE18>
1403                     <FRAME '\1aPRIMTYPE>
1404                     <PUSH EXTRA9>
1405                     <CALL '\1aPRIMTYPE 1 = TEMP23>
1406                     <VEQUAL? TEMP23 'FIX + PHRASE21>
1407                     <DEAD TEMP23>
1408                     <FRAME '\1aEMIT>
1409                     <PUSH INST10>
1410                     <DEAD INST10>
1411                     <PUSH EA16>
1412                     <DEAD EA16>
1413                     <SET INST10 3 (TYPE FIX)>
1414                     <SET TEMP23 EXTRA9>
1415                     <DEAD EXTRA9>
1416                     <LOOP (TEMP23 TYPE VALUE LENGTH) (INST10 VALUE)>
1417 TAG26
1418                     <INTGO>
1419                     <EMPTY? TEMP23 + TAG24>
1420                     <NTH1 TEMP23 = STACK>
1421                     <REST1 TEMP23 = TEMP23>
1422                     <ADD INST10 1 = INST10 (TYPE FIX)>
1423                     <JUMP + TAG26>
1424 TAG24
1425                     <PUSH EA27>
1426                     <DEAD EA27>
1427                     <CALL '\1aEMIT INST10 = INST10>
1428                     <RETURN INST10>
1429                     <DEAD INST10>
1430 PHRASE21
1431                     <FRAME '\1aEMIT>
1432                     <PUSH INST10>
1433                     <DEAD INST10>
1434                     <PUSH EA16>
1435                     <DEAD EA16>
1436                     <PUSH EXTRA9>
1437                     <DEAD EXTRA9>
1438                     <PUSH EA27>
1439                     <DEAD EA27>
1440                     <CALL '\1aEMIT 4 = INST10>
1441                     <RETURN INST10>
1442                     <DEAD INST10>
1443 PHRASE18
1444                     <FRAME '\1aEMIT>
1445                     <PUSH INST10>
1446                     <DEAD INST10>
1447                     <PUSH EA16>
1448                     <DEAD EA16>
1449                     <PUSH EA27>
1450                     <DEAD EA27>
1451                     <CALL '\1aEMIT 3 = INST10>
1452                     <RETURN INST10>
1453                     <DEAD INST10>
1454                     <END \1aBAD-MOVE>
1455
1456 #WORD *5124206455*
1457                     <GFCN \1aRE-EMIT-MOVE ("VALUE" <OR FALSE FIX> FIX EFF-ADDR EFF-ADDR ATOM) PTR4 EA15 EA26 MSIZE7>
1458                     <TEMP X9 INST8:FIX>
1459                     <INTGO>
1460                     <PUSH EA15>
1461                     <DEAD EA15>
1462                     <PUSH EA26>
1463                     <DEAD EA26>
1464                     <TUPLE 2 = X9 (TYPE TUPLE)>
1465                     <SUB PTR4 2 = PTR4 (TYPE FIX)>
1466                     <VEQUAL? MSIZE7 'LONG - PHRASE12>
1467                     <SET INST8 208 (TYPE FIX)>
1468                     <JUMP + PHRASE15>
1469 PHRASE12
1470                     <VEQUAL? MSIZE7 'WORD - PHRASE13>
1471                     <SET INST8 176 (TYPE FIX)>
1472                     <JUMP + PHRASE15>
1473 PHRASE13
1474                     <VEQUAL? MSIZE7 'BYTE - PHRASE14>
1475                     <SET INST8 144 (TYPE FIX)>
1476                     <JUMP + PHRASE15>
1477 PHRASE14
1478                     <VEQUAL? MSIZE7 'DOUBLE - PHRASE15>
1479                     <DEAD MSIZE7>
1480                     <SET INST8 125 (TYPE FIX)>
1481 PHRASE15
1482                     <FRAME '\1aREAL-EMIT>
1483                     <PUSH INST8>
1484                     <DEAD INST8>
1485                     <PUSH X9>
1486                     <DEAD X9>
1487                     <PUSH PTR4>
1488                     <DEAD PTR4>
1489                     <CALL '\1aREAL-EMIT 3 = X9>
1490                     <ADJ -6>
1491                     <RETURN X9>
1492                     <DEAD X9>
1493                     <END \1aRE-EMIT-MOVE>
1494
1495 "MAKE SURE CONSTANT IS CORRECT IF IMMEDIATE.  IF LONG WORD OPERATION
1496  SHOULD USE CONSTANT TABLE"
1497
1498 #WORD *1264330352*
1499                     <GFCN \1aIMM-CHECK ("VALUE" ANY EFF-ADDR ATOM) EA4 SIZE5>
1500                     <TEMP TEMP11 MSK10:FIX RB12 SHFT13:FIX>
1501                     <INTGO>
1502                     <GVAL 'M$$R-BHWD = TEMP11>
1503                     <SUB 0 TEMP11 = TEMP11 (TYPE FIX)>
1504                     <LSH -1 TEMP11 = MSK10 (TYPE FIX)>
1505                     <DEAD TEMP11>
1506                     <GVAL 'EA-FIELD = RB12>
1507                     <AND RB12 MSK10 = SHFT13>
1508                     <GVAL 'M$$R-BHWD = TEMP11>
1509                     <SUB 0 TEMP11 = TEMP11 (TYPE FIX)>
1510                     <LSH RB12 TEMP11 = TEMP11 (TYPE FIX)>
1511                     <DEAD RB12>
1512                     <AND TEMP11 MSK10 = MSK10>
1513                     <DEAD TEMP11>
1514                     <GETBITS EA4 MSK10 SHFT13 = MSK10>
1515                     <DEAD SHFT13>
1516                     <VEQUAL? SIZE5 'LONG - PHRASE17>
1517                     <GVAL 'ADDRESS-IMM-LONG = TEMP11>
1518                     <EQUAL? TEMP11 MSK10 - PHRASE19>
1519                     <DEAD TEMP11>
1520                     <GVAL 'M$$R-BHWD = TEMP11>
1521                     <SUB 0 TEMP11 = TEMP11 (TYPE FIX)>
1522                     <LSH -1 TEMP11 = MSK10 (TYPE FIX)>
1523                     <DEAD TEMP11>
1524                     <GVAL 'EA-FIELD = RB12>
1525                     <AND RB12 MSK10 = SHFT13>
1526                     <GVAL 'M$$R-BHWD = TEMP11>
1527                     <SUB 0 TEMP11 = TEMP11 (TYPE FIX)>
1528                     <LSH RB12 TEMP11 = TEMP11 (TYPE FIX)>
1529                     <DEAD RB12>
1530                     <AND TEMP11 MSK10 = MSK10>
1531                     <DEAD TEMP11>
1532                     <GVAL 'ADDRESS-IMM = TEMP11>
1533                     <PUTBITS EA4 MSK10 SHFT13 TEMP11 = TEMP11>
1534                     <DEAD EA4 MSK10 SHFT13>
1535                     <CHTYPE TEMP11 <TYPE-CODE EFF-ADDR> = TEMP11>
1536                     <RETURN TEMP11>
1537                     <DEAD TEMP11>
1538 PHRASE19
1539                     <GVAL 'ADDRESS-IMM = TEMP11>
1540                     <EQUAL? TEMP11 MSK10 - PHRASE28>
1541                     <DEAD TEMP11>
1542                     <FRAME '\1aEXTEND>
1543                     <GETBITS EA4 16 16 = STACK>
1544                     <DEAD EA4>
1545                     <CALL '\1aEXTEND 1 = TEMP11>
1546                     <FRAME '\1aAGEN-CONST>
1547                     <PUSH TEMP11>
1548                     <DEAD TEMP11>
1549                     <CALL '\1aAGEN-CONST 1 = TEMP11>
1550                     <PUTBITS MSK10 16 16 TEMP11 = TEMP11>
1551                     <DEAD MSK10>
1552                     <CHTYPE TEMP11 <TYPE-CODE EFF-ADDR> = TEMP11>
1553                     <RETURN TEMP11>
1554                     <DEAD TEMP11>
1555 PHRASE28
1556                     <RETURN EA4>
1557                     <DEAD EA4>
1558 PHRASE17
1559                     <GVAL 'ADDRESS-IMM-LONG = TEMP11>
1560                     <EQUAL? TEMP11 MSK10 - PHRASE31>
1561                     <DEAD TEMP11>
1562                     <FRAME '\1aERROR>
1563                     <PUSH "CANT USE LONG CONSTANT">
1564                     <PUSH EA4>
1565                     <DEAD EA4>
1566                     <PUSH SIZE5>
1567                     <DEAD SIZE5>
1568                     <PUSH 'IMM-CHECK>
1569                     <CALL '\1aERROR 4 = TEMP11>
1570                     <RETURN TEMP11>
1571                     <DEAD TEMP11>
1572 PHRASE31
1573                     <RETURN EA4>
1574                     <DEAD EA4>
1575                     <END \1aIMM-CHECK>
1576
1577 #WORD *23357175353*
1578                     <GFCN \1aSTART-CODE-INSERT ("VALUE" <OR FALSE FIX>)>
1579                     <TEMP CNT4 TEMP7>
1580                     <INTGO>
1581                     <GVAL 'SAVED-CODE-COUNT = CNT4>
1582                     <TYPE? CNT4 <TYPE-CODE FALSE> + PHRASE6>
1583                     <GVAL 'SAVED-CODE-STACK = TEMP7>
1584                     <CONS CNT4 TEMP7 = TEMP7>
1585                     <DEAD CNT4>
1586                     <SETG 'SAVED-CODE-STACK TEMP7>
1587                     <DEAD TEMP7>
1588 PHRASE6
1589                     <GVAL 'CODE-COUNT = TEMP7>
1590                     <SETG 'SAVED-CODE-COUNT TEMP7>
1591                     <RETURN TEMP7>
1592                     <DEAD TEMP7>
1593                     <END \1aSTART-CODE-INSERT>
1594
1595 #WORD *25142624022*
1596                     <GFCN \1aEND-CODE-INSERT ("VALUE" <UVECTOR [REST FIX]>)>
1597                     <TEMP CCOUNT4 START6 TEMP15 EL17:FIX>
1598                     <INTGO>
1599                     <GVAL 'CODE-COUNT = CCOUNT4>
1600                     <GVAL 'SAVED-CODE-COUNT = START6>
1601                     <SET TEMP15 0 (TYPE FIX)>
1602                     <LOOP>
1603 MAP8
1604                     <INTGO>
1605                     <EQUAL? CCOUNT4 START6 + MAPAP11>
1606                     <FRAME '\1aNTH-CODE>
1607                     <PUSH START6>
1608                     <CALL '\1aNTH-CODE 1 = EL17>
1609                     <ADD START6 1 = START6 (TYPE FIX)>
1610                     <PUSH EL17>
1611                     <DEAD EL17>
1612                     <ADD TEMP15 1 = TEMP15 (TYPE FIX)>
1613                     <JUMP + MAP8>
1614 MAPAP11
1615                     <UBLOCK <TYPE-CODE UVECTOR> TEMP15 = START6 (TYPE UVECTOR)>
1616                     <DEAD TEMP15>
1617                     <GVAL 'SAVED-CODE-COUNT = TEMP15>
1618                     <SETG 'CODE-COUNT TEMP15>
1619                     <DEAD TEMP15>
1620                     <GVAL 'CODE-COUNT = CCOUNT4>
1621                     <GVAL 'CODE-LIST = TEMP15>
1622                     <LOOP>
1623 AGAIN26
1624                     <INTGO>
1625                     <GRTR? CCOUNT4 1025 + PHRASE28 (TYPE FIX)>
1626                     <NTHL TEMP15 1 = TEMP15 (TYPE UVECTOR)>
1627                     <SUB CCOUNT4 1 = CCOUNT4 (TYPE FIX)>
1628                     <RESTUU TEMP15 CCOUNT4 = TEMP15 (TYPE UVECTOR)>
1629                     <DEAD CCOUNT4>
1630                     <SETG 'CURRENT-CODE TEMP15>
1631                     <DEAD TEMP15>
1632                     <JUMP + EXIT23>
1633 PHRASE28
1634                     <RESTL TEMP15 1 = TEMP15 (TYPE LIST)>
1635                     <EMPL? TEMP15 - PHRASE31 (TYPE LIST)>
1636                     <FRAME '\1aERROR>
1637                     <PUSH 'OUT-OF-BOUNDS>
1638                     <PUSH 'END-CODE-INSERT>
1639                     <CALL '\1aERROR 2>
1640 PHRASE31
1641                     <SUB CCOUNT4 1024 = CCOUNT4 (TYPE FIX)>
1642                     <JUMP + AGAIN26>
1643 EXIT23
1644                     <GVAL 'SAVED-CODE-STACK = TEMP15>
1645                     <EMPL? TEMP15 - PHRASE34 (TYPE LIST)>
1646                     <DEAD TEMP15>
1647                     <SETG 'SAVED-CODE-COUNT %<>>
1648                     <RETURN START6>
1649                     <DEAD START6>
1650 PHRASE34
1651                     <GVAL 'SAVED-CODE-STACK = TEMP15>
1652                     <NTHL TEMP15 1 = CCOUNT4 (TYPE FIX)>
1653                     <DEAD TEMP15>
1654                     <SETG 'SAVED-CODE-COUNT CCOUNT4>
1655                     <DEAD CCOUNT4>
1656                     <GVAL 'SAVED-CODE-STACK = TEMP15>
1657                     <RESTL TEMP15 1 = CCOUNT4 (TYPE LIST)>
1658                     <DEAD TEMP15>
1659                     <SETG 'SAVED-CODE-STACK CCOUNT4>
1660                     <DEAD CCOUNT4>
1661                     <RETURN START6>
1662                     <DEAD START6>
1663                     <END \1aEND-CODE-INSERT>
1664
1665 #WORD *34135235317*
1666                     <GFCN \1aEMIT-MOVE ("VALUE" <OR ATOM FALSE FIX> ANY ANY ANY "OPTIONAL" ANY) EA16 EA27 SZ8 EXTRA9>
1667                     <OPT-DISPATCH 3 %<> OPT4 OPT5>
1668 OPT4
1669                     <PUSH %<>>
1670 OPT5
1671                     <TEMP ISZ11 TEMP20 TMP10:FIX ABS12:FIX TB13>
1672                     <INTGO>
1673                     <SET ISZ11 SZ8>
1674                     <TYPE? EXTRA9 <TYPE-CODE FALSE> - PHRASE17>
1675                     <TYPE? EA16 <TYPE-CODE LADDR> - PHRASE17>
1676                     <NTHL EA16 1 = ISZ11 (TYPE EFF-ADDR)>
1677                     <GVAL 'AC-PC = TEMP20>
1678                     <NTHUV TEMP20 2 = TEMP20 (TYPE FIX)>
1679                     <OR TEMP20 #WORD *200* = TEMP20>
1680                     <LSH TEMP20 24 = TEMP20 (TYPE FIX)>
1681                     <CHTYPE TEMP20 <TYPE-CODE EFF-ADDR> = TEMP20>
1682                     <VEQUAL? ISZ11 TEMP20 - PHRASE17>
1683                     <DEAD ISZ11 TEMP20>
1684                     <EMPL? EA16 + PHRASE17>
1685                     <RESTL EA16 1 = TEMP20 (TYPE LIST)>
1686                     <EMPL? TEMP20 + PHRASE17>
1687                     <RESTL TEMP20 1 = TEMP20 (TYPE LIST)>
1688                     <EMPL? TEMP20 - PHRASE17>
1689                     <DEAD TEMP20>
1690                     <EQUAL? SZ8 'ZWL + PHRASE17>
1691                     <FRAME '\1aLREV>
1692                     <RESTL EA16 1 = TEMP20 (TYPE LIST)>
1693                     <NTHL TEMP20 1 = STACK (TYPE EFF-ADDR)>
1694                     <DEAD TEMP20>
1695                     <CALL '\1aLREV 1 = TMP10>
1696                     <IFSYS "TOPS20">
1697                     <AND TMP10 #WORD *20000000000* = ISZ11>
1698                     <VEQUAL? ISZ11 0 + PHRASE25 (TYPE FIX)>
1699                     <DEAD ISZ11>
1700                     <PUTBITS TMP10 4 32 -1 = TMP10>
1701 PHRASE25
1702                     <ENDIF "TOPS20">
1703                     <SET ABS12 TMP10>
1704                     <LESS? ABS12 0 - TAG28 (TYPE FIX)>
1705                     <SUB 0 ABS12 = ABS12 (TYPE FIX)>
1706 TAG28
1707                     <LESS? TMP10 256 - PHRASE30 (TYPE FIX)>
1708                     <GRTR? TMP10 -128 - PHRASE30 (TYPE FIX)>
1709                     <SET ISZ11 'BYTE (TYPE ATOM)>
1710                     <JUMP + PHRASE40>
1711 PHRASE30
1712                     <LESS? TMP10 65536 - PHRASE32 (TYPE FIX)>
1713                     <GRTR? TMP10 -32768 - PHRASE32 (TYPE FIX)>
1714                     <SET ISZ11 'WORD (TYPE ATOM)>
1715                     <JUMP + PHRASE40>
1716 PHRASE32
1717                     <SET ISZ11 'LONG (TYPE ATOM)>
1718                     <JUMP + PHRASE40>
1719 PHRASE17
1720                     <TYPE? EA16 <TYPE-CODE EFF-ADDR> - PHRASE35>
1721                     <FRAME '\1aLREV>
1722                     <PUSH EA16>
1723                     <CALL '\1aLREV 1 = TMP10>
1724                     <GRTR? TMP10 63 + PHRASE35 (TYPE FIX)>
1725                     <LESS? TMP10 0 + PHRASE35 (TYPE FIX)>
1726                     <SET ABS12 TMP10>
1727                     <SET ISZ11 'BYTE (TYPE ATOM)>
1728                     <JUMP + PHRASE40>
1729 PHRASE35
1730                     <FRAME '\1aBAD-MOVE>
1731                     <PUSH EA16>
1732                     <DEAD EA16>
1733                     <PUSH EA27>
1734                     <DEAD EA27>
1735                     <PUSH SZ8>
1736                     <DEAD SZ8>
1737                     <PUSH EXTRA9>
1738                     <DEAD EXTRA9>
1739                     <CALL '\1aBAD-MOVE 4>
1740                     <RETURN 'T>
1741 PHRASE40
1742                     <VEQUAL? TMP10 0 - PHRASE43 (TYPE FIX)>
1743                     <EQUAL? SZ8 'BYTE - PHRASE47>
1744                     <SET ISZ11 148 (TYPE FIX)>
1745                     <JUMP + PHRASE50>
1746 PHRASE47
1747                     <EQUAL? SZ8 'WORD - PHRASE48>
1748                     <SET ISZ11 180 (TYPE FIX)>
1749                     <JUMP + PHRASE50>
1750 PHRASE48
1751                     <EQUAL? SZ8 'LONG - PHRASE49>
1752                     <SET ISZ11 212 (TYPE FIX)>
1753                     <JUMP + PHRASE50>
1754 PHRASE49
1755                     <EQUAL? SZ8 'DOUBLE + TAG51>
1756                     <DEAD SZ8>
1757                     <SET ISZ11 %<> (TYPE FALSE)>
1758                     <JUMP + PHRASE50>
1759 TAG51
1760                     <SET ISZ11 124 (TYPE FIX)>
1761 PHRASE50
1762                     <FRAME '\1aEMIT>
1763                     <PUSH ISZ11>
1764                     <DEAD ISZ11>
1765                     <PUSH EA27>
1766                     <DEAD EA27>
1767                     <CALL '\1aEMIT 2 = ISZ11>
1768                     <JUMP + PHRASE73>
1769 PHRASE43
1770                     <GRTR? ABS12 63 + PHRASE54 (TYPE FIX)>
1771                     <LESS? ABS12 0 + PHRASE54 (TYPE FIX)>
1772                     <AND ABS12 #WORD *77* = TEMP20>
1773                     <DEAD ABS12>
1774                     <LSH TEMP20 24 = TEMP20 (TYPE FIX)>
1775                     <CHTYPE TEMP20 <TYPE-CODE EFF-ADDR> = EA16>
1776                     <DEAD TEMP20>
1777                     <GRTR? TMP10 0 - PHRASE60 (TYPE FIX)>
1778                     <DEAD TMP10>
1779                     <FRAME '\1aBAD-MOVE>
1780                     <PUSH EA16>
1781                     <DEAD EA16>
1782                     <PUSH EA27>
1783                     <DEAD EA27>
1784                     <PUSH SZ8>
1785                     <DEAD SZ8>
1786                     <PUSH EXTRA9>
1787                     <DEAD EXTRA9>
1788                     <CALL '\1aBAD-MOVE 4 = ISZ11>
1789                     <JUMP + PHRASE73>
1790 PHRASE60
1791                     <EQUAL? SZ8 'BYTE - PHRASE66>
1792                     <SET ISZ11 142 (TYPE FIX)>
1793                     <JUMP + PHRASE68>
1794 PHRASE66
1795                     <EQUAL? SZ8 'WORD - PHRASE67>
1796                     <SET ISZ11 174 (TYPE FIX)>
1797                     <JUMP + PHRASE68>
1798 PHRASE67
1799                     <EQUAL? SZ8 'LONG + TAG69>
1800                     <DEAD SZ8>
1801                     <SET ISZ11 %<> (TYPE FALSE)>
1802                     <JUMP + PHRASE68>
1803 TAG69
1804                     <SET ISZ11 206 (TYPE FIX)>
1805 PHRASE68
1806                     <FRAME '\1aEMIT>
1807                     <PUSH ISZ11>
1808                     <DEAD ISZ11>
1809                     <PUSH EA16>
1810                     <DEAD EA16>
1811                     <PUSH EA27>
1812                     <DEAD EA27>
1813                     <CALL '\1aEMIT 3 = ISZ11>
1814                     <JUMP + PHRASE73>
1815 PHRASE54
1816                     <EQUAL? SZ8 ISZ11 - PHRASE71>
1817                     <FRAME '\1aBAD-MOVE>
1818                     <PUSH EA16>
1819                     <DEAD EA16>
1820                     <PUSH EA27>
1821                     <DEAD EA27>
1822                     <PUSH SZ8>
1823                     <DEAD SZ8>
1824                     <PUSH EXTRA9>
1825                     <DEAD EXTRA9>
1826                     <CALL '\1aBAD-MOVE 4 = ISZ11>
1827                     <JUMP + PHRASE73>
1828 PHRASE71
1829                     <VEQUAL? ISZ11 'BYTE - PHRASE75>
1830                     <GVAL 'BYTE-TAB = TB13>
1831                     <JUMP + PHRASE76>
1832 PHRASE75
1833                     <VEQUAL? ISZ11 'WORD - PHRASE76>
1834                     <GVAL 'WORD-TAB = TB13>
1835 PHRASE76
1836                     <LESS? TMP10 0 - PHRASE78 (TYPE FIX)>
1837                     <NTH1 TB13 = TB13>
1838                     <JUMP + PHRASE81>
1839 PHRASE78
1840                     <FRAME '\1aNTH>
1841                     <PUSH TB13>
1842                     <DEAD TB13>
1843                     <PUSH 2>
1844                     <CALL '\1aNTH 2 = TB13>
1845 PHRASE81
1846                     <FRAME '\1aEMIT>
1847                     <EQUAL? SZ8 'WORD - PHRASE85>
1848                     <DEAD SZ8>
1849                     <NTH1 TB13 = TEMP20>
1850                     <DEAD TB13>
1851                     <JUMP + PHRASE86>
1852 PHRASE85
1853                     <FRAME '\1aNTH>
1854                     <PUSH TB13>
1855                     <DEAD TB13>
1856                     <PUSH 2>
1857                     <CALL '\1aNTH 2 = TEMP20>
1858 PHRASE86
1859                     <PUSH TEMP20>
1860                     <DEAD TEMP20>
1861                     <VEQUAL? ISZ11 'BYTE - PHRASE89>
1862                     <GVAL 'AC-PC = TEMP20>
1863                     <NTHUV TEMP20 2 = TEMP20 (TYPE FIX)>
1864                     <OR TEMP20 #WORD *200* = TEMP20>
1865                     <LSH TEMP20 24 = TEMP20 (TYPE FIX)>
1866                     <AND TMP10 #WORD *377* = ISZ11>
1867                     <DEAD TMP10>
1868                     <LSH ISZ11 16 = ISZ11 (TYPE FIX)>
1869                     <OR TEMP20 ISZ11 = TEMP20>
1870                     <DEAD ISZ11>
1871                     <CHTYPE TEMP20 <TYPE-CODE EFF-ADDR> = TEMP20>
1872                     <JUMP + PHRASE99>
1873 PHRASE89
1874                     <VEQUAL? ISZ11 'WORD - PHRASE91>
1875                     <GVAL 'AC-PC = ISZ11>
1876                     <NTHUV ISZ11 2 = ISZ11 (TYPE FIX)>
1877                     <OR ISZ11 #WORD *200* = ISZ11>
1878                     <LSH ISZ11 24 = ISZ11 (TYPE FIX)>
1879                     <AND TMP10 #WORD *377* = ABS12>
1880                     <LSH ABS12 16 = ABS12 (TYPE FIX)>
1881                     <AND TMP10 #WORD *177400* = TEMP20>
1882                     <DEAD TMP10>
1883                     <OR ABS12 TEMP20 = TB13>
1884                     <DEAD ABS12 TEMP20>
1885                     <AND TB13 #WORD *77777400* = TB13>
1886                     <OR ISZ11 TB13 = ISZ11>
1887                     <DEAD TB13>
1888                     <CHTYPE ISZ11 <TYPE-CODE EFF-ADDR> = TEMP20>
1889                     <DEAD ISZ11>
1890                     <JUMP + PHRASE99>
1891 PHRASE91
1892                     <VEQUAL? ISZ11 'LONG + TAG100>
1893                     <DEAD ISZ11>
1894                     <SET TEMP20 %<> (TYPE FALSE)>
1895                     <JUMP + PHRASE99>
1896 TAG100
1897                     <GVAL 'AC-PC = ISZ11>
1898                     <NTHUV ISZ11 2 = TB13 (TYPE FIX)>
1899                     <DEAD ISZ11>
1900                     <OR TB13 #WORD *200* = TB13>
1901                     <LSH TB13 24 = TB13 (TYPE FIX)>
1902                     <CHTYPE TB13 <TYPE-CODE EFF-ADDR> = TB13>
1903                     <CONS TB13 () = TB13>
1904                     <FRAME '\1aLREV>
1905                     <PUSH TMP10>
1906                     <DEAD TMP10>
1907                     <CALL '\1aLREV 1 = TEMP20>
1908                     <CHTYPE TEMP20 <TYPE-CODE EFF-ADDR> = TEMP20>
1909                     <CONS TEMP20 () = TEMP20>
1910                     <PUTREST TB13 TEMP20>
1911                     <DEAD TEMP20>
1912                     <CHTYPE TB13 <TYPE-CODE LADDR> = TEMP20>
1913                     <DEAD TB13>
1914 PHRASE99
1915                     <PUSH TEMP20>
1916                     <DEAD TEMP20>
1917                     <PUSH EA27>
1918                     <DEAD EA27>
1919                     <CALL '\1aEMIT 3 = ISZ11>
1920 PHRASE73
1921                     <RETURN ISZ11>
1922                     <DEAD ISZ11>
1923                     <END \1aEMIT-MOVE>
1924
1925 #WORD *2225472261*
1926                     <GFCN \1aEMIT-PUSH ("VALUE" <OR ATOM FALSE FIX> <OR EFF-ADDR LADDR> ATOM) EADDR4 SZ5>
1927                     <TEMP ISZ7>
1928                     <INTGO>
1929                     <SET ISZ7 SZ5>
1930                     <FRAME '\1aEMIT-MOVE>
1931                     <PUSH EADDR4>
1932                     <DEAD EADDR4>
1933                     <GVAL 'AC-TP = ISZ7>
1934                     <NTHUV ISZ7 2 = ISZ7 (TYPE FIX)>
1935                     <OR ISZ7 #WORD *200* = ISZ7>
1936                     <LSH ISZ7 24 = ISZ7 (TYPE FIX)>
1937                     <CHTYPE ISZ7 <TYPE-CODE EFF-ADDR> = STACK>
1938                     <DEAD ISZ7>
1939                     <PUSH SZ5>
1940                     <DEAD SZ5>
1941                     <CALL '\1aEMIT-MOVE 3 = ISZ7>
1942                     <RETURN ISZ7>
1943                     <DEAD ISZ7>
1944                     <END \1aEMIT-PUSH>
1945
1946 <SETG BYTE-TAB [[,INST-CVTBW ,INST-CVTWL] [,INST-MOVZBW ,INST-MOVZBL]]>
1947
1948 <SETG WORD-TAB [[0 ,INST-CVTWL] [0 ,INST-MOVZWL]]>
1949
1950 #WORD *35063655163*
1951                     <GFCN \1aEMIT-POP ("VALUE" <OR ATOM FALSE FIX> <OR AC EFF-ADDR> ATOM) EADDR4 SZ5>
1952                     <TEMP TEMP9>
1953                     <INTGO>
1954                     <TYPE? EADDR4 <TYPE-CODE EFF-ADDR> - PHRASE7>
1955                     <FRAME '\1aEMIT-MOVE>
1956                     <GVAL 'AC-TP = TEMP9>
1957                     <NTHUV TEMP9 2 = TEMP9 (TYPE FIX)>
1958                     <OR TEMP9 #WORD *160* = TEMP9>
1959                     <LSH TEMP9 24 = TEMP9 (TYPE FIX)>
1960                     <CHTYPE TEMP9 <TYPE-CODE EFF-ADDR> = STACK>
1961                     <DEAD TEMP9>
1962                     <PUSH EADDR4>
1963                     <DEAD EADDR4>
1964                     <PUSH SZ5>
1965                     <DEAD SZ5>
1966                     <CALL '\1aEMIT-MOVE 3 = TEMP9>
1967                     <RETURN TEMP9>
1968                     <DEAD TEMP9>
1969 PHRASE7
1970                     <FRAME '\1aEMIT-MOVE>
1971                     <GVAL 'AC-TP = TEMP9>
1972                     <NTHUV TEMP9 2 = TEMP9 (TYPE FIX)>
1973                     <OR TEMP9 #WORD *160* = TEMP9>
1974                     <LSH TEMP9 24 = TEMP9 (TYPE FIX)>
1975                     <CHTYPE TEMP9 <TYPE-CODE EFF-ADDR> = STACK>
1976                     <DEAD TEMP9>
1977                     <NTHUV EADDR4 2 = TEMP9 (TYPE FIX)>
1978                     <DEAD EADDR4>
1979                     <OR TEMP9 #WORD *120* = TEMP9>
1980                     <LSH TEMP9 24 = TEMP9 (TYPE FIX)>
1981                     <CHTYPE TEMP9 <TYPE-CODE EFF-ADDR> = STACK>
1982                     <DEAD TEMP9>
1983                     <PUSH SZ5>
1984                     <DEAD SZ5>
1985                     <CALL '\1aEMIT-MOVE 3 = TEMP9>
1986                     <RETURN TEMP9>
1987                     <DEAD TEMP9>
1988                     <END \1aEMIT-POP>
1989
1990 #WORD *20160750671*
1991                     <GFCN \1aCLEAR-PUSH ("VALUE" <OR FALSE FIX> "OPTIONAL" ANY) LENGTH6>
1992                     <OPT-DISPATCH 0 %<> OPT4 OPT5>
1993 OPT4
1994                     <PUSH 'LONG>
1995 OPT5
1996                     <TEMP TEMP10>
1997                     <INTGO>
1998                     <FRAME '\1aEMIT>
1999                     <EQUAL? LENGTH6 'LONG - PHRASE9>
2000                     <SET TEMP10 212 (TYPE FIX)>
2001                     <JUMP + PHRASE14>
2002 PHRASE9
2003                     <EQUAL? LENGTH6 'WIRD - PHRASE11>
2004                     <SET TEMP10 180 (TYPE FIX)>
2005                     <JUMP + PHRASE14>
2006 PHRASE11
2007                     <EQUAL? LENGTH6 'BYTE - PHRASE12>
2008                     <SET TEMP10 148 (TYPE FIX)>
2009                     <JUMP + PHRASE14>
2010 PHRASE12
2011                     <EQUAL? LENGTH6 'DOUBLE - PHRASE13>
2012                     <DEAD LENGTH6>
2013                     <SET TEMP10 124 (TYPE FIX)>
2014                     <JUMP + PHRASE14>
2015 PHRASE13
2016                     <GVAL 'INST-CLRO = TEMP10>
2017 PHRASE14
2018                     <PUSH TEMP10>
2019                     <DEAD TEMP10>
2020                     <GVAL 'AC-TP = TEMP10>
2021                     <NTHUV TEMP10 2 = TEMP10 (TYPE FIX)>
2022                     <OR TEMP10 #WORD *200* = TEMP10>
2023                     <LSH TEMP10 24 = TEMP10 (TYPE FIX)>
2024                     <CHTYPE TEMP10 <TYPE-CODE EFF-ADDR> = STACK>
2025                     <DEAD TEMP10>
2026                     <CALL '\1aEMIT 2 = TEMP10>
2027                     <RETURN TEMP10>
2028                     <DEAD TEMP10>
2029                     <END \1aCLEAR-PUSH>
2030
2031 #WORD *22373733175*
2032                     <GFCN \1aFIND-CALL-ENTRY ("VALUE" <OR CALL-ENTRY FALSE> ATOM) NAME4>
2033                     <TEMP TEMP14 TEMP16:LIST CE17:CALL-ENTRY>
2034                     <INTGO>
2035                     <SET TEMP14 %<> (TYPE FALSE)>
2036                     <GVAL 'CALL-ENTRY-TABLE = TEMP16>
2037                     <LOOP>
2038 MAP6
2039                     <INTGO>
2040                     <EMPL? TEMP16 + MAPAP9>
2041                     <NTHL TEMP16 1 = CE17>
2042                     <FRAME '\1aSAME-NAME?>
2043                     <NTHUV CE17 1 = STACK (TYPE ATOM)>
2044                     <PUSH NAME4>
2045                     <CALL '\1aSAME-NAME? 2 = TEMP14>
2046                     <TYPE? TEMP14 <TYPE-CODE FALSE> + PHRASE19>
2047                     <RETURN CE17>
2048                     <DEAD CE17>
2049 PHRASE19
2050                     <RESTL TEMP16 1 = TEMP16 (TYPE LIST)>
2051                     <JUMP + MAP6>
2052 MAPAP9
2053                     <RETURN TEMP14>
2054                     <DEAD TEMP14>
2055                     <END \1aFIND-CALL-ENTRY>
2056
2057 #WORD *33227427356*
2058                     <GFCN \1aFIND-CALL-POINT ("VALUE" <OR FALSE FIX> ATOM FIX) NAME4 NARGS5>
2059                     <TEMP CE6 TEMP9>
2060                     <INTGO>
2061                     <FRAME '\1aFIND-CALL-ENTRY>
2062                     <PUSH NAME4>
2063                     <DEAD NAME4>
2064                     <CALL '\1aFIND-CALL-ENTRY 1 = CE6>
2065                     <SET TEMP9 CE6>
2066                     <TYPE? TEMP9 <TYPE-CODE FALSE> + PHRASE8>
2067                     <FRAME '\1aFIND-ENTRY-LOC>
2068                     <PUSH CE6>
2069                     <DEAD CE6>
2070                     <PUSH NARGS5>
2071                     <DEAD NARGS5>
2072                     <CALL '\1aFIND-ENTRY-LOC 2 = TEMP9>
2073 PHRASE8
2074                     <RETURN TEMP9>
2075                     <DEAD TEMP9>
2076                     <END \1aFIND-CALL-POINT>
2077
2078 #WORD *25224345555*
2079                     <GFCN \1aFIND-ENTRY-LOC ("VALUE" <OR FALSE FIX> CALL-ENTRY FIX) CE4 NARGS5>
2080                     <TEMP CUV6:UVECTOR FINAL10 TEMP13:FIX>
2081                     <INTGO>
2082                     <NTHUV CE4 2 = CUV6 (TYPE UVECTOR)>
2083                     <DEAD CE4>
2084                     <SET FINAL10 %<> (TYPE FALSE)>
2085                     <LOOP>
2086 AGAIN11
2087                     <INTGO>
2088                     <NTHUU CUV6 1 = TEMP13 (TYPE FIX)>
2089                     <VEQUAL? NARGS5 TEMP13 - BOOL12 (TYPE FIX)>
2090                     <DEAD TEMP13>
2091                     <NTHUU CUV6 2 = FINAL10 (TYPE FIX)>
2092                     <DEAD CUV6>
2093                     <RETURN FINAL10>
2094                     <DEAD FINAL10>
2095 BOOL12
2096                     <NTHUU CUV6 1 = TEMP13 (TYPE FIX)>
2097                     <VEQUAL? TEMP13 -1 - BOOL14 (TYPE FIX)>
2098                     <DEAD TEMP13>
2099                     <NTHUU CUV6 2 = FINAL10 (TYPE FIX)>
2100 BOOL14
2101                     <VEQUAL? NARGS5 -1 - PHRASE18 (TYPE FIX)>
2102                     <TYPE? FINAL10 <TYPE-CODE FALSE> + PHRASE18>
2103                     <RETURN FINAL10>
2104                     <DEAD FINAL10>
2105 PHRASE18
2106                     <LENUU CUV6 = TEMP13 (TYPE FIX)>
2107                     <VEQUAL? TEMP13 2 - PHRASE22 (TYPE FIX)>
2108                     <DEAD TEMP13>
2109                     <NTHUU CUV6 1 = TEMP13 (TYPE FIX)>
2110                     <GRTR? NARGS5 TEMP13 - PHRASE22 (TYPE FIX)>
2111                     <DEAD TEMP13>
2112                     <NTHUU CUV6 2 = FINAL10 (TYPE FIX)>
2113                     <DEAD CUV6>
2114                     <RETURN FINAL10>
2115                     <DEAD FINAL10>
2116 PHRASE22
2117                     <EMPUU? CUV6 - PHRASE24 (TYPE UVECTOR)>
2118                     <RETURN FINAL10>
2119                     <DEAD FINAL10>
2120 PHRASE24
2121                     <RESTUU CUV6 2 = CUV6 (TYPE UVECTOR)>
2122                     <JUMP + AGAIN11>
2123                     <END \1aFIND-ENTRY-LOC>
2124
2125 #WORD *10527575716*
2126                     <GFCN \1aINIT-INTERNAL-ENTRYS ("VALUE" <LIST [REST INT-ENTRY]>)>
2127                     <TEMP>
2128                     <INTGO>
2129                     <SETG 'INTERNAL-ENTRY-TABLE ()>
2130                     <RETURN ()>
2131                     <END \1aINIT-INTERNAL-ENTRYS>
2132
2133 #WORD *21621777610*
2134                     <GFCN \1aINIT-CALL-ENTRYS ("VALUE" <LIST [REST CALL-ENTRY]>)>
2135                     <TEMP>
2136                     <INTGO>
2137                     <SETG 'CALL-ENTRY-TABLE ()>
2138                     <RETURN ()>
2139                     <END \1aINIT-CALL-ENTRYS>
2140
2141 #WORD *13563431243*
2142                     <GFCN \1aADD-INTERNAL-ENTRY ("VALUE" <OR FALSE <LIST [REST INT-ENTRY]>> FIX <OR ATOM SPEC-LABEL>) NUMARGS4 LABEL5>
2143                     <TEMP TEMP16 TEMP18:VECTOR LREF19>
2144                     <INTGO>
2145                     <SET TEMP16 %<> (TYPE FALSE)>
2146                     <GVAL 'OUTST-LABEL-TABLE = TEMP18>
2147                     <LOOP>
2148 MAP8
2149                     <INTGO>
2150                     <EMPUV? TEMP18 + MAPAP11>
2151                     <NTHUV TEMP18 1 = LREF19>
2152                     <NTHUV LREF19 1 = TEMP16>
2153                     <EQUAL? TEMP16 LABEL5 + TAG22>
2154                     <DEAD TEMP16>
2155                     <SET TEMP16 %<> (TYPE FALSE)>
2156                     <JUMP + PHRASE21>
2157 TAG22
2158                     <PUSH NUMARGS4>
2159                     <PUSH LREF19>
2160                     <DEAD LREF19>
2161                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP16 (TYPE VECTOR)>
2162                     <CHTYPE TEMP16 <TYPE-CODE INT-ENTRY> = LREF19>
2163                     <DEAD TEMP16>
2164                     <GVAL 'INTERNAL-ENTRY-TABLE = TEMP16>
2165                     <CONS LREF19 TEMP16 = TEMP16>
2166                     <DEAD LREF19>
2167                     <SETG 'INTERNAL-ENTRY-TABLE TEMP16>
2168 PHRASE21
2169                     <RESTUV TEMP18 1 = TEMP18 (TYPE VECTOR)>
2170                     <JUMP + MAP8>
2171 MAPAP11
2172                     <RETURN TEMP16>
2173                     <DEAD TEMP16>
2174                     <END \1aADD-INTERNAL-ENTRY>
2175
2176 #WORD *1102137400*
2177                     <GFCN \1aUPDATE-CALL-ENTRY-TABLE ("VALUE" CALL-ENTRY ATOM) FNAME4>
2178                     <TEMP TEMP18 TEMP16 IE19 NARGS20>
2179                     <INTGO>
2180                     <GVAL 'INTERNAL-ENTRY-TABLE = TEMP18>
2181                     <SET TEMP16 0 (TYPE FIX)>
2182                     <LOOP>
2183 MAP8
2184                     <INTGO>
2185                     <EMPL? TEMP18 + MAPAP11>
2186                     <NTHL TEMP18 1 = IE19>
2187                     <NTHUV IE19 1 = NARGS20 (TYPE FIX)>
2188                     <NTHUV IE19 2 = IE19 (TYPE LABEL-REF)>
2189                     <PUSH NARGS20>
2190                     <DEAD NARGS20>
2191                     <ADD TEMP16 1 = TEMP16 (TYPE FIX)>
2192                     <NTHUV IE19 3 = STACK (TYPE FIX)>
2193                     <DEAD IE19>
2194                     <ADD TEMP16 1 = TEMP16 (TYPE FIX)>
2195                     <RESTL TEMP18 1 = TEMP18 (TYPE LIST)>
2196                     <JUMP + MAP8>
2197 MAPAP11
2198                     <UBLOCK <TYPE-CODE UVECTOR> TEMP16 = NARGS20 (TYPE UVECTOR)>
2199                     <DEAD TEMP16>
2200                     <PUSH FNAME4>
2201                     <DEAD FNAME4>
2202                     <PUSH NARGS20>
2203                     <DEAD NARGS20>
2204                     <UBLOCK <TYPE-CODE VECTOR> 2 = TEMP18 (TYPE VECTOR)>
2205                     <CHTYPE TEMP18 <TYPE-CODE CALL-ENTRY> = TEMP16>
2206                     <DEAD TEMP18>
2207                     <GVAL 'CALL-ENTRY-TABLE = TEMP18>
2208                     <CONS TEMP16 TEMP18 = TEMP18>
2209                     <SETG 'CALL-ENTRY-TABLE TEMP18>
2210                     <DEAD TEMP18>
2211                     <RETURN TEMP16>
2212                     <DEAD TEMP16>
2213                     <END \1aUPDATE-CALL-ENTRY-TABLE>
2214
2215 <SETG CALL-TABLE <IVECTOR ,CT-NUMBER-CALLS <>>>
2216
2217 #WORD *33406771763*
2218                     <GFCN \1aRESET-CALL-TABLE ("VALUE" <OR FALSE <VECTOR !<FALSE> [REST <OR FALSE UNRESOLVED-CALL>]>>)>
2219                     <TEMP TEMP13 TEMP15:VECTOR>
2220                     <INTGO>
2221                     <SETG 'CALL-POINTER 1>
2222                     <SET TEMP13 %<> (TYPE FALSE)>
2223                     <GVAL 'CALL-TABLE = TEMP15>
2224                     <LOOP>
2225 MAP5
2226                     <INTGO>
2227                     <EMPUV? TEMP15 + MAPAP8>
2228                     <SET TEMP13 TEMP15>
2229                     <PUTUV TEMP13 1 %<>>
2230                     <RESTUV TEMP15 1 = TEMP15 (TYPE VECTOR)>
2231                     <JUMP + MAP5>
2232 MAPAP8
2233                     <RETURN TEMP13>
2234                     <DEAD TEMP13>
2235                     <END \1aRESET-CALL-TABLE>
2236
2237 #WORD *22354442762*
2238                     <GFCN \1aEMIT-CALL ("VALUE" ATOM ATOM FIX) FCN4 NUMARGS5>
2239                     <TEMP CNT7:FIX TAB8:VECTOR TEMP11 UC6:UNRESOLVED-CALL>
2240                     <INTGO>
2241                     <GVAL 'CALL-POINTER = CNT7>
2242                     <GVAL 'CALL-TABLE = TAB8>
2243                     <PUSH FCN4>
2244                     <DEAD FCN4>
2245                     <PUSH NUMARGS5>
2246                     <DEAD NUMARGS5>
2247                     <PUSH 0>
2248                     <PUSH 0>
2249                     <UBLOCK <TYPE-CODE VECTOR> 4 = TEMP11 (TYPE VECTOR)>
2250                     <CHTYPE TEMP11 <TYPE-CODE UNRESOLVED-CALL> = UC6>
2251                     <DEAD TEMP11>
2252                     <LENUV TAB8 = TEMP11 (TYPE FIX)>
2253                     <DEAD TAB8>
2254                     <GRTR? CNT7 TEMP11 - PHRASE13 (TYPE FIX)>
2255                     <DEAD TEMP11>
2256                     <FRAME '\1aVECGROW>
2257                     <GVAL 'CALL-TABLE = STACK>
2258                     <PUSH 100>
2259                     <CALL '\1aVECGROW 2 = TEMP11>
2260                     <SETG 'CALL-TABLE TEMP11>
2261                     <DEAD TEMP11>
2262 PHRASE13
2263                     <GVAL 'CALL-TABLE = TEMP11>
2264                     <PUTUV TEMP11 CNT7 UC6>
2265                     <DEAD TEMP11 UC6>
2266                     <ADD CNT7 1 = TEMP11 (TYPE FIX)>
2267                     <SETG 'CALL-POINTER TEMP11>
2268                     <DEAD TEMP11>
2269                     <FRAME '\1aADD-WORD-TO-CODE>
2270                     <LSH 89 24 = TEMP11 (TYPE FIX)>
2271                     <OR TEMP11 CNT7 = STACK>
2272                     <DEAD TEMP11 CNT7>
2273                     <CALL '\1aADD-WORD-TO-CODE 1>
2274                     <RETURN 'T>
2275                     <END \1aEMIT-CALL>
2276
2277 #WORD *21766200705*
2278                     <GFCN \1aVECGROW ("VALUE" VECTOR VECTOR FIX) TAB4 INCR5>
2279                     <TEMP TEMP7 NEWVEC6:VECTOR TEMP14:VECTOR OVEC19 NVEC20:VECTOR>
2280                     <INTGO>
2281                     <LENUV TAB4 = TEMP7 (TYPE FIX)>
2282                     <ADD TEMP7 INCR5 = TEMP7 (TYPE FIX)>
2283                     <DEAD INCR5>
2284                     <UUBLOCK <TYPE-CODE VECTOR> TEMP7 = NEWVEC6 (TYPE VECTOR)>
2285                     <DEAD TEMP7>
2286                     <SET TEMP7 TAB4 (TYPE VECTOR)>
2287                     <DEAD TAB4>
2288                     <SET TEMP14 NEWVEC6 (TYPE VECTOR)>
2289                     <LOOP>
2290 MAP9
2291                     <INTGO>
2292                     <EMPUV? TEMP7 + MAPAP12>
2293                     <EMPUV? TEMP14 + MAPAP12>
2294                     <SET OVEC19 TEMP7>
2295                     <SET NVEC20 TEMP14>
2296                     <NTHUV OVEC19 1 = OVEC19>
2297                     <PUTUV NVEC20 1 OVEC19>
2298                     <DEAD NVEC20 OVEC19>
2299                     <RESTUV TEMP7 1 = TEMP7 (TYPE VECTOR)>
2300                     <RESTUV TEMP14 1 = TEMP14 (TYPE VECTOR)>
2301                     <JUMP + MAP9>
2302 MAPAP12
2303                     <RETURN NEWVEC6>
2304                     <DEAD NEWVEC6>
2305                     <END \1aVECGROW>
2306
2307 <SETG PUSH-LABEL-TABLE <IVECTOR 100 <>>>
2308
2309 #WORD *10050242242*
2310                     <GFCN \1aRESET-PUSH-LABEL-TABLE ("VALUE" FIX)>
2311                     <TEMP>
2312                     <INTGO>
2313                     <SETG 'PUSH-LABEL-COUNT 1>
2314                     <RETURN 1>
2315                     <END \1aRESET-PUSH-LABEL-TABLE>
2316
2317 #WORD *16120257040*
2318                     <GFCN \1aEMIT-PUSH-LABEL ("VALUE" ATOM <OR ATOM SPEC-LABEL>) LABEL4>
2319                     <TEMP CNT5:FIX TAB6:VECTOR NLREF8:LABEL-REF TEMP13>
2320                     <INTGO>
2321                     <GVAL 'PUSH-LABEL-COUNT = CNT5>
2322                     <GVAL 'PUSH-LABEL-TABLE = TAB6>
2323                     <FRAME '\1aCREATE-LABEL-REF>
2324                     <PUSH LABEL4>
2325                     <DEAD LABEL4>
2326                     <CALL '\1aCREATE-LABEL-REF 1 = NLREF8>
2327                     <FRAME '\1aADD-OUTSTANDING-LABEL>
2328                     <PUSH NLREF8>
2329                     <CALL '\1aADD-OUTSTANDING-LABEL 1>
2330                     <LENUV TAB6 = TEMP13 (TYPE FIX)>
2331                     <GRTR? CNT5 TEMP13 - PHRASE12 (TYPE FIX)>
2332                     <DEAD TEMP13>
2333                     <FRAME '\1aVECGROW>
2334                     <PUSH TAB6>
2335                     <DEAD TAB6>
2336                     <PUSH 100>
2337                     <CALL '\1aVECGROW 2 = TEMP13>
2338                     <SETG 'PUSH-LABEL-TABLE TEMP13>
2339                     <DEAD TEMP13>
2340 PHRASE12
2341                     <GVAL 'PUSH-LABEL-TABLE = TEMP13>
2342                     <PUTUV TEMP13 CNT5 NLREF8>
2343                     <DEAD TEMP13 NLREF8>
2344                     <ADD CNT5 1 = TEMP13 (TYPE FIX)>
2345                     <SETG 'PUSH-LABEL-COUNT TEMP13>
2346                     <DEAD TEMP13>
2347                     <FRAME '\1aADD-WORD-TO-CODE>
2348                     <LSH 91 24 = TEMP13 (TYPE FIX)>
2349                     <OR TEMP13 CNT5 = STACK>
2350                     <DEAD TEMP13 CNT5>
2351                     <CALL '\1aADD-WORD-TO-CODE 1>
2352                     <RETURN 'T>
2353                     <END \1aEMIT-PUSH-LABEL>
2354
2355 <SETG MOVE-LABEL-TABLE <IVECTOR 100 <>>>
2356
2357 #WORD *10131242150*
2358                     <GFCN \1aRESET-MOVE-LABEL-TABLE ("VALUE" FIX)>
2359                     <TEMP>
2360                     <INTGO>
2361                     <SETG 'MOVE-LABEL-COUNT 1>
2362                     <RETURN 1>
2363                     <END \1aRESET-MOVE-LABEL-TABLE>
2364
2365 #WORD *24203253174*
2366                     <GFCN \1aEMIT-MOVE-LABEL ("VALUE" ATOM <OR ATOM SPEC-LABEL> ANY) LABEL4 EA5>
2367                     <TEMP CNT6:FIX TAB7 NLREF9:LABEL-REF TEMP14>
2368                     <INTGO>
2369                     <GVAL 'MOVE-LABEL-COUNT = CNT6>
2370                     <GVAL 'MOVE-LABEL-TABLE = TAB7>
2371                     <FRAME '\1aCREATE-LABEL-REF>
2372                     <PUSH LABEL4>
2373                     <DEAD LABEL4>
2374                     <CALL '\1aCREATE-LABEL-REF 1 = NLREF9>
2375                     <FRAME '\1aADD-OUTSTANDING-LABEL>
2376                     <PUSH NLREF9>
2377                     <CALL '\1aADD-OUTSTANDING-LABEL 1>
2378                     <LENUV TAB7 = TEMP14 (TYPE FIX)>
2379                     <GRTR? CNT6 TEMP14 - PHRASE13 (TYPE FIX)>
2380                     <DEAD TEMP14>
2381                     <FRAME '\1aVECGROW>
2382                     <PUSH TAB7>
2383                     <DEAD TAB7>
2384                     <PUSH 100>
2385                     <CALL '\1aVECGROW 2 = TEMP14>
2386                     <SETG 'MOVE-LABEL-TABLE TEMP14>
2387                     <DEAD TEMP14>
2388 PHRASE13
2389                     <GVAL 'MOVE-LABEL-TABLE = TEMP14>
2390                     <PUTUV TEMP14 CNT6 NLREF9>
2391                     <DEAD TEMP14 NLREF9>
2392                     <ADD CNT6 1 = TEMP14 (TYPE FIX)>
2393                     <SETG 'MOVE-LABEL-COUNT TEMP14>
2394                     <DEAD TEMP14>
2395                     <FRAME '\1aADD-WORD-TO-CODE>
2396                     <LSH 119 24 = TEMP14 (TYPE FIX)>
2397                     <AND EA5 #WORD *37700000000* = TAB7>
2398                     <DEAD EA5>
2399                     <LSH TAB7 -8 = TAB7 (TYPE FIX)>
2400                     <OR TEMP14 TAB7 = TEMP14>
2401                     <DEAD TAB7>
2402                     <OR TEMP14 CNT6 = STACK>
2403                     <DEAD TEMP14 CNT6>
2404                     <CALL '\1aADD-WORD-TO-CODE 1>
2405                     <RETURN 'T>
2406                     <END \1aEMIT-MOVE-LABEL>