微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何让asm跳转到c中的variables地址?

现在,我使用c中的内联汇编来调用跳转指令,如下所示:

int register eax asm("eax") = addr; // addr is a memory address asm("jmp *%eax");

我想这样做,而不必设置任何其他的寄存器值(例如,我想要做的就是这样):

asm("jmp *(addr)");

什么是正确的方法来做到这一点? 也就是说,如何“插入”acvariables到asm调用

Ubuntu 12.04 64位,Intel x86 64位处理器,gcc 4.7.4版本。

Windows x64平台上的inline asm中的libsoxr不能编译

系统调用x86_64 Linux中的内联asm?

内联程序集相当于_InterlockedCompareExchange128

如何使用程序集来获得返回float的__stdcall函数的结果

C / C ++内联汇编程序,带有stringvariables中的指令

内联assembly可以closures保护模式吗?

从命令行创build一个文件

“用C表达式操作数汇编指令”

asm volatile("jmp *%0" : : "r" (addr));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐