9#ifndef TRITON_RISCVSPECIFICATIONS_H
10#define TRITON_RISCVSPECIFICATIONS_H
12#include <unordered_map>
50 std::unordered_map<triton::arch::register_e, const triton::arch::Register>
id2reg;
51 std::unordered_map<std::string, triton::arch::register_e> name2id;
86 ID_INS_AMOADD_D_AQ_RL,
90 ID_INS_AMOADD_W_AQ_RL,
94 ID_INS_AMOAND_D_AQ_RL,
98 ID_INS_AMOAND_W_AQ_RL,
102 ID_INS_AMOMAXU_D_AQ_RL,
106 ID_INS_AMOMAXU_W_AQ_RL,
110 ID_INS_AMOMAX_D_AQ_RL,
114 ID_INS_AMOMAX_W_AQ_RL,
118 ID_INS_AMOMINU_D_AQ_RL,
122 ID_INS_AMOMINU_W_AQ_RL,
126 ID_INS_AMOMIN_D_AQ_RL,
130 ID_INS_AMOMIN_W_AQ_RL,
134 ID_INS_AMOOR_D_AQ_RL,
138 ID_INS_AMOOR_W_AQ_RL,
142 ID_INS_AMOSWAP_D_AQ_RL,
146 ID_INS_AMOSWAP_W_AQ_RL,
150 ID_INS_AMOXOR_D_AQ_RL,
154 ID_INS_AMOXOR_W_AQ_RL,
This class is used to represent an instruction.
The riscvSpecifications class defines specifications about the RV32 and RV64 CPU.
TRITON_EXPORT triton::arch::riscv::insn_group_e capstoneGroupToTritonGroup(triton::uint32 id) const
Converts a capstone's group id to a triton's group id.
TRITON_EXPORT triton::uint32 capstoneInstructionToTritonInstruction(triton::uint32 id) const
Converts a capstone's instruction id to a triton's instruction id.
std::unordered_map< triton::arch::register_e, const triton::arch::Register > id2reg
List of registers specification available for this architecture.
TRITON_EXPORT triton::uint32 getMemoryOperandSpecialSize(triton::uint32 id) const
Returns memory access size if it is specified by instruction.
TRITON_EXPORT triton::arch::register_e capstoneRegisterToTritonRegister32(triton::uint32 id) const
Converts a capstone's register id to a triton's register id for RV32.
TRITON_EXPORT riscvSpecifications(triton::arch::architecture_e)
Constructor.
TRITON_EXPORT triton::arch::register_e capstoneRegisterToTritonRegister64(triton::uint32 id) const
Converts a capstone's register id to a triton's register id for RV64.
register_e
Types of register.
instruction_e
The list of opcodes.
const triton::arch::Instruction nop
RISCV NOP instruction – ADDI x0, x0, 0.
std::uint32_t uint32
unisgned 32-bits