带状态切换的跳转指令:BX
汇编格式: BX{} Rm
功 能: BX 指令跳转到指令中所指定的目标地址,并实现状态的切换。Rm 是一个表达目标地址的寄存器。当Rm 中的最低位Rm[0] 为 1 时,强制程序从ARM 指令状态跳到Thumb 指令状态;当 Rm 中的最低位Rm[0]为0 时,强制程序从Thumb 指令状态跳到ARM 指令状态。BX 指令示例
CODE32 ;ARM 程序段,32 位编码
arm1 ADR R0,thumb1+1 ;伪指令,把语句标号thumb1 所在地址
;赋给R0 ,末位R0[0] 置1 ,要跳转THUMB 指令集
;THUMB 指令集
MOV LR,PC ;设置返回地址
BX R0 ;跳转
ADD R1,R2,#2 ;返回地址处,第4 条指令
CODE16 ;THUMB 程序段, 16 位编码
thumb1 ADD R1,R3,#1 ;THUMB 程序
…
BX LR ;跳转到返回地址处,执行第4 条指令
分析:该例说明了带状态切换的子程序调用和返回的结构,ARM 程序段执行MOV LR,PC 语句时将返回地址保存到了LR 寄存器中。执行到BX 语句时 ,PC 指向下一个要执行的语句,此时PC(R15) 中的值为下一个语句ADD 指令所在的地址,并根据R0 中的bit[0] 实现了由ARM 状态切换到Thumb 状态。从而调用Thumb 子程序,子程序调用完后使用BX LR 指令,从而实现了子程序调用的返回并切换到ARM 状态。
关键字:ARM状态 Thumb状态 切换
引用地址:
ARM状态和Thumb状态间的切换
推荐阅读最新更新时间:2024-11-18 10:59
新型自动电压切换集成电路STR81145
摘要: S TR81145是日本东芝公司生产的新型自动电压切换集成电路,利用它可以使电子设备在各种电环境下自动适应。文中介绍了电压切换的必要性和自动切换的基本原理,最后给出了一个由STR81145组成的具有过压保护的桥式/倍压整流切换的实际电路。
关键词: 桥式/倍压 自动切换 STT81145
1 引言
随着国际贸易的不断发展,对电子产品也提出了一些特殊的要求,最为突出的就是要求现代电子产品能自动适应不同国家和地区的电网要求(因为不同国家的交流供电电压值不一样,有110V,127V、220V、240V等);从另一方面来讲,有些地区的电网电压极不稳定,严重时供电电压的波
[应用]
单片机工作频率切换的实现
随着单片机技术的发展,单片机各方面的性能都有了很大的提高,运行速度也越来越快,这使得单片机的应用也越来越广泛。
有时候由于外围设备的速度或者其他个些要求,单片机的运行速度并不能很高,有时还要求比较低,比如当8位单片机用于PC/XT总线接口时,工作频率是最高4.77MHz,那么单片机的工作频率就只能是4.77MHz,这样就会导致运行速度下降,当又有其它硬件要求工作频率较高时,怎样才能调和这两方面的矛盾呢?可不可以让单片机在与PC/XT接口时工作在4.77MHz,而在运行其他程序时工作在比较高的频率呢?
首先我们做了这样的实验,如图1,用外部振荡电路,通过分频得到两个高低不同震荡源(4:
[应用]
基于USB接口的网络切换器系统设计
随着网上申报、网上审批乃至网上办公等电子政务建设的不断深入,与Internet之间的联系更加密切,但由于Internet的国际性、开放性和自由性,内部网络也因此面临更加严重的安全威胁,对Internet的依赖与网络安全之间的矛盾日益尖锐。保证工作人员对内部局域网(“内网”)和Internet (“外网”)的同时使用是当前我们必须解决的问题。在符合国家有关保密和安全规定的前提下,针对不同的网络布线系统采取不同的网络安全解决方案,从而使工作人员能够同时安全的使用。 1 网络切换的问题及特点 本文设计的网络切换器是一种网络隔离切换设备,最多用于四个网络之间的切换,可以放置在办公桌上或电脑桌上使用。既保持了手动按键切换的功能又可以
[单片机]
异步时钟切换电路
问题: 2个频率无关的时钟,在sel的选择下做切换。 有时一个看起来简单,实际上是在考验ASIC工程师的问题。 1.简单的讲就是做信号的2选1么,那么我们就先做一个简答的2选1吧。 这是一个逻辑图,实际的2选1是由3个门电路过程的,比如2个与一个或: 这个电路显然不能用于时钟的选择,因为这将导致输出时钟存在毛刺,后级电路是不能直接用的。 2. 我们很自然的会想到,要是能在时钟低时切换到另一个时钟低电平,就能保证时钟的品质。这样在时钟切换时就必然要经历4个阶段:1)选择信号改变、2)在clk1为低时停掉clk1的选择 、3)在clk2为低时打开clk2的选择端、3)正常工作,完成切换。 这样一
[电源管理]
RF信号源低相位噪声及高速频率切换的共存设计
接收机质量和测试仪速度的提高对信号发生器性能提出了更为严苛的要求。随着频谱日益拥挤,通信行业必须开发新的调制技术,提高组件测试速度和性能及生产能力。因此,现在比以往更加需要经济高效的高质量信号源解决方案。 和汽车到手机的演变类似,信号发生器的性能不断提高而价格却日益走低,客户和消费者不断要求获得更多的功能和性能且希望价格更低。 RFIC 设计和手机生产测试要求信号源降低相噪,加快频率切换速度,这种要求通常来说是矛盾的。因此一般而言,性能优化往往只能针对其中一种要求或另一种要求,很少能够同时满足两种要求。Aeroflex S-Series信号发生器采用了具有特点的频率合成器设计[图1]同时优化两方面的性能,在频率切换时间小于
[测试测量]
一种单片机实现的嵌入式视频切换器
随着多媒体通信技术的迅速发展,会议电视的理论研究和实用系统研制也得到了迅速发展。近年来,我国的会议电视业务也以超出人们想象的速度得到推广应用。视频矩阵切换电路是会议电视系统的关键部件。要求具有以下功能: ·具有与多媒体电脑通讯的功能。可根据实际安装的不同需要,提供可选的通讯接口。 ·对主机发送的命令具有分析、判断、处理的功能。 ·具有上电、掉电和死机等异常情况下的自恢复能力。 ·对系统配置的更新具有保存的功能。当上级控制命令对系统更改成功时,能及时保存所更改的信息。 考虑到该部分电路在系统中的独立性和功能要求,决定选用89C51单片机作为主控CPU实现嵌入式的视频矩阵切换;视频切换电路则根据视频通道的多少,可选
[单片机]
异步时钟切换电路
问题: 2个频率无关的时钟,在sel的选择下做切换。 有时一个看起来简单,实际上是在考验ASIC工程师的问题。 1.简单的讲就是做信号的2选1么,那么我们就先做一个简答的2选1吧。 这是一个逻辑图,实际的2选1是由3个门电路过程的,比如2个与一个或: 这个电路显然不能用于时钟的选择,因为这将导致输出时钟存在毛刺,后级电路是不能直接用的。 2. 我们很自然的会想到,要是能在时钟低时切换到另一个时钟低电平,就能保证时钟的品质。这样在时钟切换时就必然要经历4个阶段:1)选择信号改变、2)在clk1为低时停掉clk1的选择 、3)在clk2为低时打开clk2的选择端、3)正常工作,完成切换。 这样一
[电源管理]
STM32中uCOS的任务切换讨论
在STM32平台下,移植了uCOS V291的核。然后在网上下载了一个移植文件: os_cpu_c.c os_cpu_asm.asm 本人并没有非常详细地去看任务切换过程的具体实现。只是大致有了一个了解。 当在后台程序中调用OSCtxSw()或OSIntCtxSw()进行任务切换时,其操作都是触发一个软中断PendSV_Handler(),让软中断来进行切换任务栈。如下: OSCtxSw LDR R0, =NVIC_INT_CTRL LDR R1, =NVIC_PENDSVSET STR R1, BX LR OSIntCt
[单片机]