【发布时间】:2019-04-30 20:43:53
【问题描述】:
假设我有一个 64 位数据的 3 元素数组:
src DCQ 0x0200200AD00236DD
DCQ 0x00003401AAC4D097
DCQ 0X0001FC219AC931BE
假设我知道“src”的地址(命名为 srcAdr),我可以通过说:
LDR srcLo, [srcAdr, index, LSL#3]
为了得到这个元素更高的 32 位内容,我知道我可以:
ADD srcAdrHi, srcAdr, #4
LDR srcHi, [srcAdrHi, index, LSL#3]
问题是,有没有更优雅的方法来做到这一点?比如说,在一条指令中?
【问题讨论】:
-
指令集参考说明了什么(例如,如果您查找
LDRD)? -
你不能
ldr srcHi, [srcAdr, #4]吗? -
感谢您的来信。我用的是ARM7TDMI,所以不支持LDRD。
-
使用 ldm 代替 ldr
-
ldmia r0,{r1,r2} 是一条指令 r0 是地址