xref: /aosp_15_r20/external/capstone/arch/M680X/m6801.inc (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf Ebrahimi
2*9a0e4156SSadaf Ebrahimi// Additional instructions only supported on M6801/3
3*9a0e4156SSadaf Ebrahimistatic const inst_pageX g_m6801_inst_overlay_table[] = {
4*9a0e4156SSadaf Ebrahimi	// 0x0x, inherent instructions
5*9a0e4156SSadaf Ebrahimi	{ 0x04, M680X_INS_LSRD, inh_hid, inh_hid },
6*9a0e4156SSadaf Ebrahimi	{ 0x05, M680X_INS_ASLD, inh_hid, inh_hid },
7*9a0e4156SSadaf Ebrahimi	// 0x2x, relative branch instructions
8*9a0e4156SSadaf Ebrahimi	{ 0x21, M680X_INS_BRN, rel8_hid, inh_hid },
9*9a0e4156SSadaf Ebrahimi	// 0x3x, inherent instructions
10*9a0e4156SSadaf Ebrahimi	{ 0x38, M680X_INS_PULX, inh_hid, inh_hid },
11*9a0e4156SSadaf Ebrahimi	{ 0x3A, M680X_INS_ABX, inh_hid, inh_hid },
12*9a0e4156SSadaf Ebrahimi	{ 0x3C, M680X_INS_PSHX, inh_hid, inh_hid },
13*9a0e4156SSadaf Ebrahimi	{ 0x3D, M680X_INS_MUL, inh_hid, inh_hid  },
14*9a0e4156SSadaf Ebrahimi	// 0x8x, immediate instructions with Register D
15*9a0e4156SSadaf Ebrahimi	{ 0x83, M680X_INS_SUBD, imm16_hid, inh_hid },
16*9a0e4156SSadaf Ebrahimi	// 0x9x, direct instructions with register D
17*9a0e4156SSadaf Ebrahimi	{ 0x93, M680X_INS_SUBD, dir_hid, inh_hid },
18*9a0e4156SSadaf Ebrahimi	{ 0x9D, M680X_INS_JSR, dir_hid, inh_hid },
19*9a0e4156SSadaf Ebrahimi	// 0xAx, indexed instructions with Register D
20*9a0e4156SSadaf Ebrahimi	{ 0xA3, M680X_INS_SUBD, idxX_hid, inh_hid },
21*9a0e4156SSadaf Ebrahimi	// 0xBx, extended instructions with register D
22*9a0e4156SSadaf Ebrahimi	{ 0xB3, M680X_INS_SUBD, ext_hid, inh_hid },
23*9a0e4156SSadaf Ebrahimi	// 0xCx, immediate instructions with register D
24*9a0e4156SSadaf Ebrahimi	{ 0xC3, M680X_INS_ADDD, imm16_hid, inh_hid },
25*9a0e4156SSadaf Ebrahimi	{ 0xCC, M680X_INS_LDD, imm16_hid, inh_hid },
26*9a0e4156SSadaf Ebrahimi	// 0xDx direct instructions with register D
27*9a0e4156SSadaf Ebrahimi	{ 0xD3, M680X_INS_ADDD, dir_hid, inh_hid },
28*9a0e4156SSadaf Ebrahimi	{ 0xDC, M680X_INS_LDD, dir_hid, inh_hid },
29*9a0e4156SSadaf Ebrahimi	{ 0xDD, M680X_INS_STD, dir_hid, inh_hid },
30*9a0e4156SSadaf Ebrahimi	// 0xEx, indexed instruction with register D
31*9a0e4156SSadaf Ebrahimi	{ 0xE3, M680X_INS_ADDD, idxX_hid, inh_hid },
32*9a0e4156SSadaf Ebrahimi	{ 0xEC, M680X_INS_LDD, idxX_hid, inh_hid },
33*9a0e4156SSadaf Ebrahimi	{ 0xED, M680X_INS_STD, idxX_hid, inh_hid },
34*9a0e4156SSadaf Ebrahimi	// 0xFx, extended instructions with register D
35*9a0e4156SSadaf Ebrahimi	{ 0xF3, M680X_INS_ADDD, ext_hid, inh_hid },
36*9a0e4156SSadaf Ebrahimi	{ 0xFC, M680X_INS_LDD, ext_hid, inh_hid },
37*9a0e4156SSadaf Ebrahimi	{ 0xFD, M680X_INS_STD, ext_hid, inh_hid },
38*9a0e4156SSadaf Ebrahimi};
39*9a0e4156SSadaf Ebrahimi
40