嵌入式系统设计与开发第 3 章 ARM 指令集 本章提要 3
1 ARM指令集概述 3
2 ARM寻址方式 3
3 ARM指令分类介绍 3
4 Thumb指令集 3
1 ARM 指令集概述 ARM 微处理器的指令集是加载 / 存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,而对系统存储器的访问则需要通过专门的加载 / 存储指令来完成
ARM 体系具有 ARM 和 Thumb 两种指令集
ARM 指令集主要包括数据处理指令、分支指令、存储器访问指令、程序状态寄存器处理指令、协处理器指令和异常中断产生指令等
ARM 指令的编码格式condxxxopcodeSRnRdshifter_operand•cond :指令执行的条件编码
•opcode :指令操作符编码
•S :决定指令的执行是否影响 CPRS 的值
•Rn :包含第一个源操作数的寄存器编码
•Rd :目标寄存器编码
•Shifter_operand :第二个源操作数
3128272524212019161512110 ARM 指令的语法格式如下: {} {S} , 其中 号内的项是必须的, {} 号内的项是可选的
各项的说明如下:opcode :指令助记符;cond :执行条件;S :是否影响 CPSR 寄存器的值;Rd :目标寄存器; Rn :第一个源操作数的寄存器;shifter_operand :第二个源操作数; ARM 指令的条件码域条件码 助记符后缀 标 志 含 义 0000 EQZ 置位 (Z=1)相等 0001NEZ 清零 (Z=0)不相等 0010CS/HSC 置位 无符号数大于或等于 0011CC/LOC 清零 无符号数小于 0100MIN 置位 负数 0101PLN 清零 正数或零 0110VSV 置位 溢出 0111VCV 清零 未溢出 1000HIC 置位