我想知道在 ARM 汇编中我可以使用哪条指令分支到存储在某个内存地址中的地址或标签。
例如,我们可以使用B LABEL来跳转到LABEL。但现在目的地只能在运行时知道,并且它存储在某个已知的内存位置,是否有类似 B [地址] 的东西?
Thanks!
有类似 B [地址] 的东西吗?
否。先将地址加载到寄存器中,然后使用BX http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489e/Cihfddaf.html跳转到它:
@ In this example, R0 points to the address to jump to
LDR R1, [R0]
BX R1
您也可以直接将地址加载到PC
(尽管我不确定这是否适用于所有 ARM 架构,因此请查阅相关参考文档):
@ In this example, R0 points to the address to jump to
LDR PC, [R0]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)