第3章ARM9指令系统.ppt

Thumb指令长度为16位,这样,与32位的ARM指令集相比,有效地节省了系统的存储空间。 Thumb指令集中没有: 乘加指令 64位乘法指令 协处理器指令 数据交换指令 程序状态寄存器指令 指令的第二操作数受到限制,除了跳转指令B有条件执行功能外,其他指令均为无条件执行。 数据传送指令方面:大多数情况下,Thumb指令集中的数据处理指令对通用寄存器进行操作,操作结果送到其中一个操作数寄存器中,而不是送到第3个寄存器中; 另外,除了比较指令(CMP),Thumb指令集中访问R8~R15寄存器的数据处理指令不能更新CPSR寄存器中的标志。 多寄存器加载/存储指令方面:Thumb指令集中采用PUSH指令和POP指令来实现,指令执行以R13作为堆栈指针,实现满递减堆栈;除了加载/存储R0~R7寄存器外,PUSH指令还可存储链接寄存器LR(R14),POP指令可加载程序计数器PC(R15)。 Thumb指令集中没有协处理器指令,数据交换指令和访问CPSR/SPSR寄存器的指令。 编程实现1+2+……N N EQU 5 ;常量的定义 AREA Example, CODE,READONLY ;定义段名属性 ENTRY CODE32 START LDR R0,=N ;R0赋值 MOV R2,R0 ;R2充当计数器 MOV R0,#0

文档评论(0)

1亿VIP精品文档

相关文档