ARM汇编
把datablock1的内容复制到datablock2去. 我调试的时候发现没法跳出循环?
area init,code,readwrite
entry
ldr r0,=datablock1
ldr r1,=datablock2
LAldr r2,[r0]
str r2,[r1]
add r0,r0,#1
add r1,r1,#1
ldr r2,[r0]
cmp r2,#0
bne LA
b .
datablock1
dcb "hi",0
datablock2
space 100
end 汇编
[解决办法]
晕倒。上句我是说用ldrb代替ldr。
然后下句“另外”,是指你的循环体里面有两次ldr r2,[r0],后一次ldr仅仅为了比较是否0,这两句ldr可以合并,循环内少访问一次存储,当然不合并也无妨。