cortex学习笔记——寄存器组

cortex-M3处理器拥有R0-R15的寄存器组。其中R13作为堆栈指针SP。SP有两个,但在同一时刻只能有一个可以看到,这也就是所谓的“banked”寄存器。

R0-R12:通用寄存器

 R0-R12都是32位通用寄存器,用于数据操作。但是注意:绝大多数16位Thumb指令只能访问R0-R7,而32位Thumb-2指令可以访问所有寄存器。

Blanked R13:两个堆栈指针

cortex-m3拥有两个堆栈指针,然而它们是banked,因此任一时刻只能使用其中的一个。

(1)主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包括中断服务例程)

(2)进程堆栈指针(PSP):用用户的应用程序代码使用。

堆栈指针的最低两位永远是0,这意味着堆栈总是4字节对齐的。

R14:连接寄存器

当呼叫一个子程序时,由R14存储返回地址

R15:程序计数寄存器

指向当前的程序地址。如果修改它的值,就能改变程序的执行流(很多高级技巧就在这里面)

特殊功能寄存器

cortex-m3还在内核水平上搭载了若干特殊功能寄存器,包括

程序状态字节寄存器组(PSRs)

中断屏蔽寄存器组(PRIMASK,FAUL TMASK,BSAEPRI)

控制寄存器(CONTROL)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值