arm指令之beq和bnq

发布者:疯狂小马最新更新时间:2022-06-01 来源: eefocus关键字:arm指令  beq 手机看文章 扫描二维码
随时随地手机看文章

网上关于arm工作模式及寄存器的资料比较多,百度文库中有一个ppt 讲的比较通俗易懂,见传送门。

本文将主要讨论arm指令中的beq和bnq指令,这俩指令也比较容易搞混。
先看下arm指令的基本格式:

由上面的指令格式,实际上beq可以看做b+eq,bnq可以看做b+nq ,即opcode指令助记符b和cond指令条件的结合。事实上很多指令都可以看做是opcode指令助记符b和cond指令条件的结合,比如ldreq就可以看做ldr+eq。
b指令是跳转指令,使用方法如下:

cond指令条件的详细信息见下表:

上表中,我们会看见很多标志位Z、C、N等,这就涉及到CPSR寄存器了。下表是CPSR状态寄存器中各标示位的详细讲解。

示例解析:

    cmp r0, r1            
    beq run1        

如上是beq一个最简单的示例,比较r0和r1寄存器的值,如果相等,则跳转到run1;这时由于r0和r1寄存器的值相等,CPSR状态寄存器的Z=1。

    cmp r0, r1            
    bne run2

如上是bnq一个最简单的示例,比较r0和r1寄存器的值,如果不相等,则跳转到run2;如果r0和r1寄存器的值不相等,CPSR状态寄存器的Z=0。


关键字:arm指令  beq 引用地址:arm指令之beq和bnq

上一篇:ARM指令和Thumb指令和Thumb-2指令的区别
下一篇:ARM Cortex-M3 存储器映射

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved