历史上的今天
返回首页

历史上的今天

今天是:2025年01月29日(星期三)

2020年01月29日 | ARM汇编指令集3

2020-01-29 来源:eefocus

常用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)

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

推荐阅读

史海拾趣

BROTHER公司的发展小趣事

在电子产品领域取得一定成就后,BROTHER并没有停止前进的步伐。公司开始寻求多元化业务的拓展,以应对市场变化和风险。除了传统的缝纫机和电子产品外,BROTHER还开始涉足打印机、传真机、扫描仪等办公设备领域。通过不断创新和研发,BROTHER成功推出了一系列高品质、高性能的办公设备产品,满足了不同客户的需求。同时,公司还积极开拓新的市场领域,如智能家居、物联网等前沿领域,为未来发展奠定了坚实基础。

APC (APC by Schneider Electric)公司的发展小趣事

在电子行业的早期,电源的稳定性是许多企业和个人用户面临的一大难题。正是在这样的背景下,APC公司凭借其敏锐的市场洞察力,将重心放在小型桌面不中断电力供应(UPS)系统的电源保护及开发上。1984年,APC推出了公司的首个UPS产品,为PC、PC服务器及其网络提供了可靠的电力保障。这一创新举措不仅解决了当时的电力供应问题,更为APC在UPS电源保护领域奠定了坚实的基础。

磁联达(CND-tek)公司的发展小趣事

磁联达(CND-tek)公司成立于2002年,正值中国电子行业的蓬勃发展期。创始人王雪霞凭借对市场敏锐的洞察力和对技术的深厚理解,决定专注于网络通讯类变压器和滤波器的研发与生产。初创时期,公司面临着资金短缺、技术积累不足和市场竞争激烈等多重挑战。然而,王雪霞带领团队坚持不懈地研发新产品,不断优化生产工艺,逐渐在市场上赢得了客户的认可。

ECM [ECM Electronics Limited.]公司的发展小趣事

ECM Electronics Limited.自创立之初,就注重技术创新。公司投入大量研发资金,专注于开发高效、节能的电子产品。通过不断的技术迭代和产品创新,ECM成功推出了一系列具有竞争力的产品,逐渐在市场上建立了良好的口碑。同时,公司还积极与高校和科研机构合作,引进先进技术,为公司的持续发展提供了强大的技术支撑。

DS-IMP公司的发展小趣事

DS-IMP公司的前身是一家美国公司,在转移到中国大陆后,面临了技术转移和本土化的挑战。公司迅速组建了一支由资深工程师和技术专家组成的团队,他们与美国的原团队紧密合作,成功地将核心技术从美国转移到宁波的工厂。在本土化过程中,公司不仅保留了原技术的精髓,还根据中国大陆的市场需求和资源特点,对部分技术和产品进行了优化和升级。这一过程不仅提升了公司的技术实力,也为公司在中国市场的快速发展奠定了坚实基础。

兆易创新(GigaDevice)公司的发展小趣事

DS-IMP公司在发展过程中,非常重视市场拓展和品牌建设。公司制定了详细的市场战略和营销计划,通过参加国内外展会、举办技术研讨会、开展产品推广活动等方式,不断提升品牌知名度和影响力。同时,公司还积极开拓国际市场,与多家国际知名企业建立了长期合作关系。这些努力使得公司的市场份额不断扩大,品牌影响力逐渐增强。

问答坊 | AI 解惑

求救:如何将SST 89E564RD (40-c-p1 0438064-AC)变成仿真器

买了块廉价的芯片,想自己做仿真器 里面没有启动程序 想自己DIY一个仿真器 麻烦成功的大虾发一个可以用的    1电路图    2软件    3监控程序 4 其他对SST 89E564RD  用的上 [ 本帖最后由 wanzsxit ...…

查看全部问答>

2009年竞赛学生守则].doc

本帖最后由 paulhyde 于 2014-9-15 08:57 编辑 2009年竞赛学生守则].doc  …

查看全部问答>

再次请教S3C2440+WinCE5.0+4.2BSP下使用4GB的SDHC大容量SD卡驱动问题,大家指点

再次请教S3C2440+WinCE5.0+4.2BSP下使用4GB的SDHC大容量SD卡驱动问题,大家指点!!! 大家好,谢谢大家一直以来这么热心的回复的我帖子,帮助我,谢谢大家,祝大家工作顺利! 我的环境:S3C2440+WinCE5.0+4.2BSP,开发板是广嵌科技的GEC2440。 ...…

查看全部问答>

nrf905通过匹配网络连接50欧姆单端天线问题

现在用nrf905设计开发一个射频智能卡测试平台的无线接口,为增强实验的可靠性,我们在设计了PCB环形差分天线的前提下,通过两个跳线,将芯片的ANT1和ANT2通过匹配网络再连接到SMA天线接口处,以备PCB环形天线不能满足实验要求时,可以经过跳线连接 ...…

查看全部问答>

在eMbedded Visual C++中使用VC++编写的.dll的问题

我最近做个项目,在手机上显示监控图像。在eMbedded Visual C++中使用VC下的Dll出错。 提示如下: error LNK2019: unresolved external symbol __imp__MP4_ClientStopCapture referenced in function \"protected: void __thiscall CKlsDlgDlg::On ...…

查看全部问答>

在ADC下面或附近数模一点共地有什么区别

datasheet上是说应该在下面一点共地,但是如果在附近引出来用0欧电阻接可能产生什么问题,还查到有说,用磁珠相连有选频的好处,这个“选频”怎么讲?是指可以把数字区指定频率的噪声滤掉吗?数字区的噪声频率是不是就是单片机的频率啊?谢谢指教 ...…

查看全部问答>

i2c是什么玩意?

在网上看了好多i2c的资料  但感觉还是云里雾里的  不明白怎么用?求大虾指点!…

查看全部问答>

神器!Launchpad游戏扩展板

这是继MSP430的MP3扩展板(DSP C5000)后的又一个华丽的扩展板。 说说功能吧!扩展板提供一路VGA输出,VGA的DA采用电阻分压的方式,分辨率为400×300,并且支持两个任天堂的游戏手柄, 打游戏嘛!手柄肯定不能少。主芯片是一片Spartan 3的FPGA ...…

查看全部问答>

画PCB用哪个软件好?

求教各位大神,尤其是已经工作的,在公司做项目画PCB一般是用哪个软件呢?…

查看全部问答>

有符号数的整数乘法演算问题。。。

在网上看到了这样一份有符号整数乘法的演算,请问哪位能解释下。。。。 为什么这里的加法与我们的平时的不一样的,应该怎样理解。。。…

查看全部问答>