汇编指令——bic(位清除)、orr(位或)、eor (异或)
以下内容源于网络资源的整理,如有其侵权请告知删除。
1、bic 位清除指令(Bit Clear)
指令格式
bic{条件}{S} Rd,Rn,operand
指令说明
将 Rn 的值与操作数 operand 的反码按位逻辑”与”,结果存放到目的寄存器Rd 中(?)
(对于上面这个描述我是存在疑问的。根据实际代码的效果,操作数operand的哪位为1,则Rn对应的位将清除。我不清楚这里的清除是不是变为0,如果是的话,感觉bic指令的作用,是将Rn的值与操作数operand按位逻辑或,然后再将结果按位取反。因为这个指令的说明,是一些人从ARM官方文档翻译下来的,然后被传播,也不知道会不会以讹传讹呢?这个翻译会不会是说“将 Rn 的值与操作数 operand 按位取反之后的值进行按位逻辑与?因此我理解为,根据operand哪个位为1,清除Rn对应的位,然后将结果存入Rd。)
关于反码的介绍,见博客原码、反码、补码,以及负数的位操作。
指令示例
bic r0, r0, #0x00002000 @ clear bits 13 (--V-) 0010 0000 0000 0000 bic r0, r0, #0x00000007 @ clear bits 2:0 (-CAM) 0000 0000 0000 0111
2、orr 位或指令
指令格式
orr{条件}{S} Rd,Rn,operand指令说明
orr指令将Rn 的值与操作数operand2按位逻辑”或”,结果存放到目的寄存器Rd 中。
根据operand哪个位为1,将Rn对应的位设置为1,然后将结果存入Rd。
指令示例
orr R0,R0,#0xd3 @将R0的第[7:0]位与b'1101 0011按位或,并保存在R0中
3、eor 异或指令(exclusive or)
指令格式
eor{条件}{S} Rd,Rn,operand指令说明
eor指令将Rn 的值与操作数operand2按位逻辑”异或”,相同为0,不同为1,结果存放到目的寄存器Rd 中。
汇编指令——bic(位清除)、orr(位或)、eor (异或)相关推荐
- dspic33 怎么C语言编程,Microchip工程师社区 - dsPIC33汇编指令 - 16位MCU及DSC - 麦田论坛...
dsPIC33汇编指令 最近在看从Microchip官网上下载的电机控制代码,其中一部分是汇编代码: .include "general.inc" ; External refer ...
- arm学习之基本汇编指令
文章目录 1. 汇编文件中的主要符号 1.1 汇编指令 1.2 伪指令 1.3 伪操作 2. 汇编指令的分类 3. 基本汇编指令语法格式 4. 数据操作指令 4.1 数据搬移指令 4.1.1 指令格式 ...
- S3C2440 汇编指令
arm汇编指令集 算术和逻辑指令 adc : 带进位的加法 (addition with carry) adc{条件}{s} <dest>, <op 1>, <op 2 ...
- Android逆向基础笔记—Android中的常用ARM汇编指令
一 ARM寄存器 1.通用寄存器 1).未分组寄存器:R0~R7 2).分组寄存器:R8~812 R13:SP,常用作堆栈指针,始终指向堆栈的顶部,当一个数据(32位)推入堆栈时,SP(R13的值减 ...
- 1.15.ARM汇编指令3之逻辑指令
ARM汇编指令之逻辑指令:and & orr & eor & bic * and 逻辑与操作指令,将operand2的值与寄存器Rn的值按位逻辑与操作,结果保存到Rd中. 指令 ...
- 01 ARM体系结构与汇编指令
注:本文章是由笔者学习朱有鹏arm的学习笔记,特此感谢朱老师. 关于汇编: 1.汇编的实质是机器指令(机器码)的 助记符,是一款CPU的本质特征. 2.不同CPU的机器指令集设计不同,因此 汇编程序不 ...
- 【嵌入式开发】 ARM 汇编 (指令分类 | 伪指令 | 协处理器访问指令)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137 转载请著名出处 本博客相关文档下载 : -- A ...
- 小于等于0_从0开始学ARMARM汇编指令其实很简单
学习ARM,就必须要学习ARM指令,ARM指令是CPU提供给我们的接口,是我们打开CPU这个潘多拉魔盒的钥匙. ARM指令有很多,为了让大家能快速上手,一口君整理了一些对我们最有帮助的指令.keil软 ...
- ida pro 反汇编 Android so 库后修改 arm 汇编指令的方法总结
1 前言 最近博主在学习Android逆向的时候,参照吾爱破解论坛的<教我兄弟学Android逆向系列课程>学习的时候,学到第8章<教我兄弟学Android逆向08 IDA爆破签名验 ...
- matlab 位清零,数据处理指令之: BIC位清零指令
6.14 BIC位清零指令1.指令的编码格式 BIC(Bit Clear)位清零指令,将寄存器Rn的值与第二源操作数的值的反码按位做"逻辑与"操作,结果保存到Rd中. 指令的编码格 ...
最新文章
- android ffmpeg 编码h264,Mac系统下ffmpeg+h264+flv编码的android录制屏幕实现2
- poj-1384 Piggy-Bank
- 华为怎么显示返回按键_华为 iateey 智能饮水吧评测:即时加热,一秒出水
- uClinux下移植Ne2000兼容的网卡驱动程序(转)
- android 如何修改百度导航诱导界面,Android 百度导航SDK
- Nginx 禁止猜测路径上传恶意代码
- Qt输入输出之QProcess
- pdf转cad怎么弄_CAD转PDF怎么弄?在线老师傅教你一招
- linux中()、[]、{}、(())、[[]]等各种括号的使用
- Spring Boot:Canonical names should be kebab-case (‘-‘ separated), lowercase alpha-numeric characters
- python自由落体_pymunk教程_自由落体小球_Pymunk滑动和铰接演示教程
- 高质量程序设计指南(笔记)
- Java单元测试实践-08.Stub、Replace、Suppress静态方法
- 几种混沌系统混沌模型
- 金融跨计算机考研,计算机跨金融——我的二战考研复习计划给你们
- iOS获取设备IP地址
- 聊聊benchmark测试
- OpenLayers教程十一:多源数据加载之用最简单的方式加载瓦片地图
- (第15章 存储过程与存储函数)
- 麒麟A1手表升级鸿蒙,HUAWEI WATCH GT2首发体验: 首款麒麟A1的手表有多神?14天续航小意思...