ARM与Thumb-2指令集速查手册
需积分: 16 12 浏览量
更新于2024-09-18
收藏 154KB PDF 举报
"ARM_and_Thumb-2_Instruction_Set_Quick_Reference_Card 是一份关于 ARM 和 Thumb-2 指令集的速查手册,主要针对英文读者,提供了这两个指令集的关键信息和表格参考。手册中可能包含了 Rm{,<opsh>}、<Operand2>、<reglist>、<fields>、<PSR>、<reglist-PC>、<PSR>、<reglist+PC>、C*、V* 等符号的详细解释,以及不同版本 ARM 架构中的变化、中断标志(iflags)、处理器模式(p_mode)和立即数(imm8m)等关键概念。"
ARM 和 Thumb-2 指令集是 ARM 架构微处理器中的两种主要指令格式。ARM 指令集是一种 32 位指令集,而 Thumb-2 是 ARM 公司推出的增强型 16 位指令集,它扩展了原始的 16 位 Thumb 指令集,提供了与 ARM 指令集类似的性能,但更紧凑,适合内存有限的系统。
1. **Rm{,<opsh>}**:
这个符号表示一个寄存器 Rm,后面可以跟随一个可选的操作数移位(opsh),表示对 Rm 的值进行移位操作,例如左移或右移。移位可以是立即数或寄存器提供的值。
2. **<Operand2>**:
表示第二个操作数,可以是灵活的,可能包含移位和旋转操作,这允许在一条指令中实现更复杂的计算。
3. **<reglist>**:
用花括号 {} 包围的逗号分隔的寄存器列表,用于指定一组寄存器。
4. **<PSR>**:
这代表处理器状态寄存器(PSR),包括当前处理器状态寄存器(CPSR)和保存的处理器状态寄存器(SPSR),存储了处理器的各种标志和状态信息。
5. **C*, V***:
这些是处理器标志,C 表示进位标志,V 表示溢出标志。在 ARM v4 及更早版本中,它们的行为可能是不可预测的,但在 v5 及以后版本中,则保持不变。
6. **<reglist-PC>** 和 **<reglist+PC>**:
分别表示不包括程序计数器(PC)的寄存器列表和包括 PC 的列表,用于指明指令操作的数据范围。
7. **<iflags>**:
中断标志,如 a(abort)、i(中断)和 f(快速中断),这些标志控制处理器如何响应外部中断和异常。
8. **x, y**:
这些可能表示半寄存器,x 通常代表低 16 位([15:0]),y 代表高 16 位([31:16]),在某些 ARM 指令中,可以独立访问寄存器的半部分。
9. **<imm8m>**:
在 ARM 指令中,这通常是一个 32 位常数,由一个 8 位值通过偶数位右旋转形成。
10. **<p_mode>**:
引用处理器模式,ARM 架构支持多种处理器模式,如用户模式、系统模式、中断模式等,不同的模式下,权限和可用指令集都可能有所不同。
这个速查手册对于理解 ARM 和 Thumb-2 指令集的基本结构和用法非常有帮助,是开发和调试基于 ARM 架构的软件时的重要参考资料。通过查阅手册中的表格,开发者可以迅速查找特定指令的格式、操作和用途,从而提高开发效率。
2020-10-13 上传
2019-07-18 上传
2018-11-26 上传
2010-06-28 上传
2010-06-28 上传
2022-09-20 上传
2022-07-15 上传
2014-08-07 上传
2021-09-21 上传
Tony_na
- 粉丝: 0
- 资源: 2
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常