2010-03-21 73 views
1

我正在用C代码做一些ASM代码,其功能是asm函数。ASM x86相对JMP

我的环境是DVL用gcc版本3

嗨需要做一个JMP像EIP%+ 0x1F的相对地址。

我该怎么做?

感谢

回答

5

x86的支持很短的跳跃(JMP,操作码EB + 1个字节相对地址),它应该做你想要什么。

在大多数汇编程序中(包括gcc的inline asm IIRC),你可以在你想要跳转到的地方放上一个标签,然后使用jmp mylabel,然后让设备判断跳转的正确操作码和相对地址。

+1

我刚刚在GCC中试过了,它确实有效(跳转到标签)。但你打败了我的职位!用于gcc内联汇编的 – 2010-03-21 23:05:00

+0

:没有标签呢? __asm __(“jmp short 0x3F”);似乎没有例如。任何解决方案 – GalDude33 2014-02-25 22:31:49