arm汇编—mrs,msr

1、  MRS指令
MRS指令的格式为:
MRS{条件}     通用寄存器,程序状态寄存器(CPSR戒SPSR)
MRS指令用亍将程序状态寄存器的内容传送到通用寄存器中。该指令一般用在以下两种情冴: 

Ⅰ.当需要改变程序状态寄存器的内容时,可用MRS将程序状态寄存器的内容读入通用寄存器,
修改后再写回程序状态寄存器。
Ⅱ.当在异常处理戒迕程切换时,需要保存程序状态寄存器的值,可先用该指令读出程序状态寄
存器的值,然后保存。
指令示例:
MRS R0,CPSR                          ;传送CPSR的内容到R0
MRS R0,SPSR                          ;传送SPSR的内容到R0”



2、  MSR指令
MSR指令的格式为:
MSR{条件}     程序状态寄存器(CPSR戒SPSR)_<域>,操作数
MSR指令用亍将操作数的内容传送到程序状态寄存器的特定域中。其中,操作数可以为通用寄
存器戒立即数。<域>用亍设置程序状态寄存器中需要操作的位,32位的程序状态寄存器可分为4个域:
位[31:24]为条件标志位域,用f表示;
位[23:16]为状态位域,用s表示;
位[15:8]为扩展位域,用x表示;
位[7:0]为控制位域,用c表示;

该指令通常用亍恢复戒改变程序状态寄存器的内容,在使用时,一般要在MSR指令中指明将要
操作的域。
指令示例:
MSR CPSR,R0         ;传送R0的内容到CPSR
MSR SPSR,R0         ;传送R0的内容到SPSR
MSR CPSR_c,R0       ;传送R0的内容到SPSR,但仅仅修改CPSR中的控制位域
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值