【发布时间】:2021-02-08 18:17:11
【问题描述】:
ARM 参考手册指出:
如果加载指令指定写回并且正在加载的寄存器也是基址寄存器,那么行为是 CONSTRAINEDUNPREDICTABLE
在这种情况下,“写回”一词是什么意思?
【问题讨论】:
-
类似于
ldr r0, [r0, #4]!的东西,索引计算的结果被写回基址寄存器。这也适用于后索引寻址模式,如ldr r0, [r0], #4。 -
@fuz ldr 指令有什么作用?它未在 arm64 指令参考中列出。 developer.arm.com/documentation/100076/0100/…
-
@fctorial 您正在查看一般说明。在这种情况下,您应该查看the Data Transfer Instructions。
-
我建议从一些基本的教程内容和/或常见的编译器输出开始,以熟悉最常见的指令,然后再深入了解完整的手册;如果您对全局有所了解,细节会更有意义(例如
ldr是什么。它是 ARM 的加载指令,因此它非常重要。)