如何使用GAS汇编语法编写等价于`jmp $+1`的指令?
GAS 汇编等效指令实现
NASM 语法中的$代表当前正在汇编的指令的起始地址,GAS 中对应当前汇编位置的计数器为.(英文句点),二者语义完全一致。
要实现和 jmp $+1 完全相同的跳转到当前指令地址加1位置的功能,GAS 下的对应写法为:
jmp . + 1
注意事项
- 该指令的执行效果和NASM原版指令完全一致,若运行在x86架构下,跳转目标会落在当前jmp指令的内部(x86下近跳转jmp指令长度为2字节),通常用于指令流混淆、内嵌常量等特定场景
- 若需适配不同架构的跳转长度要求,可按需添加操作数修饰符,比如x86环境下明确指定短跳转可写为
jmp short . + 1,行为和默认写法一致
内容的提问来源于stack exchange,提问作者nornor
相关产品推荐
相关产品推荐

