汇编指令-bic(位清除)、orr(位或)(3)

1. bic  (Bit Clear)位清除指令 bic指令的格式为: bic{条件}{S}  Rd,Rn,operand 

bic指令将Rn 的值与操作数operand2 的反码按位逻辑”与”,结果存放到目的寄存器Rd 中。

指令示例:

bic R0,R0,#0x1F ;    //将R0最低5位清零,其余位不变。

2.orr 位或指令

orr指令的格式为: orr{条件}{S}  Rd,Rn,operand 

orr指令将Rn 的值与操作数operand2按位逻辑”或”,结果存放到目的寄存器Rd 中。

指令示例:

orr R0,R0,#0xd3 ;将R0的第[7:0]位与b'1101 0011按位或,并保存在R0中

3.eor异或指令(exclusive or)

eor指令的格式为: eor{条件}{S}  Rd,Rn,operand 

eor指令将Rn 的值与操作数operand2按位逻辑”异或”,相同为0,不同为1,结果存放到目的寄存器Rd 中。

4.设置2440位管理模式,实例:

mrs    r0,cpsr                         // 读状态寄存器cpsr的数据到r0中
bic    r0,r0,#0x1f                     // 对r0低5位进行清0,清除模式位
orr	r0,r0,#0xd3                    // 低8位或(110 10011), 设为管理(svc32)模式,禁止IRQ和FIQ中断
msr	cpsr,r0                        // 写入状态寄存器cpsr,更新。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏信安之路

【作者投稿】宽字符注入详解与实战

SQL语句是SELECT * FROM news WHERE tid='{$id}',根据文章的id把文章从news表中提取出来,在$sql之前,我们只用了限制...

850
来自专栏Dato

浅谈 Mybatis中的 ${ } 和 #{ }的区别

好了,真正做开发也差不多一年了。一直都是看别人的博客,自己懒得写,而且也不会写博客,今天就开始慢慢的练习一下写博客吧。前段时间刚好在公司遇到这样的问题。 一、举...

3169
来自专栏大内老A

一句代码实现批量数据绑定[下篇]

《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设...

1905
来自专栏python3

django URL (路由系统)

URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表;你就是以这种方式告诉Djan...

1393
来自专栏用户2442861的专栏

Python基础学习笔记之(二)(华工大神)

         Python中每一个.py脚本定义一个模块,所以我们可以在一个.py脚本中定义一个实现某个功能的函数或者脚本,这样其他的.py脚本就可以调用...

804
来自专栏阮一峰的网络日志

命令行通配符教程

一次性操作多个文件时,命令行提供通配符(wildcards),用一种很短的文本模式(通常只有一个字符),简洁地代表一组路径。

592
来自专栏zhangdd.com

nginx location匹配规则

~      #波浪线表示执行一个正则匹配,区分大小写 ~*    #表示执行一个正则匹配,不区分大小写 ^~    #^~表示普通字符匹配,如果该选项匹配...

854
来自专栏大内老A

三种属性操作性能比较:PropertyInfo + Expression Tree + Delegate.CreateDelegate

《上篇》主要介绍如何通过DataBinder实现批量的数据绑定,以及如何解决常见的数据绑定问题,比如数据的格式化。接下来,我们主要来谈谈DataBinder的设...

20810
来自专栏技术墨客

Spring核心——MessageSource实现国际化

在上下文与IoC对ApplicationContext以及Context相关的设计模式进行了介绍。ApplicationContext作为一个Context在应...

1961
来自专栏lgp20151222

springMVC框架的理解加深,个人的一些想法

写spring-boot整合的时候,有种想看源码的冲动!呸,是钻牛角尖的毛病犯了...

412

扫码关注云+社区