zsy-s 发表于 2024-11-12 16:39

汇编 命令tst cmp bne beq 理解

<div class='showpostmsg'><p>&nbsp;tst cmp是两个比较指令,结果会更新到cpsr 寄存器里</p>

<p>tst 是一个位与指令</p>

<p>cmp是一个减法指令</p>

<p>计算结果,会改变 cpsr寄存器的 nzcv 状态位上。</p>

<p>&nbsp;</p>

<p>bne 获取cpsr寄存器 z位,决定是否跳转指令后的地址。</p>

<p>个人理解上,可以这么理解:</p>

<p>&nbsp;1,r0中数据与02 与计算,状态结果保存到cpsr</p>

<p>&nbsp;2, 计算结果与0 比较,若不相等,则跳转bne后的地址执行,否则继续执行</p>

<p>如下:</p>

<p>TST r0,#02</p>

<p>BNE sleep</p>

<p>LDR &nbsp;r1,#0</p>

<p>&nbsp;</p>
</div><script>                                        var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;"   style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
                                       
                                        if(parseInt(discuz_uid)==0){
                                                                                                (function($){
                                                        var postHeight = getTextHeight(400);
                                                        $(".showpostmsg").html($(".showpostmsg").html());
                                                        $(".showpostmsg").after(loginstr);
                                                        $(".showpostmsg").css({height:postHeight,overflow:"hidden"});
                                                })(jQuery);
                                        }                </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>

13620203064 发表于 2024-11-12 16:54

<p>这是什么CPU的指令?arm,x86,mips的?</p>

zsy-s 发表于 2024-11-12 19:02

13620203064 发表于 2024-11-12 16:54
这是什么CPU的指令?arm,x86,mips的?

<p>arm,我少写了个重要得信息</p>

freebsder 发表于 2024-11-19 14:15

<p>arm也用汇编?没啥必要吧。</p>
页: [1]
查看完整版本: 汇编 命令tst cmp bne beq 理解