新闻中心

EEPW首页>嵌入式系统>设计应用> ARM汇编指令——TST和BNE、BEQ解析

ARM汇编指令——TST和BNE、BEQ解析

作者: 时间:2016-11-21 来源:网络 收藏
从汇编角度来讲,TST和AND可以说做的是完全相同的运算,只不过TST不保存具体运算结果只判断是否为0。

简单例子:

本文引用地址://m.amcfsurvey.com/article/201611/319526.htm

TSTR0, #0x8;测试bit_3是否为0
BNESuspendUp ;BNE指令是“不相等或不为0跳转指令”:

LDRR1,#0

先进行and运算,如果R0的第四位不为1,则结果为零,此时zero=1,执行下面的LDR指令;

否则,结果为1,zero=0,跳到SuspendUp处执行。

强调:BNE指令是“不相等或不为0则跳转指令”,与TST搭配,应用“不为0则跳转”;

个人总结:tst 和bne连用: 先是用tst进行位与运算,然后将位与的结果与0比较,如果不为0,则跳到bne紧跟着的标记(如bne sleep,则跳到sleep处)。

强调:BEQ指令是“相等或为0则跳转指令”,与TST搭配,应用“为0则跳转”;

tst 和beq连用: 先是用tst进行位与运算,然后将位与的结果与0比较,如果为0,则跳到beq紧跟着的标记(如beq delay,则跳到delay处)。



关键词:ARM汇编指TSTBNEBE

评论


技术专区

关闭