xref: /aosp_15_r20/external/capstone/arch/MOS65XX/MOS65XXModule.c (revision 9a0e4156d50a75a99ec4f1653a0e9602a5d45c18)
1*9a0e4156SSadaf Ebrahimi /* Capstone Disassembly Engine */
2*9a0e4156SSadaf Ebrahimi /* MOS65XX Backend by Sebastian Macke <[email protected]> 2018 */
3*9a0e4156SSadaf Ebrahimi 
4*9a0e4156SSadaf Ebrahimi #ifdef CAPSTONE_HAS_MOS65XX
5*9a0e4156SSadaf Ebrahimi 
6*9a0e4156SSadaf Ebrahimi #include "../../utils.h"
7*9a0e4156SSadaf Ebrahimi #include "../../MCRegisterInfo.h"
8*9a0e4156SSadaf Ebrahimi #include "MOS65XXDisassembler.h"
9*9a0e4156SSadaf Ebrahimi #include "MOS65XXModule.h"
10*9a0e4156SSadaf Ebrahimi 
MOS65XX_global_init(cs_struct * ud)11*9a0e4156SSadaf Ebrahimi cs_err MOS65XX_global_init(cs_struct *ud)
12*9a0e4156SSadaf Ebrahimi {
13*9a0e4156SSadaf Ebrahimi 	// verify if requested mode is valid
14*9a0e4156SSadaf Ebrahimi 	if (ud->mode)
15*9a0e4156SSadaf Ebrahimi 		return CS_ERR_MODE;
16*9a0e4156SSadaf Ebrahimi 
17*9a0e4156SSadaf Ebrahimi 	ud->printer = MOS65XX_printInst;
18*9a0e4156SSadaf Ebrahimi 	ud->printer_info = NULL;
19*9a0e4156SSadaf Ebrahimi 	ud->insn_id = MOS65XX_get_insn_id;
20*9a0e4156SSadaf Ebrahimi 	ud->insn_name = MOS65XX_insn_name;
21*9a0e4156SSadaf Ebrahimi 	ud->group_name = MOS65XX_group_name;
22*9a0e4156SSadaf Ebrahimi 	ud->disasm = MOS65XX_getInstruction;
23*9a0e4156SSadaf Ebrahimi 	ud->reg_name = MOS65XX_reg_name;
24*9a0e4156SSadaf Ebrahimi 
25*9a0e4156SSadaf Ebrahimi 	return CS_ERR_OK;
26*9a0e4156SSadaf Ebrahimi }
27*9a0e4156SSadaf Ebrahimi 
MOS65XX_option(cs_struct * handle,cs_opt_type type,size_t value)28*9a0e4156SSadaf Ebrahimi cs_err MOS65XX_option(cs_struct *handle, cs_opt_type type, size_t value)
29*9a0e4156SSadaf Ebrahimi {
30*9a0e4156SSadaf Ebrahimi 	return CS_ERR_OK;
31*9a0e4156SSadaf Ebrahimi }
32*9a0e4156SSadaf Ebrahimi 
33*9a0e4156SSadaf Ebrahimi #endif
34