您的位置 首页 国产IC

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

从汇编角度来讲,TST和AND可以说做的是完全相同的运算,只不过TST不保存具体运算结果只判断是否为0。简单例子:TSTR0,0x8;

从汇编视点来讲,TST和AND可以说做的是完全相同的运算,只不过TST不保存详细运算成果只判别是否为0。

简略比如:

TST R0, #0x8 ; 测验bit_3是否为0
BNE SuspendUp ; BNE指令是“不持平或不为0跳转指令”:

LDR R1,#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处)。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/319642.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部