Assembly 臂组件横向串

Assembly 臂组件横向串,assembly,arm,Assembly,Arm,我刚开始学习手臂组合,并尝试在弦中穿行。我查看了stackoverflow中的一些解决方案,并尝试实现这些解决方案,但出于某种原因,我总是得到“0x00000000”,而不是字符本身。(r2上) 您需要的是ADR r1,string,而不是LDR r1,stringADR将string的地址放入r1——它变成添加r1,pc,#N,适当的值为N。LDR正在将字符串“Hell”的前4个字节加载到r1(0x6C6548,如果您是little endian),对吗 AREA Reset,

我刚开始学习手臂组合,并尝试在弦中穿行。我查看了stackoverflow中的一些解决方案,并尝试实现这些解决方案,但出于某种原因,我总是得到“0x00000000”,而不是字符本身。(r2上)


您需要的是
ADR r1,string
,而不是
LDR r1,string
ADR
string
的地址放入r1——它变成
添加r1,pc,#N
,适当的值为
N
LDR
正在将字符串
“Hell”
的前4个字节加载到r1(0x6C6548,如果您是little endian),对吗

        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