ARM组件遍历字符串



我刚刚开始学习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"
        END

您需要ADR r1, string而不是LDR r1, string。CCD_ 3将string的地址放入r1中——它变为具有适当值NADD r1, pc, #NLDR正在将字符串"Hell"的前4个字节加载到r1中(0x6c6c6548,如果您是小端序),对吗?

最新更新