Skip to content

Riscv

RISCV_COMPRESSED_LOAD_INSTRUCTIONS = {RISCV_INS_C_LW: -4, RISCV_INS_C_LD: 8, RISCV_INS_C_LDSP: 8} module-attribute

RISCV_COMPRESSED_STORE_INSTRUCTIONS = {RISCV_INS_C_SW: 4, RISCV_INS_C_SWSP: 4, RISCV_INS_C_SD: 8, RISCV_INS_C_SDSP: 8} module-attribute

RISCV_EMULATED_ANNOTATIONS = {RISCV_INS_SLT, RISCV_INS_SLTU, RISCV_INS_SLTI, RISCV_INS_SLTIU} module-attribute

RISCV_LOAD_INSTRUCTIONS = {RISCV_INS_LB: -1, RISCV_INS_LH: -2, RISCV_INS_LW: -4, RISCV_INS_LBU: 1, RISCV_INS_LHU: 2, RISCV_INS_LWU: 4, RISCV_INS_LD: 8} module-attribute

RISCV_MATH_INSTRUCTIONS = {RISCV_INS_ADDI: '+', RISCV_INS_ADD: '+', RISCV_INS_C_ADDI: '+', RISCV_INS_C_ADD: '+', RISCV_INS_SUB: '-', RISCV_INS_C_SUB: '-', RISCV_INS_XORI: '^', RISCV_INS_XOR: '^', RISCV_INS_C_XOR: '^', RISCV_INS_ORI: '|', RISCV_INS_OR: '|', RISCV_INS_C_OR: '|', RISCV_INS_ANDI: '&', RISCV_INS_C_ANDI: '&', RISCV_INS_AND: '&', RISCV_INS_C_AND: '&', RISCV_INS_SLLI: '<<', RISCV_INS_C_SLLI: '<<', RISCV_INS_SLL: '<<', RISCV_INS_SRLI: '>>', RISCV_INS_C_SRLI: '>>', RISCV_INS_SRL: '>>', RISCV_INS_SRAI: '>>s', RISCV_INS_C_SRAI: '>>s', RISCV_INS_SRA: '>>s', RISCV_INS_MUL: '*', RISCV_INS_MULH: '*', RISCV_INS_MULHSU: '*', RISCV_INS_MULHU: '*', RISCV_INS_DIV: '/', RISCV_INS_DIVU: '/', RISCV_INS_REM: '%', RISCV_INS_REMU: '%', RISCV_INS_C_ADDI4SPN: '+', RISCV_INS_C_ADDI16SP: '+', RISCV_INS_ADDIW: '+', RISCV_INS_ADDW: '+', RISCV_INS_SUBW: '-', RISCV_INS_SLLIW: '<<', RISCV_INS_SLLW: '<<', RISCV_INS_SRLIW: '>>', RISCV_INS_SRLW: '>>', RISCV_INS_SRAIW: '>>s', RISCV_INS_SRAW: '>>s', RISCV_INS_MULW: '*', RISCV_INS_DIVW: '/', RISCV_INS_DIVUW: '/', RISCV_INS_REMW: '%', RISCV_INS_REMUW: '%', RISCV_INS_C_ADDIW: '+', RISCV_INS_C_ADDW: '+', RISCV_INS_C_SUBW: '-'} module-attribute

RISCV_STORE_INSTRUCTIONS = {RISCV_INS_SB: 1, RISCV_INS_SH: 2, RISCV_INS_SW: 4, RISCV_INS_SD: 8} module-attribute

assistant_rv32 = DisassemblyAssistant('rv32') module-attribute

assistant_rv64 = DisassemblyAssistant('rv64') module-attribute

DisassemblyAssistant

Bases: DisassemblyAssistant

annotation_handlers: Dict[int, Callable[[PwndbgInstruction, Emulator], None]] = {RISCV_INS_AUIPC: self._auipc_annotator, RISCV_INS_C_MV: self._common_move_annotator, RISCV_INS_C_LI: self._common_move_annotator, RISCV_INS_LUI: self._lui_annotator, RISCV_INS_C_LUI: self._lui_annotator} instance-attribute

architecture = architecture instance-attribute

__init__(architecture)