You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AMD64架构下实现pc ← (sp)无自动递减的等效指令方法咨询

AMD64 实现方法

AMD64指令集里确实没有直接的pc ← (sp)指令,最简短的等价实现是单条跳转指令:

  • AT&T 语法:jmp *%rsp
  • Intel 语法:jmp [rsp]
    这条指令会直接将栈顶指针指向的内存值加载到程序计数器(RIP),完全达成需求,且不会对SP做自动递减操作。
ARM 架构实现方案

ARM架构的实现分32位和64位两种情况:

  • AArch32(32位ARM):直接使用LDR PC, [SP]指令即可,这条指令会把栈顶内存的值加载到PC寄存器,且不会修改SP的值,完全匹配需求。
  • AArch64(64位ARM):AArch64不支持直接从内存加载值到PC,需要通过通用寄存器中转,最简短的实现是两条指令:
    LDR X0, [SP]
    BR X0
    
    也可以用RET X0替代BR X0,不过BR更直接体现分支到指定地址的意图。

内容的提问来源于stack exchange,提问作者Jim Sawyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 02:34:50