我刚开始学习ARM程序集并尝试遍历字符串。我查看了stackoverflow中的一些解决方案,并尝试实现这些解决方案,但由于某种原因,我总是得到" 0x00000000"而不是角色本身。 (在r2上)
AREA Reset, CODE, READONLY
ENTRY
st LDR r1, string
ll LDRB r2, [r1], #1
MOV r3, r2
B ll
ALIGN
string = "Hello World\0"
END
答案 0 :(得分:2)
您希望ADR r1, string
代替LDR r1, string
。 ADR
将string
的地址放入r1 - 它变为ADD r1, pc, #N
,其值为N
。 LDR
正在将字符串"Hell"
的前4个字节加载到r1(0x6c6c6548,如果你是小端),对吗?