ARM Thumb/ARM 状态切换 代码及分析
来源:互联网 发布:帝国cms演示站 编辑:程序博客网 时间:2024/06/10 06:02
Thumb指令在相比于ARM指令具有更高的代码密度,但是在运行效率上略低于ARM指令集,而且Thumb只是ARM指令集的一个子集。所有的ARM指令都是可以条件执行的,而Thumb指令仅有一条指令具备条件执行功能。所以很多应用程序需要两者的混合编程,因此存在ARM与Thumb状态之间相互切换,而且相互之间的状态切换的开销几乎为零。ARM与Thumb之间的状态切换通过专用的转移交换指令BX来实现。BX指令以通用寄存器(R0~R15)为操作数,通过拷贝Rn到PC实现绝对跳转。BX利用Rn寄存器中目的地址值的最后一位判断跳转后的状态。下面是一段直接进行状态切换的代码:CODE32 ;程序从ARM状态开始 ADR r0, ThumbProg+1 ;跳转到ThumbProg BX r0 ;程序切换到Thumb状态 CODE16 ;Code16指示编译器后面为Thumb指令ThumbProg MOV r2, #2 MOV r3, #3 ADD r2, r2, r3 ADR r0, ARMProg BX r0 ;跳转到ARMProg,程序切换到ARM状态 CODE32 ;code32指示编译器后面为ARM指令ARMProg MOV r4, #4 MOV r5, #5 ADD r4, r4, r5
- ARM Thumb/ARM 状态切换 代码及分析
- ARM与Thumb状态切换及其代码分析
- Thumb、ARM指令 状态切换
- Thumb、ARM指令状态切换
- Thumb、ARM指令 状态切换
- Thumb、ARM指令 状态切换
- ARM处理器中ARM和Thumb状态的切换
- ARM状态和Thumb状态间的切换
- ARM指令状态切换到Thumb指令状态
- ARM指令状态切换到Thumb指令状态
- ARM切换到THUMB模式
- arm与thumb的状态转换及地址装载
- ARM状态和Thumb状态通俗理解
- arm工作状态-arm状态和thumb状态
- ARM&THUMB
- ARM与Thumb之间的状态转换
- ARM指令如何在thumb和arm模式切换
- ARM及Thumb指令条件执行
- Windows 的 mklink 与抽象泄漏法则
- TestStringConstructor
- 专注浏览器,专注webkit内核
- 重叠IO模型示例
- asp.net里导出excel表方法汇总
- ARM Thumb/ARM 状态切换 代码及分析
- LCD控制器参数说明
- jdbc连接mysql + 基本操作接口
- Oracle创建用户、表空间、导入导出、...命令
- MSDN Kernel-Mode Driver Architecture学习笔记(3)——Device Objects and Device Stacks (1)
- 那些蛰伏在我心底的歌声
- 统筹时间的十大管理技巧
- WPF控件学习系列之四---WrapPanel控件
- css clear 清除浮动