提问者:小点点

在C++中我应该使用什么样的工具来创建一个简单的RISC-V反汇编器?


我希望在C++中创建一个简单的RISC-V反汇编器。
目标是能够接受一个由十六进制的单独字节组成的。bin文件,并将这些字节解析为可读的,格式化的RISC-V指令。
我想只需使用switch语句就可以完成,但是解决这个问题的更稳健的方法是什么?

我是一个CS的学生,所以我把这个作为一个学习练习,想要熟悉这个项目中的C++工具。


共1个答案

匿名用户

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

相关问题


MySQL Query : SELECT * FROM v9_ask_question WHERE 1=1 AND question regexp '(c++|中|工具|创建|简单|risc-v|反|汇编器)' ORDER BY qid DESC LIMIT 20
MySQL Error : Got error 'repetition-operator operand invalid' from regexp
MySQL Errno : 1139
Message : Got error 'repetition-operator operand invalid' from regexp
Need Help?