前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >汇编指令-bic(位清除)、orr(位或)(3)

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

作者头像
诺谦
发布2018-01-03 16:19:40
5.2K0
发布2018-01-03 16:19:40
举报
文章被收录于专栏:Linux驱动Linux驱动

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

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

指令示例:

代码语言:javascript
复制
bic R0,R0,#0x1F ;    //将R0最低5位清零,其余位不变。

2.orr 位或指令

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

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

指令示例:

代码语言:javascript
复制
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位管理模式,实例:

代码语言:javascript
复制
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,更新。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-07-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档