ARM汇编语言可以通过以下几种方式加载数据:
直接使用立即数加载数据:
MOV R1, #10 ; R1 = 10
从寄存器中加载数据:
MOV R2, R1 ; R2 = R1
计算存储器偏移量并加载数据:
LDR R3, [R4, #4] ; R3 = [R4 + 4]
使用地址寄存器加载数据:
LDR R5, [R6, R7] ; R5 = [R6 + R7]
使用前缀代码LDM、LDRD和VLDM等从存储器中连续加载数据:
LDMIA R8, {R9-R12} ; R9 = [R8], R10 = [R8, #4], R11 = [R8, #8], R12 = [R8, #12]
LDRD R13, R14, [R15] ; R13 = [R15], R14 = [R15, #4]
VLDM.32 R16, {D17-D20} ; D17 = [R16], D18 = [R16, #4], D19 = [R16, #8], D20 = [R16, #12]
其中R1-R16、D17-D20等表示ARM汇编语言中的寄存器名称。