[英]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
。 ADR
将string
的地址放入 r1 - 它变成ADD r1, pc, #N
并具有适当的N
值。 LDR
正在将字符串"Hell"
的前 4 个字节加载到 r1(0x6c6c6548,如果您是小端),对吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.