ARM Thumb-2指令速查手册:精要指南

需积分: 50 17 下载量 24 浏览量 更新于2024-10-22 收藏 506KB PDF 举报
ARM®和Thumb®-2指令集是针对ARM架构设计的两种不同指令集,旨在提供性能和代码大小的平衡。Thumb-2是ARM体系结构中的轻量级指令集,特别适合于低功耗和内存受限的应用,而ARM指令集则提供了更强大的计算能力。 这份"ARM__Thumb2指令速查手册中文"提供了快速参考卡,帮助开发者理解和掌握这两种指令集的细节。它涵盖了关键概念和术语,如: 1. **表关键字**:指导读者如何查找特定指令的详细信息,例如寄存器使用、操作数处理、移位操作等。 2. **寄存器列表**:可能包括如Rm、<reglist>、<reglist-PC>、<reglist+PC>等,这些用于定义指令操作的源和目标寄存器,其中PC(程序计数器)的使用规则需要特别注意。 3. **PSR**:Processor Status Register(处理器状态寄存器),包括CPSR(当前处理器状态寄存器)和SPSR(保存的处理器状态寄存器),它们存储了处理器的重要状态信息。 4. **移位操作符**:如Rs|sh,指示可以使用寄存器Rs进行移位,移位值可以是寄存器本身或直接的数值,不同体系结构版本对移位类型的规定可能会有所不同。 5. **标志位和中断控制**:通过iflags,开发者可以了解指令执行过程中可能影响中断处理的标志,如中止(a)、中断(i)、快速中断(f)以及半寄存器(B或T)的使用。 6. **处理器模式**(p_mode):指明指令在不同的运行模式下(如用户模式、系统模式等)的行为。 7. **立即数**(imm8m)和SPm:分别指定了32位的常数值生成方式,以及在不同处理模式下的堆栈指针值。 8. **格式和位域**:涉及到指令的位宽、最低有效位(lsb)、位域宽度和格式模式的定义,这对于正确解析和编码指令至关重要。 9. **前缀**:对于并行指令,可能使用X前缀进行循环移位,以及增/减偏移地址的处理规则。 10. **数据操作符**:如B、SB、H、SH等,用于指定数据类型,如字节、有符号字节、半字和有符号半字。STR指令在使用SB和SH时有限制。 11. **舍入和溢出控制**:R标志用于指示结果是否进行舍入或截断。 这份手册还涉及汇编语言编程中的指令细节,为学习者提供了深入理解和实践ARM和Thumb-2指令集的实用指南。对于开发人员来说,掌握这些概念是优化代码、提高性能和确保兼容性的关键。