廊坊公司快速建站,衡水住房和城乡建设局网站,莱芜金点子最新招工,专业搜索引擎seo技术公司寄存器组 宗旨#xff1a;技术的学习是有限的#xff0c;分享的精神是无限的。 1、通用目的寄存器R0~R7 R0-R7 也被称为低组寄存器。所有指令都能访问它们。它们的字长全是 32 位#xff0c;复位后的初始值是不可预料的。
2、通用目的寄存器 R8-R12 R8-R12 也被称为高组寄…寄存器组 宗旨技术的学习是有限的分享的精神是无限的。 1、通用目的寄存器R0~R7 R0-R7 也被称为低组寄存器。所有指令都能访问它们。它们的字长全是 32 位复位后的初始值是不可预料的。
2、通用目的寄存器 R8-R12 R8-R12 也被称为高组寄存器。这是因为只有很少的 16 位 Thumb 指令能访问它们 32 位的thumb-2 指令则不受限制。它们也是 32 位字长且复位后的初始值是不可预料的。
3、特殊功能寄存器 程序状态寄存器APSR IPSR EPSR ---- MRS/MSR APSR N负条件码标志位运算结果小于0N1 大于等于0N0 Z零条件码标志位运算结果为0Z1 C进位条件码标志位运算指令产生进位无符号加法溢出C1 V溢出条件码标志位运算溢出有符号加法溢出 V1 Q饱和条件码标志位 IPSR处于线程模式时该位域为0在手柄模式下该位域为当前异常的异常号。 EPSR T:Thumb状态 T1ARM状态T0 PRIMASK, FAULTMASK 和 BASEPRI控制异常的使能和除能 控制寄存器CONTROL其一用于定义特权级别其二用于选择当前使用哪个堆栈指针。 4、堆栈指针R13
R13 是堆栈指针。在 CM3 处理器内核中共有两个堆栈指针于是也就支持两个堆栈。当引用 R13或写作 SP时引用到的是当前正在使用的那一个另一个必须用特殊的指令来访问 MRS,MSR指令。
主堆栈指针MSP或写作 SP_main。这是缺省的堆栈指针它由 OS 内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。
进程堆栈指针PSP或写作 SP_process。用于常规的应用程序代码不处于异常服用例程中时。
5、连接寄存器R14
R14 是连接寄存器 LR。在一个汇编程序中你可以把它写作 both LR 和 R14。 LR 用于在调用子程序时存储返回地址。例如当你在使用 BL(分支并连接 Branch and Link)指令时就自动填充 LR的值。
6、程序计数器R15
R15 是程序计数器在汇编代码中一般我们都都叫它的外号“ PC”。因为 CM3 内部使用了指令流水线读 PC 时返回的值是当前指令的地址4。