ARM汇编指令的条件执行及其他相关细节

发布者:清晨微风最新更新时间:2016-06-24 来源: eefocus关键字:ARM  汇编指令  条件执行 手机看文章 扫描二维码
随时随地手机看文章
ARM指令在机器中的表示格式用32位的二进制数表示

例如 ADDEQS R0,R1,#8 表示为下表

 

 

31~28

 

27~25

 

24~21

 

20

 

19~16

 

15~12

 

11~0

 

0000

 

001

 

0100

 

1

 

0001

 

0000

 

000000001000

 

cond

 

opcode

 

Rn

 

Rd

 

Op2

 

ARM指令一般分为5个域:

第一个域就是跟条件执行相关的cond,即条件码域

第二个是指令代码域,即 opcode ,

第三个域是地址基址Rn,即第一个操作数,为寄存器

第四个域是目标或源寄存器Rd,

第五个域是地址偏移或操作寄存器、操作数区,即Op2

上述指令的5个域为 0000 0010 1001 0001 0000 0000 0000 1000

16进制代码为0291008H ,指令功能是将R1和8相加,结果放入R0中

用助记符表示的ARM指令一般格式如下

{}{S},{,}   其中{}里的是可以省略的

如上述的指令 ADDEQS R0,R1,#8

opcode是ADD ,cond是EQ,S代表的是第20位,{S}决定指令的执行结果是否影响CPSR的值,本例为1

Rd为R0,Rn为R1,op2为8

助记符中的{S}位,即32位机器码的第20位,在助记符中通常可以取S或!或空

取S的情况已经说了,加上S影响CPSR的值

加上!后缀,指令执行后,基址寄存器中的地址将发生如下变化:

基址寄存器中的值(指令执行后)=指令执行前的值+地址偏移量

如 LDR R3,[R0,#4]!   , 指令的结果将R0加4作为地址指针,把这个指针所指向的地址单元所存贮的数据读入R3,并且把R0+4的值送到R0中

使用!后缀必须注意以下事项:

1、 !后缀必须紧跟在地址表达式后面,而地址表达式要有明确的地址偏移量

2、!后缀不能用于R15(PC)的后面

3、!后缀当用在单个地址寄存器后面时,必须确保这个寄存器有隐性的偏移量,例如

STMDB R1!{R3,R5,R7}     此时的地址基址寄存器的隐性偏移量为4

好了 最后讲正题,条件的指令执行

前面提到cond有4位, [31:28],一共有16种组合 ,跟CPSR配合决定指令是否执行

 

 

如指令ADDEQ R4,R3,#1 ,带EQ标志位

只有当CPSR中的Z置位才执行该指令

又如前面的例子 ADDEQS R0,R1,#8 ,也是只有当CPSR中的Z置位才执行该指令

条件后缀和S后缀的关系如下

1、 如果既有条件后缀又有S后缀,则书写时S排在后面 如ADDEQS R1,R0,R2

该指令在Z=1时执行,将R0+R2的值放入R1,同时刷新条件标志位

2、条件后缀是要测试条件标志位,而S后缀是要刷新条件标志位

3、条件后缀要测试的是执行前的标志位,而S后缀是依据指令的结果改变条件标志。

关键字:ARM  汇编指令  条件执行 引用地址:ARM汇编指令的条件执行及其他相关细节

上一篇:ARM协处理器指令详解
下一篇:为何一般不建议在中断中喂狗?

推荐阅读最新更新时间:2024-03-16 14:58

基于ARM920T的嵌入式静力测量系统设计
  引言   静力测量可用于许多不同的测量系统中。目前大多数工业控制系统、地质勘测系统以及建筑测量中所使用的计量设备(衡器)的测量模型大多建立于杠杆原理或弹性原理,其平衡方程均建立在静力平衡的基础之上。随着微电子技术的进一步发展、嵌入式芯片的大量引入、控制功能的完善、速度及组态软件以及图像处理技术的发展,目前已出现了很多新型静力测量系统。当今的静力测量系统正沿着微型化、智能化和网络化的主流方向发展。   在以前主从式单片机实现的静力测量系统中,主单片机负责管理整个系统,从单片机负责实现具体的功能,然后通过增加外设来实现显示和打印功能。整个系统只有一个主程序,其中包括系统控制模块、驱动和用户界面程序。这样,系统的硬件软件功能的可
[工业控制]
基于嵌入式ARM-Linux无线ZigBee协调器驱动设计
农田中大范围的环境信息监测已成为网络应用范围重点之一。针对农田布线不便的特点,ZigBee无线节点网络成为农田信息采集系统的首选,可对其所分布区域内的各种环境和检测对象的信息进行实时的监控 。然而,控制下层整个网络状态的核心是上位机ARM处理器,而且上位机与下位机通信大多以串口模式来实现 。但串口通信模式存在串口传输速率低(波特率双方一致)、传送距离短 、数据冗余差(数据校验)以及设计串口协议繁琐(帧格式)等不足。因此本文研究了ZigBee在ARM9内核中的协调器字符驱动,利用I/O传输数据,控制具有协调器驱动的设备在农田任何位置即可组网,以减少协调器的布局,实现方便快捷的动态数据监测。 1 田间监测系统的要求  因监测节点需要
[工业控制]
基于嵌入式<font color='red'>ARM</font>-Linux无线ZigBee协调器驱动设计
EEWORLD总编随笔第三期:ARM会走向垄断吗?
这个世界上有些公司被贴上了“垄断”的标签,无论其怎样辩解都不能改变人们的想法,比如说英特尔。而ARM就是抓住了这一点,在英特尔大举杀进嵌入式领域时强调商业模式在这场战争中的重要性,所谓“得道多助,失道寡助”。长久以来,根深蒂固的信息是:ARM是一家做IP的公司,在嵌入式领域,ARM帮助众多的公司更快、更好地推出自己的产品。这是一家致力于打造良好生态环境,不会和客户争利益的公司,绝不会像英特尔那样无情地攫取下游的利润。 但是在不久前参加完IIC-China后,我突然产生了很大的忧虑:当条件成熟后,ARM会不会也走向垄断?给我很大震撼的是对ST和NXP的两场采访,当我问ST的一位工作人员:如今围绕着Cortex-M3的竞
[向农视角]
ARM与GPRS网络构成家庭医疗监护系统
  摘要: 介绍了一个由ARM 处理器S3C44B0X 与M590E GPRS 模块构成的家庭远程医疗监护系统。笔者介绍了S3C44B0X 以及M590 的性能特点,主要外围接口电路的设计,以及软件设计架构和系统的组成原理,并给出了GPRS模块的软件配置方法。经过实验测试,本系统在应用中取得了比较好的效果。   近年来,在家庭修养的病人由于不能得到及时看护和抢救,死亡的人数大量提高。而随着老年化的加剧,老年人在家中的健康状况也得到了更高的重视。本文研究的医疗服务系统可以极大的降低运送病人的时间和成本,并能及时的看护老年人的健康状况,对提高我国全民的健康水平有着重要作用。本论文提出了一种基于GPRS 网络的家庭医疗服务系统,本系
[单片机]
<font color='red'>ARM</font>与GPRS网络构成家庭医疗监护系统
基于ARM微处理器的嵌入式温度调节器设计
本文针对无影照明系统中色温控制的难题,设计了一种基于ARM微处理器的嵌入式温度调节器,整个智能温度控制器由微控制器、数字显示模块、温度传感器、PWM加热模块、时钟电路等多个部件组成,设计了其中的PID调节电路、串口通信电路、微控制器外围通信接口、PWM加热控制电路以及软件模块,并搭建起整个软硬件系统。最后进行了实验和验证,结果表明,该嵌入式PID温度控制器能够满足设计要求,具有良好的调节精度,并保持恒温控制特性,可以投入实际应用。 温度控制器是一种重要的控制设备,在性能要求敏感的家用电器中,温度控制器是必备的控制系统之一,其在大型工业和日常生活等领域都具有广阔的应用前景。很多应用领域,需要精度较高的恒温控制,例如,根据
[单片机]
基于<font color='red'>ARM</font>微处理器的嵌入式温度调节器设计
基于ARM处理器的TSC2046触摸屏控制器的应用
摘要:触摸屏技术经过十几年的发展已经成为一种方便、经济的人机界面输入手段。 TSC2046 是四线电阻式触摸屏控制器,其核心是一个具有采样和保持功能的12位逐次逼近式A/D转换器。以飞利浦公司的ARM芯片为基础,通过TSC2046触摸屏控制器和四线电阻式触摸屏构成硬件基础,在此基础上,开发了触摸屏面板控制程序。该触摸屏已应用于实际项目中,触摸效果良好。 关键词:TSC2046;触模屏;LPC2132芯片;控制器 0 引言 随着信息技术的不断发展,嵌入式系统正在越来越广泛地应用到消费类电子、通信设备等便携式电子类产品中。触摸屏由于其轻便、占用空间少、灵活等优点,已经逐渐取代键盘,成为嵌入式系统中最简单、方便、自然的一种人机交互
[工业控制]
基于<font color='red'>ARM</font>处理器的TSC2046触摸屏控制器的应用
瑞萨电子和瑞萨移动获ARM下一代通信与应用处理器知识产权许可
瑞萨电子株式会社及其子公司高级无线通信半导体解决方案与平台供应商瑞萨移动公司Renesas Mobile Corporation(以下简称“瑞萨移动”)已获得使用ARM® Cortex™- A7 MPCore™和ARM Cortex-A15 MPCore™处理器的许可。该两款处理器通过部署在ARM的big.LITTLE™配置中,可以帮助瑞萨移动开发新一代涡轮增压应用处理器、通信处理器及可提供超强性能和更长电池续航时间的LTE/HSPA+多模智能手机平台。 ARM的big.LITTLE处理器技术是一项灵活的技术。通过使用应用软件在两个处理器集群(一个用于提供高性能,另一个用于实现最大能效)之间无缝切换,Big.LITTLE重新定义了功
[单片机]
ARM授权杭州国芯 开发新一代机顶盒芯片设计
杭州国芯科技有限公司(杭州国芯)和ARM公司共同宣布:杭州国芯已经通过授权获得ARM926EJ-S处理器,将用于其为家庭娱乐和多媒体应用设计的下一代数字电视和机顶盒芯片。 杭州国芯总部位于中国杭州,是快速成长的中国数字电视和机顶盒市场芯片供应商。这一授权协议将帮助杭州国芯为快速增长的、包括高清电视(HDTV)、数字电视和机顶盒子在内的数字电视和消费电子应用推出一系列基于ARM的解决方案。 这一与杭州国芯的协议进一步增加了积极参与家庭市场的、基于ARM处理器的芯片供应商的数量,同时也再次体现了ARM对中国本地芯片供应商的承诺。
[家用电子]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved