c++ - 我应该在C++中使用哪种工具来创建简单的RISC-V反汇编程序?

标签 c++ disassembly riscv isa

我正在寻找用C++创建一个简单的RISC-V反汇编程序。
目的是能够获取一个.bin文件,该文件由十六进制的单独字节组成,并将这些字节解析为可读的,格式化的RISC-V指令。
我想可以只使用switch语句来完成,但是解决这个问题的更可靠的方法是什么?
我是CS的学生,所以我正在将此作为学习练习进行学习,并希望对该项目熟悉C++的工具。

最佳答案

假设指令始终具有相同的大小,即占用相同的字节数(包括地址模式选择和参数),那么查找表可能是一个有用的工具。
如果指令大小不同(对于RISC概念,我认为这是不典型的),则可能必须用状态机替换查找表。

关于c++ - 我应该在C++中使用哪种工具来创建简单的RISC-V反汇编程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63172901/

相关文章:

c++ - 指向数组声明的指针

c++ - 如何用 C++ 绘制音频文件的振幅?

python - Python反汇编器有什么用?

assembly - 浮点臂拆解说明

c++ - 适用于 Windows 的 riscv-gcc

c++ - GCC 和 Clang 不在 C++17 中编译 std::hash<std::nullptr_t>

c++ - 分配派生类时使用现有的基类对象

c - 逆向工程c程序

assembly - 在 RISC-V 汇编中写入几个 MMIO 寄存器位的更好方法?

encoding - 为什么riscv的JAL指令中的立即偏移位顺序改变了?