Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | ebc_index |
Macros | |
#define | CHK_SNPRINTF(dst, sz, fmt, ...) |
Typedefs | |
typedef int(* | decode) (const ut8 *, ebc_command_t *cmd) |
typedef struct ebc_index | ebc_index_t |
Variables | |
static const char * | instr_names [] |
static const char * | dedic_regs [] |
static decode | decodes [EBC_COMMAND_NUM] |
#define CHK_SNPRINTF | ( | dst, | |
sz, | |||
fmt, | |||
... | |||
) |
Definition at line 7 of file ebc_disas.c.
typedef int(* decode) (const ut8 *, ebc_command_t *cmd) |
Definition at line 88 of file ebc_disas.c.
typedef struct ebc_index ebc_index_t |
|
static |
Definition at line 365 of file ebc_disas.c.
References bits(), bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_ADD, EBC_INSTR_MAXLEN, EBC_OPERANDS_MAXLEN, setup::idx, instr_names, snprintf, and TEST_BIT.
Referenced by decode_arith(), decode_div(), decode_divu(), decode_mul(), decode_mulu(), and decode_sub().
|
static |
Definition at line 440 of file ebc_disas.c.
References bits(), bytes, cmd, decode_add(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 131 of file ebc_disas.c.
References bytes, cmd, EBC_BREAK, EBC_INSTR_MAXLEN, EBC_OPERANDS_MAXLEN, instr_names, and snprintf.
|
static |
Definition at line 196 of file ebc_disas.c.
References bits(), bytes, ebc_index::c, CHK_SNPRINTF, cmd, decode_index32(), EBC_CALL, EBC_INSTR_MAXLEN, EBC_OPERANDS_MAXLEN, i2, instr_names, ebc_index::n, ebc_index::sign, snprintf, TEST_BIT, and ut64().
|
static |
Definition at line 258 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_OPERANDS_MAXLEN, setup::idx, and TEST_BIT.
Referenced by decode_cmpeq(), decode_cmpgte(), decode_cmplte(), decode_cmpugte(), and decode_cmpulte().
|
static |
Definition at line 289 of file ebc_disas.c.
References bits(), bytes, cmd, decode_cmp(), EBC_CMPLTE, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 303 of file ebc_disas.c.
References bits(), bytes, cmd, decode_cmp(), EBC_CMPGTE, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 633 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_CMPIEQ, EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, indx(), instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 296 of file ebc_disas.c.
References bits(), bytes, cmd, decode_cmp(), EBC_CMPLTE, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 317 of file ebc_disas.c.
References bits(), bytes, cmd, decode_cmp(), EBC_CMPUGTE, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 310 of file ebc_disas.c.
References bits(), bytes, cmd, decode_cmp(), EBC_CMPULTE, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 424 of file ebc_disas.c.
References bits(), bytes, cmd, decode_add(), EBC_DIV, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 432 of file ebc_disas.c.
References bits(), bytes, cmd, decode_add(), EBC_DIVU, EBC_INSTR_MAXLEN, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 101 of file ebc_disas.c.
References ebc_index::a_width, ebc_index::c, EBC_N_BIT_MASK, ebc_index::n, ebc_index::sign, autogen_x86imm::tmp, and ebc_index::type.
Referenced by decode_add(), decode_cmp(), decode_cmpi(), decode_mov_args(), decode_movi(), decode_movin(), decode_movn(), decode_movrel(), decode_movsn_args(), decode_not(), and decode_push_pop().
|
static |
Definition at line 111 of file ebc_disas.c.
References ebc_index::a_width, ebc_index::c, EBC_N_BIT_MASK, EBC_NTH_BIT, ebc_index::n, ebc_index::sign, autogen_x86imm::tmp, and ebc_index::type.
Referenced by decode_call(), decode_jmp(), decode_mov_args(), decode_movin(), and decode_movn().
|
static |
Definition at line 121 of file ebc_disas.c.
References ebc_index::a_width, ebc_index::c, EBC_N_BIT_MASK, EBC_NTH_BIT, ebc_index::n, ebc_index::sign, autogen_x86imm::tmp, ebc_index::type, and ut64().
Referenced by decode_mov_args(), and decode_movin().
|
static |
Definition at line 921 of file ebc_disas.c.
|
static |
Definition at line 138 of file ebc_disas.c.
References bits(), bytes, ebc_index::c, CHK_SNPRINTF, cmd, decode_index32(), EBC_INSTR_MAXLEN, EBC_JMP, EBC_OPERANDS_MAXLEN, instr_names, ebc_index::n, ebc_index::sign, snprintf, TEST_BIT, and ut64().
|
static |
Definition at line 184 of file ebc_disas.c.
References bytes, cmd, EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, instr_names, snprintf, cmd_descs_generate::str, and TEST_BIT.
|
static |
Definition at line 576 of file ebc_disas.c.
References bytes, cmd, dedic_regs, EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, instr_names, and snprintf.
|
static |
Definition at line 525 of file ebc_disas.c.
References bytes, cmd, decode_mov_args(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, instr_names, and snprintf.
|
static |
Definition at line 448 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), decode_index32(), decode_index64(), EBC_MOVBD, EBC_MOVBW, EBC_MOVDD, EBC_MOVDW, EBC_MOVQD, EBC_MOVQQ, EBC_MOVQW, EBC_MOVWD, EBC_MOVWW, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, snprintf, and TEST_BIT.
Referenced by decode_mov().
|
static |
Definition at line 725 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, i2, setup::idx, indx(), instr_names, long, snprintf, TEST_BIT, and ut64().
|
static |
Definition at line 791 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), decode_index32(), decode_index64(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 677 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), decode_index32(), EBC_INSTR_MAXLEN, EBC_MOVNW, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 849 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, indx(), instr_names, snprintf, TEST_BIT, and ut64().
|
static |
Definition at line 570 of file ebc_disas.c.
References bytes, cmd, decode_movsn_args(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, instr_names, and snprintf.
|
static |
Definition at line 531 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_MOVSND, EBC_MOVSNW, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, snprintf, and TEST_BIT.
Referenced by decode_movsn().
|
static |
Definition at line 407 of file ebc_disas.c.
References bits(), bytes, cmd, decode_add(), EBC_INSTR_MAXLEN, EBC_MUL, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 415 of file ebc_disas.c.
References bits(), bytes, cmd, decode_add(), EBC_INSTR_MAXLEN, EBC_MULU, instr_names, snprintf, and TEST_BIT.
|
static |
|
static |
Definition at line 324 of file ebc_disas.c.
References bits(), bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_INSTR_MAXLEN, EBC_NOT, EBC_OPERANDS_MAXLEN, setup::idx, instr_names, snprintf, and TEST_BIT.
Referenced by decode_neg().
|
static |
Definition at line 597 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, decode_index16(), EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, setup::idx, instr_names, snprintf, and TEST_BIT.
|
static |
Definition at line 251 of file ebc_disas.c.
References cmd, EBC_INSTR_MAXLEN, EBC_RET, instr_names, and snprintf.
|
static |
Definition at line 586 of file ebc_disas.c.
References bytes, CHK_SNPRINTF, cmd, dedic_regs, EBC_INSTR_MAXLEN, EBC_OPCODE_MASK, EBC_OPERANDS_MAXLEN, instr_names, and snprintf.
|
static |
Definition at line 399 of file ebc_disas.c.
References bits(), bytes, cmd, decode_add(), EBC_INSTR_MAXLEN, EBC_SUB, instr_names, snprintf, and TEST_BIT.
int ebc_decode_command | ( | const ut8 * | instr, |
ebc_command_t * | cmd | ||
) |
Definition at line 986 of file ebc_disas.c.
References cmd, decodes, and EBC_OPCODE_MASK.
Referenced by disassemble(), and ebc_op().
|
static |
Definition at line 925 of file ebc_disas.c.
Referenced by ebc_decode_command().
|
static |
Definition at line 77 of file ebc_disas.c.
Referenced by decode_loadsp(), and decode_storesp().
|
static |
Definition at line 15 of file ebc_disas.c.
Referenced by decode_add(), decode_arith(), decode_break(), decode_call(), decode_cmpeq(), decode_cmpgte(), decode_cmpi(), decode_cmplte(), decode_cmpugte(), decode_cmpulte(), decode_div(), decode_divu(), decode_jmp(), decode_jmp8(), decode_loadsp(), decode_mov(), decode_movi(), decode_movin(), decode_movn(), decode_movrel(), decode_movsn(), decode_mul(), decode_mulu(), decode_not(), decode_push_pop(), decode_ret(), decode_storesp(), and decode_sub().