ARM汇编指令—CPSR访问指令(mrs&msr)

一、简介

CPSR寄存器比较特殊,需要专门的指令访问,这就是mrs和msr。

mrs用来读psr(cpsr或者spsr),msr用来写psr
NOTE:
cpsr和spsr的区别和联系:cpsr是程序状态寄存器,整个SoC中只有1个;而spsr有5个,分别在5种异常模式下,作用是当从普通模式进入异常模式时,用来保存之前普通模式下的cpsr的,以在返回普通模式时恢复原来的cpsr。

二、mrs

功能:将状态寄存器的内容传送至通用寄存器。(读psr)

例:
MRS   R0,CRSR              ;将CPSR中的内容传送至R0

MRS   R3,SPSR              ;将SPSR中的内容传送至R3

三、msr

功能:(写psr)

MSR{<条件码>CPSR_<field>|SPSR_<field>,Rm

其中:

<field>字段可以是以下之一或多种:(位从右到左)

C:控制域屏蔽字段(PSR中的第0位到第7位);

X:扩展域屏蔽字段(PSR中的第8位到第15位);

S:状态域屏蔽字段(PSR中的第16位到第32位);

F:标志域屏蔽字段(PSR中的第24位到第31位)。


例1:设置N、Z、C、V标志。
MSR    CPSR_f,#&f0000000            ;仅高位有效,其他必须为0


参考文献:

1.朱老师课堂笔记

2.http://blog.sina.com.cn/s/blog_6ac051b2010123cz.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值