file-type

"ARM体系结构与指令集详解:寻址方式及指令集合"

版权申诉
1.14MB | 更新于2024-02-22 | 82 浏览量 | 0 下载量 举报 收藏
download 限时特惠:#29.90
R1,#5 寄存器寻址指令中的地址码字段直接给出了寄存器的编号,操作数就在该编号寄存器中。例如: ADD R0,R1,R2 其中R1和R2中的数相加的结果存放在R0中。寄存器偏移寻址指令中的地址码字段给出了一个基址寄存器编号和一个偏移量,操作数存放在基址寄存器地址加上偏移值的位置。实现了直接寻址+间接寻址的方式。例如: LDR R0,[R1,#4] 其中R1中的值加上4后的地址中的数存放在R0中。寄存器间接寻址指令中的地址码字段给出一个寄存器编号,操作数在该编号寄存器中存放着一个地址,再根据这个地址就可以找到真实操作数。例如: LDR R0,[R1] 其中R1中存放着地址,该地址中的数存放在R0中。基址加偏址寻址指令中的地址码字段给出了一个基址寄存器编号和一个偏移寄存器编号,操作数存放在基址寄存器地址加上偏移寄存器中的偏移值的位置。实现了直接寻址+寄存器间接寻址的方式。例如: LDR R0,[R1,R2] 其中R1和R2中的值相加的结果作为地址,该地址中的数存放在R0中。多寄存器寻址指令中的地址码字段给出了一个或多个连续的寄存器编号,操作数存放在这些寄存器中。例如: PUSH {R0,R1,R2,R3} 其中R0、R1、R2、R3中的数按照顺序存放在栈中。相对寻址指令中的地址码字段给出了操作数相对于程序计数器(PC)的偏移量,操作数存放在PC加上偏移地址的位置。例如: B label1 其中label1是一个标记,表示程序跳转至label1处继续执行。堆栈寻址指令中的地址码字段指出了栈指针(SP)在堆栈中的偏移量,操作数存放在栈指针地址加上偏移地址的位置。例如: PUSH {R4-R7} 其中R4、R5、R6、R7中的数按照顺序存放在栈中。块拷贝寻址指令中的地址码字段给出了两个寄存器编号,分别指出了源地址和目的地址,然后将源地址和目的地址指出的数块拷贝到目的地址指出的位置。例如: MOV R0,R1,L 其中R1中的数块拷贝到R0中的位置。ARM指令集合ARM指令集是ARM体系结构的指令系统,主要包括数据处理指令、单数据传输指令、分支跳转指令、软中断指令等。其中,数据处理指令包括逻辑运算指令、算术运算指令、移位指令和乘法指令等;单数据传输指令包括加载指令和存储指令;分支跳转指令包括条件分支指令和无条件分支指令;软中断指令用于实现特权级的系统调用。Thumb指令集合Thumb指令集是ARM体系结构的一种压缩指令集,能够使得程序的存储和执行效率更高,适用于存储器容量有限的嵌入式系统中。Thumb指令集包括大多数ARM指令集中的指令,但将一些指令压缩为16位,并且去掉了一些不常用的指令,以达到压缩指令集的目的。伪指令伪指令不是一种真正的指令,而是处理器的汇编器能够识别并且能够处理的“指令”。在编写程序时,可以通过使用伪指令来定义数据、常量、存储器空间分配等。伪指令是由汇编器转换成实际的指令序列的。本章K22 单片机在应用中是指定了使用ARM Cortex-M4处理器内核,该处理器采用了ARMv7-M架构,该架构是ARM公司专门为嵌入式系统设计的。ARMv7-M架构的处理器具有精简的指令集、低功耗、高性能和丰富的外设接口等特点,非常适合用于嵌入式系统。" 本章主要介绍了ARM处理器的寻址方式、ARM指令集合、Thumb指令集合和伪指令。ARM处理器的寻址方式包括了立即寻址、寄存器寻址、寄存器偏移寻址、寄存器间接寻址、基址加偏址寻址、多寄存器寻址、相对寻址、堆栈寻址和块拷贝寻址。ARM指令集合包括了数据处理指令、单数据传输指令、分支跳转指令、软中断指令等。Thumb指令集是ARM指令集的一种压缩形式,适用于存储器容量有限的嵌入式系统中。伪指令是汇编器能识别并处理的一种指令,用于定义数据、常量、存储器空间分配等。本章还介绍了ARM Cortex-M4处理器内核采用了ARMv7-M架构,该架构特点是指令集精简、低功耗、高性能和丰富的外设接口,非常适合用于嵌入式系统。

相关推荐

wxg520cxl
  • 粉丝: 27
上传资源 快速赚钱