ARM汇编指令之逻辑指令:and & orr & eor & bic

* and

逻辑与操作指令,将operand2的值与寄存器Rn的值按位逻辑与操作,结果保存到Rd中。

指令格式:

and{cond}{S}  Rd,Rn,operand2

eg:

ands r0,r0,#0x01   ; r0=r0&0x01  取出最低位数据

and r2,r1,r3            ; r2=r1&r3


* orr

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

指令格式:

orr{cond}{S}  Rd,Rn,operand2

eg:

orr r0,r0,#0x0f    ; r0=r0 | 0x0f 将r0中数值低四位置1


mov r1,r2,lsr #4

orr  r3,r1,r3,lsl #8    ; 使用orr 指令将r2的高8位数据移入到r3的低8位中


* eor

逻辑异或操作指令,将operand2的值与寄存器Rn的值按位异或操作,结果保存到Rd中。

指令格式:

eor{cond}{S} Rd,Rn,operand2

eg:

eor  r1,r1,#0x0f   ; 将r1的低四位取反

eor  r2,r1,r0         ; r2=r1^r0

eors r0,r5,#0x01  ; r0=r5^0x01


* bic

位清除指令,将寄存器Rn的值与operand2 的值的反码按位作逻辑与操作,结果存放在Rd中。(或者你可以理解成对应operand2操作数中位为1的 Rn寄存器相应的位置0,其它位不变)。

指令格式:

bic{cond}{S}  Rd,Rn,operand2

eg:

bic r1,r1,#0x0f    ; 将r1的低四位清零,其它位不变。

bic r1,r2,r3          ; 将r3的值的反码与r2相逻辑与,结果保存到r1中

1.15.ARM汇编指令3之逻辑指令相关推荐

  1. 嵌入式工程师到底要不要学习ARM汇编指令?arm学习文章汇总

    嵌入式工程师到底要不要学习ARM汇编指令? 网上搜索这个问题,答案很多,大部分的建议是不要学汇编,只要学C语言. 而一口君作为一个十几年经验的驱动工程师,个人认为,汇编语言还是需要掌握的,想要搞精.搞 ...

  2. 常用的ARM汇编指令总结

    第一次写博客,请各路大神多多关照. 本人从事软件开发相关的工作,平时主要用c语言撸代码,前段时间因工作需要,接触到了ARM架构下的汇编指令,之前学过51单片机的汇编指令,早已经还给老师了,且ARM汇编 ...

  3. ARM汇编指令调试方法

    学习ARM汇编时,少不了对ARM汇编指令的调试.作为支持多语言的调试器,gdb自然是较好的选择.调试器工作时,一般通过修改代码段的内容构造trap软中断指令,实现程序的暂停和程序执行状态的监控.为了在 ...

  4. ida pro 反汇编 Android so 库后修改 arm 汇编指令的方法总结

    1 前言 最近博主在学习Android逆向的时候,参照吾爱破解论坛的<教我兄弟学Android逆向系列课程>学习的时候,学到第8章<教我兄弟学Android逆向08 IDA爆破签名验 ...

  5. arm汇编指令详细整理及实例详解

    目录 一.简介 二.ARM 汇编指令说明 2.1 32位数据操作指令 2.2 32位存储器数据传送指令 2.3 32位转移指令 2.4 其它32位指令 三.实例讲解 3.1 MRS 3.2 MSR 3 ...

  6. arm汇编指令——分析问题的利器

    文章目录 arm汇编指令为什么重要 1. 主导问题 2. arm汇编指令分类介绍 通用寄存器 状态寄存器 数据转移指令 寻址格式 运算指令 比较指令 跳转指令 3. 反汇编接口 4. 反汇编分析举例 ...

  7. ARM汇编指令学习---基于启动文件startup.S分析

    本文主要是基于启动文件startup.s对ARM汇编指令进行学习分析. 以 . 开头一般是伪汇编/操作指令,形如: .section伪操作来定义一个段,形如: .section .testsectio ...

  8. ARM 汇编指令 MOV32用法

    前言 移植基于ARM平台的RTOS时,需要掌握一些基本的汇编指令,只有熟悉了这些ARM 的汇编指令,才能真正的掌握RTOS的移植方法 MOV32 指令,字面意思是 MOVE 一个 32位 值的意思,具 ...

  9. ARM 汇编指令对应的机器码和条件码

    一.ARM 汇编指令对应的机器码 二.条件码

最新文章

  1. Android中activity传值的两种方式
  2. 计算机在材料中的运用结课,计算机在材料科学工程中的应用的结课论文.doc
  3. 解决Word 2007中更新整个目录后分节符消失问题
  4. ubuntu-18.04 设置开机启动脚本-亲测有效
  5. 数学之美 (第二版) pdf
  6. 苹果ipad怎么录屏_原来苹果手机还能这样投屏!1秒小屏变大屏!太好用了
  7. windows资源监视器
  8. a级纳税人数据问题记录
  9. cubieboard服务器系统,CubieBoard_搭建自己的系统.pdf
  10. 完整部署uniswap 合约、前端教程(可部署uniswap到bsc、heco)
  11. 数据分析之 —— 常用的统计学指标
  12. 正则表达式--教程二(语法)
  13. USB基础书籍资料推荐
  14. 3、关于onclick事件的两种写法
  15. 【支小蜜智慧食堂】随时查账单,解决学校食堂点餐效率低问题
  16. 表单报错:Password field is not contained in a form
  17. 极速office(Word)文件怎么打印
  18. netty ChannelFuture的不解?
  19. 微凉编程助手 v1.08官方版
  20. 总结 | Revit安装失败的常见问题及解决办法

热门文章

  1. 1562_AURIX_TC275_电源监控
  2. Oracle基础学习四之表的定义及脚本编写一
  3. php odbc驱动,PHP Database ODBC
  4. mysql获取今天的最后一秒_在MySQL中获取日期的最后一秒?
  5. 软件工程设计模式——OCP与DIP
  6. Object Oriented Programming(1)
  7. 信息系统项目管理师必背核心考点(二十七)关键路径法(CPM)
  8. latex中文论文模板_西安建筑科技大学LaTeX学位论文模板 v1.0.0 beta
  9. Azure Az-900认证 04——-考取AZ900所有知识点总结-Exam PL-100: Microsoft Power Platform App Maker
  10. IDEA 查找接口实现类的快捷键