8 #include "../arch/lm32/lm32_isa.h"
23 if (match_idx == 0xff) {
31 static int string_to_reg_number(
const char *
str,
ut8 *
num) {
41 if (match_idx == 0xff)
47 static int string_to_csr_number(
const char *
str,
ut8 *
num) {
57 if (match_idx == 0xff)
63 static int string_to_opcode(
const char *
str,
ut8 *
num) {
90 if (match_idx == 0xff) {
100 if (
tmp & (1 << (
shift + sign_loc))) {
101 tmp |= ~((1 << (
shift + sign_loc + 1)) - 1);
339 strcpy(
str,
"break");
342 strcpy(
str,
"scall");
450 .desc =
"disassembly plugin for Lattice Micro 32 ISA",
451 .author =
"Felix Held",
458 #ifndef RZ_PLUGIN_INCORE
static RZ_NULLABLE RzILOpBitVector * shift(RzILOpBitVector *val, RZ_NULLABLE RzILOpBool **carry_out, arm_shifter type, RZ_OWN RzILOpBitVector *dist)
static AssembleFunction assemble[2]
static st32 shift_and_signextend(ut8 shift, ut8 sign_loc, ut32 val)
static int reg_number_to_string(ut8 reg, char *str)
static int rz_asm_lm32_decode(RzAsmLm32Instruction *instr)
static bool is_pseudo_instr_mv(RzAsmLm32Instruction *instr)
static int write_reg_names_to_struct(RzAsmLm32Instruction *instr)
static bool is_pseudo_instr_mvi(RzAsmLm32Instruction *instr)
static bool is_pseudo_instr_raise(RzAsmLm32Instruction *instr)
static int rz_asm_lm32_stringify(RzAsmLm32Instruction *instr, char *str)
static bool is_invalid_wcsr_instr(RzAsmLm32Instruction *instr)
RZ_API RzLibStruct rizin_plugin
static bool is_pseudo_instr_mvhi(RzAsmLm32Instruction *instr)
static int print_pseudo_instruction(RzAsmLm32Instruction *instr, char *str)
static bool is_pseudo_instr_nop(RzAsmLm32Instruction *instr)
static bool is_invalid_one_reg_instr(RzAsmLm32Instruction *instr)
static bool is_pseudo_instr_not(RzAsmLm32Instruction *instr)
static bool is_invalid_two_reg_instr(RzAsmLm32Instruction *instr)
static int csr_number_to_string(ut8 csr, char *str)
static int disassemble(RzAsm *a, RzAsmOp *op, const ut8 *buf, int len)
static bool is_invalid_imm5_instr(RzAsmLm32Instruction *instr)
static bool is_pseudo_instr_ret(RzAsmLm32Instruction *instr)
RzAsmPlugin rz_asm_plugin_lm32
static static fork const void static count static fd const char const char static newpath char char char static envp time_t static t const char static mode static whence const char static dir time_t static t unsigned static seconds const char struct utimbuf static buf static inc static sig const char static mode static oldfd struct tms static buf static getgid static geteuid const char static filename static arg static mask struct ustat static ubuf static getppid static setsid static egid sigset_t static set struct timeval struct timezone static tz fd_set fd_set fd_set struct timeval static timeout const char char static bufsiz const char static swapflags void static offset const char static length static mode static who const char struct statfs static buf unsigned unsigned num
static const ut32 RzAsmLm32Imm26SignBitPos
static const ut32 RzAsmLm32InstrImm5InvalidBitsMask
static ut32 extract_imm26(ut32 instr_dword)
static ut8 extract_opcode(ut32 instr_dword)
#define RzAsmLm32OpcodeNumber
static const ut32 RzAsmLm32InstrWcsrInvalidBitsMask
static const ut32 RzAsmLm32InstrTwoRegsInvalidBitsMask
static const RzAsmLm32Csr RzAsmLm32Csrs[RzAsmLm32CsrNumber]
@ reg_imm16_shift2_signextend
static ut8 extract_reg_w(ut32 instr_dword)
static ut8 extract_imm5(ut32 instr_dword)
static ut8 extract_reg_v(ut32 instr_dword)
static const RzAsmLm32Opcode RzAsmLm32OpcodeList[RzAsmLm32OpcodeNumber]
#define RzAsmLm32RegNumber
static const ut32 RzAsmLm32InstrOneRegInvalidBitsMask
#define RzAsmLm32CsrNumber
static const RzAsmLm32Reg RzAsmLm32Regs[RzAsmLm32RegNumber]
static ut8 extract_reg_u(ut32 instr_dword)
static ut16 extract_imm16(ut32 instr_dword)
static const ut32 RzAsmLm32Imm16SignBitPos
RZ_API const char * rz_strbuf_set(RzStrBuf *sb, const char *s)
RZ_API char * rz_strbuf_get(RzStrBuf *sb)
#define RZ_SYS_ENDIAN_BIG
char src1_reg_str[RzAsmLm32RegNameLength]
char dest_reg_str[RzAsmLm32RegNameLength]
RzAsmLm32Opcode op_decode
char csr_reg_str[RzAsmLm32RegNameLength]
char src0_reg_str[RzAsmLm32RegNameLength]
RzAsmLm32InstructionType type
char name[RzAsmLm32OpNameLength]