Go to the documentation of this file.
36 if (ins->detail == NULL)
39 tms320c64x = &(ins->detail->tms320c64x);
45 switch((
int)
op->type) {
52 printf(
"\t\toperands[%u].type: IMM = 0x%x\n",
i,
op->imm);
55 printf(
"\t\toperands[%u].type: MEM\n",
i);
57 printf(
"\t\t\toperands[%u].mem.base: REG = %s\n",
59 printf(
"\t\t\toperands[%u].mem.disptype: ",
i);
62 printf(
"\t\t\toperands[%u].mem.disp: %u\n",
i,
op->mem.disp);
66 printf(
"\t\t\toperands[%u].mem.disp: %u\n",
i,
op->mem.disp);
72 printf(
"\t\t\toperands[%u].mem.unit: %u\n",
i,
op->mem.unit);
73 printf(
"\t\t\toperands[%u].mem.direction: ",
i);
80 printf(
"\t\t\toperands[%u].mem.modify: ",
i);
89 printf(
"\t\t\toperands[%u].mem.scaled: %u\n",
i,
op->mem.scaled);
99 printf(
"\tFunctional unit: ");
114 printf(
"No Functional Unit\n");
121 printf(
"\tCrosspath: 1\n");
125 printf(
"\tParallel: %s\n", (tms320c64x->
parallel == 1) ?
"true" :
"false");
132 #define TMS320C64X_CODE "\x01\xac\x88\x40\x81\xac\x88\x43\x00\x00\x00\x00\x02\x90\x32\x96\x02\x80\x46\x9e\x05\x3c\x83\xe6\x0b\x0c\x8b\x24"
152 printf(
"Failed on cs_open() with error returned: %u\n",
err);
162 printf(
"****************\n");
167 for (j = 0; j <
count; j++) {
168 printf(
"0x%"PRIx64
":\t%s\t%s\n", insn[j].address, insn[j].mnemonic, insn[j].op_str);
171 printf(
"0x%"PRIx64
":\n", insn[j-1].address + insn[j-1].
size);
176 printf(
"****************\n");
179 printf(
"ERROR: Failed to disasm given code!\n");
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_close(csh *handle)
static void print_insn_detail(cs_insn *ins)
CAPSTONE_EXPORT size_t CAPSTONE_API cs_disasm(csh ud, const uint8_t *buffer, size_t size, uint64_t offset, size_t count, cs_insn **insn)
_Use_decl_annotations_ int __cdecl printf(const char *_Format,...)
@ TMS320C64X_MEM_DIR_INVALID
struct cs_tms320c64x::@169 condition
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_open(cs_arch arch, cs_mode mode, csh *handle)
static void print_string_hex(const char *comment, unsigned char *str, size_t len)
cs_arch
Architecture type.
@ CS_OPT_DETAIL
Break down instruction structure into details.
@ CS_ARCH_TMS320C64X
TMS320C64x architecture.
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_option(csh ud, cs_opt_type type, size_t value)
@ TMS320C64X_MEM_MOD_POST
@ TMS320C64X_MEM_DISP_INVALID
@ TMS320C64X_OP_IMM
= CS_OP_IMM (Immediate operand).
const CAPSTONE_EXPORT char *CAPSTONE_API cs_reg_name(csh ud, unsigned int reg)
unsigned __int64 uint64_t
@ TMS320C64X_MEM_DISP_CONSTANT
@ CS_OPT_ON
Turn ON an option (CS_OPT_DETAIL, CS_OPT_SKIPDATA).
@ CS_MODE_BIG_ENDIAN
big-endian mode
@ TMS320C64X_MEM_DISP_REGISTER
@ TMS320C64X_OP_MEM
= CS_OP_MEM (Memory operand).
@ TMS320C64X_MEM_MOD_INVALID
CAPSTONE_EXPORT void CAPSTONE_API cs_free(cs_insn *insn, size_t count)
struct platform platforms[]
@ TMS320C64X_OP_REG
= CS_OP_REG (Register operand).
@ TMS320C64X_OP_REGPAIR
Register pair for double word ops.
cs_tms320c64x_op operands[8]
operands for this instruction.
struct cs_tms320c64x::@170 funit
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:33