我正在 gem5 模拟器中的 X86 架构中对自定义 MOV 指令进行建模,为了在模拟器上测试其实现,我需要使用内联汇编来编译 C 代码以创建二进制文件。但由于它是一条自定义指令,尚未在 GCC 编译器中实现,因此编译器会抛出错误。我知道一种方法是扩展 GCC 编译器以接受我的自定义 X86 指令,但我不想这样做,因为它更耗时(但稍后会这样做)。
作为临时黑客(只是为了检查我的实现是否值得)。我想编辑已经存在的 MOV 指令,同时更改模拟器中的底层“微操作”,以便欺骗 GCC 接受我的“自定义”指令并进行编译。
因为 x86 架构中有多种类型的 MOV 指令。因为它们是86架构参考中的各种MOV指令。
因此,我的问题是,哪条 MOV 指令使用最少,我可以编辑其底层微操作。假设我的工作负载仅包括整数,即很可能不会使用 xmm 和 mmx 寄存器,并且我的指令反映了 MOV 指令的相同实现。