×

Cortex-M3寄存器组资料下载

消耗积分:0 | 格式:pdf | 大小:66.57KB | 2021-04-13

李鸿

分享资料个

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:负条件码标志位,运算结果小于0,N=1, 大于等于0,N=0; Z:零条件码标志位,运算结果为0,Z=1; C:进位条件码标志位,运算指令产生进位(无符号加法溢出),C=1; V:溢出条件码标志位,运算溢出(有符号加法溢出), V=1; Q:饱和条件码标志位; IPSR:处于线程模式时,该位域为0;在手柄模式下,该位域为当前异常的异常号。 EPSR: T:Thumb状态, T=1,ARM状态,T=0; 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。 文章来源:(mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !