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