--- /dev/null
+<DEFINITIONS "EXPOSE-DATA">
+
+<INCLUDE-WHEN <COMPILING? "EXPOSE-DATA"> "EXPOSE-DEFS">
+
+<NEWTYPE OPCODE-TABLE VECTOR>
+
+<SETG REGISTER-NAMES
+ '["r0" "r1" "r2" "r3" "r4" "r5" "r6" "r7" "r8" "r9" "ra"
+ "ms" "fr" "tp" "sp" "pc"]>
+
+<DEFINE MAKE-OPCODE-TABLE ("TUPLE" SPECS "AUX" (TBL <IVECTOR 256 %<>>))
+ #DECL ((SPECS) <TUPLE [REST <VECTOR STRING ANY>]> (TBL) VECTOR)
+ <MAPF %<>
+ <FUNCTION (SPEC "AUX" (SLOT <+ <HEX <1 .SPEC>>:FIX 1>))
+ <PUT .TBL .SLOT <2 .SPEC>>>
+ .SPECS>
+ <CHTYPE .TBL OPCODE-TABLE>>
+
+<DEFINE MAKE-KERNEL-TABLE ("TUPLE" PAIRS "AUX"
+ (RES <IVECTOR ,KERNEL-TABLE-LENGTH ()>))
+ #DECL ((PAIRS) <TUPLE [REST <VECTOR FIX STRING>]>)
+ <MAPF %<>
+ <FUNCTION (PAIR "AUX" BKTNUM)
+ <SET BKTNUM <+ <MOD <1 .PAIR> ,KERNEL-TABLE-LENGTH> 1>>
+ <PUT .RES .BKTNUM (<1 .PAIR> <2 .PAIR> !<NTH .RES .BKTNUM>)>>
+ .PAIRS>
+ .RES>
+
+<COND
+ (<NOT <FEATURE? "COMPILER">>
+ <SETG OPCODE-TABLE
+ <MAKE-OPCODE-TABLE
+ ["00" ["halt" [] "Halt"]]
+ ["01" ["nop" [] "No operation"]]
+ ["02" ["rei" [] "Return from exception or interrupt"]]
+ ["03" ["bpt" [] "Break point fault"]]
+ ["04" ["ret" [] "Return from called procedure"]]
+ ["05" ["rsb" [] "Return from subroutine"]]
+ ["06" ["ldpctx" [] "Load process context"]]
+ ["07" ["svpctx" [] "Save process context"]]
+ ["08" ["cvtps" [2 1 2 1] "Convert packed to leading separate numeric"]]
+ ["09" ["cvtsp" [2 1 2 1] "Convert leading separate numeric to packed"]]
+ ["0a" ["index" [4 4 4 4 4 4] "Compute index"]]
+ ["0b" ["crc" [1 4 2 1] "Calculate cyclic redundancy check"]]
+ ["0c" ["prober" [1 2 1] "Probe read access"]]
+ ["0d" ["probew" [1 2 1] "Probe write access"]]
+ ["0e" ["insque" [1 1] "Insert into queue"]]
+ ["0f" ["remque" [1 4] "Remove from queue"]]
+ ["10" ["bsbb"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch to subroutine with byte displacement"]]
+ ["11" ["brb"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch with byte displacement"]]
+ ["12" ["bneq"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on not equal"]]
+ ["12" ["bnequ"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on not equal unsigned"]]
+ ["13" ["beql"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on equal"]]
+ ["13" ["beqlu"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on equal unsigned"]]
+ ["14" ["bgtr"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on greater"]]
+ ["15" ["bleq"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on less or equal"]]
+ ["16" ["jsb" [1] "Jump to subroutine"]]
+ ["17" ["jmp" [1] "Jump"]]
+ ["18" ["bgeq"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on greater or equal"]]
+ ["19" ["blss"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on less"]]
+ ["1a" ["bgtru"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on greater unsigned"]]
+ ["1b" ["blequ"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on less or equal unsigned"]]
+ ["1c" ["bvc"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on overflow clear"]]
+ ["1d" ["bvs"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on overflow set"]]
+ ["1e" ["bgequ"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on greater or equal unsigned"]]
+ ["1e" ["bcc"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on carry clear"]]
+ ["1f" ["blssu"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on less unsigned"]]
+ ["1f" ["bcs"
+ [%<ORB 1 ,BRANCH-BIT>]
+ "Branch on carry set"]]
+ ["20" ["addp4" [2 1 2 1] "Add packed 4 operand"]]
+ ["21" ["addp6" [2 1 2 1 2 1] "Add packed 6 operand"]]
+ ["22" ["subp4" [2 1 2 1] "Subtract packed 4 operand"]]
+ ["23" ["subp6" [2 1 2 1 2 1] "Subtract packed 6 operand"]]
+ ["24" ["cvtpt" [2 1 1 2 1] "Convert packed to trailing numeric"]]
+ ["25" ["mulp" [2 1 2 1 2 1] "Multiply packed"]]
+ ["26" ["cvttp" [2 1 1 2 1] "Convert trailing numeric to packed"]]
+ ["27" ["divp" [2 1 2 1 2 1] "Divide packed"]]
+ ["28" ["movc3" [2 1 1] "Move character 3 operand"]]
+ ["29" ["cmpc3" [2 1 1] "Compare character 3 operand"]]
+ ["2a" ["scanc" [2 1 1 1] "Scan characters"]]
+ ["2b" ["spanc" [2 1 1 1] "Span characters"]]
+ ["2c" ["movc5" [2 1 1 2 1] "Move character 5 operand"]]
+ ["2d" ["cmpc5" [2 1 1 2 1] "Compare character 5 operand"]]
+ ["2e" ["movtc" [2 1 1 1 2 1] "Move translated characters"]]
+ ["2f" ["movtuc" [2 1 1 1 2 1] "Move translated until character"]]
+ ["30" ["bsbw"
+ [%<ORB 2 ,BRANCH-BIT>]
+ "Branch to subroutine with word displacement"]]
+ ["31" ["brw"
+ [%<ORB 2 ,BRANCH-BIT>]
+ "Branch with word displacement"]]
+ ["32" ["cvtwl" [2 4] "Convert word to longword"]]
+ ["33" ["cvtwb" [2 1] "Convert word to byte"]]
+ ["34" ["movp" [2 1 1] "Move packed"]]
+ ["35" ["cmpp3" [2 1 1] "Compare packed 3 operand"]]
+ ["36" ["cvtpl" [2 1 4] "Convert packed to long"]]
+ ["37" ["cmpp4" [2 1 2 1] "Compare packed 4 operand"]]
+ ["38" ["editpc" [2 1 1 1] "Edit packed to character"]]
+ ["39" ["matchc" [2 1 2 1] "Match characters"]]
+ ["3a" ["locc" [1 2 1] "Locate character"]]
+ ["3b" ["skpc" [1 2 1] "Skip character"]]
+ ["3c" ["movzwl" [2 4] "Move zero-extended word to longword"]]
+ ["3d" ["acbw"
+ [2 2 2 %<ANDB 2 ,BRANCH-BIT>]
+ "Add compare and branch word"]]
+ ["3e" ["movaw" [2 4] "Move address of word"]]
+ ["3f" ["pushaw" [2] "Push address of word"]]
+ ["40" ["addf2" [4 4] "Add F_floating 2 operand"]]
+ ["41" ["addf3" [4 4 4] "Add F_floating 3 operand"]]
+ ["42" ["subf2" [4 4] "Subtract F_floating 2 operand"]]
+ ["43" ["subf3" [4 4 4] "Subtract F_floating 3 operand"]]
+ ["44" ["mulf2" [4 4] "Multiply F_floating 2 operand"]]
+ ["45" ["mulf3" [4 4 4] "Multiply F_floating 3 operand"]]
+ ["46" ["divf2" [4 4] "Divide F_floating 2 operand"]]
+ ["47" ["divf3" [4 4 4] "Divide F_floating 3 operand"]]
+ ["48" ["cvtfb" [4 1] "Convert F_floating to byte"]]
+ ["49" ["cvtfw" [4 2] "Convert F_floating to word"]]
+ ["4a" ["cvtfl" [4 4] "Convert F_floating to longword"]]
+ ["4b" ["cvtrfl" [4 4] "Convert rounded F_floating to longword"]]
+ ["4c" ["cvtbf" [1 4] "Convert byte to F_floating"]]
+ ["4d" ["cvtwf" [2 4] "Convert word to F_floating"]]
+ ["4e" ["cvtlf" [4 4] "Convert longword to F_floating"]]
+ ["4f" ["acbf"
+ [4 4 4 %<ORB 2 ,BRANCH-BIT>]
+ "Add compare and branch F_floating"]]
+ ["50" ["movf" [4 4] "Move F_floating"]]
+ ["51" ["cmpf" [4 4] "Compare F_floating"]]
+ ["52" ["mnegf" [4 4] "Move negated F_floating"]]
+ ["53" ["tstf" [4] "Test F_floating"]]
+ ["54" ["emodf" [4 1 4 4 4] "Extended modulus F_floating"]]
+ ["55" ["polyf" [4 2 1] "Evaluate polynomial F_floating"]]
+ ["56" ["cvtfd" [4 8] "Convert F_floating to D_floating"]]
+ ["58" ["adawi" [2 2] "Add aligned word, interlocked"]]
+ ["5c" ["insqhi" [1 8] "Insert into queue head, interlocked"]]
+ ["5d" ["insqti" [1 8] "Insert into queue tail, interlocked"]]
+ ["5e" ["remqhi" [8 4] "Remove from queue head, interlocked"]]
+ ["5f" ["remqti" [8 4] "Remove from queue tail, interlocked"]]
+ ["60" ["addd2" [8 8] "Add D_floating 2 operand"]]
+ ["61" ["addd3" [8 8 8] "Add D_floating 3 operand"]]
+ ["62" ["subd2" [8 8] "Subtract D_floating 2 operand"]]
+ ["63" ["subd3" [8 8 8] "Subtract D_floating 3 operand"]]
+ ["64" ["muld2" [8 8] "Multiply D_floating 2 operand"]]
+ ["65" ["muld3" [8 8 8] "Multiply D_floating 3 operand"]]
+ ["66" ["divd2" [8 8] "Divide D_floating 2 operand"]]
+ ["67" ["divd3" [8 8 8] "Divide D_floating 3 operand"]]
+ ["68" ["cvtdb" [8 1] "Convert D_floating to byte"]]
+ ["69" ["cvtdw" [8 2] "Convert D_floating to word"]]
+ ["6a" ["cvtdl" [8 4] "Convert D_floating to longword"]]
+ ["6b" ["cvtrdl" [8 4] "Convert rounded D_floating to longword"]]
+ ["6c" ["cvtbd" [1 8] "Convert byte to D_floating"]]
+ ["6d" ["cvtwd" [2 8] "Convert word to D_floating"]]
+ ["6e" ["cvtld" [4 8] "Convert longword to D_floating"]]
+ ["6f" ["acbd"
+ [8 8 8 %<ORB 2 ,BRANCH-BIT>]
+ "Add compare and branch D_floating"]]
+ ["70" ["movd" [8 8] "Move D_floating"]]
+ ["71" ["cmpd" [8 8] "Compare D_floating"]]
+ ["72" ["mnegd" [8 8] "Move negated D_floating"]]
+ ["73" ["tstd" [8] "Test D_floating"]]
+ ["74" ["emodd" [8 1 8 4 8] "Extended modulus D_floating"]]
+ ["75" ["polyd" [8 2 1] "Evaluate polynomial D_floating"]]
+ ["76" ["cvtdf" [8 4] "Convert D_floating to F_floating"]]
+ ["78" ["ashl" [1 4 4] "Arithmetic shift longword"]]
+ ["79" ["ashq" [1 8 8] "Arithmetic shift quadword"]]
+ ["7a" ["emul" [4 4 4 8] "Extended multiply"]]
+ ["7b" ["ediv" [4 8 4 4] "Extended divide"]]
+ ["7c" ["clrq" [8] "Clear quadword"]]
+ ["7d" ["movq" [8 8] "Move quadword"]]
+ ["7e" ["movaq" [8 4] "Move address of quadword"]]
+ ["7f" ["pushaq" [8] "Push address of quadword"]]
+ ["80" ["addb2" [1 1] "Add byte 2 operand"]]
+ ["81" ["addb3" [1 1 1] "Add byte 3 operand"]]
+ ["82" ["subb2" [1 1] "Subtract byte 2 operand"]]
+ ["83" ["subb3" [1 1 1] "Subtract byte 3 operand"]]
+ ["84" ["mulb2" [1 1] "Multiply byte 2 operand"]]
+ ["85" ["mulb3" [1 1 1] "Multiply byte 3 operand"]]
+ ["86" ["divb2" [1 1] "Divide byte 2 operand"]]
+ ["87" ["divb3" [1 1 1] "Divide byte 3 operand"]]
+ ["88" ["bisb2" [1 1] "Bit set byte 2 operand"]]
+ ["89" ["bisb3" [1 1 1] "Bit set byte 3 operand"]]
+ ["8a" ["bicb2" [1 1] "Bit clear byte 2 operand"]]
+ ["8b" ["bicb3" [1 1 1] "Bit clear byte 3 operand"]]
+ ["8c" ["xorb2" [1 1] "Exclusive OR byte 2 operand"]]
+ ["8d" ["xorb3" [1 1 1] "Exclusive OR byte 3 operand"]]
+ ["8e" ["mnegb" [1 1] "Move negated byte"]]
+ ["8f" ["caseb"
+ [1 1 %<ORB 1 ,CASE-BIT>]
+ "Case byte"]]
+ ["90" ["movb" [1 1] "Move byte"]]
+ ["91" ["cmpb" [1 1] "Compare byte"]]
+ ["92" ["mcomb" [1 1] "Move complemented byte"]]
+ ["93" ["bitb" [1 1] "Bit test byte"]]
+ ["94" ["clrb" [1] "Clear byte"]]
+ ["95" ["tstb" [1] "Test byte"]]
+ ["96" ["incb" [1] "Increment byte"]]
+ ["97" ["decb" [1] "Decrement byte"]]
+ ["98" ["cvtbl" [1 4] "Convert byte to longword"]]
+ ["99" ["cvtbw" [1 2] "Convert byte to word"]]
+ ["9a" ["movzbl" [1 4] "Move zero-extended byte to longword"]]
+ ["9b" ["movzbw" [1 2] "Move zero-extended byte to word"]]
+ ["9c" ["rotl" [1 4 4] "Rotate longword"]]
+ ["9d" ["acbb"
+ [1 1 1 %<ORB 2 ,BRANCH-BIT>]
+ "Add compare and branch byte"]]
+ ["9e" ["movab" [1 4] "Move address of byte"]]
+ ["9f" ["pushab" [1] "Push address of byte"]]
+ ["a0" ["addw2" [2 2] "Add word 2 operand"]]
+ ["a1" ["addw3" [2 2 2] "Add word 3 operand"]]
+ ["a2" ["subw2" [2 2] "Subtract word 2 operand"]]
+ ["a3" ["subw3" [2 2 2] "Subtract word 3 operand"]]
+ ["a4" ["mulw2" [2 2] "Multiply word 2 operand"]]
+ ["a5" ["mulw3" [2 2 2] "Multiply word 3 operand"]]
+ ["a6" ["divw2" [2 2] "Divide word 2 operand"]]
+ ["a7" ["divw3" [2 2 2] "Divide word 3 operand"]]
+ ["a8" ["bisw2" [2 2] "Bit set word 2 operand"]]
+ ["a9" ["bisw3" [2 2 2] "Bit set word 3 operand"]]
+ ["aa" ["bicw2" [2 2] "Bit clear word 2 operand"]]
+ ["ab" ["bicw3" [2 2 2] "Bit clear word 3 operand"]]
+ ["ac" ["xorw2" [2 2] "Exclusive OR word 2 operand"]]
+ ["ad" ["xorw3" [2 2 2] "Exclusive OR word 3 operand"]]
+ ["ae" ["mnegw" [2 2] "Move negated word"]]
+ ["af" ["casew"
+ [2 2 %<ORB 2 ,CASE-BIT>]
+ "Case word"]]
+ ["b0" ["movw" [2 2] "Move word"]]
+ ["b1" ["cmpw" [2 2] "Compare word"]]
+ ["b2" ["mcomw" [2 2] "Move complemented word"]]
+ ["b3" ["bitw" [2 2] "Bit test word"]]
+ ["b4" ["clrw" [2] "Clear word"]]
+ ["b5" ["tstw" [2] "Test word"]]
+ ["b6" ["incw" [2] "Increment word"]]
+ ["b7" ["decw" [2] "Decrement word"]]
+ ["b8" ["bispsw" [2] "Bit set processor status word"]]
+ ["b9" ["bicpsw" [2] "Bit clear processor status word"]]
+ ["ba" ["popr" [2] "Pop registers"]]
+ ["bb" ["pushr" [2] "Push registers"]]
+ ["bc" ["chmk" [2] "Change mode to kernel"]]
+ ["bd" ["chme" [2] "Change mode to executive"]]
+ ["be" ["chms" [2] "Change mode to supervisor"]]
+ ["bf" ["chmu" [2] "Change mode to user"]]
+ ["c0" ["addl2" [4 4] "Add longword 2 operand"]]
+ ["c1" ["addl3" [4 4 4] "Add longword 3 operand"]]
+ ["c2" ["subl2" [4 4] "Subtract longword 2 operand"]]
+ ["c3" ["subl3" [4 4 4] "Subtract longword 3 operand"]]
+ ["c4" ["mull2" [4 4] "Multiply longword 2 operand"]]
+ ["c5" ["mull3" [4 4 4] "Multiply longword 3 operand"]]
+ ["c6" ["divl2" [4 4] "Divide longword 2 operand"]]
+ ["c7" ["divl3" [4 4 4] "Divide longword 3 operand"]]
+ ["c8" ["bisl2" [4 4] "Bit set longword 2 operand"]]
+ ["c9" ["bisl3" [4 4 4] "Bit set longword 3 operand"]]
+ ["ca" ["bicl2" [4 4] "Bit clear longword 2 operand"]]
+ ["cb" ["bicl3" [4 4 4] "Bit clear longword 3 operand"]]
+ ["cc" ["xorl2" [4 4] "Exclusive OR longword 2 operand"]]
+ ["cd" ["xorl3" [4 4 4] "Exclusive OR longword 3 operand"]]
+ ["ce" ["mnegl" [4 4] "Move negated longword"]]
+ ["cf" ["casel"
+ [4 4 %<ORB 4 ,CASE-BIT>]
+ "Case longword"]]
+ ["d0" ["movl" [4 4] "Move longword"]]
+ ["d1" ["cmpl" [4 4] "Compare longword"]]
+ ["d2" ["mcoml" [4 4] "Move complemented longword"]]
+ ["d3" ["bitl" [4 4] "Bit test longword"]]
+ ["d4" ["clrl" [4] "Clear longword"]]
+ ["d5" ["tstl" [4] "Test longword"]]
+ ["d6" ["incl" [4] "Increment longword"]]
+ ["d7" ["decl" [4] "Decrement longword"]]
+ ["d8" ["adwc" [4 4] "Add with carry"]]
+ ["d9" ["sbwc" [4 4] "Subtract with carry"]]
+ ["da" ["mtpr" [4 4] "Move to processor register"]]
+ ["db" ["mfpr" [4 4] "Move from processor register"]]
+ ["dc" ["movpsl" [4] "Move processor status longword"]]
+ ["dd" ["pushl" [4 4] "Push longword"]]
+ ["de" ["moval" [4 4] "Move address of longword"]]
+ ["df" ["pushal" [4] "Push address of longword"]]
+ ["e0" ["bbs"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit set"]]
+ ["e1" ["bbc"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit clear"]]
+ ["e2" ["bbss"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit set and set"]]
+ ["e3" ["bbcs"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit clear and set"]]
+ ["e4" ["bbsc"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit set and clear"]]
+ ["e5" ["bbcc"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit clear and clear"]]
+ ["e6" ["bbssi"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit set and set, interlocked"]]
+ ["e7" ["bbcci"
+ [4 1 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on bit clear and clear, interlocked"]]
+ ["e8" ["blbs"
+ [4 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on low bit set"]]
+ ["e9" ["blbc"
+ [4 %<ORB 1 ,BRANCH-BIT>]
+ "Branch on low bit clear"]]
+ ["ea" ["ffs" [4 1 1 4] "Find first set bit"]]
+ ["eb" ["ffc" [4 1 1 4] "Find first clear bit"]]
+ ["ec" ["cmpv" [4 1 1 4] "Compare field"]]
+ ["ed" ["cmpzv" [4 1 1 4] "Compare zero-extended field"]]
+ ["ee" ["extv" [4 1 1 4] "Extract field"]]
+ ["ef" ["extzv" [4 1 1 4] "Extract zero-extended field"]]
+ ["f0" ["insv" [4 4 1 1] "Insert field"]]
+ ["f1" ["acbl"
+ [4 4 4 %<ORB 2 ,BRANCH-BIT>]
+ "Add compare and branch longword"]]
+ ["f2" ["aoblss"
+ [4 4 %<ORB 1 ,BRANCH-BIT>]
+ "Add one and branch on less"]]
+ ["f3" ["aobleq"
+ [4 4 %<ORB 1 ,BRANCH-BIT>]
+ "Add one and branch on less or equal"]]
+ ["f4" ["sobgeq"
+ [4 %<ORB 1 ,BRANCH-BIT>]
+ "Subtract one and branch on greater or equal"]]
+ ["f5" ["sobgtr"
+ [4 %<ORB 1 ,BRANCH-BIT>]
+ "Subtract one and branch on greater"]]
+ ["f6" ["cvtlb" [4 1] "Convert longword to byte"]]
+ ["f7" ["cvtlw" [4 2] "Convert longword to word"]]
+ ["f8" ["ashp" [1 2 1 1 2 1] "Arithmetic shift and round packed"]]
+ ["f9" ["cvtlp" [4 2 1] "Convert longword to packed"]]
+ ["fa" ["callg" [1 1] "Call procedure with general argument list"]]
+ ["fb" ["calls" [4 1] "Call procedure with stack argument list"]]
+ ["fc" ["xfc" [] "Extended function call"]]
+ ["fd"
+ <MAKE-OPCODE-TABLE
+ ["32" ["cvtdh" [8 16] "Convert D_floating to H_floating"]]
+ ["33" ["cvtgf" [8 4] "Convert G_floating to F_floating"]]
+ ["40" ["addg2" [8 8] "Add G_floating 2 operand"]]
+ ["41" ["addg3" [8 8 8] "Add G_floating 3 operand"]]
+ ["42" ["subg2" [8 8] "Subtract G_floating 2 operand"]]
+ ["43" ["subg3" [8 8 8] "Subtract G_floating 3 operand"]]
+ ["44" ["mulg2" [8 8] "Multiply G_floating 2 operand"]]
+ ["45" ["mulg3" [8 8 8] "Multiply G_floating 3 operand"]]
+ ["46" ["divg2" [8 8] "Divide G_floating 2 operand"]]
+ ["47" ["divg3" [8 8 8] "Divide G_floating 3 operand"]]
+ ["48" ["cvtgb" [8 1] "Convert G_floating to byte"]]
+ ["49" ["cvtgw" [8 2] "Convert G_floating to word"]]
+ ["4a" ["cvtgl" [8 4] "Convert G_floating to longword"]]
+ ["4b" ["cvtrgl" [8 8] "Convert rounded G_floating to longword"]]
+ ["4c" ["cvtbg" [1 8] "Convert byte to G_floating"]]
+ ["4d" ["cvtwg" [2 8] "Convert word to G_floating"]]
+ ["4e" ["cvtlg" [4 8] "Convert longword to G_floating"]]
+ ["4f" ["acbg" [8 8 8 2] "Add, compare and branch G_floating"]]
+ ["50" ["movg" [8 8] "Move G_floating"]]
+ ["51" ["cmpg" [8 8] "Compare G_floating"]]
+ ["52" ["mnegg" [8 8] "Move negated G_floating"]]
+ ["53" ["tstg" [8] "Test G_floating"]]
+ ["54" ["emodg" [8 2 8 4 8] "Extended modulus G_floating"]]
+ ["55" ["polyg" [8 2 1] "Polynomial evaluation G_floating"]]
+ ["56" ["cvtgh" [8 16] "Convert G_floating to H_floating"]]
+ ["60" ["addh2" [16 16] "Add H_floating 2 operand"]]
+ ["61" ["addh3" [16 16 16] "Add H_floating 3 operand"]]
+ ["62" ["subh2" [16 16] "Subtract H_floating 2 operand"]]
+ ["63" ["subh3" [16 16 16] "Subtract H_floating 3 operand"]]
+ ["64" ["mulh2" [16 16] "Multiply H_floating 2 operand"]]
+ ["65" ["mulh3" [16 16 16] "Multiply H_floating 3 operand"]]
+ ["66" ["divh2" [16 16] "Divide H_floating 2 operand"]]
+ ["67" ["divh3" [16 16 16] "Divide H_floating 3 operand"]]
+ ["68" ["cvthb" [16 1] "Convert H_floating to byte"]]
+ ["69" ["cvthw" [16 2] "Convert H_floating to word"]]
+ ["6a" ["cvthl" [16 4] "Convert H_floating to longword"]]
+ ["6b" ["cvtrhl" [16 8] "Convert rounded H_floating to longword"]]
+ ["6c" ["cvtbh" [1 16] "Convert byte to H_floating"]]
+ ["6d" ["cvtwh" [2 16] "Convert word to H_floating"]]
+ ["6e" ["cvtlh" [4 16] "Convert longword to H_floating"]]
+ ["6f" ["acbh" [16 16 16 2] "Add, compare and branch H_floating"]]
+ ["70" ["movg" [16 16] "Move H_floating"]]
+ ["71" ["cmpg" [16 16] "Compare H_floating"]]
+ ["72" ["mnegg" [16 16] "Move negated H_floating"]]
+ ["73" ["tstg" [16] "Test H_floating"]]
+ ["74" ["emodg" [16 2 16 4 16] "Extended modulus H_floating"]]
+ ["75" ["polyg" [16 2 1] "Polynomial evaluation H_floating"]]
+ ["76" ["cvthg" [16 8] "Convert H_floating to G_floating"]]
+ ["7c" ["clro" [16] "Clear octaword"]]
+ ["7d" ["movo" [16 16] "Move octaword"]]
+ ["7e" ["movao" [16 4] "Move address of octaword"]]
+ ["7f" ["pushao" [16] "Push address of octaword"]]
+ ["98" ["cvtfh" [4 16] "Convert F_floating to H_floating"]]
+ ["99" ["cvtfg" [4 8] "Convert F_floating to G_floating"]]
+ ["f6" ["cvthf" [16 4] "Convert H_floating to F_floating"]]
+ ["f7" ["cvthd" [16 8] "Convert H_floating to D_floating"]]>]
+ ["fe"
+ <MAKE-OPCODE-TABLE
+ ["fd" ["bugl" [4] "BUGCHECK longword"]]
+ ["fe" ["bugw" [2] "BUGCHECK word"]]>]>>)>
+
+<COND
+ (<NOT <FEATURE?"COMPILER">>
+ <SETG KERNEL-TABLE
+ <MAKE-KERNEL-TABLE
+ [8 "finis"]
+ [12 "iframe"]
+ [16 "mcall"]
+ [20 "icons"]
+ [24 "incall"]
+ [28 "igets"]
+ [32 "isets"]
+ [36 "ifixbnd"]
+ [40 "iunbind"]
+ [44 "brecord"]
+ [48 "bvector"]
+ [52 "blist"]
+ [56 "ibind"]
+ [60 "iblock"]
+ [64 "iactivation"]
+ [68 "iagain"]
+ [72 "iretry"]
+ [76 "irtuple"]
+ [80 "ituple"]
+ [84 "lckint"]
+ [88 "inewtype"]
+ [92 "iopen"]
+ [96 "iclose"]
+ [100 "iread"]
+ [104 "iprint"]
+ [108 "isave"]
+ [112 "irestore"]
+ [116 "irandom"]
+ [120 "icomperr"]
+ [124 "birec"]
+ [128 "inthu"]
+ [132 "irestu"]
+ [136 "iputu"]
+ [140 "inthr"]
+ [144 "iputr"]
+ [148 "ibacku"]
+ [152 "itopu"]
+ [156 "ireset"]
+ [160 "iatic"]
+ [164 "iargs"]
+ [168 "ciemp"]
+ [172 "cinth"]
+ [176 "cimon"]
+ [180 "cirst"]
+ [184 "cigas"]
+ [188 "cigvl"]
+ [192 "iswnext"]
+ [196 "inexts"]
+ [200 "irelu"]
+ [204 "irelr"]
+ [208 "irell"]
+ [212 "icontents"]
+ [216 "imarkr"]
+ [220 "imarkr?"]
+ [224 "isyscall"]
+ [228 "iquit"]
+ [232 "ittable"]
+ [236 "isetzone"]
+ [240 "ilegal?"]
+ [244 "iunwcnt"]
+ [248 "impages"]
+ [252 "iputs"]
+ [256 "iacall"]
+ [260 "isyscall"]
+ [264 "irntime"]
+ [268 "isframe"]
+ [272 "imreturn"]
+ [276 "itypew"]
+ [280 "itypewc"]
+ [284 "isavtty"]
+ [288 "ifatal"]
+ [292 "igettty"]
+ [296 "ipipe"]
+ [300 "igverr"]
+ [304 "imovstk"]
+ [308 "igetstk"]
+ [312 "uiblock"]
+ [316 "isblock"]
+ [320 "uisblock"]
+ [324 "iassq"]
+ [328 "ilval"]
+ [332 "iset"]
+ [%<- *17777777777* <* 12 512> 19> "spsto"]
+ [%<- *17777777777* <* 12 512> 15> "bindid"]
+ [%<- *17777777777* <* 12 512> 11> "stktop"]
+ [%<- *17777777777* <* 12 512> 7> "stkbot"]
+ [%<- *17777777777* <* 12 512> 3> "intflg"]>>)>
+
+<END-DEFINITIONS>