【发布时间】:2017-02-08 08:51:22
【问题描述】:
documentation for LDP and STP 给出的示例指令末尾带有感叹号:
LDP X8, X2, [X0, #0x10]!
A64 中的documentation about porting A32 PUSH/POP 指令也提供了以下示例:
PUSH {r0-r1} ---> STP X0, X1, [SP, #-16]!
POP {r0-r1} ---> LDP X0, X1, [SP], #16
这两页都没有解释说明末尾的感叹号是什么意思。它有什么作用?
【问题讨论】:
-
您是否考虑过阅读有关寻址模式的文档(如果我没记错的话,! 表示不仅将偏移量添加到
sp,而且将结果写回sp)。 -
它的含义与过去 3 年在 ARM 预索引寻址模式中的含义完全相同,并且每个指令集参考都涵盖,包括您链接的文档...(提示:6.3.4)
-
@Notlikethat 并不是每个人都参与了这个游戏 3 年。为什么是阴影?在 arm 架构文档中搜索这样的内容并不容易。
标签: assembly arm stack arm64 addressing-mode