122364Sdist /* 222364Sdist * Copyright (c) 1980 Regents of the University of California. 322364Sdist * All rights reserved. The Berkeley software License Agreement 422364Sdist * specifies the terms and conditions for redistribution. 522364Sdist */ 65478Slinton 722364Sdist #ifndef lint 8*32286Smckusick static char sccsid[] = "@(#)optab.c 5.2 (Berkeley) 09/30/87"; 922364Sdist #endif not lint 105478Slinton 115478Slinton /* 125478Slinton * px opcode table 135478Slinton */ 145478Slinton 155478Slinton #include "optab.h" 165478Slinton 175478Slinton OPTAB optab[] ={ 18*32286Smckusick { "badop0" }, 195478Slinton { "nodump", PSUBOP, LWORD, HWORD, STRING }, 20*32286Smckusick #ifdef ADDR32 21*32286Smckusick { "beg", PSUBOP, LWORD, LWORD, HWORD, LWORD, STRING }, 22*32286Smckusick #else 23*32286Smckusick { "beg", PSUBOP, LWORD, LWORD, HWORD, HWORD, STRING }, 24*32286Smckusick #endif 255478Slinton { "end" }, 265478Slinton { "call", DISP, ADDR4 }, 275478Slinton { "fcall" }, 285478Slinton { "frtn", PSUBOP }, 295478Slinton { "fsav", SUBOP, LWORD }, 305478Slinton { "sdup2" }, 315478Slinton { "sdup4" }, 325478Slinton { "tra", ADDR2 }, 335478Slinton { "tra4", ADDR4 }, 345478Slinton { "goto", DISP, ADDR4 }, 355478Slinton { "lino", PSUBOP }, 365478Slinton { "push", PSUBOP }, 37*32286Smckusick { "badop15" }, 385478Slinton { "if", ADDR2 }, 395478Slinton { "rel2", SUBOP }, 405478Slinton { "rel4", SUBOP }, 415478Slinton { "rel24", SUBOP }, 425478Slinton { "rel42", SUBOP }, 435478Slinton { "rel8", SUBOP }, 445478Slinton { "relg", SUBOP, VLEN }, 455478Slinton { "relt", SUBOP, VLEN }, 465478Slinton { "rel28", SUBOP }, 475478Slinton { "rel48", SUBOP }, 485478Slinton { "rel82", SUBOP }, 495478Slinton { "rel84", SUBOP }, 505478Slinton { "and" }, 515478Slinton { "or" }, 525478Slinton { "not" }, 53*32286Smckusick { "badop31" }, 545478Slinton { "as2" }, 555478Slinton { "as4" }, 565478Slinton { "as24" }, 575478Slinton { "as42" }, 585478Slinton { "as21" }, 595478Slinton { "as41" }, 605478Slinton { "as28" }, 615478Slinton { "as48" }, 625478Slinton { "as8" }, 635478Slinton { "as" }, 645478Slinton { "inx2p2", PSUBOP }, 655478Slinton { "inx4p2", PSUBOP }, 665478Slinton { "inx2", PSUBOP, HWORD, HWORD }, 675478Slinton { "inx4", PSUBOP, HWORD, HWORD }, 685478Slinton { "off", PSUBOP }, 695478Slinton { "nil" }, 705478Slinton { "add2" }, 715478Slinton { "add4" }, 725478Slinton { "add24" }, 735478Slinton { "add42" }, 745478Slinton { "add28" }, 755478Slinton { "add48" }, 765478Slinton { "add82" }, 775478Slinton { "add84" }, 785478Slinton { "sub2" }, 795478Slinton { "sub4" }, 805478Slinton { "sub24" }, 815478Slinton { "sub42" }, 825478Slinton { "sub28" }, 835478Slinton { "sub48" }, 845478Slinton { "sub82" }, 855478Slinton { "sub84" }, 865478Slinton { "mul2" }, 875478Slinton { "mul4" }, 885478Slinton { "mul24" }, 895478Slinton { "mul42" }, 905478Slinton { "mul28" }, 915478Slinton { "mul48" }, 925478Slinton { "mul82" }, 935478Slinton { "mul84" }, 945478Slinton { "abs2" }, 955478Slinton { "abs4" }, 965478Slinton { "abs8" }, 97*32286Smckusick { "badop75" }, 985478Slinton { "neg2" }, 995478Slinton { "neg4" }, 1005478Slinton { "neg8" }, 101*32286Smckusick { "badop79" }, 1025478Slinton { "div2" }, 1035478Slinton { "div4" }, 1045478Slinton { "div24" }, 1055478Slinton { "div42" }, 1065478Slinton { "mod2" }, 1075478Slinton { "mod4" }, 1085478Slinton { "mod24" }, 1095478Slinton { "mod42" }, 1105478Slinton { "add8" }, 1115478Slinton { "sub8" }, 1125478Slinton { "mul8" }, 1135478Slinton { "dvd8" }, 1145478Slinton { "stoi" }, 1155478Slinton { "stod" }, 1165478Slinton { "itod" }, 1175478Slinton { "itos" }, 1185478Slinton { "dvd2" }, 1195478Slinton { "dvd4" }, 1205478Slinton { "dvd24" }, 1215478Slinton { "dvd42" }, 1225478Slinton { "dvd28" }, 1235478Slinton { "dvd48" }, 1245478Slinton { "dvd82" }, 1255478Slinton { "dvd84" }, 1265478Slinton { "rv1", DISP, ADDR2 }, 1275478Slinton { "rv14", DISP, ADDR2 }, 1285478Slinton { "rv2", DISP, ADDR2 }, 1295478Slinton { "rv24", DISP, ADDR2 }, 1305478Slinton { "rv4", DISP, ADDR2 }, 1315478Slinton { "rv8", DISP, ADDR2 }, 1325478Slinton { "rv", PSUBOP, DISP, ADDR2 }, 1335478Slinton { "lv", DISP, HWORD }, 1345478Slinton { "lrv1", DISP, ADDR4 }, 1355478Slinton { "lrv14", DISP, ADDR4 }, 1365478Slinton { "lrv2", DISP, ADDR4 }, 1375478Slinton { "lrv24", DISP, ADDR4 }, 1385478Slinton { "lrv4", DISP, ADDR4 }, 1395478Slinton { "lrv8", DISP, ADDR4 }, 1405478Slinton { "lrv", PSUBOP, DISP, ADDR4 }, 1415478Slinton { "llv", DISP, ADDR4 }, 1425478Slinton { "ind1" }, 1435478Slinton { "ind14" }, 1445478Slinton { "ind2" }, 1455478Slinton { "ind24" }, 1465478Slinton { "ind4" }, 1475478Slinton { "ind8" }, 1485478Slinton { "ind" }, 149*32286Smckusick { "badop127" }, 1505478Slinton { "con1", SUBOP }, 1515478Slinton { "con14", SUBOP }, 1525478Slinton { "con2", HWORD }, 1535478Slinton { "con24", HWORD }, 1545478Slinton { "con4", LWORD }, 1555478Slinton { "con8", LWORD, LWORD }, 1565478Slinton { "con", HWORD }, 1575478Slinton { "lvcon", PSUBOP, STRING }, 1585478Slinton { "rang2", HWORD, HWORD }, 1595478Slinton { "rang42", HWORD, HWORD }, 1605478Slinton { "rsng2", HWORD }, 1615478Slinton { "rsng42", HWORD }, 1625478Slinton { "rang4", LWORD, LWORD }, 1635478Slinton { "rang24", LWORD, LWORD }, 1645478Slinton { "rsng4", LWORD }, 1655478Slinton { "rsng24", LWORD }, 1665478Slinton { "stlim" }, 1675478Slinton { "llimit" }, 1685478Slinton { "buff", PSUBOP }, 1695478Slinton { "halt" }, 170*32286Smckusick { "badop148" }, 171*32286Smckusick { "badop149" }, 172*32286Smckusick { "badop150" }, 173*32286Smckusick { "badop151" }, 1745478Slinton { "*ord2" }, 1755478Slinton { "*cong" }, 1765478Slinton { "*conc" }, 1775478Slinton { "*conc4" }, 1785478Slinton { "*abort" }, 1795478Slinton { "pxpbuf", HWORD }, 1805478Slinton { "count", HWORD }, 181*32286Smckusick { "badop159" }, 1825478Slinton { "case1op", HWORD }, 1835478Slinton { "case2op", HWORD }, 1845478Slinton { "case4op", HWORD }, 1855478Slinton { "*casebeg" }, 1865478Slinton { "*case1" }, 1875478Slinton { "*case2" }, 1885478Slinton { "*case4" }, 1895478Slinton { "*caseend" }, 1905478Slinton { "addt" }, 1915478Slinton { "subt" }, 1925478Slinton { "mult" }, 1935478Slinton { "inct" }, 1945478Slinton { "cttot", PSUBOP, HWORD, HWORD }, 1955478Slinton { "card", PSUBOP }, 1965478Slinton { "in", PSUBOP, HWORD, HWORD }, 1975478Slinton { "asrt" }, 1985478Slinton { "for1u", HWORD, HWORD, ADDR2 }, 1995478Slinton { "for2u", HWORD, HWORD, ADDR2 }, 2005478Slinton { "for4u", LWORD, LWORD, ADDR2 }, 2015478Slinton { "for1d", HWORD, HWORD, ADDR2 }, 2025478Slinton { "for2d", HWORD, HWORD, ADDR2 }, 2035478Slinton { "for4d", LWORD, LWORD, ADDR2 }, 204*32286Smckusick { "badop182" }, 205*32286Smckusick { "badop183" }, 2065478Slinton { "reade", ADDR4 }, 2075478Slinton { "read4" }, 2085478Slinton { "readc" }, 2095478Slinton { "read8" }, 2105478Slinton { "readln" }, 2115478Slinton { "eof" }, 2125478Slinton { "eoln" }, 213*32286Smckusick { "badop191" }, 2145478Slinton { "writec" }, 2155478Slinton { "writes" }, 2165478Slinton { "writef", PSUBOP }, 2175478Slinton { "writln" }, 2185478Slinton { "page" }, 2195478Slinton { "nam", ADDR4 }, 2205478Slinton { "max", PSUBOP, HWORD }, 2215478Slinton { "min", PSUBOP }, 2225478Slinton { "unit" }, 2235478Slinton { "unitinp" }, 2245478Slinton { "unitout" }, 2255478Slinton { "message" }, 2265478Slinton { "get" }, 2275478Slinton { "put" }, 2285478Slinton { "fnil" }, 229*32286Smckusick { "badop207" }, 2306077Slinton { "defname" }, 2315478Slinton { "reset" }, 2325478Slinton { "rewrite" }, 2335478Slinton { "file" }, 2345478Slinton { "remove" }, 2355478Slinton { "flush" }, 236*32286Smckusick { "badop214" }, 237*32286Smckusick { "badop215" }, 2385478Slinton { "pack", PSUBOP, HWORD, HWORD, HWORD }, 2395478Slinton { "unpack", PSUBOP, HWORD, HWORD, HWORD }, 2407972Slinton { "new", PSUBOP }, 2417972Slinton { "dispose", PSUBOP }, 2427972Slinton { "dfdisp", PSUBOP }, 2435478Slinton { "argc" }, 2445478Slinton { "argv", PSUBOP }, 245*32286Smckusick { "badop223" }, 2465478Slinton { "clck" }, 2475478Slinton { "wclck" }, 2485478Slinton { "sclck" }, 2495478Slinton { "date" }, 2505478Slinton { "time" }, 2515478Slinton { "undef" }, 252*32286Smckusick { "badop230" }, 253*32286Smckusick { "badop231" }, 2545478Slinton { "atan" }, 2555478Slinton { "cos" }, 2565478Slinton { "exp" }, 2575478Slinton { "ln" }, 2585478Slinton { "sin" }, 2595478Slinton { "sqrt" }, 2605478Slinton { "chr2" }, 2615478Slinton { "chr4" }, 2625478Slinton { "odd2" }, 2635478Slinton { "odd4" }, 264*32286Smckusick { "pred2", HWORD, HWORD }, 265*32286Smckusick { "pred4", LWORD, LWORD }, 266*32286Smckusick { "pred24", HWORD, HWORD }, 267*32286Smckusick { "succ2", HWORD, HWORD }, 268*32286Smckusick { "succ4", LWORD, LWORD }, 269*32286Smckusick { "succ24", HWORD, HWORD }, 2705478Slinton { "seed" }, 2715478Slinton { "random" }, 2725478Slinton { "expo" }, 2735478Slinton { "sqr2" }, 2745478Slinton { "sqr4" }, 2755478Slinton { "sqr8" }, 2765478Slinton { "round" }, 2775478Slinton { "trunc" }, 2785478Slinton }; 279