ARM指令集分为⼏类?

浏览量:2759
时间: 2023-11-21 11:22:30

ARM指令集分为⼏类?

2类,分别为Thumb指令集,ARM指令集。ARM指令⻓度为32位,Thumb指令⻓度为16位。这种特点使得ARM

既能执⾏16位指令,⼜能执⾏32位指令,从⽽增强了ARM内核的功能。

通⽤寄存器包括R0〜R15,可以分为具体哪三类?


通⽤寄存器包括R0-R15,可以分为3类:

1. 未分组寄存器R0-R7

在所有运⾏模式下,未分组寄存器都指向同⼀个物理寄存器,他们未被系统⽤作特殊的⽤途。因此在中 断或异常处理进⾏异常模式转换时,由于不同的处理器运⾏模式均使⽤相同的物理寄存器,所以可能造 成寄存器中数据的破坏。

2. 分组寄存器R8-R14

对于分组寄存器,他们每次所访问的物理寄存器都与当前的处理器运⾏模式相关。

R13常⽤作存放堆栈指针,⽤户也可以使⽤其他寄存器存放堆栈指针,但在Thumb指令集下,某些指令 强制要求使⽤R13存放堆栈指针。

R14称为链接寄存器(LR,Link Register),当执⾏⼦程序时,R14可得到R15(PC)的备份,执⾏完⼦ 程序后,⼜将R14的值复制回PC,即使⽤R14保存返回地址。


3. 程序计数器PC(R15)

寄存器R15⽤作程序计数器(PC),在ARM状态下,位[1:0]为0,位[31:2]⽤于保存PC;在Thumb状态下,

位[0]为0,位[31:1]⽤于保存PC。

image.png


声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。仅供学习交流使用,不构成商业目的。版权归原作者所有,如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时删除。侵权投诉
相关推荐HOT
STM32 I2C通信怎么调试?ACK位与时序怎么抓?嵌入式面试

一句话答案I2C 调试看逻辑分析仪:起始位→地址+ACK→数据+ACK→停止位;最常见问题是 NACK(从机没应答),先查地址、上拉电阻、时序;STM32 硬件... 详情>>

2026-09-18 09:03:17
大厂/创业公司/外包公司面试有什么区别?工程师如何针对性准备

分类:面试准备技巧经验级别:通用难度:基础题型:面试策略📖 本文概述不同类型的公司在工程师面试中考察的侧重点差异明显。本文从大厂、创业公司和外包公司三种类型出... 详情>>

2026-08-04 15:53:27
static 全局变量与普通的全局变量有什么区别?

static 全局变量与普通的全局变量有什么区别?static 局部变量和普通局部变量有什么 区别?static 函数与普通函数有什么区别? 全局变量(外... 详情>>

2023-09-09 16:44:19
面试官问“为什么项目选择四层板”,PCB工程师应该怎么回答?

面试官问“为什么项目选择四层板”,PCB工程师应该怎么回答?面试题你做过两层板和四层板吗?你介绍的这个项目为什么选择四层板,而不是成本更低的两层板?面试官真正想... 详情>>

2026-07-26 11:28:14
FPGA时钟分频与PLL/MMCM怎么用?FPGA面试从时钟资源讲到动态分频

FPGA设计中级技术基础题本文概述时钟分频是FPGA设计里最基础也最容易用错的环节。面试官想听的是:你懂不懂FPGA的时钟资源(PLL/MMCM、全局时钟网络、... 详情>>

2026-09-03 13:55:21
开班信息