Files
ircolib/arch/M680X/hcs12x.inc
T
iris 802798ce3c Squashed 'external/capstone/' content from commit e46f64fa
git-subtree-dir: external/capstone
git-subtree-split: e46f64fadb351e9ecd05264fab26f2772feb0994
2026-05-11 11:55:07 +02:00

272 lines
11 KiB
C

// Page 2 instructions for HCS12X
static const inst_pageX g_hcs12x_inst_page2_table[] = {
{ 0x00, M680X_INS_MOVW, imm16i12x_hid, inh_hid },
{ 0x01, M680X_INS_MOVW, exti12x_hid, inh_hid },
{ 0x02, M680X_INS_MOVW, idx12_hid, idx12_hid },
{ 0x03, M680X_INS_MOVW, imm16_hid, ext_hid },
{ 0x04, M680X_INS_MOVW, ext_hid, ext_hid },
{ 0x05, M680X_INS_MOVW, idx12_hid, ext_hid },
{ 0x06, M680X_INS_ABA, inh_hid, inh_hid },
{ 0x07, M680X_INS_DAA, inh_hid, inh_hid },
{ 0x08, M680X_INS_MOVB, imm8i12x_hid, inh_hid },
{ 0x09, M680X_INS_MOVB, exti12x_hid, inh_hid },
{ 0x0A, M680X_INS_MOVB, idx12_hid, idx12_hid },
{ 0x0B, M680X_INS_MOVB, imm16_hid, ext_hid },
{ 0x0C, M680X_INS_MOVB, ext_hid, ext_hid },
{ 0x0D, M680X_INS_MOVB, idx12_hid, ext_hid },
{ 0x0E, M680X_INS_TAB, inh_hid, inh_hid },
{ 0x0F, M680X_INS_TBA, inh_hid, inh_hid },
{ 0x10, M680X_INS_IDIV, inh_hid, inh_hid },
{ 0x11, M680X_INS_FDIV, inh_hid, inh_hid },
{ 0x12, M680X_INS_EMACS, ext_hid, inh_hid },
{ 0x13, M680X_INS_EMULS, inh_hid, inh_hid },
{ 0x14, M680X_INS_EDIVS, inh_hid, inh_hid },
{ 0x15, M680X_INS_IDIVS, inh_hid, inh_hid },
{ 0x16, M680X_INS_SBA, inh_hid, inh_hid },
{ 0x17, M680X_INS_CBA, inh_hid, inh_hid },
{ 0x18, M680X_INS_MAXA, idx12_hid, inh_hid },
{ 0x19, M680X_INS_MINA, idx12_hid, inh_hid },
{ 0x1A, M680X_INS_EMAXD, idx12_hid, inh_hid },
{ 0x1B, M680X_INS_EMIND, idx12_hid, inh_hid },
{ 0x1C, M680X_INS_MAXM, idx12_hid, inh_hid },
{ 0x1D, M680X_INS_MINM, idx12_hid, inh_hid },
{ 0x1E, M680X_INS_EMAXM, idx12_hid, inh_hid },
{ 0x1F, M680X_INS_EMINM, idx12_hid, inh_hid },
{ 0x20, M680X_INS_LBRA, rel16_hid, inh_hid },
{ 0x21, M680X_INS_LBRN, rel16_hid, inh_hid },
{ 0x22, M680X_INS_LBHI, rel16_hid, inh_hid },
{ 0x23, M680X_INS_LBLS, rel16_hid, inh_hid },
{ 0x24, M680X_INS_LBCC, rel16_hid, inh_hid },
{ 0x25, M680X_INS_LBCS, rel16_hid, inh_hid },
{ 0x26, M680X_INS_LBNE, rel16_hid, inh_hid },
{ 0x27, M680X_INS_LBEQ, rel16_hid, inh_hid },
{ 0x28, M680X_INS_LBVC, rel16_hid, inh_hid },
{ 0x29, M680X_INS_LBVS, rel16_hid, inh_hid },
{ 0x2A, M680X_INS_LBPL, rel16_hid, inh_hid },
{ 0x2B, M680X_INS_LBMI, rel16_hid, inh_hid },
{ 0x2C, M680X_INS_LBGE, rel16_hid, inh_hid },
{ 0x2D, M680X_INS_LBLT, rel16_hid, inh_hid },
{ 0x2E, M680X_INS_LBGT, rel16_hid, inh_hid },
{ 0x2F, M680X_INS_LBLE, rel16_hid, inh_hid },
{ 0x30, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x31, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x32, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x33, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x34, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x35, M680X_INS_BTAS, dir_hid, inh_hid },
{ 0x36, M680X_INS_BTAS, ext_hid, inh_hid },
{ 0x37, M680X_INS_BTAS, idx12_hid, inh_hid },
{ 0x38, M680X_INS_PULCW, inh_hid, inh_hid },
{ 0x39, M680X_INS_PSHCW, inh_hid, inh_hid },
{ 0x3A, M680X_INS_REV, inh_hid, inh_hid },
{ 0x3B, M680X_INS_REVW, inh_hid, inh_hid },
{ 0x3C, M680X_INS_WAV, inh_hid, inh_hid },
{ 0x3D, M680X_INS_TBL, idx12s_hid, inh_hid },
{ 0x3E, M680X_INS_STOP, inh_hid, inh_hid },
{ 0x3F, M680X_INS_ETBL, idx12s_hid, inh_hid },
{ 0x40, M680X_INS_NEGX, inh_hid, inh_hid },
{ 0x41, M680X_INS_COMX, inh_hid, inh_hid },
{ 0x42, M680X_INS_INCX, inh_hid, inh_hid },
{ 0x43, M680X_INS_DECX, inh_hid, inh_hid },
{ 0x44, M680X_INS_LSRX, inh_hid, inh_hid },
{ 0x45, M680X_INS_ROLX, inh_hid, inh_hid },
{ 0x46, M680X_INS_RORX, inh_hid, inh_hid },
{ 0x47, M680X_INS_ASRX, inh_hid, inh_hid },
{ 0x48, M680X_INS_ASLX, inh_hid, inh_hid },
{ 0x49, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x4A, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x4B, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x4C, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x4D, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x4E, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x4F, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x50, M680X_INS_NEGY, inh_hid, inh_hid },
{ 0x51, M680X_INS_COMY, inh_hid, inh_hid },
{ 0x52, M680X_INS_INCY, inh_hid, inh_hid },
{ 0x53, M680X_INS_DECY, inh_hid, inh_hid },
{ 0x55, M680X_INS_ROLY, inh_hid, inh_hid },
{ 0x56, M680X_INS_RORY, inh_hid, inh_hid },
{ 0x57, M680X_INS_ASRY, inh_hid, inh_hid },
{ 0x58, M680X_INS_ASLY, inh_hid, inh_hid },
{ 0x59, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x5A, M680X_INS_GSTAA, dir_hid, inh_hid },
{ 0x5B, M680X_INS_GSTAB, dir_hid, inh_hid },
{ 0x5C, M680X_INS_GSTD, dir_hid, inh_hid },
{ 0x5C, M680X_INS_GSTY, dir_hid, inh_hid },
{ 0x5E, M680X_INS_GSTX, dir_hid, inh_hid },
{ 0x5F, M680X_INS_GSTS, dir_hid, inh_hid },
{ 0x60, M680X_INS_NEGW, idx12_hid, inh_hid },
{ 0x61, M680X_INS_COMW, idx12_hid, inh_hid },
{ 0x62, M680X_INS_INCW, idx12_hid, inh_hid },
{ 0x63, M680X_INS_DECW, idx12_hid, inh_hid },
{ 0x64, M680X_INS_LSRW, idx12_hid, inh_hid },
{ 0x65, M680X_INS_ROLW, idx12_hid, inh_hid },
{ 0x66, M680X_INS_RORW, idx12_hid, inh_hid },
{ 0x67, M680X_INS_ASRW, idx12_hid, inh_hid },
{ 0x68, M680X_INS_ASLW, idx12_hid, inh_hid },
{ 0x69, M680X_INS_CLRW, idx12_hid, inh_hid },
{ 0x6A, M680X_INS_GSTAA, idx12_hid, inh_hid },
{ 0x6B, M680X_INS_GSTAB, idx12_hid, inh_hid },
{ 0x6C, M680X_INS_GSTD, idx12_hid, inh_hid },
{ 0x6D, M680X_INS_GSTY, idx12_hid, inh_hid },
{ 0x6E, M680X_INS_GSTX, idx12_hid, inh_hid },
{ 0x6F, M680X_INS_GSTS, idx12_hid, inh_hid },
{ 0x70, M680X_INS_NEGW, ext_hid, inh_hid },
{ 0x71, M680X_INS_COMW, ext_hid, inh_hid },
{ 0x72, M680X_INS_INCW, ext_hid, inh_hid },
{ 0x73, M680X_INS_DECW, ext_hid, inh_hid },
{ 0x75, M680X_INS_ROLW, ext_hid, inh_hid },
{ 0x76, M680X_INS_RORW, ext_hid, inh_hid },
{ 0x77, M680X_INS_ASRW, ext_hid, inh_hid },
{ 0x78, M680X_INS_ASLW, ext_hid, inh_hid },
{ 0x79, M680X_INS_CLRW, ext_hid, inh_hid },
{ 0x7A, M680X_INS_GSTAA, ext_hid, inh_hid },
{ 0x7B, M680X_INS_GSTAB, ext_hid, inh_hid },
{ 0x7C, M680X_INS_GSTD, ext_hid, inh_hid },
{ 0x7D, M680X_INS_GSTY, idx12_hid, inh_hid },
{ 0x7E, M680X_INS_GSTX, ext_hid, inh_hid },
{ 0x7F, M680X_INS_GSTS, ext_hid, inh_hid },
{ 0x80, M680X_INS_SUBX, imm16_hid, inh_hid },
{ 0x81, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x82, M680X_INS_SBEX, imm16_hid, inh_hid },
{ 0x83, M680X_INS_SBED, imm16_hid, inh_hid },
{ 0x84, M680X_INS_ANDX, imm8_hid, inh_hid },
{ 0x85, M680X_INS_BITX, imm8_hid, inh_hid },
{ 0x86, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x87, M680X_INS_CLRX, inh_hid, inh_hid },
{ 0x88, M680X_INS_EORX, imm8_hid, inh_hid },
{ 0x89, M680X_INS_ADEX, imm8_hid, inh_hid },
{ 0x8A, M680X_INS_ORX, imm16_hid, inh_hid },
{ 0x8B, M680X_INS_ADDX, imm8_hid, inh_hid },
{ 0x8C, M680X_INS_CPED, imm8_hid, inh_hid },
{ 0x8D, M680X_INS_CPEY, imm8_hid, inh_hid },
{ 0x8E, M680X_INS_CPEX, imm8_hid, inh_hid },
{ 0x8F, M680X_INS_CPES, imm8_hid, inh_hid },
{ 0x90, M680X_INS_SUBX, dir_hid, inh_hid },
{ 0x91, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0x92, M680X_INS_SBEX, dir_hid, inh_hid },
{ 0x93, M680X_INS_SBED, dir_hid, inh_hid },
{ 0x94, M680X_INS_ANDX, dir_hid, inh_hid },
{ 0x95, M680X_INS_BITX, dir_hid, inh_hid },
{ 0x96, M680X_INS_GLDAA, dir_hid, inh_hid },
{ 0x97, M680X_INS_TSTX, inh_hid, inh_hid },
{ 0x98, M680X_INS_EORX, dir_hid, inh_hid },
{ 0x99, M680X_INS_ADEX, dir_hid, inh_hid },
{ 0x9A, M680X_INS_ORX, dir_hid, inh_hid },
{ 0x9B, M680X_INS_ADDX, dir_hid, inh_hid },
{ 0x9C, M680X_INS_CPED, dir_hid, inh_hid },
{ 0x9D, M680X_INS_CPEY, dir_hid, inh_hid },
{ 0x9F, M680X_INS_CPES, dir_hid, inh_hid },
{ 0xA0, M680X_INS_SUBX, idx12_hid, inh_hid },
{ 0xA1, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xA2, M680X_INS_SBEX, idx12_hid, inh_hid },
{ 0xA3, M680X_INS_SBED, idx12_hid, inh_hid },
{ 0xA4, M680X_INS_ANDX, idx12_hid, inh_hid },
{ 0xA5, M680X_INS_BITX, idx12_hid, inh_hid },
{ 0xA6, M680X_INS_GLDAA, idx12_hid, inh_hid },
{ 0xA7, M680X_INS_SYS, inh_hid, inh_hid },
{ 0xA8, M680X_INS_EORX, idx12_hid, inh_hid },
{ 0xA9, M680X_INS_ADEX, idx12_hid, inh_hid },
{ 0xAA, M680X_INS_ORX, idx12_hid, inh_hid },
{ 0xAB, M680X_INS_ADDX, idx12_hid, inh_hid },
{ 0xAC, M680X_INS_CPED, idx12_hid, inh_hid },
{ 0xAD, M680X_INS_CPEY, idx12_hid, inh_hid },
{ 0xAE, M680X_INS_CPEX, idx12_hid, inh_hid },
{ 0xAF, M680X_INS_CPES, idx12_hid, inh_hid },
{ 0xB0, M680X_INS_SUBX, ext_hid, inh_hid },
{ 0xB1, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xB2, M680X_INS_SBEX, ext_hid, inh_hid },
{ 0xB3, M680X_INS_SBED, ext_hid, inh_hid },
{ 0xB4, M680X_INS_ANDX, ext_hid, inh_hid },
{ 0xB5, M680X_INS_BITX, ext_hid, inh_hid },
{ 0xB6, M680X_INS_GLDAA, ext_hid, inh_hid },
{ 0xB7, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xB8, M680X_INS_EORX, ext_hid, inh_hid },
{ 0xB9, M680X_INS_ADEX, ext_hid, inh_hid },
{ 0xBA, M680X_INS_ORX, ext_hid, inh_hid },
{ 0xBB, M680X_INS_ADDX, ext_hid, inh_hid },
{ 0xBC, M680X_INS_CPED, ext_hid, inh_hid },
{ 0xBD, M680X_INS_CPEY, ext_hid, inh_hid },
{ 0xBE, M680X_INS_CPEX, ext_hid, inh_hid },
{ 0xBF, M680X_INS_CPES, ext_hid, inh_hid },
{ 0xC0, M680X_INS_SUBY, imm16_hid, inh_hid },
{ 0xC1, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xC2, M680X_INS_SBEY, ext_hid, inh_hid },
{ 0xC3, M680X_INS_ADED, imm8_hid, inh_hid },
{ 0xC4, M680X_INS_ANDY, imm8_hid, inh_hid },
{ 0xC5, M680X_INS_BITY, imm8_hid, inh_hid },
{ 0xC6, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xC7, M680X_INS_CLRY, inh_hid, inh_hid },
{ 0xC8, M680X_INS_EORY, imm8_hid, inh_hid },
{ 0xC9, M680X_INS_ADEY, imm8_hid, inh_hid },
{ 0xCA, M680X_INS_ORY, imm16_hid, inh_hid },
{ 0xCB, M680X_INS_ADDY, imm8_hid, inh_hid },
{ 0xCC, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xCD, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xCE, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xCF, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xD0, M680X_INS_SUBY, dir_hid, inh_hid },
{ 0xD1, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xD2, M680X_INS_SBEY, inh_hid, inh_hid },
{ 0xD3, M680X_INS_ADED, dir_hid, inh_hid },
{ 0xD4, M680X_INS_ANDY, dir_hid, inh_hid },
{ 0xD5, M680X_INS_BITY, dir_hid, inh_hid },
{ 0xD6, M680X_INS_GLDAB, dir_hid, inh_hid },
{ 0xD7, M680X_INS_TSTY, inh_hid, inh_hid },
{ 0xD8, M680X_INS_EORY, dir_hid, inh_hid },
{ 0xD9, M680X_INS_ADEY, dir_hid, inh_hid },
{ 0xDA, M680X_INS_ORY, dir_hid, inh_hid },
{ 0xDB, M680X_INS_ADDY, dir_hid, inh_hid },
{ 0xDC, M680X_INS_GLDD, dir_hid, inh_hid },
{ 0xDD, M680X_INS_GLDY, dir_hid, inh_hid },
{ 0xDE, M680X_INS_GLDX, dir_hid, inh_hid },
{ 0xDF, M680X_INS_GLDS, dir_hid, inh_hid },
{ 0xE0, M680X_INS_SUBY, idx12_hid, inh_hid },
{ 0xE1, M680X_INS_TRAP, inh_hid, inh_hid },
{ 0xE2, M680X_INS_SBEY, inh_hid, inh_hid },
{ 0xE3, M680X_INS_ADED, idx12_hid, inh_hid },
{ 0xE4, M680X_INS_ANDY, idx12_hid, inh_hid },
{ 0xE5, M680X_INS_BITY, idx12_hid, inh_hid },
{ 0xE6, M680X_INS_GLDAB, idx12_hid, inh_hid },
{ 0xE7, M680X_INS_TSTW, idx12_hid, inh_hid },
{ 0xE8, M680X_INS_EORY, idx12_hid, inh_hid },
{ 0xE9, M680X_INS_ADEY, idx12_hid, inh_hid },
{ 0xEA, M680X_INS_ORY, idx12_hid, inh_hid },
{ 0xEB, M680X_INS_ADDY, idx12_hid, inh_hid },
{ 0xEC, M680X_INS_GLDD, idx12_hid, inh_hid },
{ 0xED, M680X_INS_GLDY, idx12_hid, inh_hid },
{ 0xEE, M680X_INS_GLDX, idx12_hid, inh_hid },
{ 0xEF, M680X_INS_GLDS, idx12_hid, inh_hid },
{ 0xF0, M680X_INS_SUBY, ext_hid, inh_hid },
{ 0xF1, M680X_INS_TRAP, ext_hid, inh_hid },
{ 0xF2, M680X_INS_SBEY, ext_hid, inh_hid },
{ 0xF3, M680X_INS_ADED, ext_hid, inh_hid },
{ 0xF4, M680X_INS_ANDY, ext_hid, inh_hid },
{ 0xF5, M680X_INS_BITY, ext_hid, inh_hid },
{ 0xF6, M680X_INS_GLDAB, ext_hid, inh_hid },
{ 0xF7, M680X_INS_TSTW, ext_hid, inh_hid },
{ 0xF8, M680X_INS_EORY, ext_hid, inh_hid },
{ 0xF9, M680X_INS_ADEY, ext_hid, inh_hid },
{ 0xFA, M680X_INS_ORY, ext_hid, inh_hid },
{ 0xFB, M680X_INS_ADDY, ext_hid, inh_hid },
{ 0xFC, M680X_INS_GLDD, ext_hid, inh_hid },
{ 0xFD, M680X_INS_GLDY, ext_hid, inh_hid },
{ 0xFE, M680X_INS_GLDX, ext_hid, inh_hid },
{ 0xFF, M680X_INS_GLDS, ext_hid, inh_hid },
};