7 个版本 ()
1.0.0-beta.3 | 2024年8月16日 |
---|---|
1.0.0-beta.2 |
|
0.1.4 | 2024年7月13日 |
0.1.3 | 2023年10月17日 |
#371 in 编码
每月下载量 893
用于 l2r0-profiler-host
100KB
2.5K SLoC
raki
- 支持 32/64位。
- 支持
rv32/64imac
、Zicsr
、Zifencei
扩展。 - 实现 Display 特性以进行格式化。
使用方法
调用 decode
的 u16/u32 方法。
use raki::{BaseIOpcode, Decode, Instruction, Isa, OpcodeKind};
fn main() {
let inst_bytes: u32 = 0b1110_1110_1100_0010_1000_0010_1001_0011;
let inst: Instruction = match inst_bytes.decode(Isa::Rv32) {
Ok(inst) => inst,
Err(e) => panic!("decoding failed due to {e:?}"),
};
assert_eq!(inst.opc, OpcodeKind::BaseI(BaseIOpcode::ADDI));
println!("{inst}");
}
// --output--
// addi t0, t0, -276
支持
- BaseI (RV32I, RV64I)
- M
- A
- D
- G
- Q
- C
- B
- P
- V
- H
- Zicsr
- Zifencei
- Priv (目前仅支持
mret
、sret
、wfi
、sfence.vma
)
许可证
此软件包采用 MIT 许可证。
有关详细信息,请参阅 LICENSE
。
贡献
欢迎所有贡献,包括问题、拉取请求、问题等...有关详细信息,请参阅 CONTRIBUTING.md
。