我正在为 Oki6620* 架构编写处理器模块。和ARM的Thumb模式或者m7700的M标志一样,这种架构有一个特殊的标志,影响指令解码,命名为DD(Data Descriptor)。
对于 POC,我的 IDA 处理器定义有一个全局标志,并根据分析的指令更改 DD 标志。然而,由于 IDA 在分析/解码指令 (notify_ana/notify_emu/etc) 时的多线程,这显然不能很好地工作。
更糟糕的是,当在 IDA 中点击随机指令时,所述指令有时会随机更改,因为当前 DD 标志的值与第一次分析指令时不同。
我的两个主要问题是:
- m7700 和 ARM 都可以选择从接口设置标志(Alt+G,如果我没记错的话),我也在寻找一种方法来在我的模块中实现这一点。有人知道怎么做吗?
- 此外,我对如何根据实际运行的线程正确处理此 DD 标志感兴趣(将 DD 值保留在数组中,对于两个 DD 值更改指令之间的每个代码块?诸如此类)
这是解释 ISA 和处理器信息的 PDF。我当前的代码(当然是草稿)可以在github 上找到。
非常感谢您提前。