繁体   English   中英

ARM 汇编遍历字符串

[英]ARM Assembly Traverse String

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

您需要ADR r1, string而不是LDR r1, string ADRstring的地址放入 r1 - 它变成ADD r1, pc, #N并具有适当的N值。 LDR正在将字符串"Hell"的前 4 个字节加载到 r1(0x6c6c6548,如果您是小端),对吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM