Go to the documentation of this file.
194 cs_regs regs_read, regs_write;
195 uint8_t regs_read_count, regs_write_count;
198 result = (
char *)malloc(
sizeof(
char));
201 if (ins->detail == NULL)
204 x86 = &(ins->detail->x86);
219 if (
x86->sib_scale != 0)
255 for (
i = 0;
i <
x86->op_count;
i++) {
258 switch((
int)
op->type) {
273 if (
op->mem.scale != 1)
275 if (
op->mem.disp != 0)
276 add_str(&
result,
" ; operands[%u].mem.disp: 0x%" PRIx64
"",
i,
op->mem.disp);
285 if (
op->avx_zero_opmask !=
false)
305 if (!
cs_regs_access(*ud, ins, regs_read, ®s_read_count, regs_write, ®s_write_count)) {
306 if (regs_read_count) {
308 for(
i = 0;
i < regs_read_count;
i++) {
313 if (regs_write_count) {
315 for(
i = 0;
i < regs_write_count;
i++) {
321 if (
x86->eflags ||
x86->fpu_flags) {
322 for(
i = 0;
i < ins->detail->groups_count;
i++) {
325 for(
i = 0;
i <= 63;
i++)
333 if (
i == ins->detail->groups_count) {
335 for(
i = 0;
i <= 63;
i++)
#define X86_EFLAGS_RESET_DF
#define X86_EFLAGS_UNDEFINED_AF
#define X86_EFLAGS_SET_IF
#define X86_EFLAGS_PRIOR_ZF
char * get_detail_x86(csh *ud, cs_mode mode, cs_insn *ins)
CAPSTONE_EXPORT int CAPSTONE_API cs_op_index(csh ud, const cs_insn *insn, unsigned int op_type, unsigned int post)
#define X86_EFLAGS_UNDEFINED_PF
#define X86_EFLAGS_SET_ZF
#define X86_FPU_FLAGS_SET_C3
#define X86_FPU_FLAGS_MODIFY_C1
static const char * get_eflag_name(uint64_t flag)
@ X86_OP_IMM
= CS_OP_IMM (Immediate operand).
#define X86_EFLAGS_UNDEFINED_OF
#define X86_EFLAGS_SET_SF
#define X86_EFLAGS_MODIFY_PF
#define X86_EFLAGS_TEST_RF
#define X86_EFLAGS_RESET_AF
#define X86_EFLAGS_MODIFY_ZF
#define X86_EFLAGS_SET_OF
#define X86_EFLAGS_PRIOR_AF
#define X86_FPU_FLAGS_TEST_C0
#define X86_EFLAGS_PRIOR_IF
#define X86_FPU_FLAGS_SET_C0
#define X86_FPU_FLAGS_SET_C2
@ X86_XOP_CC_INVALID
Uninitialized.
@ CS_MODE_16
16-bit mode (X86)
@ CS_AC_READ
Operand read from memory or register.
CAPSTONE_EXPORT cs_err CAPSTONE_API cs_regs_access(csh ud, const cs_insn *insn, cs_regs regs_read, uint8_t *regs_read_count, cs_regs regs_write, uint8_t *regs_write_count)
static void print_string_hex(char **result, const char *comment, unsigned char *str, size_t len)
#define X86_EFLAGS_RESET_OF
#define X86_EFLAGS_PRIOR_NT
#define X86_EFLAGS_RESET_CF
#define X86_EFLAGS_PRIOR_OF
#define X86_EFLAGS_TEST_DF
CAPSTONE_EXPORT int CAPSTONE_API cs_op_count(csh ud, const cs_insn *insn, unsigned int op_type)
#define X86_EFLAGS_PRIOR_PF
#define X86_FPU_FLAGS_TEST_C2
#define X86_EFLAGS_TEST_OF
#define X86_EFLAGS_PRIOR_TF
#define X86_FPU_FLAGS_UNDEFINED_C0
#define X86_EFLAGS_TEST_NT
#define X86_EFLAGS_MODIFY_CF
#define X86_EFLAGS_RESET_NT
const CAPSTONE_EXPORT char *CAPSTONE_API cs_reg_name(csh ud, unsigned int reg)
unsigned __int64 uint64_t
#define X86_FPU_FLAGS_UNDEFINED_C1
#define X86_FPU_FLAGS_MODIFY_C3
#define X86_EFLAGS_PRIOR_CF
#define X86_EFLAGS_SET_CF
#define X86_EFLAGS_PRIOR_DF
#define X86_EFLAGS_RESET_0F
#define X86_EFLAGS_PRIOR_SF
void add_str(char **src, const char *format,...)
@ X86_OP_MEM
= CS_OP_MEM (Memory operand).
static const char * get_fpu_flag_name(uint64_t flag)
@ X86_SSE_CC_INVALID
Uninitialized.
#define X86_EFLAGS_MODIFY_NT
#define X86_EFLAGS_TEST_PF
#define X86_EFLAGS_RESET_TF
#define X86_EFLAGS_UNDEFINED_SF
#define X86_EFLAGS_SET_PF
#define X86_EFLAGS_TEST_SF
#define X86_EFLAGS_MODIFY_OF
#define X86_FPU_FLAGS_MODIFY_C2
#define X86_EFLAGS_MODIFY_RF
#define X86_EFLAGS_SET_AF
#define X86_EFLAGS_MODIFY_SF
#define X86_EFLAGS_MODIFY_TF
#define X86_EFLAGS_MODIFY_AF
#define X86_EFLAGS_RESET_IF
#define X86_FPU_FLAGS_MODIFY_C0
#define X86_EFLAGS_TEST_ZF
#define X86_EFLAGS_MODIFY_DF
#define X86_EFLAGS_UNDEFINED_ZF
#define X86_FPU_FLAGS_RESET_C1
#define X86_EFLAGS_TEST_AF
#define X86_FPU_FLAGS_SET_C1
#define X86_FPU_FLAGS_RESET_C3
#define X86_EFLAGS_UNDEFINED_CF
#define X86_EFLAGS_TEST_TF
#define X86_FPU_FLAGS_UNDEFINED_C3
#define X86_EFLAGS_MODIFY_IF
#define X86_FPU_FLAGS_RESET_C2
#define X86_FPU_FLAGS_TEST_C1
#define X86_EFLAGS_TEST_CF
#define X86_FPU_FLAGS_UNDEFINED_C2
#define X86_EFLAGS_RESET_SF
@ X86_AVX_BCAST_INVALID
Uninitialized.
#define X86_FPU_FLAGS_TEST_C3
@ X86_AVX_CC_INVALID
Uninitialized.
#define X86_EFLAGS_RESET_PF
@ X86_AVX_RM_INVALID
Uninitialized.
#define X86_EFLAGS_RESET_AC
#define X86_EFLAGS_SET_DF
#define X86_EFLAGS_RESET_ZF
@ X86_OP_REG
= CS_OP_REG (Register operand).
@ CS_AC_WRITE
Operand write to memory or register.
#define X86_FPU_FLAGS_RESET_C0
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:56