【发布时间】:2016-04-15 03:02:10
【问题描述】:
我正在使用基于 PIN 的模拟器来测试一些新的架构修改。我需要使用我的模拟器测试带有两个操作数(一个寄存器和一个内存位置)的“新”指令。
由于使用 GCC 机器描述仅添加一条指令很乏味,因此使用 NOP 或未定义指令似乎是合乎逻辑的。 PIN 可以很容易地使用INS_IsNop 检测 NOP 指令,但它会干扰自然添加到代码中的 NOP,它也没有操作数或单个内存操作数。
剩下的唯一选择是使用未定义的指令。未定义的指令永远不会干扰代码的其余部分,并且可以通过 PIN 使用INS_IsInvalid 检测到。
问题是我不知道如何使用 GCC 内联汇编添加未定义的指令(带有操作数)。我该怎么做?
【问题讨论】:
-
从您的问题来看,您的问题是在 gcc 中发出未定义的指令。从您的评论看来,另一个问题是解码指令。您是否还有其他问题?
标签: gcc assembly x86 inline-assembly intel-pin