我需要将指针插入eax,将一个指针插入ebx寄存器.我首先解决了这个问题:
register int eax asm("eax");
register int ebx asm("ebx");
int main()
{
eax = ptr1;
ebx = ptr2;
}
Run Code Online (Sandbox Code Playgroud)
这就像一个魅力.但是,当我将其添加到我的其他代码中时,我得到了一些奇怪的错误,关于gcc无法在类AREG中找到一个寄存器溢出,完全不相关的代码部分.我用Google搜索,结果实际上是gcc -.-中的一个错误.因此,我需要另一种方法,将两个指针推入eax和ebx寄存器.任何想法?谢谢!
编辑,因为人们一直在问我想在这里完成什么,我想我会解释一下.
我需要更改一些汇编代码的eax和ebx,我试图在我的程序中运行.我需要执行这个汇编代码,并通过eax和ebx寄存器给出一个指向参数的指针.我通过在ebx中推送指针来执行汇编代码并调用ebx.When我不会将寄存器称为全局,但是在本地,汇编代码崩溃了.如果我全局调用它,我会在随机函数结束时得到这个奇怪的错误.当我删除该功能时,它会在另一个随机函数中抛出相同的错误.直到我用完了函数,然后它才有效,但后来我想念剩下的代码:P