全部博文(96)
分类: LINUX
2012-12-09 20:08:45
今天在看Linux开发手册(P95)时遇到一下代码:
1:
ldr r4,[r2],#4
str r4,[r1],#4
cmp r1,r3
bne 1b
由以前的知识,如果写的bne 1是可以理解的,至于bne 1b确实不好理解,在网上搜索到对它的解释,下面说说:
bne里的1b是向后跳转到局部标签1处执行,b表示backward
对应的还有bne 1f(向前跳到局部标签1处执行)
eg:
1: ;A
cmp r0, #0
beq 1f ; r0==0那么向前跳转到B处执行
bne 1b ; 否则向后跳转到A处执行
1: ;B