13e12c5d1SDavid du Colombier #include "l.h" 23e12c5d1SDavid du Colombier 33e12c5d1SDavid du Colombier #define X 99 43e12c5d1SDavid du Colombier 53e12c5d1SDavid du Colombier Optab optab[] = 63e12c5d1SDavid du Colombier { 73e12c5d1SDavid du Colombier { ATEXT, C_LEXT, C_NONE, C_LCON, 0, 0, 0 }, 83e12c5d1SDavid du Colombier { ATEXT, C_LEXT, C_REG, C_LCON, 0, 0, 0 }, 93e12c5d1SDavid du Colombier { ANOP, C_NONE, C_NONE, C_NONE, 0, 0, 0 }, 103e12c5d1SDavid du Colombier 113e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_REG, 1, 4, 0 }, 123e12c5d1SDavid du Colombier 133e12c5d1SDavid du Colombier { AMOVW, C_SCON, C_NONE, C_REG, 2, 4, 0 }, 143e12c5d1SDavid du Colombier { AMOVW, C_SACON,C_NONE, C_REG, 2, 4, REGSP }, 153e12c5d1SDavid du Colombier { AMOVW, C_SECON,C_NONE, C_REG, 2, 4, REGSB }, 163e12c5d1SDavid du Colombier 173e12c5d1SDavid du Colombier { AMOVW, C_SOREG,C_NONE, C_REG, 3, 4, 0 }, 183e12c5d1SDavid du Colombier { AMOVW, C_ZOREG,C_REG, C_REG, 3, 4, 0 }, 193e12c5d1SDavid du Colombier { AMOVW, C_SAUTO,C_NONE, C_REG, 3, 4, REGSP }, 203e12c5d1SDavid du Colombier { AMOVW, C_SEXT, C_NONE, C_REG, 3, 4, REGSB }, 213e12c5d1SDavid du Colombier { AMOVB, C_SOREG,C_NONE, C_REG, 3, 4, 0 }, 223e12c5d1SDavid du Colombier { AMOVB, C_ZOREG,C_REG, C_REG, 3, 4, 0 }, 233e12c5d1SDavid du Colombier { AMOVB, C_SAUTO,C_NONE, C_REG, 3, 4, REGSP }, 243e12c5d1SDavid du Colombier { AMOVB, C_SEXT, C_NONE, C_REG, 3, 4, REGSB }, 253e12c5d1SDavid du Colombier { AMOVD, C_SOREG,C_NONE, C_REG, 3, 4, 0 }, 263e12c5d1SDavid du Colombier { AMOVD, C_ZOREG,C_REG, C_REG, 3, 4, 0 }, 273e12c5d1SDavid du Colombier { AMOVD, C_SAUTO,C_NONE, C_REG, 3, 4, REGSP }, 283e12c5d1SDavid du Colombier { AMOVD, C_SEXT, C_NONE, C_REG, 3, 4, REGSB }, 293e12c5d1SDavid du Colombier 303e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_SOREG, 4, 4, 0 }, 313e12c5d1SDavid du Colombier { AMOVW, C_REG, C_REG, C_ZOREG, 4, 4, 0 }, 323e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_SAUTO, 4, 4, REGSP }, 333e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_SEXT, 4, 4, REGSB }, 343e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_SOREG, 4, 4, 0 }, 353e12c5d1SDavid du Colombier { AMOVB, C_REG, C_REG, C_ZOREG, 4, 4, 0 }, 363e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_SAUTO, 4, 4, REGSP }, 373e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_SEXT, 4, 4, REGSB }, 383e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_SOREG, 4, 4, 0 }, 393e12c5d1SDavid du Colombier { AMOVD, C_REG, C_REG, C_ZOREG, 4, 4, 0 }, 403e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_SAUTO, 4, 4, REGSP }, 413e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_SEXT, 4, 4, REGSB }, 423e12c5d1SDavid du Colombier 433e12c5d1SDavid du Colombier { AMOVW, C_LCON, C_NONE, C_REG, 5, 8, 0 }, 443e12c5d1SDavid du Colombier 453e12c5d1SDavid du Colombier { AMOVW, C_ASI, C_NONE, C_REG, 6, 4, 0 }, 463e12c5d1SDavid du Colombier { AMOVW, C_ASI, C_REG, C_REG, 6, 4, 0 }, 473e12c5d1SDavid du Colombier { AMOVB, C_ASI, C_NONE, C_REG, 6, 4, 0 }, 483e12c5d1SDavid du Colombier { AMOVB, C_ASI, C_REG, C_REG, 6, 4, 0 }, 493e12c5d1SDavid du Colombier { AMOVD, C_ASI, C_NONE, C_REG, 6, 4, 0 }, 503e12c5d1SDavid du Colombier { AMOVD, C_ASI, C_REG, C_REG, 6, 4, 0 }, 513e12c5d1SDavid du Colombier 523e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_ASI, 7, 4, 0 }, 533e12c5d1SDavid du Colombier { AMOVW, C_REG, C_REG, C_ASI, 7, 4, 0 }, 543e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_ASI, 7, 4, 0 }, 553e12c5d1SDavid du Colombier { AMOVB, C_REG, C_REG, C_ASI, 7, 4, 0 }, 563e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_ASI, 7, 4, 0 }, 573e12c5d1SDavid du Colombier { AMOVD, C_REG, C_REG, C_ASI, 7, 4, 0 }, 583e12c5d1SDavid du Colombier 593e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_PREG, 8, 4, 0 }, 603e12c5d1SDavid du Colombier { AMOVW, C_PREG, C_NONE, C_REG, 8, 4, 0 }, 613e12c5d1SDavid du Colombier 623e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_REG, 9, 8, 0 }, 633e12c5d1SDavid du Colombier 643e12c5d1SDavid du Colombier { AMOVW, C_LACON,C_NONE, C_REG, 10,12, REGSP }, 653e12c5d1SDavid du Colombier { AMOVW, C_LECON,C_NONE, C_REG, 10,12, REGSB }, 663e12c5d1SDavid du Colombier 673e12c5d1SDavid du Colombier { AMOVW, C_LOREG,C_NONE, C_REG, 11,12, 0 }, 683e12c5d1SDavid du Colombier { AMOVW, C_LAUTO,C_NONE, C_REG, 11,12, REGSP }, 693e12c5d1SDavid du Colombier { AMOVW, C_LEXT, C_NONE, C_REG, 11,12, REGSB }, 703e12c5d1SDavid du Colombier { AMOVB, C_LOREG,C_NONE, C_REG, 11,12, 0 }, 713e12c5d1SDavid du Colombier { AMOVB, C_LAUTO,C_NONE, C_REG, 11,12, REGSP }, 723e12c5d1SDavid du Colombier { AMOVB, C_LEXT, C_NONE, C_REG, 11,12, REGSB }, 733e12c5d1SDavid du Colombier { AMOVD, C_LOREG,C_NONE, C_REG, 11,12, 0 }, 743e12c5d1SDavid du Colombier { AMOVD, C_LAUTO,C_NONE, C_REG, 11,12, REGSP }, 753e12c5d1SDavid du Colombier { AMOVD, C_LEXT, C_NONE, C_REG, 11,12, REGSB }, 763e12c5d1SDavid du Colombier 773e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_LOREG, 12,12, 0 }, 783e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_LAUTO, 12,12, REGSP }, 793e12c5d1SDavid du Colombier { AMOVW, C_REG, C_NONE, C_LEXT, 12,12, REGSB }, 803e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_LOREG, 12,12, 0 }, 813e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_LAUTO, 12,12, REGSP }, 823e12c5d1SDavid du Colombier { AMOVB, C_REG, C_NONE, C_LEXT, 12,12, REGSB }, 833e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_LOREG, 12,12, 0 }, 843e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_LAUTO, 12,12, REGSP }, 853e12c5d1SDavid du Colombier { AMOVD, C_REG, C_NONE, C_LEXT, 12,12, REGSB }, 863e12c5d1SDavid du Colombier 873e12c5d1SDavid du Colombier { AMOVW, C_UCON, C_NONE, C_REG, 13, 4, 0 }, 883e12c5d1SDavid du Colombier 893e12c5d1SDavid du Colombier { AADD, C_SCON, C_NONE, C_REG, 20, 4, 0 }, 903e12c5d1SDavid du Colombier { AADD, C_SCON, C_REG, C_REG, 20, 4, 0 }, 913e12c5d1SDavid du Colombier 923e12c5d1SDavid du Colombier { AADD, C_REG, C_NONE, C_REG, 21, 4, 0 }, 933e12c5d1SDavid du Colombier { AADD, C_REG, C_REG, C_REG, 21, 4, 0 }, 943e12c5d1SDavid du Colombier 953e12c5d1SDavid du Colombier { AADD, C_LCON, C_NONE, C_REG, 22,12, 0 }, 963e12c5d1SDavid du Colombier { AADD, C_LCON, C_REG, C_REG, 22,12, 0 }, 973e12c5d1SDavid du Colombier 983e12c5d1SDavid du Colombier { ACMP, C_REG, C_NONE, C_REG, 23, 4, 0 }, 993e12c5d1SDavid du Colombier { ACMP, C_REG, C_NONE, C_SCON, 24, 4, 0 }, 1003e12c5d1SDavid du Colombier { ACMP, C_SCON, C_NONE, C_REG, 25, 8, 0 }, 1013e12c5d1SDavid du Colombier 1023e12c5d1SDavid du Colombier { AADD, C_UCON, C_NONE, C_REG, 26, 8, 0 }, 1033e12c5d1SDavid du Colombier { AADD, C_UCON, C_REG, C_REG, 26, 8, 0 }, 1043e12c5d1SDavid du Colombier 1053e12c5d1SDavid du Colombier { AJMP, C_NONE, C_NONE, C_SOREG, 30, 4, 0 }, 1063e12c5d1SDavid du Colombier { AJMPL, C_NONE, C_NONE, C_SOREG, 30, 4, 0 }, 1073e12c5d1SDavid du Colombier 1083e12c5d1SDavid du Colombier { AJMP, C_NONE, C_NONE, C_SBRA, 31, 4, 0 }, 1093e12c5d1SDavid du Colombier { ABA, C_NONE, C_NONE, C_SBRA, 31, 4, 0 }, 1103e12c5d1SDavid du Colombier 1113e12c5d1SDavid du Colombier { AJMPL, C_NONE, C_NONE, C_LBRA, 32, 4, 0 }, 1123e12c5d1SDavid du Colombier 1133e12c5d1SDavid du Colombier { ATA, C_REG, C_NONE, C_NONE, 33, 4, 0 }, 1143e12c5d1SDavid du Colombier { ARETT, C_REG, C_NONE, C_REG, 34, 8, 0 }, 1153e12c5d1SDavid du Colombier 1163e12c5d1SDavid du Colombier { AMOVW, C_SOREG,C_NONE, C_FSR, 40, 4, 0 }, 1173e12c5d1SDavid du Colombier { AMOVW, C_SAUTO,C_NONE, C_FSR, 40, 4, REGSP }, 1183e12c5d1SDavid du Colombier { AMOVW, C_SEXT, C_NONE, C_FSR, 40, 4, REGSB }, 1193e12c5d1SDavid du Colombier { AMOVW, C_FSR, C_NONE, C_SOREG, 40, 4, 0 }, 1203e12c5d1SDavid du Colombier { AMOVW, C_FSR, C_NONE, C_SAUTO, 40, 4, REGSP }, 1213e12c5d1SDavid du Colombier { AMOVW, C_FSR, C_NONE, C_SEXT, 40, 4, REGSB }, 1223e12c5d1SDavid du Colombier { AMOVD, C_FQ, C_NONE, C_SOREG, 40, 4, 0 }, 1233e12c5d1SDavid du Colombier { AMOVD, C_FQ, C_NONE, C_SAUTO, 40, 4, REGSP }, 1243e12c5d1SDavid du Colombier { AMOVD, C_FQ, C_NONE, C_SEXT, 40, 4, REGSB }, 1253e12c5d1SDavid du Colombier 1263e12c5d1SDavid du Colombier { AFMOVF, C_SOREG,C_NONE, C_FREG, 41, 4, 0 }, 1273e12c5d1SDavid du Colombier { AFMOVF, C_SAUTO,C_NONE, C_FREG, 41, 4, REGSP }, 1283e12c5d1SDavid du Colombier { AFMOVF, C_SEXT, C_NONE, C_FREG, 41, 4, REGSB }, 1293e12c5d1SDavid du Colombier { AMOVW, C_SOREG,C_NONE, C_FREG, 41, 4, 0 }, 1303e12c5d1SDavid du Colombier { AMOVW, C_SAUTO,C_NONE, C_FREG, 41, 4, REGSP }, 1313e12c5d1SDavid du Colombier { AMOVW, C_SEXT, C_NONE, C_FREG, 41, 4, REGSB }, 1323e12c5d1SDavid du Colombier { AMOVD, C_SOREG,C_NONE, C_FREG, 41, 4, 0 }, 1333e12c5d1SDavid du Colombier { AMOVD, C_SAUTO,C_NONE, C_FREG, 41, 4, REGSP }, 1343e12c5d1SDavid du Colombier { AFMOVD, C_ESAUTO,C_NONE,C_FREG, 41, 4, REGSP }, 1353e12c5d1SDavid du Colombier { AMOVD, C_SEXT, C_NONE, C_FREG, 41, 4, REGSB }, 1363e12c5d1SDavid du Colombier { AFMOVD, C_ESEXT,C_NONE, C_FREG, 41, 4, REGSB }, 1373e12c5d1SDavid du Colombier 1383e12c5d1SDavid du Colombier { AFMOVD, C_SOREG,C_NONE, C_FREG, 42, 8, 0 }, 1393e12c5d1SDavid du Colombier { AFMOVD, C_SAUTO,C_NONE, C_FREG, 42, 8, REGSP }, 1403e12c5d1SDavid du Colombier { AFMOVD, C_SEXT, C_NONE, C_FREG, 42, 8, REGSB }, 1413e12c5d1SDavid du Colombier 1423e12c5d1SDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_SOREG, 43, 4, 0 }, 1433e12c5d1SDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_SAUTO, 43, 4, REGSP }, 1443e12c5d1SDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_SEXT, 43, 4, REGSB }, 1453e12c5d1SDavid du Colombier { AMOVW, C_FREG, C_NONE, C_SOREG, 43, 4, 0 }, 1463e12c5d1SDavid du Colombier { AMOVW, C_FREG, C_NONE, C_SAUTO, 43, 4, REGSP }, 1473e12c5d1SDavid du Colombier { AMOVW, C_FREG, C_NONE, C_SEXT, 43, 4, REGSB }, 1483e12c5d1SDavid du Colombier { AMOVD, C_FREG, C_NONE, C_SOREG, 43, 4, 0 }, 1493e12c5d1SDavid du Colombier { AMOVD, C_FREG, C_NONE, C_SAUTO, 43, 4, REGSP }, 1503e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_ESAUTO, 43, 4, REGSP }, 1513e12c5d1SDavid du Colombier { AMOVD, C_FREG, C_NONE, C_SEXT, 43, 4, REGSB }, 1523e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_ESEXT, 43, 4, REGSB }, 1533e12c5d1SDavid du Colombier 1543e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_SOREG, 44, 8, 0 }, 1553e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_SAUTO, 44, 8, REGSP }, 1563e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_SEXT, 44, 8, REGSB }, 1573e12c5d1SDavid du Colombier 1583e12c5d1SDavid du Colombier { AFMOVF, C_LOREG,C_NONE, C_FREG, 45,12, 0 }, 1593e12c5d1SDavid du Colombier { AFMOVF, C_LAUTO,C_NONE, C_FREG, 45,12, REGSP }, 1603e12c5d1SDavid du Colombier { AFMOVF, C_LEXT, C_NONE, C_FREG, 45,12, REGSB }, 1613e12c5d1SDavid du Colombier 1623e12c5d1SDavid du Colombier { AFMOVD, C_LOREG,C_NONE, C_FREG, 46,16, 0 }, 1633e12c5d1SDavid du Colombier { AFMOVD, C_LAUTO,C_NONE, C_FREG, 46,16, REGSP }, 1643e12c5d1SDavid du Colombier { AFMOVD, C_LEXT, C_NONE, C_FREG, 46,16, REGSB }, 1653e12c5d1SDavid du Colombier 1663e12c5d1SDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_LOREG, 47,12, 0 }, 1673e12c5d1SDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_LAUTO, 47,12, REGSP }, 1683e12c5d1SDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_LEXT, 47,12, REGSB }, 1693e12c5d1SDavid du Colombier 1703e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_LOREG, 48,16, 0 }, 1713e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_LAUTO, 48,16, REGSP }, 1723e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_LEXT, 48,16, REGSB }, 1733e12c5d1SDavid du Colombier 1743e12c5d1SDavid du Colombier { AFMOVD, C_FREG, C_NONE, C_FREG, 49, 8, 0 }, 1753e12c5d1SDavid du Colombier { AFCMPD, C_FREG, C_NONE, C_FREG, 50, 4, 0 }, 1763e12c5d1SDavid du Colombier 177*a83436dfSDavid du Colombier { AFABSF, C_FREG, C_NONE, C_FREG, 57, 4, 0 }, 178*a83436dfSDavid du Colombier { AFMOVF, C_FREG, C_NONE, C_FREG, 57, 4, 0 }, 1793e12c5d1SDavid du Colombier { AFADDD, C_FREG, C_NONE, C_FREG, 21, 4, 0 }, 1803e12c5d1SDavid du Colombier { AFADDD, C_FREG, C_REG, C_FREG, 21, 4, 0 }, 1813e12c5d1SDavid du Colombier 1823e12c5d1SDavid du Colombier { AWORD, C_LCON, C_NONE, C_NONE, 51, 4, 0 }, 1833e12c5d1SDavid du Colombier 1843e12c5d1SDavid du Colombier { ADIV, C_REG, C_NONE, C_REG, 52,12, 0 }, 1853e12c5d1SDavid du Colombier { ADIV, C_REG, C_REG, C_REG, 52,12, 0 }, 1863e12c5d1SDavid du Colombier 1873e12c5d1SDavid du Colombier { ADIVL, C_REG, C_NONE, C_REG, 53, 8, 0 }, 1883e12c5d1SDavid du Colombier { ADIVL, C_REG, C_REG, C_REG, 53, 8, 0 }, 1893e12c5d1SDavid du Colombier 1903e12c5d1SDavid du Colombier { AMOD, C_REG, C_NONE, C_REG, 54,20, 0 }, 1913e12c5d1SDavid du Colombier { AMOD, C_REG, C_REG, C_REG, 54,20, 0 }, 1923e12c5d1SDavid du Colombier 1933e12c5d1SDavid du Colombier { AMODL, C_REG, C_NONE, C_REG, 55,16, 0 }, 1943e12c5d1SDavid du Colombier { AMODL, C_REG, C_REG, C_REG, 55,16, 0 }, 1953e12c5d1SDavid du Colombier 1963e12c5d1SDavid du Colombier { ABE, C_NONE, C_NONE, C_SBRA, 56, 4, 0 }, 1973e12c5d1SDavid du Colombier 1983e12c5d1SDavid du Colombier { AXXX, C_NONE, C_NONE, C_NONE, 0, 4, 0 }, 1993e12c5d1SDavid du Colombier }; 200