ASM x86相对JMP

ben*_*aug 2 x86 assembly gcc

我正在使用asm函数在C代码中执行一些ASM代码.

我的环境是DVL与gcc版本3.

您需要将JMP设置为相对地址,如%eip + 0x1f.

我怎样才能做到这一点 ?

谢谢

CB *_*ley 6

x86支持短跳转(JMP,操作码EB + 1字节相对地址),它应该做你想要的.

在大多数汇编程序(包括gcc的内联asm IIRC)中,您只需将标签放在要跳转到的位置,然后使用jmp mylabel并让assember计算出正确的操作码和跳转的相对地址.