Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | lh5801_insn_desc |
Macros | |
#define | ARRAY_LENGTH(a) (sizeof(a) / sizeof((a)[0])) |
#define | LH5801_IFMT_IMMS(f) ((f)&LH5801_IFMT_IMM_MASK) |
#define | LH5801_IFMT_RMODE(f) ((f)&LH5801_IFMT_RMODE_MASK) |
Enumerations | |
enum | lh5801_insn_format { LH5801_IFMT_IMM0 = 0 , LH5801_IFMT_IMM1 , LH5801_IFMT_IMM2 , LH5801_IFMT_IMM3 , LH5801_IFMT_IMM_MASK = 3 , LH5801_IFMT_FD_NO = 0 , LH5801_IFMT_FD_YES = 1 << 2 , LH5801_IFMT_FD_MOD = 2 << 2 , LH5801_IFMT_FD_MASK = 3 << 2 , LH5801_IFMT_RREG = 1 << 4 , LH5801_IFMT_AREG = 2 << 4 , LH5801_IFMT_SREG = 3 << 4 , LH5801_IFMT_PREG = 4 << 4 , LH5801_IFMT_REG_MASK = 7 << 4 , LH5801_IFMT_COND = 1 << 7 , LH5801_IFMT_BCH = 1 << 8 , LH5801_IFMT_VEJ = 1 << 9 , LH5801_IFMT_RFULL = 0 , LH5801_IFMT_RLOW = 1 << 10 , LH5801_IFMT_RHIGH = 2 << 10 , LH5801_IFMT_RMEM = 3 << 10 , LH5801_IFMT_RMODE_MASK = 3 << 10 } |
Functions | |
static bool | lh5801_ifmt_fd_matches (enum lh5801_insn_format fmt, int fd) |
int | lh5801_decode (struct lh5801_insn *insn, const ut8 *buf, int len) |
static char * | print_reg (char *buf, const struct lh5801_insn *insn) |
void | lh5801_print_insn (char *out, int size, const struct lh5801_insn *insn) |
Variables | |
const struct lh5801_insn_class_desc | lh5801_insn_class_descs [LH5801_INSNC_NUMBER] |
const struct lh5801_insn_desc | lh5801_insn_descs [] |
#define LH5801_IFMT_IMMS | ( | f | ) | ((f)&LH5801_IFMT_IMM_MASK) |
#define LH5801_IFMT_RMODE | ( | f | ) | ((f)&LH5801_IFMT_RMODE_MASK) |
enum lh5801_insn_format |
Definition at line 94 of file lh5801.c.
int lh5801_decode | ( | struct lh5801_insn * | insn, |
const ut8 * | buf, | ||
int | len | ||
) |
Definition at line 674 of file lh5801.c.
References ARRAY_LENGTH, desc, lh5801_insn::fd, fd, i, lh5801_insn::iclass, lh5801_insn::imm, len, LH5801_IFMT_BCH, LH5801_IFMT_COND, lh5801_ifmt_fd_matches(), LH5801_IFMT_IMMS, LH5801_IFMT_REG_MASK, LH5801_IFMT_RREG, LH5801_IFMT_VEJ, lh5801_insn_descs, lh5801_insn::opcode, lh5801_insn::type, and type.
Referenced by disassemble().
|
static |
Definition at line 137 of file lh5801.c.
References fd, LH5801_IFMT_FD_MASK, LH5801_IFMT_FD_MOD, LH5801_IFMT_FD_NO, and LH5801_IFMT_FD_YES.
Referenced by lh5801_decode().
void lh5801_print_insn | ( | char * | out, |
int | size, | ||
const struct lh5801_insn * | insn | ||
) |
Definition at line 792 of file lh5801.c.
References desc, lh5801_insn::fd, lh5801_insn_desc::iclass, lh5801_insn::iclass, lh5801_insn::imm, LH5801_IFMT_AREG, LH5801_IFMT_BCH, LH5801_IFMT_COND, LH5801_IFMT_FD_MASK, LH5801_IFMT_FD_MOD, LH5801_IFMT_IMM0, LH5801_IFMT_IMM1, LH5801_IFMT_IMM2, LH5801_IFMT_IMM3, LH5801_IFMT_PREG, LH5801_IFMT_RMODE_MASK, LH5801_IFMT_RREG, LH5801_IFMT_SREG, LH5801_IFMT_VEJ, lh5801_insn_class_descs, lh5801_insn_descs, mnem, lh5801_insn::opcode, out, print_reg(), snprintf, and lh5801_insn::type.
Referenced by disassemble().
|
static |
Definition at line 747 of file lh5801.c.
References desc, lh5801_insn::fd, LH5801_IFMT_AREG, LH5801_IFMT_FD_MOD, LH5801_IFMT_PREG, LH5801_IFMT_REG_MASK, LH5801_IFMT_RFULL, LH5801_IFMT_RHIGH, LH5801_IFMT_RLOW, LH5801_IFMT_RMEM, LH5801_IFMT_RMODE, LH5801_IFMT_SREG, lh5801_insn_descs, NULL, lh5801_insn::opcode, and lh5801_insn::type.
Referenced by lh5801_print_insn().
const struct lh5801_insn_class_desc lh5801_insn_class_descs[LH5801_INSNC_NUMBER] |
Definition at line 1 of file lh5801.c.
Referenced by lh5801_print_insn().
const struct lh5801_insn_desc lh5801_insn_descs[] |
Definition at line 137 of file lh5801.c.
Referenced by lh5801_decode(), lh5801_print_insn(), and print_reg().