arm 的寄存器概述(8)

关于寄存器的概述。

带 三角形的是 这种模式下 独有的寄存器,也就是说,FIQ模式下与 SYstem/user 模式下,虽然都有r8 寄存器,但是不是一个东西。

r13 (SP ) 这是堆栈指针,

r15(PC ) 这是 code 的指针。

r14(LR ), 这个是比较重要的,主要用于 跳转, 在执行bl 的指令时,会自动的 将下一条指令存放到R14 中,这样,返回时, 直接 ,将LR的值给到PC就可以了。

cpsr :当前程序状态寄存器。

spsr : 备份的程序状态寄存器,当切换状态时,会自动把 cpsr 中的值,保存到spsr .

关于CPSR 的内容。

需要知道的是 最后的状态位。代表的是当前的程序在什么模式下。

T代表的是 thumb 态,还是arm 态。

I,F 分别代表是否 禁止 FIR, IRQ , 这个会用到。

最前面的 NZCV 为 条件位, 这个也是会用到的。

相关推荐
Jason Yan1 天前
【经验分享】ARM Linux-RT内核实时系统性能评估工具
linux·arm开发·经验分享
7yewh2 天前
MCU、MPU、SOC、ECU、CPU、GPU的区别到底是什么
linux·arm开发·驱动开发·单片机·嵌入式硬件·物联网
7yewh2 天前
嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础
arm开发·stm32·单片机·嵌入式硬件·mcu·物联网
ARM&开发(Haidong)2 天前
Arm 驱动i2c相关
arm开发
艾格北峰3 天前
STM32 物联网智能家居 (五) 设备子系统之点亮LED灯
arm开发·stm32·单片机·嵌入式硬件·物联网·架构·智能家居
苏三福5 天前
opencv3.4 ffmpeg3.4 arm-linux 交叉编译
linux·运维·arm开发
kse_music5 天前
Big-endian(大端字节序)与Little-endian(小端字节序)区别
arm开发·字节·大端字节·小端字节
捕鲸叉5 天前
怎样在Linux PC上调试另一台PC的内核驱动程序,以及另一台Arm/Linux上的程序和驱动程序
linux·arm开发·软件调试·诊断调试
七天可修改名字一次6 天前
云手机技术架构原理浅析,ARM架构与X86架构的对比
arm开发·矩阵·架构·华为云·云计算·手机·百度云
大大菜鸟一枚6 天前
arm使用ubi系统
linux·arm开发·学习