当前位置: 代码迷 >> 单片机 >> 请问关于arm的bne和beq 迷惑
  详细解决方案

请问关于arm的bne和beq 迷惑

热度:472   发布时间:2016-04-28 16:05:31.0
请教关于arm的bne和beq 迷惑啊
以下是网上寻找的:

TST R0, #0X8
BNE SuspendUp ; BNE指令是“不相等(或不为0)跳转指令”:
LDR R1,#0x00000000

先进行and运算,如果R0的第四位不为1,则结果为零,则设置zero=1(继续下面的LDR指令);
否则,zero=0(跳到SuspendUp处执行)

我很迷惑 当R0=0x02的时候 R0和0x08不相等 那不相等,结果为零,接下来应该是执行BNE SuspendUP这个语句才对啊,为什么物品的了解和上面网上的找到的结果相反呢? 而且网上关于这个bne和beq 几乎都是一样的答案?难道是我理解错了?请教各位大侠。。。。。


------解决方案--------------------
不相等,AND结果是0,Z=1,BNE条件不满足,不跳转。。。。
它的NE只是按照标志位的状态,而不是前面指令的寄存器和常数是否相等。
  相关解决方案