嵌入式之家

 找回密码
 现在注册

QQ登录

只需一步,快速开始

搜索
热搜: ARM cortex
查看: 4279|回复: 0

arm汇编—mrs,msr

[复制链接]
  • TA的每日心情
    开心
    2020-6-18 22:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    101

    主题

    192

    帖子

    1645

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    1645
    发表于 2016-6-12 14:17:23 | 显示全部楼层 |阅读模式
    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中的控制位域
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 现在注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|嵌入式之家 ( 京ICP备14038168号-1 )

    GMT+8, 2024-5-10 21:52 , Processed in 0.019004 second(s), 26 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表