Rizin
unix-like reverse engineering framework and cli tools
|
Go to the source code of this file.
Classes | |
struct | v810_cmd |
Macros | |
#define | V810_INSTR_MAXLEN 24 |
#define | OPCODE(instr) (((instr) >> 10) & 0x3F) |
#define | REG1(instr) ((instr)&0x1F) |
#define | REG2(instr) (((instr) >> 5) & 0x1F) |
#define | IMM5(instr) REG1((instr)) |
#define | COND(instr) (((instr) >> 9) & 0xF) |
#define | SIGN_EXT_T5(imm) (((imm)&0x10) ? (imm) | 0xE0 : (imm)) |
#define | SIGN_EXT_T9(imm) (((imm)&0x100) ? (imm) | 0xFFFFFE00 : (imm)) |
#define | SIGN_EXT_T26(imm) (((imm)&0x2000000) ? (imm) | 0xFC000000 : (imm)) |
#define | DISP9(word1) SIGN_EXT_T9((word1)&0x1FE) |
#define | DISP26(word1, word2) SIGN_EXT_T26((((word1)&0x3FF) << 16) | (word2)) |
Functions | |
int | v810_decode_command (const ut8 *instr, int len, struct v810_cmd *cmd) |
#define COND | ( | instr | ) | (((instr) >> 9) & 0xF) |
Definition at line 13 of file v810_disas.h.
#define DISP26 | ( | word1, | |
word2 | |||
) | SIGN_EXT_T26((((word1)&0x3FF) << 16) | (word2)) |
Definition at line 20 of file v810_disas.h.
#define DISP9 | ( | word1 | ) | SIGN_EXT_T9((word1)&0x1FE) |
Definition at line 19 of file v810_disas.h.
#define IMM5 | ( | instr | ) | REG1((instr)) |
Definition at line 12 of file v810_disas.h.
#define OPCODE | ( | instr | ) | (((instr) >> 10) & 0x3F) |
Definition at line 9 of file v810_disas.h.
#define REG1 | ( | instr | ) | ((instr)&0x1F) |
Definition at line 10 of file v810_disas.h.
#define REG2 | ( | instr | ) | (((instr) >> 5) & 0x1F) |
Definition at line 11 of file v810_disas.h.
Definition at line 17 of file v810_disas.h.
Definition at line 15 of file v810_disas.h.
Definition at line 16 of file v810_disas.h.
#define V810_INSTR_MAXLEN 24 |
Definition at line 7 of file v810_disas.h.
enum v810_bit_ops |
Enumerator | |
---|---|
V810_BIT_SCH0U | |
V810_BIT_SCH0D | |
V810_BIT_SCH1U | |
V810_BIT_SCH1D | |
V810_BIT_ORU | |
V810_BIT_ANDU | |
V810_BIT_XORU | |
V810_BIT_MOVU | |
V810_BIT_ORNU | |
V810_BIT_ANDNU | |
V810_BIT_XORNU | |
V810_BIT_NOTU |
Definition at line 79 of file v810_disas.h.
enum v810_cmd_opcodes |
Definition at line 22 of file v810_disas.h.
enum v810_conds |
Definition at line 109 of file v810_disas.h.
enum v810_ext_ops |
Enumerator | |
---|---|
V810_EXT_CMPF_S | |
V810_EXT_CVT_WS | |
V810_EXT_CVT_SW | |
V810_EXT_ADDF_S | |
V810_EXT_SUBF_S | |
V810_EXT_MULF_S | |
V810_EXT_DIVF_S | |
V810_EXT_XB | |
V810_EXT_XH | |
V810_EXT_REV | |
V810_EXT_TRNC_SW | |
V810_EXT_MPYHW |
Definition at line 94 of file v810_disas.h.
enum v810_sysregs |
Enumerator | |
---|---|
V810_SREG_EIPC | |
V810_SREG_EIPSW | |
V810_SREG_FEPC | |
V810_SREG_FEPSW | |
V810_SREG_ECR | |
V810_SREG_PSW | |
V810_SREG_PIR | |
V810_SREG_TKCW | |
V810_SREG_CHCW | |
V810_SREG_ADTRE |
Definition at line 128 of file v810_disas.h.
Definition at line 309 of file v810_disas.c.
References cmd, decode_3operands(), decode_bcond(), decode_bit_op(), decode_extended(), decode_imm_reg(), decode_jump(), decode_load_store(), decode_reg_reg(), len, OPCODE, rz_read_le16(), V810_ADD, V810_ADD_IMM5, V810_ADDI, V810_AND, V810_ANDI, V810_BSTR, V810_CAXI, V810_CLI, V810_CMP, V810_CMP_IMM5, V810_DIV, V810_DIVU, V810_EXT, V810_HALT, V810_INB, V810_INH, V810_INW, V810_JAL, V810_JMP, V810_JR, V810_LDB, V810_LDH, V810_LDSR, V810_LDW, V810_MOV, V810_MOV_IMM5, V810_MOVEA, V810_MOVHI, V810_MUL, V810_MULU, V810_NOT, V810_OR, V810_ORI, V810_OUTB, V810_OUTH, V810_OUTW, V810_RETI, V810_SAR, V810_SAR_IMM5, V810_SEI, V810_SETF, V810_SHL, V810_SHL_IMM5, V810_SHR, V810_SHR_IMM5, V810_STB, V810_STH, V810_STSR, V810_STW, V810_SUB, V810_TRAP, V810_XOR, and V810_XORI.
Referenced by disassemble(), and v810_op().