ARM及Thumb-2指令集快速参考
3星 · 超过75%的资源 需积分: 50 67 浏览量
更新于2024-09-12
收藏 506KB PDF 举报
"该资源是一份关于ARM和Thumb-2指令集的速查卡,包含了各种指令的关键字、操作数格式、寄存器列表、移位操作、处理器模式等相关信息,旨在帮助用户快速查找和理解ARM处理器的指令系统。"
在ARM架构中,Thumb-2指令集是Thumb指令集的一个扩展,提供了更高的代码密度和性能。它包含了一组16位和32位的指令,使得在有限的代码空间中实现高性能计算成为可能。以下是其中的一些关键概念和指令格式:
1. **寄存器操作**:Rm{,<opsh>} 表示寄存器Rm,可选的操作数位移(opsh)。例如,这可以用于移位操作,如LSL(逻辑左移)、LSR(逻辑右移)、ASR(算术右移)等。
2. **操作数2**:<Operand2> 可以是灵活的操作数,可以接受移位和循环移位,这对于处理常量和数据操作非常有用。
3. **寄存器列表**:<reglist> 是一组用逗号分隔的寄存器,括在大括号内。这在执行如LDM(加载多寄存器)和STM(存储多寄存器)这样的指令时特别有用。
4. **处理器状态寄存器**:CPSR (当前处理器状态寄存器) 和 SPSR (保存的处理器状态寄存器) 用于保存处理器的条件标志和其他状态信息。
5. **位域操作**:<lsb> 和 <width> 分别表示位域的最低有效位和位域宽度,用于位操作指令,如BIT、BIC、MOV等,允许对特定位进行设置、清除或移动。
6. **处理器模式**:<p_mode> 代表处理器运行的不同模式,如用户模式(User)、系统模式(System)、中断服务模式(IRQ)等。
7. **移位类型**:如IA、IB、DA、DB分别代表增加后移位、增加前移位、减少后移位和减少前移位,这些用于指定位移操作的方向。
8. **中断标记**:<iflags> 包含a(中止)、i(中断)和f(快速中断)等标志,用于控制中断处理。
9. **前缀**:<prefix> 与并行指令相关,可能涉及特定指令的前缀操作。
10. **条件标志**:S标志用于指示是否更新条件标志。当S为1时,指令执行后会根据结果更新CPSR。
11. **大小标识**:如B、SB、H、SH分别代表字节、有符号字节、半字和有符号半字,用于内存访问指令。
12. **特权标识**:T标志用于指示指令是否在用户模式下具有特权。
13. **舍入和截断**:R标志指示结果是否需要进行舍入或截断。
这份速查卡详细列出了ARM和Thumb-2指令集的关键元素,对于开发者来说,是一个宝贵的参考资料,能够快速理解和使用这些指令进行程序设计。通过熟练掌握这些指令,可以在ARM平台上高效地编写和优化代码。
106 浏览量
144 浏览量
2010-05-15 上传
2023-05-10 上传
2023-05-25 上传
2023-06-04 上传
2023-02-06 上传
2023-04-09 上传
2023-07-28 上传
dfsfsdfdfsd
- 粉丝: 0
- 资源: 1
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全