15478Slinton /* Copyright (c) 1982 Regents of the University of California */ 25478Slinton 3*7972Slinton static char sccsid[] = "@(#)optab.c 1.3 08/29/82"; 45478Slinton 55478Slinton /* 65478Slinton * px opcode table 75478Slinton */ 85478Slinton 95478Slinton #include "optab.h" 105478Slinton 115478Slinton OPTAB optab[] ={ 125478Slinton { "badop00" }, 135478Slinton { "nodump", PSUBOP, LWORD, HWORD, STRING }, 145478Slinton { "beg", PSUBOP, LWORD, LWORD, LWORD, HWORD, STRING }, 155478Slinton { "end" }, 165478Slinton { "call", DISP, ADDR4 }, 175478Slinton { "fcall" }, 185478Slinton { "frtn", PSUBOP }, 195478Slinton { "fsav", SUBOP, LWORD }, 205478Slinton { "sdup2" }, 215478Slinton { "sdup4" }, 225478Slinton { "tra", ADDR2 }, 235478Slinton { "tra4", ADDR4 }, 245478Slinton { "goto", DISP, ADDR4 }, 255478Slinton { "lino", PSUBOP }, 265478Slinton { "push", PSUBOP }, 275478Slinton { "badopnn" }, 285478Slinton { "if", ADDR2 }, 295478Slinton { "rel2", SUBOP }, 305478Slinton { "rel4", SUBOP }, 315478Slinton { "rel24", SUBOP }, 325478Slinton { "rel42", SUBOP }, 335478Slinton { "rel8", SUBOP }, 345478Slinton { "relg", SUBOP, VLEN }, 355478Slinton { "relt", SUBOP, VLEN }, 365478Slinton { "rel28", SUBOP }, 375478Slinton { "rel48", SUBOP }, 385478Slinton { "rel82", SUBOP }, 395478Slinton { "rel84", SUBOP }, 405478Slinton { "and" }, 415478Slinton { "or" }, 425478Slinton { "not" }, 435478Slinton { "badopnn" }, 445478Slinton { "as2" }, 455478Slinton { "as4" }, 465478Slinton { "as24" }, 475478Slinton { "as42" }, 485478Slinton { "as21" }, 495478Slinton { "as41" }, 505478Slinton { "as28" }, 515478Slinton { "as48" }, 525478Slinton { "as8" }, 535478Slinton { "as" }, 545478Slinton { "inx2p2", PSUBOP }, 555478Slinton { "inx4p2", PSUBOP }, 565478Slinton { "inx2", PSUBOP, HWORD, HWORD }, 575478Slinton { "inx4", PSUBOP, HWORD, HWORD }, 585478Slinton { "off", PSUBOP }, 595478Slinton { "nil" }, 605478Slinton { "add2" }, 615478Slinton { "add4" }, 625478Slinton { "add24" }, 635478Slinton { "add42" }, 645478Slinton { "add28" }, 655478Slinton { "add48" }, 665478Slinton { "add82" }, 675478Slinton { "add84" }, 685478Slinton { "sub2" }, 695478Slinton { "sub4" }, 705478Slinton { "sub24" }, 715478Slinton { "sub42" }, 725478Slinton { "sub28" }, 735478Slinton { "sub48" }, 745478Slinton { "sub82" }, 755478Slinton { "sub84" }, 765478Slinton { "mul2" }, 775478Slinton { "mul4" }, 785478Slinton { "mul24" }, 795478Slinton { "mul42" }, 805478Slinton { "mul28" }, 815478Slinton { "mul48" }, 825478Slinton { "mul82" }, 835478Slinton { "mul84" }, 845478Slinton { "abs2" }, 855478Slinton { "abs4" }, 865478Slinton { "abs8" }, 875478Slinton { "badopnn" }, 885478Slinton { "neg2" }, 895478Slinton { "neg4" }, 905478Slinton { "neg8" }, 915478Slinton { "badopnn" }, 925478Slinton { "div2" }, 935478Slinton { "div4" }, 945478Slinton { "div24" }, 955478Slinton { "div42" }, 965478Slinton { "mod2" }, 975478Slinton { "mod4" }, 985478Slinton { "mod24" }, 995478Slinton { "mod42" }, 1005478Slinton { "add8" }, 1015478Slinton { "sub8" }, 1025478Slinton { "mul8" }, 1035478Slinton { "dvd8" }, 1045478Slinton { "stoi" }, 1055478Slinton { "stod" }, 1065478Slinton { "itod" }, 1075478Slinton { "itos" }, 1085478Slinton { "dvd2" }, 1095478Slinton { "dvd4" }, 1105478Slinton { "dvd24" }, 1115478Slinton { "dvd42" }, 1125478Slinton { "dvd28" }, 1135478Slinton { "dvd48" }, 1145478Slinton { "dvd82" }, 1155478Slinton { "dvd84" }, 1165478Slinton { "rv1", DISP, ADDR2 }, 1175478Slinton { "rv14", DISP, ADDR2 }, 1185478Slinton { "rv2", DISP, ADDR2 }, 1195478Slinton { "rv24", DISP, ADDR2 }, 1205478Slinton { "rv4", DISP, ADDR2 }, 1215478Slinton { "rv8", DISP, ADDR2 }, 1225478Slinton { "rv", PSUBOP, DISP, ADDR2 }, 1235478Slinton { "lv", DISP, HWORD }, 1245478Slinton { "lrv1", DISP, ADDR4 }, 1255478Slinton { "lrv14", DISP, ADDR4 }, 1265478Slinton { "lrv2", DISP, ADDR4 }, 1275478Slinton { "lrv24", DISP, ADDR4 }, 1285478Slinton { "lrv4", DISP, ADDR4 }, 1295478Slinton { "lrv8", DISP, ADDR4 }, 1305478Slinton { "lrv", PSUBOP, DISP, ADDR4 }, 1315478Slinton { "llv", DISP, ADDR4 }, 1325478Slinton { "ind1" }, 1335478Slinton { "ind14" }, 1345478Slinton { "ind2" }, 1355478Slinton { "ind24" }, 1365478Slinton { "ind4" }, 1375478Slinton { "ind8" }, 1385478Slinton { "ind" }, 1395478Slinton { "badopnn" }, 1405478Slinton { "con1", SUBOP }, 1415478Slinton { "con14", SUBOP }, 1425478Slinton { "con2", HWORD }, 1435478Slinton { "con24", HWORD }, 1445478Slinton { "con4", LWORD }, 1455478Slinton { "con8", LWORD, LWORD }, 1465478Slinton { "con", HWORD }, 1475478Slinton { "lvcon", PSUBOP, STRING }, 1485478Slinton { "rang2", HWORD, HWORD }, 1495478Slinton { "rang42", HWORD, HWORD }, 1505478Slinton { "rsng2", HWORD }, 1515478Slinton { "rsng42", HWORD }, 1525478Slinton { "rang4", LWORD, LWORD }, 1535478Slinton { "rang24", LWORD, LWORD }, 1545478Slinton { "rsng4", LWORD }, 1555478Slinton { "rsng24", LWORD }, 1565478Slinton { "stlim" }, 1575478Slinton { "llimit" }, 1585478Slinton { "buff", PSUBOP }, 1595478Slinton { "halt" }, 1605478Slinton { "badopnn" }, 1615478Slinton { "badopnn" }, 1625478Slinton { "badopnn" }, 1635478Slinton { "badopnn" }, 1645478Slinton { "*ord2" }, 1655478Slinton { "*cong" }, 1665478Slinton { "*conc" }, 1675478Slinton { "*conc4" }, 1685478Slinton { "*abort" }, 1695478Slinton { "pxpbuf", HWORD }, 1705478Slinton { "count", HWORD }, 1715478Slinton { "badopnn" }, 1725478Slinton { "case1op", HWORD }, 1735478Slinton { "case2op", HWORD }, 1745478Slinton { "case4op", HWORD }, 1755478Slinton { "*casebeg" }, 1765478Slinton { "*case1" }, 1775478Slinton { "*case2" }, 1785478Slinton { "*case4" }, 1795478Slinton { "*caseend" }, 1805478Slinton { "addt" }, 1815478Slinton { "subt" }, 1825478Slinton { "mult" }, 1835478Slinton { "inct" }, 1845478Slinton { "cttot", PSUBOP, HWORD, HWORD }, 1855478Slinton { "card", PSUBOP }, 1865478Slinton { "in", PSUBOP, HWORD, HWORD }, 1875478Slinton { "asrt" }, 1885478Slinton { "for1u", HWORD, HWORD, ADDR2 }, 1895478Slinton { "for2u", HWORD, HWORD, ADDR2 }, 1905478Slinton { "for4u", LWORD, LWORD, ADDR2 }, 1915478Slinton { "for1d", HWORD, HWORD, ADDR2 }, 1925478Slinton { "for2d", HWORD, HWORD, ADDR2 }, 1935478Slinton { "for4d", LWORD, LWORD, ADDR2 }, 1945478Slinton { "badopnn" }, 1955478Slinton { "badopnn" }, 1965478Slinton { "reade", ADDR4 }, 1975478Slinton { "read4" }, 1985478Slinton { "readc" }, 1995478Slinton { "read8" }, 2005478Slinton { "readln" }, 2015478Slinton { "eof" }, 2025478Slinton { "eoln" }, 2035478Slinton { "badopnn" }, 2045478Slinton { "writec" }, 2055478Slinton { "writes" }, 2065478Slinton { "writef", PSUBOP }, 2075478Slinton { "writln" }, 2085478Slinton { "page" }, 2095478Slinton { "nam", ADDR4 }, 2105478Slinton { "max", PSUBOP, HWORD }, 2115478Slinton { "min", PSUBOP }, 2125478Slinton { "unit" }, 2135478Slinton { "unitinp" }, 2145478Slinton { "unitout" }, 2155478Slinton { "message" }, 2165478Slinton { "get" }, 2175478Slinton { "put" }, 2185478Slinton { "fnil" }, 2195478Slinton { "badopnn" }, 2206077Slinton { "defname" }, 2215478Slinton { "reset" }, 2225478Slinton { "rewrite" }, 2235478Slinton { "file" }, 2245478Slinton { "remove" }, 2255478Slinton { "flush" }, 2265478Slinton { "badopnn" }, 2275478Slinton { "badopnn" }, 2285478Slinton { "pack", PSUBOP, HWORD, HWORD, HWORD }, 2295478Slinton { "unpack", PSUBOP, HWORD, HWORD, HWORD }, 230*7972Slinton { "new", PSUBOP }, 231*7972Slinton { "dispose", PSUBOP }, 232*7972Slinton { "dfdisp", PSUBOP }, 2335478Slinton { "argc" }, 2345478Slinton { "argv", PSUBOP }, 2355478Slinton { "badopnn" }, 2365478Slinton { "clck" }, 2375478Slinton { "wclck" }, 2385478Slinton { "sclck" }, 2395478Slinton { "date" }, 2405478Slinton { "time" }, 2415478Slinton { "undef" }, 2425478Slinton { "atan" }, 2435478Slinton { "cos" }, 2445478Slinton { "exp" }, 2455478Slinton { "ln" }, 2465478Slinton { "sin" }, 2475478Slinton { "sqrt" }, 2485478Slinton { "chr2" }, 2495478Slinton { "chr4" }, 2505478Slinton { "odd2" }, 2515478Slinton { "odd4" }, 2525478Slinton { "pred2" }, 2535478Slinton { "pred4" }, 2545478Slinton { "pred24" }, 2555478Slinton { "succ2" }, 2565478Slinton { "succ4" }, 2575478Slinton { "succ24" }, 2585478Slinton { "seed" }, 2595478Slinton { "random" }, 2605478Slinton { "expo" }, 2615478Slinton { "sqr2" }, 2625478Slinton { "sqr4" }, 2635478Slinton { "sqr8" }, 2645478Slinton { "round" }, 2655478Slinton { "trunc" }, 2665478Slinton }; 267