1 /* Copyright (c) 1982 Regents of the University of California */ 2 3 static char sccsid[] = "@(#)optab.c 1.3 08/29/82"; 4 5 /* 6 * px opcode table 7 */ 8 9 #include "optab.h" 10 11 OPTAB optab[] ={ 12 { "badop00" }, 13 { "nodump", PSUBOP, LWORD, HWORD, STRING }, 14 { "beg", PSUBOP, LWORD, LWORD, LWORD, HWORD, STRING }, 15 { "end" }, 16 { "call", DISP, ADDR4 }, 17 { "fcall" }, 18 { "frtn", PSUBOP }, 19 { "fsav", SUBOP, LWORD }, 20 { "sdup2" }, 21 { "sdup4" }, 22 { "tra", ADDR2 }, 23 { "tra4", ADDR4 }, 24 { "goto", DISP, ADDR4 }, 25 { "lino", PSUBOP }, 26 { "push", PSUBOP }, 27 { "badopnn" }, 28 { "if", ADDR2 }, 29 { "rel2", SUBOP }, 30 { "rel4", SUBOP }, 31 { "rel24", SUBOP }, 32 { "rel42", SUBOP }, 33 { "rel8", SUBOP }, 34 { "relg", SUBOP, VLEN }, 35 { "relt", SUBOP, VLEN }, 36 { "rel28", SUBOP }, 37 { "rel48", SUBOP }, 38 { "rel82", SUBOP }, 39 { "rel84", SUBOP }, 40 { "and" }, 41 { "or" }, 42 { "not" }, 43 { "badopnn" }, 44 { "as2" }, 45 { "as4" }, 46 { "as24" }, 47 { "as42" }, 48 { "as21" }, 49 { "as41" }, 50 { "as28" }, 51 { "as48" }, 52 { "as8" }, 53 { "as" }, 54 { "inx2p2", PSUBOP }, 55 { "inx4p2", PSUBOP }, 56 { "inx2", PSUBOP, HWORD, HWORD }, 57 { "inx4", PSUBOP, HWORD, HWORD }, 58 { "off", PSUBOP }, 59 { "nil" }, 60 { "add2" }, 61 { "add4" }, 62 { "add24" }, 63 { "add42" }, 64 { "add28" }, 65 { "add48" }, 66 { "add82" }, 67 { "add84" }, 68 { "sub2" }, 69 { "sub4" }, 70 { "sub24" }, 71 { "sub42" }, 72 { "sub28" }, 73 { "sub48" }, 74 { "sub82" }, 75 { "sub84" }, 76 { "mul2" }, 77 { "mul4" }, 78 { "mul24" }, 79 { "mul42" }, 80 { "mul28" }, 81 { "mul48" }, 82 { "mul82" }, 83 { "mul84" }, 84 { "abs2" }, 85 { "abs4" }, 86 { "abs8" }, 87 { "badopnn" }, 88 { "neg2" }, 89 { "neg4" }, 90 { "neg8" }, 91 { "badopnn" }, 92 { "div2" }, 93 { "div4" }, 94 { "div24" }, 95 { "div42" }, 96 { "mod2" }, 97 { "mod4" }, 98 { "mod24" }, 99 { "mod42" }, 100 { "add8" }, 101 { "sub8" }, 102 { "mul8" }, 103 { "dvd8" }, 104 { "stoi" }, 105 { "stod" }, 106 { "itod" }, 107 { "itos" }, 108 { "dvd2" }, 109 { "dvd4" }, 110 { "dvd24" }, 111 { "dvd42" }, 112 { "dvd28" }, 113 { "dvd48" }, 114 { "dvd82" }, 115 { "dvd84" }, 116 { "rv1", DISP, ADDR2 }, 117 { "rv14", DISP, ADDR2 }, 118 { "rv2", DISP, ADDR2 }, 119 { "rv24", DISP, ADDR2 }, 120 { "rv4", DISP, ADDR2 }, 121 { "rv8", DISP, ADDR2 }, 122 { "rv", PSUBOP, DISP, ADDR2 }, 123 { "lv", DISP, HWORD }, 124 { "lrv1", DISP, ADDR4 }, 125 { "lrv14", DISP, ADDR4 }, 126 { "lrv2", DISP, ADDR4 }, 127 { "lrv24", DISP, ADDR4 }, 128 { "lrv4", DISP, ADDR4 }, 129 { "lrv8", DISP, ADDR4 }, 130 { "lrv", PSUBOP, DISP, ADDR4 }, 131 { "llv", DISP, ADDR4 }, 132 { "ind1" }, 133 { "ind14" }, 134 { "ind2" }, 135 { "ind24" }, 136 { "ind4" }, 137 { "ind8" }, 138 { "ind" }, 139 { "badopnn" }, 140 { "con1", SUBOP }, 141 { "con14", SUBOP }, 142 { "con2", HWORD }, 143 { "con24", HWORD }, 144 { "con4", LWORD }, 145 { "con8", LWORD, LWORD }, 146 { "con", HWORD }, 147 { "lvcon", PSUBOP, STRING }, 148 { "rang2", HWORD, HWORD }, 149 { "rang42", HWORD, HWORD }, 150 { "rsng2", HWORD }, 151 { "rsng42", HWORD }, 152 { "rang4", LWORD, LWORD }, 153 { "rang24", LWORD, LWORD }, 154 { "rsng4", LWORD }, 155 { "rsng24", LWORD }, 156 { "stlim" }, 157 { "llimit" }, 158 { "buff", PSUBOP }, 159 { "halt" }, 160 { "badopnn" }, 161 { "badopnn" }, 162 { "badopnn" }, 163 { "badopnn" }, 164 { "*ord2" }, 165 { "*cong" }, 166 { "*conc" }, 167 { "*conc4" }, 168 { "*abort" }, 169 { "pxpbuf", HWORD }, 170 { "count", HWORD }, 171 { "badopnn" }, 172 { "case1op", HWORD }, 173 { "case2op", HWORD }, 174 { "case4op", HWORD }, 175 { "*casebeg" }, 176 { "*case1" }, 177 { "*case2" }, 178 { "*case4" }, 179 { "*caseend" }, 180 { "addt" }, 181 { "subt" }, 182 { "mult" }, 183 { "inct" }, 184 { "cttot", PSUBOP, HWORD, HWORD }, 185 { "card", PSUBOP }, 186 { "in", PSUBOP, HWORD, HWORD }, 187 { "asrt" }, 188 { "for1u", HWORD, HWORD, ADDR2 }, 189 { "for2u", HWORD, HWORD, ADDR2 }, 190 { "for4u", LWORD, LWORD, ADDR2 }, 191 { "for1d", HWORD, HWORD, ADDR2 }, 192 { "for2d", HWORD, HWORD, ADDR2 }, 193 { "for4d", LWORD, LWORD, ADDR2 }, 194 { "badopnn" }, 195 { "badopnn" }, 196 { "reade", ADDR4 }, 197 { "read4" }, 198 { "readc" }, 199 { "read8" }, 200 { "readln" }, 201 { "eof" }, 202 { "eoln" }, 203 { "badopnn" }, 204 { "writec" }, 205 { "writes" }, 206 { "writef", PSUBOP }, 207 { "writln" }, 208 { "page" }, 209 { "nam", ADDR4 }, 210 { "max", PSUBOP, HWORD }, 211 { "min", PSUBOP }, 212 { "unit" }, 213 { "unitinp" }, 214 { "unitout" }, 215 { "message" }, 216 { "get" }, 217 { "put" }, 218 { "fnil" }, 219 { "badopnn" }, 220 { "defname" }, 221 { "reset" }, 222 { "rewrite" }, 223 { "file" }, 224 { "remove" }, 225 { "flush" }, 226 { "badopnn" }, 227 { "badopnn" }, 228 { "pack", PSUBOP, HWORD, HWORD, HWORD }, 229 { "unpack", PSUBOP, HWORD, HWORD, HWORD }, 230 { "new", PSUBOP }, 231 { "dispose", PSUBOP }, 232 { "dfdisp", PSUBOP }, 233 { "argc" }, 234 { "argv", PSUBOP }, 235 { "badopnn" }, 236 { "clck" }, 237 { "wclck" }, 238 { "sclck" }, 239 { "date" }, 240 { "time" }, 241 { "undef" }, 242 { "atan" }, 243 { "cos" }, 244 { "exp" }, 245 { "ln" }, 246 { "sin" }, 247 { "sqrt" }, 248 { "chr2" }, 249 { "chr4" }, 250 { "odd2" }, 251 { "odd4" }, 252 { "pred2" }, 253 { "pred4" }, 254 { "pred24" }, 255 { "succ2" }, 256 { "succ4" }, 257 { "succ24" }, 258 { "seed" }, 259 { "random" }, 260 { "expo" }, 261 { "sqr2" }, 262 { "sqr4" }, 263 { "sqr8" }, 264 { "round" }, 265 { "trunc" }, 266 }; 267