Cortex-M3 R0~R15寄存器组

本文详细介绍了Cortex-M3处理器的寄存器使用,包括R0-R12通用寄存器的分类及其用途,R13堆栈指针SP的两种模式,R14连接寄存器LR在子程序调用中的作用,以及R15程序计数寄存器PC如何控制程序执行流程。重点阐述了各寄存器在系统运行和程序控制中的关键角色。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【R0~R12通用寄存器】
R0~R12都是32位通用寄存器,用于数据操作。其中:

  • R0~R7为低组寄存器,所有的指令都可以访问。
  • R8~R12为高组寄存器,只有32位Thumb2指令和很少的16位Thumb指令能访问。

【R13堆栈指针SP】
Cortex-M3拥有两个堆栈指针,然而它们是banked,任一时刻只能使用其中的一个。

  • 主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理(包括中断服务)。
  • 进程堆栈指针(PSP):由用户的应用程序代码使用。

【R14连接寄存器LR】
连接寄存器LR用于在调用子程序时存储返回地址。例如,在使用BL(分支变连接,Branch and Link)指令时,就自动填充LR的值。

【R15程序计数寄存器PC】
程序计数寄存器PC指向当前的程序地址。如果修改它的值,能改变程序的执行流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值