M680XModule.c
Go to the documentation of this file.
1 /* Capstone Disassembly Engine */
2 /* M680X Backend by Wolfgang Schwotzer <wolfgang.schwotzer@gmx.net> 2017 */
3 
4 #ifdef CAPSTONE_HAS_M680X
5 
6 #include "../../utils.h"
7 #include "../../MCRegisterInfo.h"
8 #include "M680XDisassembler.h"
10 #include "M680XInstPrinter.h"
11 #include "M680XModule.h"
12 
13 cs_err M680X_global_init(cs_struct *ud)
14 {
15  m680x_info *info;
16  cs_err errcode;
17 
18  /* Do some validation checks */
19  errcode = M680X_disassembler_init(ud);
20 
21  if (errcode != CS_ERR_OK)
22  return errcode;
23 
24  errcode = M680X_instprinter_init(ud);
25 
26  if (errcode != CS_ERR_OK)
27  return errcode;
28 
29  // verify if requested mode is valid
35  // At least one mode is not supported by M680X
36  return CS_ERR_MODE;
37  }
38 
44  // At least the cpu type has to be selected. No default.
45  return CS_ERR_MODE;
46  }
47 
48  info = cs_mem_malloc(sizeof(m680x_info));
49 
50  if (!info)
51  return CS_ERR_MEM;
52 
54  ud->printer_info = info;
55  ud->getinsn_info = NULL;
61  ud->skipdata_size = 1;
62  ud->post_printer = NULL;
63 #ifndef CAPSTONE_DIET
65 #endif
66 
67  return CS_ERR_OK;
68 }
69 
71 {
72  //TODO
73  return CS_ERR_OK;
74 }
75 
76 #endif
77 
cs_struct::mode
cs_mode mode
Definition: cs_priv.h:53
cs_mem_malloc
cs_malloc_t cs_mem_malloc
Definition: cs.c:368
cs_opt_type
cs_opt_type
Runtime option for the disassembled engine.
Definition: capstone.h:169
M680X_reg_name
const char * M680X_reg_name(csh handle, unsigned int reg)
CS_MODE_M680X_6800
@ CS_MODE_M680X_6800
M680X Motorola 6800,6802 mode.
Definition: capstone.h:129
M680XDisassemblerInternals.h
M680X_instprinter_init
cs_err M680X_instprinter_init(cs_struct *ud)
M680X_option
cs_err M680X_option(cs_struct *handle, cs_opt_type type, size_t value)
CS_MODE_M680X_6805
@ CS_MODE_M680X_6805
M680X Motorola/Freescale 6805 mode.
Definition: capstone.h:131
cs_struct::disasm
Disasm_t disasm
Definition: cs_priv.h:56
CS_MODE_M680X_CPU12
@ CS_MODE_M680X_CPU12
used on M68HC12/HCS12
Definition: capstone.h:135
M680X_get_insn_id
void M680X_get_insn_id(cs_struct *h, cs_insn *insn, unsigned int id)
CS_MODE_M680X_6801
@ CS_MODE_M680X_6801
M680X Motorola 6801,6803 mode.
Definition: capstone.h:130
M680X_reg_access
void M680X_reg_access(const cs_insn *insn, cs_regs regs_read, uint8_t *regs_read_count, cs_regs regs_write, uint8_t *regs_write_count)
M680XModule.h
m680x_info
Definition: M680XDisassemblerInternals.h:42
CS_MODE_M680X_6808
@ CS_MODE_M680X_6808
M680X Motorola/Freescale/NXP 68HC08 mode.
Definition: capstone.h:132
cs_struct
Definition: cs_priv.h:51
cs_struct::printer_info
void * printer_info
Definition: cs_priv.h:55
capstone.CS_ERR_OK
CS_ERR_OK
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:237
capstone.CS_ERR_MEM
CS_ERR_MEM
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:238
cs_struct::insn_name
GetName_t insn_name
Definition: cs_priv.h:59
cs_struct::getinsn_info
void * getinsn_info
Definition: cs_priv.h:57
cs_struct::printer
Printer_t printer
Definition: cs_priv.h:54
CS_MODE_M680X_6809
@ CS_MODE_M680X_6809
M680X Motorola 6809 mode.
Definition: capstone.h:133
M680XDisassembler.h
CS_MODE_M680X_6309
@ CS_MODE_M680X_6309
M680X Hitachi 6309 mode.
Definition: capstone.h:128
M680X_group_name
const char * M680X_group_name(csh handle, unsigned int id)
CS_MODE_M680X_HCS08
@ CS_MODE_M680X_HCS08
M680X Freescale/NXP HCS08 mode.
Definition: capstone.h:137
M680X_getInstruction
bool M680X_getInstruction(csh ud, const uint8_t *code, size_t code_len, MCInst *instr, uint16_t *size, uint64_t address, void *info)
value
const char * value
Definition: hpack_parser_table.cc:165
M680X_global_init
cs_err M680X_global_init(cs_struct *ud)
M680X_insn_name
const char * M680X_insn_name(csh handle, unsigned int id)
capstone.CS_ERR_MODE
CS_ERR_MODE
Definition: third_party/bloaty/third_party/capstone/bindings/python/capstone/__init__.py:242
M680XInstPrinter.h
cs_struct::skipdata_size
uint8_t skipdata_size
Definition: cs_priv.h:71
M680X_disassembler_init
cs_err M680X_disassembler_init(cs_struct *ud)
cs_struct::insn_id
GetID_t insn_id
Definition: cs_priv.h:61
cs_struct::group_name
GetName_t group_name
Definition: cs_priv.h:60
M680X_printInst
void M680X_printInst(MCInst *MI, struct SStream *O, void *Info)
cs_struct::reg_name
GetName_t reg_name
Definition: cs_priv.h:58
cs_struct::reg_access
GetRegisterAccess_t reg_access
Definition: cs_priv.h:74
cs_struct::post_printer
PostPrinter_t post_printer
Definition: cs_priv.h:62
handle
static csh handle
Definition: test_arm_regression.c:16
CS_MODE_M680X_6301
@ CS_MODE_M680X_6301
M680X Hitachi 6301,6303 mode.
Definition: capstone.h:127
asyncio_get_stats.type
type
Definition: asyncio_get_stats.py:37
CS_MODE_M680X_6811
@ CS_MODE_M680X_6811
M680X Motorola/Freescale/NXP 68HC11 mode.
Definition: capstone.h:134


grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:00:30