【发布时间】:2012-03-09 05:43:31
【问题描述】:
我希望为 x86 架构的指令子集实现一个模拟器。给定一个二进制文件,我希望将其反汇编并根据指令运行模拟。为此,需要查看指令的某些位来确定它是控制指令、算术指令还是逻辑指令,并且在此基础上,必须通过查看剩余位来推导操作的参数。一种明显但痛苦的实现方式是使用嵌套的 if-else/switch-case 语句。有人可以提出更好的实施方法吗?
【问题讨论】:
-
您确实需要一个 switch-case 语句,但不完全是。检查查找表;抓取一个字节,调用该字节值的处理程序,处理程序读取操作数并返回,重复。
标签: c++ x86 simulation