#include <cassert>
#include <triton/architecture.hpp>
#include <triton/cpuSize.hpp>
#include <triton/exceptions.hpp>
#include <triton/externalLibs.hpp>
#include <triton/riscvSpecifications.hpp>
#include "triton/riscv64.spec"
#include "triton/riscv32.spec"
Go to the source code of this file.
|
#define | REG_SPEC(CS_UPPER_NAME, UPPER_NAME, LOWER_NAME, ABI_NAME, RISCV_UPPER, RISCV_LOWER, MUTABLE) |
|
#define | REG_SPEC_NO_CAPSTONE REG_SPEC |
|
#define | REG_SPEC(CS_UPPER_NAME, UPPER_NAME, LOWER_NAME, ABI_NAME, RISCV_UPPER, RISCV_LOWER, MUTABLE) |
|
#define | REG_SPEC_NO_CAPSTONE REG_SPEC |
|
#define | REG_SPEC(CS_UPPER_NAME, UPPER_NAME, _1, _2, _3, _4, _5) |
|
#define | REG_SPEC_NO_CAPSTONE(_1, _2, _3, _4, _5, _6, _7) |
|
#define | REG_SPEC(CS_UPPER_NAME, UPPER_NAME, _1, _2, _3, _4, _5) |
|
#define | REG_SPEC_NO_CAPSTONE(_1, _2, _3, _4, _5, _6, _7) |
|
◆ REG_SPEC [1/4]
#define REG_SPEC |
( |
| CS_UPPER_NAME, |
|
|
| UPPER_NAME, |
|
|
| _1, |
|
|
| _2, |
|
|
| _3, |
|
|
| _4, |
|
|
| _5 ) |
Value: case triton::extlibs::capstone::RISCV_REG_##CS_UPPER_NAME: \
tritonId = triton::arch::ID_REG_RV64_##UPPER_NAME; \
break;
◆ REG_SPEC [2/4]
#define REG_SPEC |
( |
| CS_UPPER_NAME, |
|
|
| UPPER_NAME, |
|
|
| _1, |
|
|
| _2, |
|
|
| _3, |
|
|
| _4, |
|
|
| _5 ) |
Value: case triton::extlibs::capstone::RISCV_REG_##CS_UPPER_NAME: \
tritonId = triton::arch::ID_REG_RV32_##UPPER_NAME; \
break;
◆ REG_SPEC [3/4]
#define REG_SPEC |
( |
| CS_UPPER_NAME, |
|
|
| UPPER_NAME, |
|
|
| LOWER_NAME, |
|
|
| ABI_NAME, |
|
|
| RISCV_UPPER, |
|
|
| RISCV_LOWER, |
|
|
| MUTABLE ) |
Value: id2reg.emplace(ID_REG_RV64_##UPPER_NAME, \
#LOWER_NAME, \
triton::arch::ID_REG_RV64_##UPPER_NAME, \
RISCV_UPPER, \
RISCV_LOWER, \
MUTABLE) \
); \
name2id.emplace(#LOWER_NAME, ID_REG_RV64_##UPPER_NAME); \
name2id.emplace(#ABI_NAME, ID_REG_RV64_##UPPER_NAME);
This class is used when an instruction has a register operand.
◆ REG_SPEC [4/4]
#define REG_SPEC |
( |
| CS_UPPER_NAME, |
|
|
| UPPER_NAME, |
|
|
| LOWER_NAME, |
|
|
| ABI_NAME, |
|
|
| RISCV_UPPER, |
|
|
| RISCV_LOWER, |
|
|
| MUTABLE ) |
Value: id2reg.emplace(ID_REG_RV32_##UPPER_NAME, \
#LOWER_NAME, \
triton::arch::ID_REG_RV32_##UPPER_NAME, \
RISCV_UPPER, \
RISCV_LOWER, \
MUTABLE) \
); \
name2id.emplace(#LOWER_NAME, ID_REG_RV32_##UPPER_NAME); \
name2id.emplace(#ABI_NAME, ID_REG_RV32_##UPPER_NAME);