ARM汇编指令集3

发布者:WhisperingWinds最新更新时间:2020-01-29 来源: eefocus关键字:ARM  汇编指令集  数据处理 手机看文章 扫描二维码
随时随地手机看文章

常用ARM指令1:数据处理指令

    

•数据传输指令  mov mvn

      mov   r1,  r0        @两个寄存器之间数据传递

      mov       r1,  #0xff   @将立即数赋值给寄存器

mov 和mvn用法一样,区别是mov是原封不动的传递,而mvn是按位取反后传递

 

•算术指令  add sub rsb adc sbc rsc 

     and    逻辑与

     orr     逻辑或

     eor     逻辑异或

 

•逻辑指令  and orr eor bic

    bic     位清零

    bic   r0,r1,#0x1f      @将r1的数的bit0 到bit4清零后赋值给r0

 

•比较指令  cmp cmn tst teq   (比较指令重在过程不在乎结果)

   cmp    r0, r1         @等价于sub   r2, r0,r1  (r2 = r0-r1)

   cmn    r0, r1         @等价于 add r0,r1

   tst      r0,#0x08   @测试bit_3是否为0

   bne    suspendup  @上一条指令指令是否成立 成立就跳转到 标签suspendup

   tst      r0,#0x0f    @测试r0的bit0-bit3是否都为0

 

•乘法指令  mvl mla umull umlal smull smlal

 

•前导零计数  clz

比较指令用来比较2个寄存器中的数
注意:比较指令不用后加s后缀就可以影响cpsr中的标志位。
常用ARM指令2:cpsr访问指令 :mrs & msr

•mrs用来读psr(包括cpsr、spsr),msr用来写psrpsr(包括cpsr、spsr)

      cpsr和spsr的区别和联系:cpsr程序状态寄存器,整个SOC中只有1个;而spsr有5个,分别在5种异常模式下,作用是当普通模式进入异常模式时,

      用来保存之前普通模式下的cpsr,已在返回普通模式时恢复原来的spsr。

•CPSR寄存器比较特殊,需要专门的指令访问,这就是mrs和msr。

 

常用ARM指令3:跳转(分支)指令:b & bl & bx

•b 直接跳转(就没打开算返回)

•bl branch and link,跳转前把返回地址放入lr中,以便返回,以便用于函数调用

•bx跳转同时切换到ARM模式,一般用于异常处理的跳转。

 

常用ARM指令4:访存指令:ldr/str &  ldm/stm & swp

•单个字/半字/字节访问 ldr/str

•多字批量访问  ldm/stm

•swp r1, r2, [r0]

•swp r1, r1, [r0](内存和寄存器交换数据)

 

ARM汇编中的立即数(合法立即数与非法立即数)

•ARM指令都是32位,除了指令标记和操作标记外,本身只能附带很少位数的立即数。因此立即数有合法和非法之分。

•合法立即数:经过任意位数的移位后非零部分可以用8位表示的即为合法立即数

  如:合法立即数:0x000000ff、0x00ff0000

       非合法立即数:0x000001ff

 

常用ARM指令5:软中断指令  :swi(software interrupt)

•软中断指令用来实现操作系统中系统调用

关键字:ARM  汇编指令集  数据处理 引用地址:ARM汇编指令集3

上一篇:ARM汇编指令集1
下一篇:ARM汇编指令集4

推荐阅读最新更新时间:2024-11-08 11:39

ARM的22个常用概念总结
1.ARM中一些常见英文缩写解释 MSB:最高有效位; LSB:最低有效位; AHB:先进的高性能总线; VPB:连接片内外设功能的VLSI外设总线; EMC:外部存储器控制器; MAM:存储器加速模块; VIC:向量中断控制器; SPI:全双工串行接口; CAN:控制器局域网,一种串行通讯协议; PWM:脉宽调制器; ETM:嵌入式跟踪宏; CPSR:当前程序状态寄存器; SPSR:程序保护状态寄存器; 2.MAM 使用注意事项: 答:当改变 MAM 定时值时,必须先通过向 MAMCR 写入 0 来关闭 MAM,然后将新值写入 MAMTIM。最后,将需要的操作模式的对应值写入MAMCR,再次打开MAM。 对于低于 20MHz
[单片机]
一种基于ARM的航标终端设计方案
  0 引言   航标是航行标志的简称,是指示航道方向、界限与碍航物的标志,为船舶的安全航行提供了基本保障。航标终端通过测量航标灯工作状态(电压、电流、可用灯泡数、闪光周期、位置信息等参数),再将这些状态信息以数据报的形式在CPU的控制下通过公共通讯网发送回航标监控中心。同时,监控中心也可以对航标进行远程遥控。这样,就能使得当代的航道建设趋于数字化、信息化。   1.系统总体设计   航标终端需要测量和控制的对象参数主要有电压、电流、灯质、日光值等,既有模拟量又有数字量。终端必须是一个电源适应能力强、抗干扰能力强、功耗低、集成模数转换的SOC(System On Chip)系统。本航标终端采用主、从双CPU结构。系统主控制器
[单片机]
一种基于<font color='red'>ARM</font>的航标终端设计方案
基于ARM7的路灯监控通信终端的设计
   0 引言   对于城市路灯管理部门来说,防盗、节能等一直是一件非常头疼的事情,需要投入大量的人力、物力和财力,因为路灯数量众多,地理位置分散,给工作人员带来极大的困难。 GPRS即通用分组无线业务 ,英文全称为General Packet Radio Service,这种无线业务是在现有GSM网络上开通的一种新型的分组数据传输业务。GPRS采用分组交换技术,它可以让多个用户共享某些固定的信道资源。GPRS特别适用于间断的、突发性的或频繁的、少量的数据传输,也适用于偶尔的大数据量传输,具有实时在线、按量计费、快捷登录、高速传输、自如切换等优点。因此,利用GPRS组建的无线通信系统是一种造价低,易于维护和推广,无制约,可靠性
[单片机]
基于<font color='red'>ARM</font>7的路灯监控通信终端的设计
ARM/FPGA杜邦线之片间传输--高速数据串扰
片间传输--高速数据串扰 这几天调试一个东东,STM32的FSMC传输数据给Bingo自制的VGA控制器,由于没有直接打板,板间用了杜邦线连接。FMSC传输模式为最快的速度,FSMC写时序如下图所示,最快达到了72M(HCLK)的速度。但是我用了杜邦线,,没办法。。。神奇的事情不断地发生,幽灵一直在身边,以此分享给大家点滴心得,虽然我也只是知道皮毛。 下图是我项目中STM32与FPGA间,杜邦线连接的图,杜邦线20cm,FSMC 最高HCLK=72MHz。从右到左分别为D0-D15,CS,RS,WR,RD 先贴一下贵人相助时的聊天记录,众人经验总结,精华部分,值得分享:
[单片机]
<font color='red'>ARM</font>/FPGA杜邦线之片间传输--高速数据串扰
Synopsys适用于Juno ARM开发平台的全新HAPS适配器加速软件初启
亮点: HAPS原型设计系统与Juno ARM开发平台结合,加速ARMv8-A SoC的软件开发、软硬件集成和系统验证。 Juno ARM开发平台让基于ARMv8-A处理器操作系统内核或驱动代码的移植得以提前。 软硬件集成的HAPS系统,通过设计规划、FPGA综合和调试的自动化特性,实现快速原型设计。 适用于Juno ARM开发平台的DesignWare IP原型设计套件,加速IP原型设计以及与基于ARMv8-A系统的集成。 新思科技(Synopsys, Inc.,纳斯达克股票市场代码:SNPS)日前发布了一款新型HAPS适配器,它能够使HAPS基于 FPGA的原型设计系统轻松连接到Juno ARM开发平
[嵌入式]
ARM芯片学习(S5PV210开发)——代码重定位
什么是代码重定位 代码重定位就是代码的复制或者说搬移,把在A地址存放的代码复制一份到B地址,至于A、B地址,程序员是事先知道的,可以通过芯片的数据手册查询得知。并且由于某些条件的限制,有时候不能直接将代码下载到B地址,只能先下载到A地址,然后运行代码,将代码复制到B地址接着运行。 为什么要代码重定位 重定位不是为了优化性能,而是由于硬件的限制,不得不进行重定位。试想一下,我们拿到一台设备,只要上电就可以运行代码,那代码必定要先保存在设备的存储介质中,并且是掉电不丢失的存储介质,具有掉电不丢失性质的存储介质有磁盘、flash等,但是这些都不能用作内存,内存都是RAM。这就矛盾了,内存是掉电丢失,必然不能用于存储代码,但是代码又必
[单片机]
ARM入门笔记(7)
串口DMA控制实验 一.背景 DMA是Direct Memory Access的缩写,即 存储器直接访问 。它是指一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,即不通过CPU,也不需要CPU干预。整个数据传输操作在一个称为 DMA控制器 的控制下进行的。CPU除了在数据传输开始和结束时作一点处理外,在传输过程中CPU可以进行其它的工作。这样,在大部分时间里,CPU和输入输出都处在并行操作。因此,使整个计算机系统的效率大大提高。 AT91SAM7S64串口外围DAM控制器的工作过程:将要发送的数据缓冲区的起始地址赋给串口DMA控制器的发送指针寄存器,再将要发送的字节个数赋给PDC的发送计数寄存器,然后无须 CP
[单片机]
富士康要做芯片了?郭台铭科技版图加速扩张
  《日本经济新闻》独家披露,富士康将与今年稍早才被日本软银(SoftBank)收归旗下的英国芯片设计大厂安谋(ARM)合作,在深圳创设芯片设计中心,将事业版图拓展至半导体领域。   富士康董事长郭台铭虽设下年营收成长目标10%,但今年1~9月营收却年减逾3%。随着全球智能手机需求减弱,富士康企图跨足芯片设计领域的打算,凸显出富士康正努力寻求可带动未来成长的新技术。   郭台铭已对物联网(Internet of Things,IoT)展现兴趣,而IoT应用需大量芯片支持。研调机构预估,今年IoT芯片市场将成长19%至184亿美元(约5799亿元台币),2019年进一步达到296亿美元(约9329亿元台币)。研究机构则预测,整体I
[半导体设计/制造]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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