以前看过的汇编代码只有b,bl和bne label等,从未见过bne 1b,今天在看韦东山老师的《Linux完全开发手册》第六章有如下代码:
1:
ldr r4,[r2],#4
str r4,[r1],#4
cmp r1,r3
bne 1b
顿时觉得代码写错了,最后一句应该是bne 1,但是后面居然还有一个1的标号,同样还有bne 1b语句,后面在网上查了之后才知道,bne 1b这条语句里的b是backward的意思,既然有backward就有forward,所有就有bne 1f语句:
eg:
1: ;A
cmp r0, #0
beq 1f ; r0==0那么向前跳转到B处执行
bne 1b ; 否则向后跳转到A处执行
1: ;B
又增涨知识了。。。
---------------------
版权声明:本文为CSDN博主「如小丧」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/liaoshengshi/article/details/39827353