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中的控制位域

3.BIC

BIC指令的格式为: BIC{条件}{S}  目的寄存器,操作数1,操作数2

BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中。

操作数1应是一个寄存器, 操作数2可以是一个寄存器、被移位的寄存器、或一个立即数。

操作数2为32位的掩码,如果在掩码中置了某一位1,则清除这一位。未设置的掩码位保持不变。

BIC  R0,R0,#0x1F

0x1F=0001 1111

含义:清除R0的bit[4:0]位

最新文章

  1. java提升路线书单(原文自知乎刘欣)
  2. 用于PHP的Gearman Worker管理工具GearmanManager
  3. linux上进程状态查询
  4. struts2各个jar包的作用
  5. Skynet Pomelo Erlang Elixir 的认识
  6. 解析 HTTP(HttpURLConnection getResponseCode)
  7. android-non-ui-to-ui-thread-communications-part-4-of-5
  8. hdu 1257 最少拦截系统(简单贪心)
  9. BZOJ_1016_[JSOI2008]_最小生成树计数_(dfs+乘法原理)
  10. html5桌面通知,notification的使用,右下角出现通知框
  11. JavaScript中闭包实现的私有属性的getter()和setter()方法
  12. Oracle Instance
  13. (linux虚拟机)克隆得到的虚拟机修改网卡信息和IP地址,以及DNS
  14. Tableau 之一 连接数据源
  15. c#委托之浅析
  16. Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring
  17. Python中函数partial的应用
  18. ace-socket-reconnect
  19. Liferay7 BPM门户开发之19: 理解Service Builder体系
  20. C# 时间戳与时间相互转化

热门文章

  1. wpf slider进度条的样式模板,带有进度颜色显示
  2. Android Studio底边栏选项不见了,怎样调出来
  3. 数据库定时删除历史数据的SQL指令
  4. Timus 1146. Maximum Sum
  5. B1068 [SCOI2007]压缩 区间dp
  6. Tyvj 1068 巧用扩展KMP
  7. 64. Extjs中grid 的ColumnModel 属性配置
  8. astgo 老版本免激活完整安装包带安装命令脚本
  9. PCB 模拟Windows管理员域帐号安装软件
  10. Instantaneous Transference(强连通分量及其缩点)