1 void (*optab[256])(void) = 2 { 3 badop, 4 alt, 5 nbalt, 6 igoto, 7 call, 8 frame, 9 spawn, 10 runt, 11 iload, 12 mcall, 13 mspawn, 14 mframe, 15 ret, 16 jmp, 17 icase, 18 iexit, 19 new, 20 newa, 21 newcb, 22 newcw, 23 newcf, 24 newcp, 25 newcm, 26 newcmp, 27 isend, 28 irecv, 29 consb, 30 consw, 31 consp, 32 consf, 33 consm, 34 consmp, 35 headb, 36 headw, 37 headp, 38 headf, 39 headm, 40 headmp, 41 tail, 42 lea, 43 indx, 44 movp, 45 movm, 46 movmp, 47 movb, 48 movw, 49 movf, 50 cvtbw, 51 cvtwb, 52 cvtfw, 53 cvtwf, 54 cvtca, 55 cvtac, 56 cvtwc, 57 cvtcw, 58 cvtfc, 59 cvtcf, 60 addb, 61 addw, 62 addf, 63 subb, 64 subw, 65 subf, 66 mulb, 67 mulw, 68 mulf, 69 divb, 70 divw, 71 divf, 72 modw, 73 modb, 74 andb, 75 andw, 76 orb, 77 orw, 78 xorb, 79 xorw, 80 shlb, 81 shlw, 82 shrb, 83 shrw, 84 insc, 85 indc, 86 addc, 87 lenc, 88 lena, 89 lenl, 90 beqb, 91 bneb, 92 bltb, 93 bleb, 94 bgtb, 95 bgeb, 96 beqw, 97 bnew, 98 bltw, 99 blew, 100 bgtw, 101 bgew, 102 beqf, 103 bnef, 104 bltf, 105 blef, 106 bgtf, 107 bgef, 108 beqc, 109 bnec, 110 bltc, 111 blec, 112 bgtc, 113 bgec, 114 slicea, 115 slicela, 116 slicec, 117 indw, 118 indf, 119 indb, 120 negf, 121 movl, 122 addl, 123 subl, 124 divl, 125 modl, 126 mull, 127 andl, 128 orl, 129 xorl, 130 shll, 131 shrl, 132 bnel, 133 bltl, 134 blel, 135 bgtl, 136 bgel, 137 beql, 138 cvtlf, 139 cvtfl, 140 cvtlw, 141 cvtwl, 142 cvtlc, 143 cvtcl, 144 headl, 145 consl, 146 newcl, 147 casec, 148 indl, 149 movpc, 150 tcmp, 151 mnewz, 152 cvtrf, 153 cvtfr, 154 cvtws, 155 cvtsw, 156 lsrw, 157 lsrl, 158 eclr, /* unused */ 159 newz, 160 newaz, 161 iraise, 162 casel, 163 mulx, 164 divx, 165 cvtxx, 166 mulx0, 167 divx0, 168 cvtxx0, 169 mulx1, 170 divx1, 171 cvtxx1, 172 cvtfx, 173 cvtxf, 174 iexpw, 175 iexpl, 176 iexpf, 177 self, 178 /* fix maxdis if you add opcodes */ 179 }; 180