Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vaxc / addr.mima
1
2 "These macros generate the codes for basic VAX addressing modes and
3  include some of the hairier cases."
4
5 #WORD *2507413721*
6                     <GFCN \1aMA-REG ("VALUE" FORM "QUOTE" ANY) AC4>
7                     <TEMP TEMP9:FORM>
8                     <INTGO>
9                     <FRAME '\1aFORM>
10                     <PUSH 'CHTYPE>
11                     <FRAME '\1aFORM>
12                     <PUSH 'LSH>
13                     <FRAME '\1aFORM>
14                     <PUSH 'ORB>
15                     <PUSH ,AM-REG>
16                     <FRAME '\1aFORM>
17                     <PUSH 'AC-NUMBER>
18                     <PUSH AC4>
19                     <DEAD AC4>
20                     <CALL '\1aFORM 2 = STACK>
21                     <CALL '\1aFORM 3 = STACK>
22                     <PUSH 24>
23                     <CALL '\1aFORM 3 = STACK>
24                     <PUSH 'EFF-ADDR>
25                     <CALL '\1aFORM 3 = TEMP9>
26                     <RETURN TEMP9>
27                     <DEAD TEMP9>
28                     <END \1aMA-REG>
29 <COND (<AND <GASSIGNED? MA-REG> <NOT <TYPE? ,MA-REG MACRO>>> <SETG MA-REG <CHTYPE (,MA-REG) MACRO>>)>
30
31 #WORD *16055326342*
32                     <GFCN \1aMA-LIT ("VALUE" FORM "QUOTE" ANY) VAL4>
33                     <TEMP TEMP8:FORM>
34                     <INTGO>
35                     <FRAME '\1aFORM>
36                     <PUSH 'CHTYPE>
37                     <FRAME '\1aFORM>
38                     <PUSH 'LSH>
39                     <FRAME '\1aFORM>
40                     <PUSH 'ANDB>
41                     <PUSH VAL4>
42                     <DEAD VAL4>
43                     <PUSH 63>
44                     <CALL '\1aFORM 3 = STACK>
45                     <PUSH 24>
46                     <CALL '\1aFORM 3 = STACK>
47                     <PUSH 'EFF-ADDR>
48                     <CALL '\1aFORM 3 = TEMP8>
49                     <RETURN TEMP8>
50                     <DEAD TEMP8>
51                     <END \1aMA-LIT>
52 <COND (<AND <GASSIGNED? MA-LIT> <NOT <TYPE? ,MA-LIT MACRO>>> <SETG MA-LIT <CHTYPE (,MA-LIT) MACRO>>)>
53
54 #WORD *21507523722*
55                     <GFCN \1aMA-INDX ("VALUE" FORM "QUOTE" ANY) AC4>
56                     <TEMP TEMP9:FORM>
57                     <INTGO>
58                     <FRAME '\1aFORM>
59                     <PUSH 'CHTYPE>
60                     <FRAME '\1aFORM>
61                     <PUSH 'LSH>
62                     <FRAME '\1aFORM>
63                     <PUSH 'ORB>
64                     <PUSH ,AM-INX>
65                     <FRAME '\1aFORM>
66                     <PUSH 'AC-NUMBER>
67                     <PUSH AC4>
68                     <DEAD AC4>
69                     <CALL '\1aFORM 2 = STACK>
70                     <CALL '\1aFORM 3 = STACK>
71                     <PUSH 24>
72                     <CALL '\1aFORM 3 = STACK>
73                     <PUSH 'EFF-ADDR>
74                     <CALL '\1aFORM 3 = TEMP9>
75                     <RETURN TEMP9>
76                     <DEAD TEMP9>
77                     <END \1aMA-INDX>
78 <COND (<AND <GASSIGNED? MA-INDX> <NOT <TYPE? ,MA-INDX MACRO>>> <SETG MA-INDX <CHTYPE (,MA-INDX) MACRO>>)>
79
80 #WORD *22504123560*
81                     <GFCN \1aMA-REGD ("VALUE" FORM "QUOTE" ANY) AC4>
82                     <TEMP TEMP9:FORM>
83                     <INTGO>
84                     <FRAME '\1aFORM>
85                     <PUSH 'CHTYPE>
86                     <FRAME '\1aFORM>
87                     <PUSH 'LSH>
88                     <FRAME '\1aFORM>
89                     <PUSH 'ORB>
90                     <PUSH ,AM-REGD>
91                     <FRAME '\1aFORM>
92                     <PUSH 'AC-NUMBER>
93                     <PUSH AC4>
94                     <DEAD AC4>
95                     <CALL '\1aFORM 2 = STACK>
96                     <CALL '\1aFORM 3 = STACK>
97                     <PUSH 24>
98                     <CALL '\1aFORM 3 = STACK>
99                     <PUSH 'EFF-ADDR>
100                     <CALL '\1aFORM 3 = TEMP9>
101                     <RETURN TEMP9>
102                     <DEAD TEMP9>
103                     <END \1aMA-REGD>
104 <COND (<AND <GASSIGNED? MA-REGD> <NOT <TYPE? ,MA-REGD MACRO>>> <SETG MA-REGD <CHTYPE (,MA-REGD) MACRO>>)>
105
106 #WORD *21505043560*
107                     <GFCN \1aMA-ADEC ("VALUE" FORM "QUOTE" ANY) AC4>
108                     <TEMP TEMP9:FORM>
109                     <INTGO>
110                     <FRAME '\1aFORM>
111                     <PUSH 'CHTYPE>
112                     <FRAME '\1aFORM>
113                     <PUSH 'LSH>
114                     <FRAME '\1aFORM>
115                     <PUSH 'ORB>
116                     <PUSH ,AM-ADEC>
117                     <FRAME '\1aFORM>
118                     <PUSH 'AC-NUMBER>
119                     <PUSH AC4>
120                     <DEAD AC4>
121                     <CALL '\1aFORM 2 = STACK>
122                     <CALL '\1aFORM 3 = STACK>
123                     <PUSH 24>
124                     <CALL '\1aFORM 3 = STACK>
125                     <PUSH 'EFF-ADDR>
126                     <CALL '\1aFORM 3 = TEMP9>
127                     <RETURN TEMP9>
128                     <DEAD TEMP9>
129                     <END \1aMA-ADEC>
130 <COND (<AND <GASSIGNED? MA-ADEC> <NOT <TYPE? ,MA-ADEC MACRO>>> <SETG MA-ADEC <CHTYPE (,MA-ADEC) MACRO>>)>
131
132 #WORD *5505173561*
133                     <GFCN \1aMA-AINC ("VALUE" FORM "QUOTE" ANY) AC4>
134                     <TEMP TEMP9:FORM>
135                     <INTGO>
136                     <FRAME '\1aFORM>
137                     <PUSH 'CHTYPE>
138                     <FRAME '\1aFORM>
139                     <PUSH 'LSH>
140                     <FRAME '\1aFORM>
141                     <PUSH 'ORB>
142                     <PUSH ,AM-AINC>
143                     <FRAME '\1aFORM>
144                     <PUSH 'AC-NUMBER>
145                     <PUSH AC4>
146                     <DEAD AC4>
147                     <CALL '\1aFORM 2 = STACK>
148                     <CALL '\1aFORM 3 = STACK>
149                     <PUSH 24>
150                     <CALL '\1aFORM 3 = STACK>
151                     <PUSH 'EFF-ADDR>
152                     <CALL '\1aFORM 3 = TEMP9>
153                     <RETURN TEMP9>
154                     <DEAD TEMP9>
155                     <END \1aMA-AINC>
156 <COND (<AND <GASSIGNED? MA-AINC> <NOT <TYPE? ,MA-AINC MACRO>>> <SETG MA-AINC <CHTYPE (,MA-AINC) MACRO>>)>
157
158 #WORD *13424153545*
159                     <GFCN \1aMA-AINCD ("VALUE" FORM "QUOTE" ANY) AC4>
160                     <TEMP TEMP9:FORM>
161                     <INTGO>
162                     <FRAME '\1aFORM>
163                     <PUSH 'CHTYPE>
164                     <FRAME '\1aFORM>
165                     <PUSH 'LSH>
166                     <FRAME '\1aFORM>
167                     <PUSH 'ORB>
168                     <PUSH ,AM-AINCD>
169                     <FRAME '\1aFORM>
170                     <PUSH 'AC-NUMBER>
171                     <PUSH AC4>
172                     <DEAD AC4>
173                     <CALL '\1aFORM 2 = STACK>
174                     <CALL '\1aFORM 3 = STACK>
175                     <PUSH 24>
176                     <CALL '\1aFORM 3 = STACK>
177                     <PUSH 'EFF-ADDR>
178                     <CALL '\1aFORM 3 = TEMP9>
179                     <RETURN TEMP9>
180                     <DEAD TEMP9>
181                     <END \1aMA-AINCD>
182 <COND (<AND <GASSIGNED? MA-AINCD> <NOT <TYPE? ,MA-AINCD MACRO>>> <SETG MA-AINCD <CHTYPE (,MA-AINCD) MACRO>>)>
183
184 #WORD *15322443154*
185                     <GFCN \1aMA-BD ("VALUE" FORM "QUOTE" ANY "QUOTE" ANY) AC4 DISP5>
186                     <TEMP TEMP13:FORM>
187                     <INTGO>
188                     <FRAME '\1aFORM>
189                     <PUSH 'CHTYPE>
190                     <FRAME '\1aFORM>
191                     <PUSH 'LSH>
192                     <FRAME '\1aFORM>
193                     <PUSH 'ORB>
194                     <FRAME '\1aFORM>
195                     <PUSH 'LSH>
196                     <FRAME '\1aFORM>
197                     <PUSH 'ORB>
198                     <PUSH ,AM-BD>
199                     <FRAME '\1aFORM>
200                     <PUSH 'AC-NUMBER>
201                     <PUSH AC4>
202                     <DEAD AC4>
203                     <CALL '\1aFORM 2 = STACK>
204                     <CALL '\1aFORM 3 = STACK>
205                     <PUSH 8>
206                     <CALL '\1aFORM 3 = STACK>
207                     <FRAME '\1aFORM>
208                     <PUSH 'ANDB>
209                     <PUSH DISP5>
210                     <DEAD DISP5>
211                     <PUSH 255>
212                     <CALL '\1aFORM 3 = STACK>
213                     <CALL '\1aFORM 3 = STACK>
214                     <PUSH 16>
215                     <CALL '\1aFORM 3 = STACK>
216                     <PUSH 'EFF-ADDR>
217                     <CALL '\1aFORM 3 = TEMP13>
218                     <RETURN TEMP13>
219                     <DEAD TEMP13>
220                     <END \1aMA-BD>
221 <COND (<AND <GASSIGNED? MA-BD> <NOT <TYPE? ,MA-BD MACRO>>> <SETG MA-BD <CHTYPE (,MA-BD) MACRO>>)>
222
223 #WORD *35603643770*
224                     <GFCN \1aMA-BDD ("VALUE" FORM "QUOTE" ANY "QUOTE" ANY) AC4 DISP5>
225                     <TEMP TEMP13:FORM>
226                     <INTGO>
227                     <FRAME '\1aFORM>
228                     <PUSH 'CHTYPE>
229                     <FRAME '\1aFORM>
230                     <PUSH 'LSH>
231                     <FRAME '\1aFORM>
232                     <PUSH 'ORB>
233                     <FRAME '\1aFORM>
234                     <PUSH 'LSH>
235                     <FRAME '\1aFORM>
236                     <PUSH 'ORB>
237                     <PUSH ,AM-BDD>
238                     <FRAME '\1aFORM>
239                     <PUSH 'AC-NUMBER>
240                     <PUSH AC4>
241                     <DEAD AC4>
242                     <CALL '\1aFORM 2 = STACK>
243                     <CALL '\1aFORM 3 = STACK>
244                     <PUSH 8>
245                     <CALL '\1aFORM 3 = STACK>
246                     <FRAME '\1aFORM>
247                     <PUSH 'ANDB>
248                     <PUSH DISP5>
249                     <DEAD DISP5>
250                     <PUSH 255>
251                     <CALL '\1aFORM 3 = STACK>
252                     <CALL '\1aFORM 3 = STACK>
253                     <PUSH 16>
254                     <CALL '\1aFORM 3 = STACK>
255                     <PUSH 'EFF-ADDR>
256                     <CALL '\1aFORM 3 = TEMP13>
257                     <RETURN TEMP13>
258                     <DEAD TEMP13>
259                     <END \1aMA-BDD>
260 <COND (<AND <GASSIGNED? MA-BDD> <NOT <TYPE? ,MA-BDD MACRO>>> <SETG MA-BDD <CHTYPE (,MA-BDD) MACRO>>)>
261
262 #WORD *31707704334*
263                     <GFCN \1aMA-WD ("VALUE" FORM "QUOTE" ANY "QUOTE" ANY) AC4 DISP5>
264                     <TEMP TEMP15 TEMP16>
265                     <INTGO>
266                     <FRAME '\1aFORM>
267                     <PUSH 'CHTYPE>
268                     <FRAME '\1aFORM>
269                     <PUSH 'ORB>
270                     <FRAME '\1aFORM>
271                     <PUSH 'LSH>
272                     <FRAME '\1aFORM>
273                     <PUSH 'ORB>
274                     <PUSH ,AM-WD>
275                     <FRAME '\1aFORM>
276                     <PUSH 'AC-NUMBER>
277                     <PUSH AC4>
278                     <DEAD AC4>
279                     <CALL '\1aFORM 2 = STACK>
280                     <CALL '\1aFORM 3 = STACK>
281                     <PUSH 24>
282                     <CALL '\1aFORM 3 = STACK>
283                     <FRAME '\1aFORM>
284                     <PUSH 'ANDB>
285                     <TYPE? DISP5 <TYPE-CODE FIX> + TAG14>
286                     <TYPE? DISP5 <TYPE-CODE WORD> + TAG14>
287                     <TYPE? DISP5 <TYPE-CODE CHARACTER> - PHRASE13>
288 TAG14
289                     <LSH DISP5 16 = TEMP15 (TYPE FIX)>
290                     <AND DISP5 #WORD *177400* = TEMP16>
291                     <DEAD DISP5>
292                     <OR TEMP15 TEMP16 = TEMP15>
293                     <DEAD TEMP16>
294                     <JUMP + PHRASE17>
295 PHRASE13
296                     <FRAME '\1aFORM>
297                     <PUSH 'PROG>
298                     <CONS DISP5 () = TEMP16>
299                     <DEAD DISP5>
300                     <CONS 'V TEMP16 = TEMP16>
301                     <CONS TEMP16 () = STACK>
302                     <DEAD TEMP16>
303                     <FRAME '\1aFORM>
304                     <PUSH 'ORB>
305                     <FRAME '\1aFORM>
306                     <PUSH 'LSH>
307                     <PUSH .V>
308                     <PUSH 16>
309                     <CALL '\1aFORM 3 = STACK>
310                     <FRAME '\1aFORM>
311                     <PUSH 'ANDB>
312                     <PUSH .V>
313                     <PUSH 65280>
314                     <CALL '\1aFORM 3 = STACK>
315                     <CALL '\1aFORM 3 = STACK>
316                     <CALL '\1aFORM 3 = TEMP15>
317 PHRASE17
318                     <PUSH TEMP15>
319                     <DEAD TEMP15>
320                     <PUSH 16776960>
321                     <CALL '\1aFORM 3 = STACK>
322                     <CALL '\1aFORM 3 = STACK>
323                     <PUSH 'EFF-ADDR>
324                     <CALL '\1aFORM 3 = TEMP15>
325                     <RETURN TEMP15>
326                     <DEAD TEMP15>
327                     <END \1aMA-WD>
328 <COND (<AND <GASSIGNED? MA-WD> <NOT <TYPE? ,MA-WD MACRO>>> <SETG MA-WD <CHTYPE (,MA-WD) MACRO>>)>
329
330 #WORD *25222357674*
331                     <GFCN \1aMA-WDD ("VALUE" FORM "QUOTE" ANY "QUOTE" ANY) AC4 DISP5>
332                     <TEMP TEMP14:FORM>
333                     <INTGO>
334                     <FRAME '\1aFORM>
335                     <PUSH 'CHTYPE>
336                     <FRAME '\1aFORM>
337                     <PUSH 'ORB>
338                     <FRAME '\1aFORM>
339                     <PUSH 'LSH>
340                     <FRAME '\1aFORM>
341                     <PUSH 'ORB>
342                     <PUSH ,AM-WDD>
343                     <FRAME '\1aFORM>
344                     <PUSH 'AC-NUMBER>
345                     <PUSH AC4>
346                     <DEAD AC4>
347                     <CALL '\1aFORM 2 = STACK>
348                     <CALL '\1aFORM 3 = STACK>
349                     <PUSH 24>
350                     <CALL '\1aFORM 3 = STACK>
351                     <FRAME '\1aFORM>
352                     <PUSH 'LSH>
353                     <FRAME '\1aFORM>
354                     <PUSH 'ANDB>
355                     <PUSH DISP5>
356                     <PUSH 255>
357                     <CALL '\1aFORM 3 = STACK>
358                     <PUSH 16>
359                     <CALL '\1aFORM 3 = STACK>
360                     <FRAME '\1aFORM>
361                     <PUSH 'ANDB>
362                     <PUSH DISP5>
363                     <DEAD DISP5>
364                     <PUSH 65280>
365                     <CALL '\1aFORM 3 = STACK>
366                     <CALL '\1aFORM 4 = STACK>
367                     <PUSH 'EFF-ADDR>
368                     <CALL '\1aFORM 3 = TEMP14>
369                     <RETURN TEMP14>
370                     <DEAD TEMP14>
371                     <END \1aMA-WDD>
372 <COND (<AND <GASSIGNED? MA-WDD> <NOT <TYPE? ,MA-WDD MACRO>>> <SETG MA-WDD <CHTYPE (,MA-WDD) MACRO>>)>
373
374 #WORD *13154210074*
375                     <GFCN \1aMA-LD ("VALUE" FORM "QUOTE" ANY "QUOTE" ANY) AC4 DISP5>
376                     <TEMP TEMP11 TEMP14>
377                     <INTGO>
378                     <FRAME '\1aFORM>
379                     <PUSH 'CHTYPE>
380                     <FRAME '\1aFORM>
381                     <PUSH 'CHTYPE>
382                     <FRAME '\1aFORM>
383                     <PUSH 'LSH>
384                     <FRAME '\1aFORM>
385                     <PUSH 'ORB>
386                     <PUSH ,AM-LD>
387                     <FRAME '\1aFORM>
388                     <PUSH 'AC-NUMBER>
389                     <PUSH AC4>
390                     <DEAD AC4>
391                     <CALL '\1aFORM 2 = STACK>
392                     <CALL '\1aFORM 3 = STACK>
393                     <PUSH 24>
394                     <CALL '\1aFORM 3 = STACK>
395                     <PUSH 'EFF-ADDR>
396                     <CALL '\1aFORM 3 = TEMP11>
397                     <CONS TEMP11 () = TEMP11>
398                     <FRAME '\1aFORM>
399                     <PUSH 'CHTYPE>
400                     <FRAME '\1aFORM>
401                     <PUSH 'LREV>
402                     <PUSH DISP5>
403                     <DEAD DISP5>
404                     <CALL '\1aFORM 2 = STACK>
405                     <PUSH 'EFF-ADDR>
406                     <CALL '\1aFORM 3 = TEMP14>
407                     <CONS TEMP14 () = TEMP14>
408                     <PUTREST TEMP11 TEMP14>
409                     <DEAD TEMP14>
410                     <PUSH TEMP11>
411                     <DEAD TEMP11>
412                     <PUSH 'LADDR>
413                     <CALL '\1aFORM 3 = TEMP11>
414                     <RETURN TEMP11>
415                     <DEAD TEMP11>
416                     <END \1aMA-LD>
417 <COND (<AND <GASSIGNED? MA-LD> <NOT <TYPE? ,MA-LD MACRO>>> <SETG MA-LD <CHTYPE (,MA-LD) MACRO>>)>
418
419 #WORD *33445410664*
420                     <GFCN \1aMA-LDD ("VALUE" FORM "QUOTE" ANY "QUOTE" ANY) AC4 DISP5>
421                     <TEMP TEMP11 TEMP14>
422                     <INTGO>
423                     <FRAME '\1aFORM>
424                     <PUSH 'CHTYPE>
425                     <FRAME '\1aFORM>
426                     <PUSH 'CHTYPE>
427                     <FRAME '\1aFORM>
428                     <PUSH 'LSH>
429                     <FRAME '\1aFORM>
430                     <PUSH 'ORB>
431                     <PUSH ,AM-LDD>
432                     <FRAME '\1aFORM>
433                     <PUSH 'AC-NUMBER>
434                     <PUSH AC4>
435                     <DEAD AC4>
436                     <CALL '\1aFORM 2 = STACK>
437                     <CALL '\1aFORM 3 = STACK>
438                     <PUSH 24>
439                     <CALL '\1aFORM 3 = STACK>
440                     <PUSH 'EFF-ADDR>
441                     <CALL '\1aFORM 3 = TEMP11>
442                     <CONS TEMP11 () = TEMP11>
443                     <FRAME '\1aFORM>
444                     <PUSH 'CHTYPE>
445                     <FRAME '\1aFORM>
446                     <PUSH 'LREV>
447                     <PUSH DISP5>
448                     <DEAD DISP5>
449                     <CALL '\1aFORM 2 = STACK>
450                     <PUSH 'EFF-ADDR>
451                     <CALL '\1aFORM 3 = TEMP14>
452                     <CONS TEMP14 () = TEMP14>
453                     <PUTREST TEMP11 TEMP14>
454                     <DEAD TEMP14>
455                     <PUSH TEMP11>
456                     <DEAD TEMP11>
457                     <PUSH 'LADDR>
458                     <CALL '\1aFORM 3 = TEMP11>
459                     <RETURN TEMP11>
460                     <DEAD TEMP11>
461                     <END \1aMA-LDD>
462 <COND (<AND <GASSIGNED? MA-LDD> <NOT <TYPE? ,MA-LDD MACRO>>> <SETG MA-LDD <CHTYPE (,MA-LDD) MACRO>>)>
463
464 #WORD *32431651010*
465                     <GFCN \1aMA-BYTE-IMM ("VALUE" FORM "QUOTE" ANY) VAL4>
466                     <TEMP TEMP10:FORM>
467                     <INTGO>
468                     <FRAME '\1aFORM>
469                     <PUSH 'CHTYPE>
470                     <FRAME '\1aFORM>
471                     <PUSH 'ORB>
472                     <FRAME '\1aFORM>
473                     <PUSH 'MA-AINC>
474                     <PUSH ,AC-PC>
475                     <CALL '\1aFORM 2 = STACK>
476                     <FRAME '\1aFORM>
477                     <PUSH 'LSH>
478                     <FRAME '\1aFORM>
479                     <PUSH 'ANDB>
480                     <PUSH VAL4>
481                     <DEAD VAL4>
482                     <PUSH 255>
483                     <CALL '\1aFORM 3 = STACK>
484                     <PUSH 16>
485                     <CALL '\1aFORM 3 = STACK>
486                     <CALL '\1aFORM 3 = STACK>
487                     <PUSH 'EFF-ADDR>
488                     <CALL '\1aFORM 3 = TEMP10>
489                     <RETURN TEMP10>
490                     <DEAD TEMP10>
491                     <END \1aMA-BYTE-IMM>
492 <COND (<AND <GASSIGNED? MA-BYTE-IMM> <NOT <TYPE? ,MA-BYTE-IMM MACRO>>> <SETG MA-BYTE-IMM <CHTYPE (,MA-BYTE-IMM) MACRO>>)>
493
494 #WORD *66010106*
495                     <GFCN \1aMA-WORD-IMM ("VALUE" FORM "QUOTE" ANY) VAL4>
496                     <TEMP TEMP12 TEMP13>
497                     <INTGO>
498                     <FRAME '\1aFORM>
499                     <PUSH 'CHTYPE>
500                     <FRAME '\1aFORM>
501                     <PUSH 'ORB>
502                     <FRAME '\1aFORM>
503                     <PUSH 'MA-AINC>
504                     <PUSH ,AC-PC>
505                     <CALL '\1aFORM 2 = STACK>
506                     <FRAME '\1aFORM>
507                     <PUSH 'ANDB>
508                     <TYPE? VAL4 <TYPE-CODE FIX> + TAG11>
509                     <TYPE? VAL4 <TYPE-CODE WORD> + TAG11>
510                     <TYPE? VAL4 <TYPE-CODE CHARACTER> - PHRASE10>
511 TAG11
512                     <AND VAL4 #WORD *377* = TEMP12>
513                     <LSH TEMP12 16 = TEMP12 (TYPE FIX)>
514                     <AND VAL4 #WORD *177400* = TEMP13>
515                     <DEAD VAL4>
516                     <OR TEMP12 TEMP13 = TEMP12>
517                     <DEAD TEMP13>
518                     <JUMP + PHRASE14>
519 PHRASE10
520                     <FRAME '\1aFORM>
521                     <PUSH 'PROG>
522                     <CONS VAL4 () = TEMP13>
523                     <DEAD VAL4>
524                     <CONS 'V TEMP13 = TEMP13>
525                     <CONS TEMP13 () = STACK>
526                     <DEAD TEMP13>
527                     <FRAME '\1aFORM>
528                     <PUSH 'ORB>
529                     <FRAME '\1aFORM>
530                     <PUSH 'LSH>
531                     <FRAME '\1aFORM>
532                     <PUSH 'ANDB>
533                     <PUSH .V>
534                     <PUSH 255>
535                     <CALL '\1aFORM 3 = STACK>
536                     <PUSH 16>
537                     <CALL '\1aFORM 3 = STACK>
538                     <FRAME '\1aFORM>
539                     <PUSH 'ANDB>
540                     <PUSH .V>
541                     <PUSH 65280>
542                     <CALL '\1aFORM 3 = STACK>
543                     <CALL '\1aFORM 3 = STACK>
544                     <CALL '\1aFORM 3 = TEMP12>
545 PHRASE14
546                     <PUSH TEMP12>
547                     <DEAD TEMP12>
548                     <PUSH 16776960>
549                     <CALL '\1aFORM 3 = STACK>
550                     <CALL '\1aFORM 3 = STACK>
551                     <PUSH 'EFF-ADDR>
552                     <CALL '\1aFORM 3 = TEMP12>
553                     <RETURN TEMP12>
554                     <DEAD TEMP12>
555                     <END \1aMA-WORD-IMM>
556 <COND (<AND <GASSIGNED? MA-WORD-IMM> <NOT <TYPE? ,MA-WORD-IMM MACRO>>> <SETG MA-WORD-IMM <CHTYPE (,MA-WORD-IMM) MACRO>>)>
557
558 #WORD *22260031630*
559                     <GFCN \1aMA-LONG-IMM ("VALUE" FORM "QUOTE" ANY) VAL4>
560                     <TEMP TEMP8 TEMP11>
561                     <INTGO>
562                     <FRAME '\1aFORM>
563                     <PUSH 'CHTYPE>
564                     <FRAME '\1aFORM>
565                     <PUSH 'CHTYPE>
566                     <FRAME '\1aFORM>
567                     <PUSH 'MA-AINC>
568                     <PUSH ,AC-PC>
569                     <CALL '\1aFORM 2 = STACK>
570                     <PUSH 'EFF-ADDR>
571                     <CALL '\1aFORM 3 = TEMP8>
572                     <CONS TEMP8 () = TEMP8>
573                     <FRAME '\1aFORM>
574                     <PUSH 'CHTYPE>
575                     <FRAME '\1aFORM>
576                     <PUSH 'LREV>
577                     <PUSH VAL4>
578                     <DEAD VAL4>
579                     <CALL '\1aFORM 2 = STACK>
580                     <PUSH 'EFF-ADDR>
581                     <CALL '\1aFORM 3 = TEMP11>
582                     <CONS TEMP11 () = TEMP11>
583                     <PUTREST TEMP8 TEMP11>
584                     <DEAD TEMP11>
585                     <PUSH TEMP8>
586                     <DEAD TEMP8>
587                     <PUSH 'LADDR>
588                     <CALL '\1aFORM 3 = TEMP8>
589                     <RETURN TEMP8>
590                     <DEAD TEMP8>
591                     <END \1aMA-LONG-IMM>
592 <COND (<AND <GASSIGNED? MA-LONG-IMM> <NOT <TYPE? ,MA-LONG-IMM MACRO>>> <SETG MA-LONG-IMM <CHTYPE (,MA-LONG-IMM) MACRO>>)>
593
594 #WORD *14600577161*
595                     <GFCN \1aMA-IMM ("VALUE" <OR EFF-ADDR LADDR> <PRIMTYPE FIX>) VAL4>
596                     <TEMP TEMP10 TEMP17>
597                     <INTGO>
598                     <CHTYPE VAL4 <TYPE-CODE FIX> = VAL4>
599                     <LESS? VAL4 0 + PHRASE6 (TYPE FIX)>
600                     <GRTR? VAL4 63 + PHRASE6 (TYPE FIX)>
601                     <AND VAL4 #WORD *77* = TEMP10>
602                     <DEAD VAL4>
603                     <LSH TEMP10 24 = TEMP10 (TYPE FIX)>
604                     <CHTYPE TEMP10 <TYPE-CODE EFF-ADDR> = TEMP10>
605                     <RETURN TEMP10>
606                     <DEAD TEMP10>
607 PHRASE6
608                     <EQUAL? VAL4 %<CHTYPE <MIN> FIX> - PHRASE13>
609                     <SET VAL4 2147483647 (TYPE FIX)>
610                     <JUMP + PHRASE14>
611 PHRASE13
612                     <EQUAL? VAL4 %<CHTYPE <MAX> FIX> - PHRASE14>
613                     <SET VAL4 2147483649 (TYPE FIX)>
614 PHRASE14
615                     <GVAL 'AM-AINC = TEMP10>
616                     <FRAME '\1aAC-NUMBER>
617                     <GVAL 'AC-PC = STACK>
618                     <CALL '\1aAC-NUMBER 1 = TEMP17>
619                     <OR TEMP10 TEMP17 = TEMP10>
620                     <DEAD TEMP17>
621                     <LSH TEMP10 24 = TEMP10 (TYPE FIX)>
622                     <CHTYPE TEMP10 <TYPE-CODE EFF-ADDR> = TEMP10>
623                     <CONS TEMP10 () = TEMP10>
624                     <FRAME '\1aLREV>
625                     <PUSH VAL4>
626                     <DEAD VAL4>
627                     <CALL '\1aLREV 1 = TEMP17>
628                     <CHTYPE TEMP17 <TYPE-CODE EFF-ADDR> = TEMP17>
629                     <CONS TEMP17 () = TEMP17>
630                     <PUTREST TEMP10 TEMP17>
631                     <DEAD TEMP17>
632                     <CHTYPE TEMP10 <TYPE-CODE LADDR> = TEMP10>
633                     <RETURN TEMP10>
634                     <DEAD TEMP10>
635                     <END \1aMA-IMM>
636
637 #WORD *35541362156*
638                     <GFCN \1aLREV ("VALUE" FIX ANY) VAL4>
639                     <TEMP TEMP5:FIX TEMP6:FIX>
640                     <INTGO>
641                     <AND VAL4 #WORD *377* = TEMP5>
642                     <LSH TEMP5 24 = TEMP5 (TYPE FIX)>
643                     <AND VAL4 #WORD *177400* = TEMP6>
644                     <LSH TEMP6 8 = TEMP6 (TYPE FIX)>
645                     <OR TEMP5 TEMP6 = TEMP5>
646                     <DEAD TEMP6>
647                     <AND VAL4 #WORD *77600000* = TEMP6>
648                     <LSH TEMP6 -8 = TEMP6 (TYPE FIX)>
649                     <OR TEMP5 TEMP6 = TEMP5>
650                     <DEAD TEMP6>
651                     <AND VAL4 #WORD *37700000000* = TEMP6>
652                     <DEAD VAL4>
653                     <LSH TEMP6 -24 = TEMP6 (TYPE FIX)>
654                     <OR TEMP5 TEMP6 = TEMP5>
655                     <DEAD TEMP6>
656                     <RETURN TEMP5>
657                     <DEAD TEMP5>
658                     <END \1aLREV>
659
660 #WORD *27350162263*
661                     <GFCN \1aMA-DISP ("VALUE" <OR EFF-ADDR LADDR> ANY FIX) AC4 VAL5>
662                     <TEMP AVAL6 TEMP12 TEMP14>
663                     <INTGO>
664                     <SET AVAL6 VAL5>
665                     <LESS? AVAL6 0 - TAG7 (TYPE FIX)>
666                     <SUB 0 AVAL6 = AVAL6 (TYPE FIX)>
667 TAG7
668                     <VEQUAL? VAL5 0 - PHRASE9 (TYPE FIX)>
669                     <GVAL 'AM-REGD = TEMP12>
670                     <FRAME '\1aAC-NUMBER>
671                     <PUSH AC4>
672                     <DEAD AC4>
673                     <CALL '\1aAC-NUMBER 1 = TEMP14>
674                     <OR TEMP12 TEMP14 = TEMP12>
675                     <DEAD TEMP14>
676                     <LSH TEMP12 24 = TEMP12 (TYPE FIX)>
677                     <CHTYPE TEMP12 <TYPE-CODE EFF-ADDR> = TEMP12>
678                     <RETURN TEMP12>
679                     <DEAD TEMP12>
680 PHRASE9
681                     <GRTR? AVAL6 127 + PHRASE15 (TYPE FIX)>
682                     <GVAL 'AM-BD = TEMP14>
683                     <FRAME '\1aAC-NUMBER>
684                     <PUSH AC4>
685                     <DEAD AC4>
686                     <CALL '\1aAC-NUMBER 1 = TEMP12>
687                     <OR TEMP14 TEMP12 = TEMP14>
688                     <DEAD TEMP12>
689                     <LSH TEMP14 8 = TEMP14 (TYPE FIX)>
690                     <AND VAL5 #WORD *377* = TEMP12>
691                     <DEAD VAL5>
692                     <OR TEMP14 TEMP12 = TEMP14>
693                     <DEAD TEMP12>
694                     <LSH TEMP14 16 = TEMP14 (TYPE FIX)>
695                     <CHTYPE TEMP14 <TYPE-CODE EFF-ADDR> = TEMP12>
696                     <DEAD TEMP14>
697                     <RETURN TEMP12>
698                     <DEAD TEMP12>
699 PHRASE15
700                     <GRTR? AVAL6 32767 + PHRASE18 (TYPE FIX)>
701                     <DEAD AVAL6>
702                     <GVAL 'AM-WD = TEMP14>
703                     <FRAME '\1aAC-NUMBER>
704                     <PUSH AC4>
705                     <DEAD AC4>
706                     <CALL '\1aAC-NUMBER 1 = TEMP12>
707                     <OR TEMP14 TEMP12 = TEMP14>
708                     <DEAD TEMP12>
709                     <LSH TEMP14 24 = TEMP14 (TYPE FIX)>
710                     <SET AVAL6 VAL5>
711                     <DEAD VAL5>
712                     <LSH AVAL6 16 = TEMP12 (TYPE FIX)>
713                     <AND AVAL6 #WORD *177400* = AVAL6>
714                     <OR TEMP12 AVAL6 = TEMP12>
715                     <DEAD AVAL6>
716                     <AND TEMP12 #WORD *77777400* = TEMP12>
717                     <OR TEMP14 TEMP12 = TEMP14>
718                     <DEAD TEMP12>
719                     <CHTYPE TEMP14 <TYPE-CODE EFF-ADDR> = TEMP12>
720                     <DEAD TEMP14>
721                     <RETURN TEMP12>
722                     <DEAD TEMP12>
723 PHRASE18
724                     <GVAL 'AM-LD = TEMP14>
725                     <FRAME '\1aAC-NUMBER>
726                     <PUSH AC4>
727                     <DEAD AC4>
728                     <CALL '\1aAC-NUMBER 1 = TEMP12>
729                     <OR TEMP14 TEMP12 = TEMP14>
730                     <DEAD TEMP12>
731                     <LSH TEMP14 24 = AVAL6 (TYPE FIX)>
732                     <DEAD TEMP14>
733                     <CHTYPE AVAL6 <TYPE-CODE EFF-ADDR> = AVAL6>
734                     <CONS AVAL6 () = AVAL6>
735                     <FRAME '\1aLREV>
736                     <PUSH VAL5>
737                     <DEAD VAL5>
738                     <CALL '\1aLREV 1 = TEMP12>
739                     <CHTYPE TEMP12 <TYPE-CODE EFF-ADDR> = TEMP12>
740                     <CONS TEMP12 () = TEMP12>
741                     <PUTREST AVAL6 TEMP12>
742                     <DEAD TEMP12>
743                     <CHTYPE AVAL6 <TYPE-CODE LADDR> = TEMP12>
744                     <DEAD AVAL6>
745                     <RETURN TEMP12>
746                     <DEAD TEMP12>
747                     <END \1aMA-DISP>
748
749 #WORD *35241535122*
750                     <GFCN \1aMA-DEF-DISP ("VALUE" <OR EFF-ADDR LADDR> ANY FIX) AC4 VAL5>
751                     <TEMP AVAL6 TEMP12>
752                     <INTGO>
753                     <SET AVAL6 VAL5>
754                     <LESS? AVAL6 0 - TAG7 (TYPE FIX)>
755                     <SUB 0 AVAL6 = AVAL6 (TYPE FIX)>
756 TAG7
757                     <GRTR? AVAL6 127 + PHRASE9 (TYPE FIX)>
758                     <GVAL 'AM-BDD = AVAL6>
759                     <FRAME '\1aAC-NUMBER>
760                     <PUSH AC4>
761                     <DEAD AC4>
762                     <CALL '\1aAC-NUMBER 1 = TEMP12>
763                     <OR AVAL6 TEMP12 = AVAL6>
764                     <DEAD TEMP12>
765                     <LSH AVAL6 8 = AVAL6 (TYPE FIX)>
766                     <AND VAL5 #WORD *377* = TEMP12>
767                     <DEAD VAL5>
768                     <OR AVAL6 TEMP12 = AVAL6>
769                     <DEAD TEMP12>
770                     <LSH AVAL6 16 = AVAL6 (TYPE FIX)>
771                     <CHTYPE AVAL6 <TYPE-CODE EFF-ADDR> = AVAL6>
772                     <RETURN AVAL6>
773                     <DEAD AVAL6>
774 PHRASE9
775                     <GRTR? AVAL6 32767 + PHRASE13 (TYPE FIX)>
776                     <DEAD AVAL6>
777                     <GVAL 'AM-WDD = TEMP12>
778                     <FRAME '\1aAC-NUMBER>
779                     <PUSH AC4>
780                     <DEAD AC4>
781                     <CALL '\1aAC-NUMBER 1 = AVAL6>
782                     <OR TEMP12 AVAL6 = TEMP12>
783                     <DEAD AVAL6>
784                     <LSH TEMP12 24 = TEMP12 (TYPE FIX)>
785                     <AND VAL5 #WORD *377* = AVAL6>
786                     <LSH AVAL6 16 = AVAL6 (TYPE FIX)>
787                     <OR TEMP12 AVAL6 = TEMP12>
788                     <DEAD AVAL6>
789                     <AND VAL5 #WORD *177400* = AVAL6>
790                     <DEAD VAL5>
791                     <OR TEMP12 AVAL6 = TEMP12>
792                     <DEAD AVAL6>
793                     <CHTYPE TEMP12 <TYPE-CODE EFF-ADDR> = AVAL6>
794                     <DEAD TEMP12>
795                     <RETURN AVAL6>
796                     <DEAD AVAL6>
797 PHRASE13
798                     <GVAL 'AM-LDD = TEMP12>
799                     <FRAME '\1aAC-NUMBER>
800                     <PUSH AC4>
801                     <DEAD AC4>
802                     <CALL '\1aAC-NUMBER 1 = AVAL6>
803                     <OR TEMP12 AVAL6 = TEMP12>
804                     <DEAD AVAL6>
805                     <LSH TEMP12 24 = TEMP12 (TYPE FIX)>
806                     <CHTYPE TEMP12 <TYPE-CODE EFF-ADDR> = TEMP12>
807                     <CONS TEMP12 () = TEMP12>
808                     <FRAME '\1aLREV>
809                     <PUSH VAL5>
810                     <DEAD VAL5>
811                     <CALL '\1aLREV 1 = AVAL6>
812                     <CHTYPE AVAL6 <TYPE-CODE EFF-ADDR> = AVAL6>
813                     <CONS AVAL6 () = AVAL6>
814                     <PUTREST TEMP12 AVAL6>
815                     <DEAD AVAL6>
816                     <CHTYPE TEMP12 <TYPE-CODE LADDR> = AVAL6>
817                     <DEAD TEMP12>
818                     <RETURN AVAL6>
819                     <DEAD AVAL6>
820                     <END \1aMA-DEF-DISP>
821
822 #WORD *14003562465*
823                     <GFCN \1aMA-ABS ("VALUE" FORM "QUOTE" ANY) ABS4>
824                     <TEMP TEMP8 TEMP11>
825                     <INTGO>
826                     <FRAME '\1aFORM>
827                     <PUSH 'CHTYPE>
828                     <FRAME '\1aFORM>
829                     <PUSH 'CHTYPE>
830                     <FRAME '\1aFORM>
831                     <PUSH 'MA-AINCD>
832                     <PUSH ,AC-PC>
833                     <CALL '\1aFORM 2 = STACK>
834                     <PUSH 'EFF-ADDR>
835                     <CALL '\1aFORM 3 = TEMP8>
836                     <CONS TEMP8 () = TEMP8>
837                     <FRAME '\1aFORM>
838                     <PUSH 'CHTYPE>
839                     <FRAME '\1aFORM>
840                     <PUSH 'LREV>
841                     <PUSH ABS4>
842                     <DEAD ABS4>
843                     <CALL '\1aFORM 2 = STACK>
844                     <PUSH 'EFF-ADDR>
845                     <CALL '\1aFORM 3 = TEMP11>
846                     <CONS TEMP11 () = TEMP11>
847                     <PUTREST TEMP8 TEMP11>
848                     <DEAD TEMP11>
849                     <PUSH TEMP8>
850                     <DEAD TEMP8>
851                     <PUSH 'LADDR>
852                     <CALL '\1aFORM 3 = TEMP8>
853                     <RETURN TEMP8>
854                     <DEAD TEMP8>
855                     <END \1aMA-ABS>
856 <COND (<AND <GASSIGNED? MA-ABS> <NOT <TYPE? ,MA-ABS MACRO>>> <SETG MA-ABS <CHTYPE (,MA-ABS) MACRO>>)>