MOV PC,LR
BL NEXT ;跳转到子程序
......... ;NEXT处执行
NEXT
..........
MOV PC,LR ;从子程序返回
这里的BL是跳转的意思,LR(R14)保存了返回地址
PC(R15)是当前地址,把LR给PC就是从子程序返回
这里有一下总结
首先
1.SP(R13) LR(R14)PC(R15)
2.lr(r14)的作用问题,这个lr一般来说有两个作用:
1》.当使用bl或者blx跳转到子过程的时候,r14保存了返回地址,可以在调用过程结尾恢复。
2》.异常中断发生时,这个异常模式特定的物理R14被设置成该异常模式将要返回的地址。
另外注意pc,在调试的时候显示的是当前指令地址,而用mov lr,pc的时候lr保存的是此指令向后数两条指令的地址,大家可以试一下用mov pc,pc,结果得到的是跳转两条指令,这个原因是由于arm的流水线造成的,预取两条指令的结果.
3.》我以前看书不懂的地方
子程序返回的三种方法
现在总结如下
1.MOV PC,LR
2.BL LR
3.在子程序入口处使用以下指令将R14存入堆栈
STMFD SP!,{,LR}对应的,使用以下指令可以完成子程序的返回
LDMFD SP!, {,LR}
关键字:ARM 汇编 MOV
引用地址:
ARM汇编-MOV PC,LR
推荐阅读最新更新时间:2024-11-09 16:42
ARM 汇编的必知必会
无论是体系结构还是指令集,大家或多或少都应该对X86汇编有些了解,而对于嵌入式领域已被广泛采用的ARM 处理器,了解的可能并不多。如果你有兴趣从事嵌入式方面的开发,那么了解一些RISC 体系结构和ARM汇编的知识还是有必要的。这里,我们找出了这两种体系结构最明显的不同之处,并对此进行介绍,让大家对于RISC体系结构的汇编有一个基本的了解。首先,我们就来看一看基于RISC的ARM的体系结构。 基于RISC 的ARM CPU ARM是一种RISC体系结构的处理器芯片。和传统的CISC体系结构不同,RISC 有以下的几个特点: ◆ 简洁的指令集——为了保证CPU可以在高时钟频率下单周期执行指令,RISC指令集只提供很有限的操作(例如
[单片机]
ARM9(S3C2440) Touch Screen
触摸屏工作原理 触摸屏分为:电阻式,电容式,声表面波式,红外线扫描式等类型,使用的最多的是4线电阻式的触摸屏。 触摸屏工作流程 (1)、设置触摸屏接口为等待中断模式,等待触摸屏被按下。 (2)、如果中断(INT_TC)发生,选择X,Y坐标转换模式(X/Y坐标分别转换模式,X/Y坐标自动转换模式),启动AD转换。 (3)、当AD转换完毕后,通过中断(INT_ADC),获取X/Y坐标,ADCDAT0 bit -x坐标,ADCDAT1 bit -Y坐标。 (4)、设置触摸屏接口为等待中断模式,等待触摸笔离开触摸屏。 (5)、返回步骤1,等待下次触摸笔被按下。 实验主要代码 main
[单片机]
Part2_lesson1---arm家族大检阅
芯片(比如2440、6410、210等等)包含ARM核。 指令结构和ARM核有关系: ARM9对应指令架构版本ARMV4 ARM11对应指令架构版本ARMV6 cortex A8对应指令架构版本ARMV7 6410芯片的概况: 2440芯片的概况: 210芯片的概况:
[单片机]
ARM体系结构_DAY2
程序状态寄存器(CPSR) Mode位 :处理器模式为 USER模式不能直接切换到特权模式,在特权模式下可以直接修改mode位 为10000,切换到USER模式。 T bit位 :处理器状态位 T = 0,J= 0处于ARM指令集状态 T = 1,J= 0处于Thumb指令集状态 T = 1,J = 1处于ThumbEE指令集状态 中断禁止位 I = 1 进制IRQ F = 1 进制FIQ 条件位 N位 Negative result from ALU ALU运算结果为一个负数时, 此为自动置 1 否则为 0 Z位 Zero result from ALU ALU运算结果为 0 时,
[单片机]
新唐科技推出高泛用性Arm Cortex-M4 M433微控制器系列
强化MCU多元应用产品布局,持续深入细分市场,覆盖入门到高性能应用开发 新竹,台湾,2024年3月20日 - 随着工业5.0、人工智能和物联网应用的不断扩展,市场对多样化MCU产品的需求日益增加。新唐科技致力于强化MCU多元应用战略布局,在各类垂直领域中进行了规格的优化。从入门级到高性能产品,我们的产品线均有广泛的覆盖,并持续深入细分市场,为客户提供更多可持续发展的产品组合。最新推出的高泛用性Arm® Cortex®-M4 M433 CAN/USB FS微控制器系列,特别针对工业控制、BMS、MiniLED 控制等领域进行了规格优化。这款产品系列是一款全方位适用于多场景应用的产品,为实现创新提供了充足的空间,同时凸显了新唐科技
[单片机]
外媒:Arm将会成为华为云计算越来越重要的合作伙伴
近日,知名通信行业媒体lightreading分析,华为和Arm的良好合作不但规避了美国的技术制裁,而且华为在俄罗斯的数据中心也将承担越来越重要的任务。 文章认为,大型数据中心的服务器通常采用英特尔或者AMD基于x86架构的芯片。但去年夏天,华为在莫斯科设立了数据中心,因为各种复杂的原因,这一举动可能得到意想不到的获利。 美国对华为的制裁导致很多供应商对华为断供,而在移动端存在感很强的Arm架构让华为受惠颇多。在俄乌冲突和西方对俄制裁的大背景下,华为的莫斯科数据中心突然承担了一个更重要的角色。 文章指出,网络基础设施所支撑的云业务似乎正在蓬勃发展。华为没有公布业绩,也没有公布2021年的主要商业数据,但包括云计算在内的企业部门
[手机便携]
ARM的嵌入式Bootloader实现自动升级
0 引言 作为一种32位的高性能、低成本、低功耗的嵌入式RISC(Reduced Instruction Set Computer)微处理器,ARM(Advanced RISC Machines)微处理器目前已经成为应用最广泛的嵌入式微处理器。和基于简单RTOS甚至没有使用任何操作系统的嵌入式程序设计相比,基于ARM- uClinux嵌入式系统的开发采用了成熟、高效、可靠、模块化、易于配置的操作系统,使程序具有良好的可移植性,博得众多嵌入式开发者的青睐 。嵌入式系统由硬件和软件两部分组成,软件部分主要包括Bootloader、内核和文件系统。但由于Bootloader与处理器的体系结构和具体嵌入式板级设备的配置密切相关,至今没
[单片机]
ARM DesignStart让你感到前所未有的灵活
翻译自——Semiwiki, Bernard Murphy 概要 RISC-V的开源性对未来的设计产生了深远的影响,但作为处理器IP龙头企业Arm来说,他们要为客户的需求着想,建立一个更加灵活多功能的模式。DesignStart能够让用户感受到如同RISC-V一样的灵活性,根据你自己的要求使用他们的软件和IP,但这是有偿的。 毫无疑问,RISC-V产生了很大的影响,确信有很多新设计频频出现,特别是在成本极具竞争力或处理器要求额外的差异化领域。恐怕这不会对Arm的业务产生实质性的影响,而只会对媒体产生影响。要取代一个如此规模的生态系统,以及市场对Arm产品的信心,需要很长时间。我们不清楚在可预见的未来取代Arm是否有意
[嵌入式]