状态寄存器传送指令 —— 访问(读写)CPSR寄存器

本文详细介绍了ARM处理器中控制程序状态的CPSR寄存器,以及如何通过MRS和MSR指令进行读写操作。MRS指令用于将CPSR的内容转移到其他寄存器,而MSR指令则用于修改CPSR的值。这两种指令在系统初始化、模式切换等关键场景中起到重要作用,如从SVC模式切换到User模式执行应用程序,以及在系统调用后的模式切换。然而,由于权限保护,一旦进入User模式,不允许再直接修改CPSR。

CPSR寄存器控制着CPU的工作模式和运算状态,出于对CPSR的保护,不允许其他指令来访问CPSR寄存器。

因此,ARM提供了读写指令来操作CPSR寄存器,这两个指令是ARM特有的指令集,因为处理器之间存在一定差异,控制状态的寄存器也可能存在差异。


目录

1、读CPSR —— MRS指令

2、写CPSR —— MSR指令

(1) 指令格式

(2) MSR指令的应用场景


1、读CPSR —— MRS指令

MRS的作用是读取CPSR寄存器的内容,并搬移到其他寄存器。

指令格式:MRS  第一操作寄存器, CPSR

MRS R1, CPSR                @ 将CPSR的内容搬移到了R1寄存器 (R1 = CPSR)

2、写CPSR —— MSR指令

(1) 指令格式

MSR指令的作用是更改CPSR寄存器的内容。

指令格式:MSR  CPSR, 第一操作数

MSR CPSR, #0x10  &
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值