我正在使用基于PIN的模拟器来测试一些新的架构修改。我需要使用我的模拟器测试带有两个操作数(一个寄存器和一个内存位置)的“新”指令。
由于使用 GCC 机器描述仅添加一条指令很乏味,因此使用 NOP 或未定义指令似乎是合乎逻辑的。PIN可以很容易地使用 检测 NOP 指令INS_IsNop
,但它会干扰自然添加到代码中的 NOP,它也没有操作数或单个内存操作数。
剩下的唯一选择是使用未定义的指令。未定义的指令永远不会干扰代码的其余部分,并且可以通过PIN使用INS_IsInvalid
.
问题是我不知道如何使用 GCC 内联汇编添加未定义的指令(带有操作数)。我怎么做?