1*9a0e4156SSadaf Ebrahimi 2*9a0e4156SSadaf Ebrahimi// Additional instructions only supported on M68HC08 3*9a0e4156SSadaf Ebrahimistatic const inst_pageX g_m6808_inst_overlay_table[] = { 4*9a0e4156SSadaf Ebrahimi { 0x31, M680X_INS_CBEQ, dir_hid, rel8_hid }, 5*9a0e4156SSadaf Ebrahimi { 0x35, M680X_INS_STHX, dir_hid, inh_hid }, 6*9a0e4156SSadaf Ebrahimi { 0x3b, M680X_INS_DBNZ, dir_hid, rel8_hid }, 7*9a0e4156SSadaf Ebrahimi { 0x41, M680X_INS_CBEQA, imm8rel_hid, inh_hid }, 8*9a0e4156SSadaf Ebrahimi { 0x45, M680X_INS_LDHX, imm16_hid, inh_hid }, 9*9a0e4156SSadaf Ebrahimi { 0x4b, M680X_INS_DBNZA, rel8_hid, inh_hid }, 10*9a0e4156SSadaf Ebrahimi { 0x4e, M680X_INS_MOV, dir_hid, dir_hid }, 11*9a0e4156SSadaf Ebrahimi { 0x51, M680X_INS_CBEQX, imm8rel_hid, inh_hid }, 12*9a0e4156SSadaf Ebrahimi { 0x52, M680X_INS_DIV, inh_hid, inh_hid }, 13*9a0e4156SSadaf Ebrahimi { 0x55, M680X_INS_LDHX, dir_hid, inh_hid }, 14*9a0e4156SSadaf Ebrahimi { 0x5b, M680X_INS_DBNZX, rel8_hid, inh_hid }, 15*9a0e4156SSadaf Ebrahimi { 0x5e, M680X_INS_MOV, dir_hid, idxX0p_hid }, 16*9a0e4156SSadaf Ebrahimi { 0x61, M680X_INS_CBEQ, idxXp_hid, rel8_hid }, 17*9a0e4156SSadaf Ebrahimi { 0x62, M680X_INS_NSA, inh_hid, inh_hid }, 18*9a0e4156SSadaf Ebrahimi { 0x65, M680X_INS_CPHX, imm16_hid, inh_hid }, 19*9a0e4156SSadaf Ebrahimi { 0x6b, M680X_INS_DBNZ, idxX_hid, rel8_hid }, 20*9a0e4156SSadaf Ebrahimi { 0x6e, M680X_INS_MOV, imm8_hid, dir_hid }, 21*9a0e4156SSadaf Ebrahimi { 0x71, M680X_INS_CBEQ, idxX0p_hid, rel8_hid }, 22*9a0e4156SSadaf Ebrahimi { 0x72, M680X_INS_DAA, inh_hid, inh_hid }, 23*9a0e4156SSadaf Ebrahimi { 0x75, M680X_INS_CPHX, dir_hid, inh_hid }, 24*9a0e4156SSadaf Ebrahimi { 0x7b, M680X_INS_DBNZ, idxX0_hid, rel8_hid }, 25*9a0e4156SSadaf Ebrahimi { 0x7e, M680X_INS_MOV, idxX0p_hid, dir_hid }, 26*9a0e4156SSadaf Ebrahimi { 0x84, M680X_INS_TAP, inh_hid, inh_hid }, 27*9a0e4156SSadaf Ebrahimi { 0x85, M680X_INS_TPA, inh_hid, inh_hid }, 28*9a0e4156SSadaf Ebrahimi { 0x86, M680X_INS_PULA, inh_hid, inh_hid }, 29*9a0e4156SSadaf Ebrahimi { 0x87, M680X_INS_PSHA, inh_hid, inh_hid }, 30*9a0e4156SSadaf Ebrahimi { 0x88, M680X_INS_PULX, inh_hid, inh_hid }, 31*9a0e4156SSadaf Ebrahimi { 0x89, M680X_INS_PSHX, inh_hid, inh_hid }, 32*9a0e4156SSadaf Ebrahimi { 0x8a, M680X_INS_PULH, inh_hid, inh_hid }, 33*9a0e4156SSadaf Ebrahimi { 0x8b, M680X_INS_PSHH, inh_hid, inh_hid }, 34*9a0e4156SSadaf Ebrahimi { 0x8c, M680X_INS_CLRH, inh_hid, inh_hid }, 35*9a0e4156SSadaf Ebrahimi { 0x90, M680X_INS_BGE, rel8_hid, inh_hid }, 36*9a0e4156SSadaf Ebrahimi { 0x91, M680X_INS_BLT, rel8_hid, inh_hid }, 37*9a0e4156SSadaf Ebrahimi { 0x92, M680X_INS_BGT, rel8_hid, inh_hid }, 38*9a0e4156SSadaf Ebrahimi { 0x93, M680X_INS_BLE, rel8_hid, inh_hid }, 39*9a0e4156SSadaf Ebrahimi { 0x94, M680X_INS_TXS, inh_hid, inh_hid }, 40*9a0e4156SSadaf Ebrahimi { 0x95, M680X_INS_TSX, inh_hid, inh_hid }, 41*9a0e4156SSadaf Ebrahimi { 0x97, M680X_INS_TAX, inh_hid, inh_hid }, 42*9a0e4156SSadaf Ebrahimi { 0x9f, M680X_INS_TXA, inh_hid, inh_hid }, 43*9a0e4156SSadaf Ebrahimi { 0xa7, M680X_INS_AIS, imm8_hid, inh_hid }, 44*9a0e4156SSadaf Ebrahimi { 0xaf, M680X_INS_AIX, imm8_hid, inh_hid }, 45*9a0e4156SSadaf Ebrahimi}; 46*9a0e4156SSadaf Ebrahimi 47*9a0e4156SSadaf Ebrahimi// M68HC08 PAGE2 instructions (prefix 0x9E) 48*9a0e4156SSadaf Ebrahimistatic const inst_pageX g_m6808_inst_page2_table[] = { 49*9a0e4156SSadaf Ebrahimi { 0x60, M680X_INS_NEG, idxS_hid, inh_hid }, 50*9a0e4156SSadaf Ebrahimi { 0x61, M680X_INS_CBEQ, idxS_hid, rel8_hid }, 51*9a0e4156SSadaf Ebrahimi { 0x63, M680X_INS_COM, idxS_hid, inh_hid }, 52*9a0e4156SSadaf Ebrahimi { 0x64, M680X_INS_LSR, idxS_hid, inh_hid }, 53*9a0e4156SSadaf Ebrahimi { 0x66, M680X_INS_ROR, idxS_hid, inh_hid }, 54*9a0e4156SSadaf Ebrahimi { 0x67, M680X_INS_ASR, idxS_hid, inh_hid }, 55*9a0e4156SSadaf Ebrahimi { 0x68, M680X_INS_LSL, idxS_hid, inh_hid }, 56*9a0e4156SSadaf Ebrahimi { 0x69, M680X_INS_ROL, idxS_hid, inh_hid }, 57*9a0e4156SSadaf Ebrahimi { 0x6a, M680X_INS_DEC, idxS_hid, inh_hid }, 58*9a0e4156SSadaf Ebrahimi { 0x6b, M680X_INS_DBNZ, idxS_hid, rel8_hid }, 59*9a0e4156SSadaf Ebrahimi { 0x6c, M680X_INS_INC, idxS_hid, inh_hid }, 60*9a0e4156SSadaf Ebrahimi { 0x6d, M680X_INS_TST, idxS_hid, inh_hid }, 61*9a0e4156SSadaf Ebrahimi { 0x6f, M680X_INS_CLR, idxS_hid, inh_hid }, 62*9a0e4156SSadaf Ebrahimi { 0xd0, M680X_INS_SUB, idxS16_hid, inh_hid }, 63*9a0e4156SSadaf Ebrahimi { 0xd1, M680X_INS_CMP, idxS16_hid, inh_hid }, 64*9a0e4156SSadaf Ebrahimi { 0xd2, M680X_INS_SBC, idxS16_hid, inh_hid }, 65*9a0e4156SSadaf Ebrahimi { 0xd3, M680X_INS_CPX, idxS16_hid, inh_hid }, 66*9a0e4156SSadaf Ebrahimi { 0xd4, M680X_INS_AND, idxS16_hid, inh_hid }, 67*9a0e4156SSadaf Ebrahimi { 0xd5, M680X_INS_BIT, idxS16_hid, inh_hid }, 68*9a0e4156SSadaf Ebrahimi { 0xd6, M680X_INS_LDA, idxS16_hid, inh_hid }, 69*9a0e4156SSadaf Ebrahimi { 0xd7, M680X_INS_STA, idxS16_hid, inh_hid }, 70*9a0e4156SSadaf Ebrahimi { 0xd8, M680X_INS_EOR, idxS16_hid, inh_hid }, 71*9a0e4156SSadaf Ebrahimi { 0xd9, M680X_INS_ADC, idxS16_hid, inh_hid }, 72*9a0e4156SSadaf Ebrahimi { 0xda, M680X_INS_ORA, idxS16_hid, inh_hid }, 73*9a0e4156SSadaf Ebrahimi { 0xdb, M680X_INS_ADD, idxS16_hid, inh_hid }, 74*9a0e4156SSadaf Ebrahimi { 0xde, M680X_INS_LDX, idxS16_hid, inh_hid }, 75*9a0e4156SSadaf Ebrahimi { 0xdf, M680X_INS_STX, idxS16_hid, inh_hid }, 76*9a0e4156SSadaf Ebrahimi { 0xe0, M680X_INS_SUB, idxS_hid, inh_hid }, 77*9a0e4156SSadaf Ebrahimi { 0xe1, M680X_INS_CMP, idxS_hid, inh_hid }, 78*9a0e4156SSadaf Ebrahimi { 0xe2, M680X_INS_SBC, idxS_hid, inh_hid }, 79*9a0e4156SSadaf Ebrahimi { 0xe3, M680X_INS_CPX, idxS_hid, inh_hid }, 80*9a0e4156SSadaf Ebrahimi { 0xe4, M680X_INS_AND, idxS_hid, inh_hid }, 81*9a0e4156SSadaf Ebrahimi { 0xe5, M680X_INS_BIT, idxS_hid, inh_hid }, 82*9a0e4156SSadaf Ebrahimi { 0xe6, M680X_INS_LDA, idxS_hid, inh_hid }, 83*9a0e4156SSadaf Ebrahimi { 0xe7, M680X_INS_STA, idxS_hid, inh_hid }, 84*9a0e4156SSadaf Ebrahimi { 0xe8, M680X_INS_EOR, idxS_hid, inh_hid }, 85*9a0e4156SSadaf Ebrahimi { 0xe9, M680X_INS_ADC, idxS_hid, inh_hid }, 86*9a0e4156SSadaf Ebrahimi { 0xea, M680X_INS_ORA, idxS_hid, inh_hid }, 87*9a0e4156SSadaf Ebrahimi { 0xeb, M680X_INS_ADD, idxS_hid, inh_hid }, 88*9a0e4156SSadaf Ebrahimi { 0xee, M680X_INS_LDX, idxS_hid, inh_hid }, 89*9a0e4156SSadaf Ebrahimi { 0xef, M680X_INS_STX, idxS_hid, inh_hid }, 90*9a0e4156SSadaf Ebrahimi}; 91*9a0e4156SSadaf Ebrahimi 92