arm指令集(1)
ARM跳转指令可以从当前指令向前或向后的32MB地址空间跳转。这类跳转指令有以下4种。
(1)B 跳4专指令
B〔条件) (地址)
B指令属于ARM指令集,是最简单的分支指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的地址,从那里继续执行。注意:存储在分支指令中的实际值是相对当前R15的值的一个偏移量,而不是一个绝对地址。它的值由汇编器来计算,是24位有符号数,左移两位后有符号扩展为32位,表示的有效偏移位为26位(+/- 32 MB)。
(2)BL 带返回的跳转指令
BI,〔条件) (地址)
BL指令也属于ARM指令集,是另一个分支指令。就在分支之前,在寄存器R14中装载上R15的内容,因此可以重新装载R14到R15中来返回到这个分支之后的那个指令处执行,它是子例程的一个基本但强力的实现。
(3)BLX 带返回和状态切换的跳转指令
BLX <地址>
BLX指令有两种格式,第1种格式的BLX指令记作BLX(1)。BLX(1)从ARM指令集跳转到指令中指定的目标地址,并将程序状态切换到Thumb状态,该指令同时将PC寄存器的内容复制到LR寄存器中。
BLX(1)指令属于无条件执行的指令。
第2种格式的BLX指令记作BLX(2)。BLX(2)指令从ARM指令集跳转到指令中指定的目标地址,目标地址的指令可以是ARM指令,也可以是Thumb指令。目标地址放在指令中的寄存器<dest>中,该地址的bit[0]值为0,目标地址处的指令类型由CPSR中的T位决定。该指令同时将PC寄存器的内容复制到LR寄存器中。
(4)BX 带状态切换的跳转指令
BX(条件) (dest)
BX指令跳转到指令中指定的目标地址,目标地址处的指令可以是ARM指令,也可以是Thumb指令。目标地址值为指令的值和0xFl·FFFFFF做“与”操作的结果,目标地址处的指令类型由寄存器决定。
资源简介:高效数控恒流源设计报告(最终版)
上传时间: 2023-12-07
上传用户:xiaoanuo
资源简介:NXP半导体控制器:LPC3000系列ARMLPC2900系列ARMLPC2800系列ARMLPC2700系列ARMLPC1000系列ARMLPC2400系列ARMLPC2200系列ARMLPC2300系列ARMLPC700系列ARM等。
上传时间: 2023-12-07
上传用户:samthon_lee
资源简介:模拟发票的打印,API函数写的,包括增加商品,减少商品,打印等。
上传时间: 2023-12-07
上传用户:jsw1010
资源简介:工频变压器在被大家称为低频变压器,以示与开关电源用高频变压器有区别。工频变压器在过去传统的电源中大量使用,而这些电源的稳定方式又是采用线性调节的,所以那些传统的电源又被称为线性电源工频变压器的原理非常简单,理论上推导出相关计算式也不复杂,所...
上传时间: 2023-12-05
上传用户:4399
资源简介:飞思卡尔智能车源程序
上传时间: 2023-12-05
上传用户:zzzmyth
资源简介:对大功率IGBT(Insulated Gate Bipolar Transistor,绝缘栅双极型晶体管)的开关特性、驱动波形、驱动功率、布线等方面进行了分析和讨论,介绍了一种用于大功率IGBT 的驱动电路。
上传时间: 2023-12-05
上传用户:singkind
资源简介:专辑类-超声-红外-激光-无线-通讯相关专辑-183册-1.48G -光机电一体化实用技术-254页-7.6M.pdf
上传时间: 2023-12-05
上传用户:yuandan1231
资源简介:电子元器件可靠性和失效分析经典文章(共38篇) pdf
上传时间: 2023-12-05
上传用户:dhb0717