ARM9_嵌入式系统原理及应用第3章.ppt

ARM9_嵌入式系统原理及应用第3章

3.3 Thumb指令集 Thumb指令集与ARM指令集在以下几个方面有区别: 跳转指令。条件跳转在范围上有更多的限制,转向子程序只具有无条件转移。 数据处理指令。对通用寄存器进行操作,操作结果需放入其中一个操作数寄存器,而不是第三个寄存器。 单寄存器加载和存储指令。Thumb状态下,单寄存器加载和存储指令只能访问寄存器R0~R7。 批量寄存器加载和存储指令。LDM和STM指令可以将任何范围为R0~R7的寄存器子集加载或存储,PUSH和POP指令使用堆栈指针R13作为基址实现满递减堆栈,除R0~R7外,PUSH指令还可以存储链接寄存器R14,并且POP指令可以加载程序指令PC。 3.3 Thumb指令集 Thumb指令集没有包含进行异常处理时需要的一些指令,因此,在异常中断时还是需要使用ARM指令。这种限制决定了Thumb指令不能单独使用而需要与ARM指令配合使用。 Thumb数据处理指令、存储器访问指令中的加载/存储指令使用方法和ARM指令集中相对应的指令类似,本节不做详细介绍,仅对有区别的指令介绍。 3.3 Thumb指令集 1. PUSH和POP 指令格式: PUSH {低寄存器的全部或其子集} POP {低寄存器的全部或其子集} PUSH低寄存器的全部或其子集,LR} POP {低寄存器的全部或其子集,PC} 这两条指令是栈操作指令,

文档评论(0)

1亿VIP精品文档

相关文档