我有一个应用程序,我用C编写的,我真的需要在调用函数之前修改其中一个处理器寄存器的值。通常我会用内联汇编来做到这一点,但是我们都知道已经删除了64位应用程序。由于某些项目限制,我也无法在单独使用ml64编译的.asm文件中执行此操作。所以基本上我需要执行下面的代码内嵌相当于:Visual Studio 2010 x64 __setReg等价编译器固有
_asm mov r10d, 0xDEADBEEF
有谁知道一个创意方法或一些其他编译器的内部针对x64,这将允许你修改寄存器内联的价值?
*为什么*你需要更改注册?哪个注册? – 2013-02-11 17:08:58
这是不可能的。你已经消除了另一种选择。 – 2013-02-11 17:50:30
您仍然可以将机器代码放入数组中,使底层内存可执行并执行它。那对创意来说如何? – 2013-02-11 18:23:00