标签: gcc assembly x86
我正在使用 asm 函数在C代码中执行一些ASM代码。
我的环境是使用gcc版本3的DVL。
您需要将JMP设置为相对地址,例如%eip + 0x1f。
我该怎么做?
由于
答案 0 :(得分:6)
x86支持短跳转(JMP,操作码EB + 1字节相对地址),它应该做你想要的。
在大多数汇编程序(包括gcc的内联asm IIRC)中,您只需将标签放在要跳转到的位置,然后使用jmp mylabel让assember计算出正确的操作码和跳转的相对地址。 / p>
jmp mylabel