Machine-Independent MDL for TOPS-20 and VAX.
[pdp10-muddle.git] / mim / development / mim / vax / mimlib / expose-data.mud
1 <DEFINITIONS "EXPOSE-DATA">
2
3 <INCLUDE-WHEN <COMPILING? "EXPOSE-DATA"> "EXPOSE-DEFS">
4
5 <NEWTYPE OPCODE-TABLE VECTOR>
6
7 <SETG REGISTER-NAMES
8       '["r0" "r1" "r2" "r3" "r4" "r5" "r6" "r7" "r8" "r9" "ra"
9         "ms" "fr" "tp" "sp" "pc"]>
10
11 <DEFINE MAKE-OPCODE-TABLE ("TUPLE" SPECS "AUX" (TBL <IVECTOR 256 %<>>))
12    #DECL ((SPECS) <TUPLE [REST <VECTOR STRING ANY>]> (TBL) VECTOR)
13    <MAPF %<>
14          <FUNCTION (SPEC "AUX" (SLOT <+ <HEX <1 .SPEC>>:FIX 1>))
15             <PUT .TBL .SLOT <2 .SPEC>>>
16          .SPECS>
17    <CHTYPE .TBL OPCODE-TABLE>>
18
19 <DEFINE MAKE-KERNEL-TABLE ("TUPLE" PAIRS "AUX" 
20                           (RES <IVECTOR ,KERNEL-TABLE-LENGTH ()>))
21    #DECL ((PAIRS) <TUPLE [REST <VECTOR FIX STRING>]>)
22    <MAPF %<>
23          <FUNCTION (PAIR "AUX" BKTNUM)
24             <SET BKTNUM <+ <MOD <1 .PAIR> ,KERNEL-TABLE-LENGTH> 1>>
25             <PUT .RES .BKTNUM (<1 .PAIR> <2 .PAIR> !<NTH .RES .BKTNUM>)>>
26          .PAIRS>
27    .RES>
28
29 <COND 
30  (<NOT <FEATURE? "COMPILER">>
31   <SETG OPCODE-TABLE
32         <MAKE-OPCODE-TABLE
33          ["00" ["halt" [] "Halt"]]
34          ["01" ["nop" [] "No operation"]]
35          ["02" ["rei" [] "Return from exception or interrupt"]]
36          ["03" ["bpt" [] "Break point fault"]]
37          ["04" ["ret" [] "Return from called procedure"]]
38          ["05" ["rsb" [] "Return from subroutine"]]
39          ["06" ["ldpctx" [] "Load process context"]]
40          ["07" ["svpctx" [] "Save process context"]]
41          ["08" ["cvtps" [2 1 2 1] "Convert packed to leading separate numeric"]]
42          ["09" ["cvtsp" [2 1 2 1] "Convert leading separate numeric to packed"]]
43          ["0a" ["index" [4 4 4 4 4 4] "Compute index"]]
44          ["0b" ["crc" [1 4 2 1] "Calculate cyclic redundancy check"]]
45          ["0c" ["prober" [1 2 1] "Probe read access"]]
46          ["0d" ["probew" [1 2 1] "Probe write access"]]
47          ["0e" ["insque" [1 1] "Insert into queue"]]
48          ["0f" ["remque" [1 4] "Remove from queue"]]
49          ["10" ["bsbb" 
50                 [%<ORB 1 ,BRANCH-BIT>]
51                 "Branch to subroutine with byte displacement"]]
52          ["11" ["brb" 
53                 [%<ORB 1 ,BRANCH-BIT>]
54                 "Branch with byte displacement"]]
55          ["12" ["bneq" 
56                 [%<ORB 1 ,BRANCH-BIT>]
57                 "Branch on not equal"]]
58          ["12" ["bnequ"
59                 [%<ORB 1 ,BRANCH-BIT>]
60                 "Branch on not equal unsigned"]]
61          ["13" ["beql" 
62                 [%<ORB 1 ,BRANCH-BIT>]
63                 "Branch on equal"]]
64          ["13" ["beqlu"
65                 [%<ORB 1 ,BRANCH-BIT>]
66                 "Branch on equal unsigned"]]
67          ["14" ["bgtr" 
68                 [%<ORB 1 ,BRANCH-BIT>]
69                 "Branch on greater"]]
70          ["15" ["bleq" 
71                 [%<ORB 1 ,BRANCH-BIT>]
72                 "Branch on less or equal"]]
73          ["16" ["jsb" [1] "Jump to subroutine"]]
74          ["17" ["jmp" [1] "Jump"]]
75          ["18" ["bgeq" 
76                 [%<ORB 1 ,BRANCH-BIT>]
77                 "Branch on greater or equal"]]
78          ["19" ["blss" 
79                 [%<ORB 1 ,BRANCH-BIT>]
80                 "Branch on less"]]
81          ["1a" ["bgtru" 
82                 [%<ORB 1 ,BRANCH-BIT>]
83                 "Branch on greater unsigned"]]
84          ["1b" ["blequ" 
85                 [%<ORB 1 ,BRANCH-BIT>]
86                 "Branch on less or equal unsigned"]]
87          ["1c" ["bvc" 
88                 [%<ORB 1 ,BRANCH-BIT>]
89                 "Branch on overflow clear"]]
90          ["1d" ["bvs" 
91                 [%<ORB 1 ,BRANCH-BIT>]
92                 "Branch on overflow set"]]
93          ["1e" ["bgequ"
94                 [%<ORB 1 ,BRANCH-BIT>]
95                 "Branch on greater or equal unsigned"]]
96          ["1e" ["bcc"
97                 [%<ORB 1 ,BRANCH-BIT>]
98                 "Branch on carry clear"]]
99          ["1f" ["blssu"
100                 [%<ORB 1 ,BRANCH-BIT>]
101                 "Branch on less unsigned"]]
102          ["1f" ["bcs"
103                 [%<ORB 1 ,BRANCH-BIT>]
104                 "Branch on carry set"]]
105          ["20" ["addp4" [2 1 2 1] "Add packed 4 operand"]]
106          ["21" ["addp6" [2 1 2 1 2 1] "Add packed 6 operand"]]
107          ["22" ["subp4" [2 1 2 1] "Subtract packed 4 operand"]]
108          ["23" ["subp6" [2 1 2 1 2 1] "Subtract packed 6 operand"]]
109          ["24" ["cvtpt" [2 1 1 2 1] "Convert packed to trailing numeric"]]
110          ["25" ["mulp" [2 1 2 1 2 1] "Multiply packed"]]
111          ["26" ["cvttp" [2 1 1 2 1] "Convert trailing numeric to packed"]]
112          ["27" ["divp" [2 1 2 1 2 1] "Divide packed"]]
113          ["28" ["movc3" [2 1 1] "Move character 3 operand"]]
114          ["29" ["cmpc3" [2 1 1] "Compare character 3 operand"]]
115          ["2a" ["scanc" [2 1 1 1] "Scan characters"]]
116          ["2b" ["spanc" [2 1 1 1] "Span characters"]]
117          ["2c" ["movc5" [2 1 1 2 1] "Move character 5 operand"]]
118          ["2d" ["cmpc5" [2 1 1 2 1] "Compare character 5 operand"]]
119          ["2e" ["movtc" [2 1 1 1 2 1] "Move translated characters"]]
120          ["2f" ["movtuc" [2 1 1 1 2 1] "Move translated until character"]]
121          ["30" ["bsbw"
122                 [%<ORB 2 ,BRANCH-BIT>]
123                 "Branch to subroutine with word displacement"]]
124          ["31" ["brw"
125                 [%<ORB 2 ,BRANCH-BIT>]
126                 "Branch with word displacement"]]
127          ["32" ["cvtwl" [2 4] "Convert word to longword"]]
128          ["33" ["cvtwb" [2 1] "Convert word to byte"]]
129          ["34" ["movp" [2 1 1] "Move packed"]]
130          ["35" ["cmpp3" [2 1 1] "Compare packed 3 operand"]]
131          ["36" ["cvtpl" [2 1 4] "Convert packed to long"]]
132          ["37" ["cmpp4" [2 1 2 1] "Compare packed 4 operand"]]
133          ["38" ["editpc" [2 1 1 1] "Edit packed to character"]]
134          ["39" ["matchc" [2 1 2 1] "Match characters"]]
135          ["3a" ["locc" [1 2 1] "Locate character"]]
136          ["3b" ["skpc" [1 2 1] "Skip character"]]
137          ["3c" ["movzwl" [2 4] "Move zero-extended word to longword"]]
138          ["3d" ["acbw"
139                 [2 2 2 %<ANDB 2 ,BRANCH-BIT>]
140                 "Add compare and branch word"]]
141          ["3e" ["movaw" [2 4] "Move address of word"]]
142          ["3f" ["pushaw" [2] "Push address of word"]]
143          ["40" ["addf2" [4 4] "Add F_floating 2 operand"]]
144          ["41" ["addf3" [4 4 4] "Add F_floating 3 operand"]]
145          ["42" ["subf2" [4 4] "Subtract F_floating 2 operand"]]
146          ["43" ["subf3" [4 4 4] "Subtract F_floating 3 operand"]]
147          ["44" ["mulf2" [4 4] "Multiply F_floating 2 operand"]]
148          ["45" ["mulf3" [4 4 4] "Multiply F_floating 3 operand"]]
149          ["46" ["divf2" [4 4] "Divide F_floating 2 operand"]]
150          ["47" ["divf3" [4 4 4] "Divide F_floating 3 operand"]]
151          ["48" ["cvtfb" [4 1] "Convert F_floating to byte"]]
152          ["49" ["cvtfw" [4 2] "Convert F_floating to word"]]
153          ["4a" ["cvtfl" [4 4] "Convert F_floating to longword"]]
154          ["4b" ["cvtrfl" [4 4] "Convert rounded F_floating to longword"]]
155          ["4c" ["cvtbf" [1 4] "Convert byte to F_floating"]]
156          ["4d" ["cvtwf" [2 4] "Convert word to F_floating"]]
157          ["4e" ["cvtlf" [4 4] "Convert longword to F_floating"]]
158          ["4f" ["acbf" 
159                 [4 4 4 %<ORB 2 ,BRANCH-BIT>]
160                 "Add compare and branch F_floating"]]
161          ["50" ["movf" [4 4] "Move F_floating"]]
162          ["51" ["cmpf" [4 4] "Compare F_floating"]]
163          ["52" ["mnegf" [4 4] "Move negated F_floating"]]
164          ["53" ["tstf" [4] "Test F_floating"]]
165          ["54" ["emodf" [4 1 4 4 4] "Extended modulus F_floating"]]
166          ["55" ["polyf" [4 2 1] "Evaluate polynomial F_floating"]]
167          ["56" ["cvtfd" [4 8] "Convert F_floating to D_floating"]]
168          ["58" ["adawi" [2 2] "Add aligned word, interlocked"]]
169          ["5c" ["insqhi" [1 8] "Insert into queue head, interlocked"]]
170          ["5d" ["insqti" [1 8] "Insert into queue tail, interlocked"]]
171          ["5e" ["remqhi" [8 4] "Remove from queue head, interlocked"]]
172          ["5f" ["remqti" [8 4] "Remove from queue tail, interlocked"]]
173          ["60" ["addd2" [8 8] "Add D_floating 2 operand"]]
174          ["61" ["addd3" [8 8 8] "Add D_floating 3 operand"]]
175          ["62" ["subd2" [8 8] "Subtract D_floating 2 operand"]]
176          ["63" ["subd3" [8 8 8] "Subtract D_floating 3 operand"]]
177          ["64" ["muld2" [8 8] "Multiply D_floating 2 operand"]]
178          ["65" ["muld3" [8 8 8] "Multiply D_floating 3 operand"]]
179          ["66" ["divd2" [8 8] "Divide D_floating 2 operand"]]
180          ["67" ["divd3" [8 8 8] "Divide D_floating 3 operand"]]
181          ["68" ["cvtdb" [8 1] "Convert D_floating to byte"]]
182          ["69" ["cvtdw" [8 2] "Convert D_floating to word"]]
183          ["6a" ["cvtdl" [8 4] "Convert D_floating to longword"]]
184          ["6b" ["cvtrdl" [8 4] "Convert rounded D_floating to longword"]]
185          ["6c" ["cvtbd" [1 8] "Convert byte to D_floating"]]
186          ["6d" ["cvtwd" [2 8] "Convert word to D_floating"]]
187          ["6e" ["cvtld" [4 8] "Convert longword to D_floating"]]
188          ["6f" ["acbd" 
189                 [8 8 8 %<ORB 2 ,BRANCH-BIT>]
190                 "Add compare and branch D_floating"]]
191          ["70" ["movd" [8 8] "Move D_floating"]]
192          ["71" ["cmpd" [8 8] "Compare D_floating"]]
193          ["72" ["mnegd" [8 8] "Move negated D_floating"]]
194          ["73" ["tstd" [8] "Test D_floating"]]
195          ["74" ["emodd" [8 1 8 4 8] "Extended modulus D_floating"]]
196          ["75" ["polyd" [8 2 1] "Evaluate polynomial D_floating"]]
197          ["76" ["cvtdf" [8 4] "Convert D_floating to F_floating"]]
198          ["78" ["ashl" [1 4 4] "Arithmetic shift longword"]]
199          ["79" ["ashq" [1 8 8] "Arithmetic shift quadword"]]
200          ["7a" ["emul" [4 4 4 8] "Extended multiply"]]
201          ["7b" ["ediv" [4 8 4 4] "Extended divide"]]
202          ["7c" ["clrq" [8] "Clear quadword"]]
203          ["7d" ["movq" [8 8] "Move quadword"]]
204          ["7e" ["movaq" [8 4] "Move address of quadword"]]
205          ["7f" ["pushaq" [8] "Push address of quadword"]]
206          ["80" ["addb2" [1 1] "Add byte 2 operand"]]
207          ["81" ["addb3" [1 1 1] "Add byte 3 operand"]]
208          ["82" ["subb2" [1 1] "Subtract byte 2 operand"]]
209          ["83" ["subb3" [1 1 1] "Subtract byte 3 operand"]]
210          ["84" ["mulb2" [1 1] "Multiply byte 2 operand"]]
211          ["85" ["mulb3" [1 1 1] "Multiply byte 3 operand"]]
212          ["86" ["divb2" [1 1] "Divide byte 2 operand"]]
213          ["87" ["divb3" [1 1 1] "Divide byte 3 operand"]]
214          ["88" ["bisb2" [1 1] "Bit set byte 2 operand"]]
215          ["89" ["bisb3" [1 1 1] "Bit set byte 3 operand"]]
216          ["8a" ["bicb2" [1 1] "Bit clear byte 2 operand"]]
217          ["8b" ["bicb3" [1 1 1] "Bit clear byte 3 operand"]]
218          ["8c" ["xorb2" [1 1] "Exclusive OR byte 2 operand"]]
219          ["8d" ["xorb3" [1 1 1] "Exclusive OR byte 3 operand"]]
220          ["8e" ["mnegb" [1 1] "Move negated byte"]]
221          ["8f" ["caseb" 
222                 [1 1 %<ORB 1 ,CASE-BIT>]
223                 "Case byte"]]
224          ["90" ["movb" [1 1] "Move byte"]]
225          ["91" ["cmpb" [1 1] "Compare byte"]]
226          ["92" ["mcomb" [1 1] "Move complemented byte"]]
227          ["93" ["bitb" [1 1] "Bit test byte"]]
228          ["94" ["clrb" [1] "Clear byte"]]
229          ["95" ["tstb" [1] "Test byte"]]
230          ["96" ["incb" [1] "Increment byte"]]
231          ["97" ["decb" [1] "Decrement byte"]]
232          ["98" ["cvtbl" [1 4] "Convert byte to longword"]]
233          ["99" ["cvtbw" [1 2] "Convert byte to word"]]
234          ["9a" ["movzbl" [1 4] "Move zero-extended byte to longword"]]
235          ["9b" ["movzbw" [1 2] "Move zero-extended byte to word"]]
236          ["9c" ["rotl" [1 4 4] "Rotate longword"]]
237          ["9d" ["acbb" 
238                 [1 1 1 %<ORB 2 ,BRANCH-BIT>]
239                 "Add compare and branch byte"]]
240          ["9e" ["movab" [1 4] "Move address of byte"]]
241          ["9f" ["pushab" [1] "Push address of byte"]]
242          ["a0" ["addw2" [2 2] "Add word 2 operand"]]
243          ["a1" ["addw3" [2 2 2] "Add word 3 operand"]]
244          ["a2" ["subw2" [2 2] "Subtract word 2 operand"]]
245          ["a3" ["subw3" [2 2 2] "Subtract word 3 operand"]]
246          ["a4" ["mulw2" [2 2] "Multiply word 2 operand"]]
247          ["a5" ["mulw3" [2 2 2] "Multiply word 3 operand"]]
248          ["a6" ["divw2" [2 2] "Divide word 2 operand"]]
249          ["a7" ["divw3" [2 2 2] "Divide word 3 operand"]]
250          ["a8" ["bisw2" [2 2] "Bit set word 2 operand"]]
251          ["a9" ["bisw3" [2 2 2] "Bit set word 3 operand"]]
252          ["aa" ["bicw2" [2 2] "Bit clear word 2 operand"]]
253          ["ab" ["bicw3" [2 2 2] "Bit clear word 3 operand"]]
254          ["ac" ["xorw2" [2 2] "Exclusive OR word 2 operand"]]
255          ["ad" ["xorw3" [2 2 2] "Exclusive OR word 3 operand"]]
256          ["ae" ["mnegw" [2 2] "Move negated word"]]
257          ["af" ["casew" 
258                 [2 2 %<ORB 2 ,CASE-BIT>]
259                 "Case word"]]
260          ["b0" ["movw" [2 2] "Move word"]]
261          ["b1" ["cmpw" [2 2] "Compare word"]]
262          ["b2" ["mcomw" [2 2] "Move complemented word"]]
263          ["b3" ["bitw" [2 2] "Bit test word"]]
264          ["b4" ["clrw" [2] "Clear word"]]
265          ["b5" ["tstw" [2] "Test word"]]
266          ["b6" ["incw" [2] "Increment word"]]
267          ["b7" ["decw" [2] "Decrement word"]]
268          ["b8" ["bispsw" [2] "Bit set processor status word"]]
269          ["b9" ["bicpsw" [2] "Bit clear processor status word"]]
270          ["ba" ["popr" [2] "Pop registers"]]
271          ["bb" ["pushr" [2] "Push registers"]]
272          ["bc" ["chmk" [2] "Change mode to kernel"]]
273          ["bd" ["chme" [2] "Change mode to executive"]]
274          ["be" ["chms" [2] "Change mode to supervisor"]]
275          ["bf" ["chmu" [2] "Change mode to user"]]
276          ["c0" ["addl2" [4 4] "Add longword 2 operand"]]
277          ["c1" ["addl3" [4 4 4] "Add longword 3 operand"]]
278          ["c2" ["subl2" [4 4] "Subtract longword 2 operand"]]
279          ["c3" ["subl3" [4 4 4] "Subtract longword 3 operand"]]
280          ["c4" ["mull2" [4 4] "Multiply longword 2 operand"]]
281          ["c5" ["mull3" [4 4 4] "Multiply longword 3 operand"]]
282          ["c6" ["divl2" [4 4] "Divide longword 2 operand"]]
283          ["c7" ["divl3" [4 4 4] "Divide longword 3 operand"]]
284          ["c8" ["bisl2" [4 4] "Bit set longword 2 operand"]]
285          ["c9" ["bisl3" [4 4 4] "Bit set longword 3 operand"]]
286          ["ca" ["bicl2" [4 4] "Bit clear longword 2 operand"]]
287          ["cb" ["bicl3" [4 4 4] "Bit clear longword 3 operand"]]
288          ["cc" ["xorl2" [4 4] "Exclusive OR longword 2 operand"]]
289          ["cd" ["xorl3" [4 4 4] "Exclusive OR longword 3 operand"]]
290          ["ce" ["mnegl" [4 4] "Move negated longword"]]
291          ["cf" ["casel" 
292                 [4 4 %<ORB 4 ,CASE-BIT>]
293                 "Case longword"]]
294          ["d0" ["movl" [4 4] "Move longword"]]
295          ["d1" ["cmpl" [4 4] "Compare longword"]]
296          ["d2" ["mcoml" [4 4] "Move complemented longword"]]
297          ["d3" ["bitl" [4 4] "Bit test longword"]]
298          ["d4" ["clrl" [4] "Clear longword"]]
299          ["d5" ["tstl" [4] "Test longword"]]
300          ["d6" ["incl" [4] "Increment longword"]]
301          ["d7" ["decl" [4] "Decrement longword"]]
302          ["d8" ["adwc" [4 4] "Add with carry"]]
303          ["d9" ["sbwc" [4 4] "Subtract with carry"]]
304          ["da" ["mtpr" [4 4] "Move to processor register"]]
305          ["db" ["mfpr" [4 4] "Move from processor register"]]
306          ["dc" ["movpsl" [4] "Move processor status longword"]]
307          ["dd" ["pushl" [4 4] "Push longword"]]
308          ["de" ["moval" [4 4] "Move address of longword"]]
309          ["df" ["pushal" [4] "Push address of longword"]]
310          ["e0" ["bbs"
311                 [4 1 %<ORB 1 ,BRANCH-BIT>]
312                 "Branch on bit set"]]
313          ["e1" ["bbc"
314                 [4 1 %<ORB 1 ,BRANCH-BIT>]
315                 "Branch on bit clear"]]
316          ["e2" ["bbss"
317                 [4 1 %<ORB 1 ,BRANCH-BIT>]
318                 "Branch on bit set and set"]]
319          ["e3" ["bbcs"
320                 [4 1 %<ORB 1 ,BRANCH-BIT>]
321                 "Branch on bit clear and set"]]
322          ["e4" ["bbsc"
323                 [4 1 %<ORB 1 ,BRANCH-BIT>]
324                 "Branch on bit set and clear"]]
325          ["e5" ["bbcc"
326                 [4 1 %<ORB 1 ,BRANCH-BIT>]
327                 "Branch on bit clear and clear"]]
328          ["e6" ["bbssi"
329                 [4 1 %<ORB 1 ,BRANCH-BIT>]
330                 "Branch on bit set and set, interlocked"]]
331          ["e7" ["bbcci"
332                 [4 1 %<ORB 1 ,BRANCH-BIT>]
333                 "Branch on bit clear and clear, interlocked"]]
334          ["e8" ["blbs"
335                 [4 %<ORB 1 ,BRANCH-BIT>]
336                 "Branch on low bit set"]]
337          ["e9" ["blbc"
338                 [4 %<ORB 1 ,BRANCH-BIT>]
339                 "Branch on low bit clear"]]
340          ["ea" ["ffs" [4 1 1 4] "Find first set bit"]]
341          ["eb" ["ffc" [4 1 1 4] "Find first clear bit"]]
342          ["ec" ["cmpv" [4 1 1 4] "Compare field"]]
343          ["ed" ["cmpzv" [4 1 1 4] "Compare zero-extended field"]]
344          ["ee" ["extv" [4 1 1 4] "Extract field"]]
345          ["ef" ["extzv" [4 1 1 4] "Extract zero-extended field"]]
346          ["f0" ["insv" [4 4 1 1] "Insert field"]]
347          ["f1" ["acbl"
348                 [4 4 4 %<ORB 2 ,BRANCH-BIT>]
349                 "Add compare and branch longword"]]
350          ["f2" ["aoblss"
351                 [4 4 %<ORB 1 ,BRANCH-BIT>]
352                 "Add one and branch on less"]]
353          ["f3" ["aobleq"
354                 [4 4 %<ORB 1 ,BRANCH-BIT>]
355                 "Add one and branch on less or equal"]]
356          ["f4" ["sobgeq"
357                 [4 %<ORB 1 ,BRANCH-BIT>]
358                 "Subtract one and branch on greater or equal"]]
359          ["f5" ["sobgtr"
360                 [4 %<ORB 1 ,BRANCH-BIT>]
361                 "Subtract one and branch on greater"]]
362          ["f6" ["cvtlb" [4 1] "Convert longword to byte"]]
363          ["f7" ["cvtlw" [4 2] "Convert longword to word"]]
364          ["f8" ["ashp" [1 2 1 1 2 1] "Arithmetic shift and round packed"]]
365          ["f9" ["cvtlp" [4 2 1] "Convert longword to packed"]]
366          ["fa" ["callg" [1 1] "Call procedure with general argument list"]]
367          ["fb" ["calls" [4 1] "Call procedure with stack argument list"]]
368          ["fc" ["xfc" [] "Extended function call"]]
369          ["fd" 
370           <MAKE-OPCODE-TABLE
371            ["32" ["cvtdh" [8 16] "Convert D_floating to H_floating"]]
372            ["33" ["cvtgf" [8 4] "Convert G_floating to F_floating"]]
373            ["40" ["addg2" [8 8] "Add G_floating 2 operand"]]
374            ["41" ["addg3" [8 8 8] "Add G_floating 3 operand"]]
375            ["42" ["subg2" [8 8] "Subtract G_floating 2 operand"]]
376            ["43" ["subg3" [8 8 8] "Subtract G_floating 3 operand"]]
377            ["44" ["mulg2" [8 8] "Multiply G_floating 2 operand"]]
378            ["45" ["mulg3" [8 8 8] "Multiply G_floating 3 operand"]]
379            ["46" ["divg2" [8 8] "Divide G_floating 2 operand"]]
380            ["47" ["divg3" [8 8 8] "Divide G_floating 3 operand"]]
381            ["48" ["cvtgb" [8 1] "Convert G_floating to byte"]]
382            ["49" ["cvtgw" [8 2] "Convert G_floating to word"]]
383            ["4a" ["cvtgl" [8 4] "Convert G_floating to longword"]]
384            ["4b" ["cvtrgl" [8 8] "Convert rounded G_floating to longword"]]
385            ["4c" ["cvtbg" [1 8] "Convert byte to G_floating"]]
386            ["4d" ["cvtwg" [2 8] "Convert word to G_floating"]]
387            ["4e" ["cvtlg" [4 8] "Convert longword to G_floating"]]
388            ["4f" ["acbg" [8 8 8 2] "Add, compare and branch G_floating"]]
389            ["50" ["movg" [8 8] "Move G_floating"]]
390            ["51" ["cmpg" [8 8] "Compare G_floating"]]
391            ["52" ["mnegg" [8 8] "Move negated G_floating"]]
392            ["53" ["tstg" [8] "Test G_floating"]]
393            ["54" ["emodg" [8 2 8 4 8] "Extended modulus G_floating"]]
394            ["55" ["polyg" [8 2 1] "Polynomial evaluation G_floating"]]
395            ["56" ["cvtgh" [8 16] "Convert G_floating to H_floating"]]
396            ["60" ["addh2" [16 16] "Add H_floating 2 operand"]]
397            ["61" ["addh3" [16 16 16] "Add H_floating 3 operand"]]
398            ["62" ["subh2" [16 16] "Subtract H_floating 2 operand"]]
399            ["63" ["subh3" [16 16 16] "Subtract H_floating 3 operand"]]
400            ["64" ["mulh2" [16 16] "Multiply H_floating 2 operand"]]
401            ["65" ["mulh3" [16 16 16] "Multiply H_floating 3 operand"]]
402            ["66" ["divh2" [16 16] "Divide H_floating 2 operand"]]
403            ["67" ["divh3" [16 16 16] "Divide H_floating 3 operand"]]
404            ["68" ["cvthb" [16 1] "Convert H_floating to byte"]]
405            ["69" ["cvthw" [16 2] "Convert H_floating to word"]]
406            ["6a" ["cvthl" [16 4] "Convert H_floating to longword"]]
407            ["6b" ["cvtrhl" [16 8] "Convert rounded H_floating to longword"]]
408            ["6c" ["cvtbh" [1 16] "Convert byte to H_floating"]]
409            ["6d" ["cvtwh" [2 16] "Convert word to H_floating"]]
410            ["6e" ["cvtlh" [4 16] "Convert longword to H_floating"]]
411            ["6f" ["acbh" [16 16 16 2] "Add, compare and branch H_floating"]]
412            ["70" ["movg" [16 16] "Move H_floating"]]
413            ["71" ["cmpg" [16 16] "Compare H_floating"]]
414            ["72" ["mnegg" [16 16] "Move negated H_floating"]]
415            ["73" ["tstg" [16] "Test H_floating"]]
416            ["74" ["emodg" [16 2 16 4 16] "Extended modulus H_floating"]]
417            ["75" ["polyg" [16 2 1] "Polynomial evaluation H_floating"]]
418            ["76" ["cvthg" [16 8] "Convert H_floating to G_floating"]]
419            ["7c" ["clro" [16] "Clear octaword"]]
420            ["7d" ["movo" [16 16] "Move octaword"]]
421            ["7e" ["movao" [16 4] "Move address of octaword"]]
422            ["7f" ["pushao" [16] "Push address of octaword"]]
423            ["98" ["cvtfh" [4 16] "Convert F_floating to H_floating"]]
424            ["99" ["cvtfg" [4 8] "Convert F_floating to G_floating"]]
425            ["f6" ["cvthf" [16 4] "Convert H_floating to F_floating"]]
426            ["f7" ["cvthd" [16 8] "Convert H_floating to D_floating"]]>]
427          ["fe"
428           <MAKE-OPCODE-TABLE
429            ["fd" ["bugl" [4] "BUGCHECK longword"]]
430            ["fe" ["bugw" [2] "BUGCHECK word"]]>]>>)>
431
432 <COND 
433  (<NOT <FEATURE?"COMPILER">>
434   <SETG KERNEL-TABLE
435         <MAKE-KERNEL-TABLE
436          [8     "finis"]
437          [12    "iframe"]
438          [16    "mcall"]
439          [20    "icons"]
440          [24    "incall"]
441          [28    "igets"]
442          [32    "isets"]
443          [36    "ifixbnd"]
444          [40    "iunbind"]
445          [44    "brecord"]
446          [48    "bvector"]
447          [52    "blist"]
448          [56    "ibind"]
449          [60    "iblock"]
450          [64    "iactivation"]
451          [68    "iagain"]
452          [72    "iretry"]
453          [76    "irtuple"]
454          [80    "ituple"]
455          [84    "lckint"]
456          [88    "inewtype"]
457          [92    "iopen"]
458          [96    "iclose"]
459          [100   "iread"]
460          [104   "iprint"]
461          [108   "isave"]
462          [112   "irestore"]
463          [116   "irandom"]
464          [120   "icomperr"]
465          [124   "birec"]
466          [128   "inthu"]
467          [132   "irestu"]
468          [136   "iputu"]
469          [140   "inthr"]
470          [144   "iputr"]
471          [148   "ibacku"]
472          [152   "itopu"]
473          [156   "ireset"]
474          [160   "iatic"]
475          [164   "iargs"]
476          [168   "ciemp"]
477          [172   "cinth"]
478          [176   "cimon"]
479          [180   "cirst"]
480          [184   "cigas"]
481          [188   "cigvl"]
482          [192   "iswnext"]
483          [196   "inexts"]
484          [200   "irelu"]
485          [204   "irelr"]
486          [208   "irell"]
487          [212   "icontents"]
488          [216   "imarkr"]
489          [220   "imarkr?"]
490          [224   "isyscall"]
491          [228   "iquit"]
492          [232   "ittable"]
493          [236   "isetzone"]
494          [240   "ilegal?"]
495          [244   "iunwcnt"]
496          [248   "impages"]
497          [252   "iputs"]
498          [256   "iacall"]
499          [260   "isyscall"]
500          [264   "irntime"]
501          [268   "isframe"]
502          [272   "imreturn"]
503          [276   "itypew"]
504          [280   "itypewc"]
505          [284   "isavtty"]
506          [288   "ifatal"]
507          [292   "igettty"]
508          [296   "ipipe"]
509          [300   "igverr"]
510          [304   "imovstk"]
511          [308   "igetstk"]
512          [312   "uiblock"]
513          [316   "isblock"]
514          [320   "uisblock"]
515          [324   "iassq"]
516          [328   "ilval"]
517          [332   "iset"]
518          [%<- *17777777777* <* 12 512> 19> "spsto"]
519          [%<- *17777777777* <* 12 512> 15> "bindid"]
520          [%<- *17777777777* <* 12 512> 11> "stktop"]
521          [%<- *17777777777* <* 12 512> 7> "stkbot"]
522          [%<- *17777777777* <* 12 512> 3> "intflg"]>>)>
523
524 <END-DEFINITIONS>