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。