一、意思不同
b:数据跳转指令,标志寄存器中Z标志位等于零时, 跳转到BEQ后标签处。
bne: 数据跳转指令,标志寄存器中Z标志位不等于零时, 跳转到BNE后标签处。
二、作用不同
BNE指令,是个条件跳转,即:是“不相等(或不为0)跳转指令”。如果不为0就跳转到后面指定的地址,继续执行。
B 是最简单的分支。一旦遇到一个 B 指令,ARM 处理器将立即跳转到给定的地址,从那里继续执行。
三、执行跳转的条件不同
例一:cmp同bne搭配
cmp r1,r2 //这个cmp搭配下边的bne指令构成了如果r1≠r2则执行bne指令,跳转到copy_loop函数处执行。否则,就跳过下边
bne copy_loop//的bne指令向下执行。
例二:cmp同beq搭配
cmp r0,r1//如果r0=r1,就执行beq,跳转到clean_bss函数处执行,否则跳过beq向下执行。
beq clean_bss