ARM汇编小问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 17:56:48
1
在第四章课后习题里有一段程序是这样的
LOOP
LDRB R3,[R0],#1
STRB R3,[R1],#1
SUBS R2,R2,#1
BNE LOOP 这里的BNE是判断的哪里呢?
2在字符串快拷贝里也有类似疑问
STRCOPY
LDMIA R0!,{R4-R11}
STMIA R1!,{R4-R11}
SUBS R3,R3,#1
BNE STRCOPY bne是在干吗?和谁比较了?
3
HALT
B HALT 这里的无限循环有什么用啊?去掉与上下文何干?

BNE LOOP 这里的BNE是判断的哪里呢?
当然是紧挨着它上面的SUBS R2,R2,#1了,BNE等同于BNZ,不过这里用BNE不如用BNZ更直观,更符合上下文

BNE STRCOPY bne是在干吗?和谁比较了?
在这里R3充当计数器的作用

B HALT 这里的无限循环有什么用啊?去掉与上下文何干?
防止程序跑飞了产生未知的后果,程序中有时候需要放一些无限循环