【ARM 常见汇编指令学习 6 - bic(位清除), orr(位或), eor(异或)】

文章目录

      • [BIC 指令](#BIC 指令)
      • [ORR 位或指令](#ORR 位或指令)
      • [EOR 异或指令](#EOR 异或指令)

上篇文章:ARM 常见汇编指令学习 5 -- arm64汇编指令 wzr 和 xzr

BIC 指令

指令格式

c 复制代码
bic{条件}{S}  Rd,Rn,operand

根据operand哪个位为1,清除Rn对应的位,然后将结果存入Rd。

使用例子

c 复制代码
bic	r0, r0, #0x00002000    // clear bit[13]   0010 0000 0000 0000
bic	r0, r0, #0x00000007    // clear bit[2:0]  0000 0000 0000 0111

第1条汇编代码表示将 r0 寄存器的 bit13 清0,其它bit不变。

第2条汇编代码表示将 r0 寄存器的bit0-bit2清0,气他bit不变。

ORR 位或指令

指令格式

c 复制代码
orr{条件}{S}  Rd,Rn,operand

根据operand哪个位为1,将Rn对应的位设置为1,其余位不变,然后将结果存入Rd。

使用例子

c 复制代码
orr R0, R0,  #(0x1 << 8) 
orr R0, R0,  #(0x1 << 16) 

表示将 r0 寄存器的 bit8 和bit16 置 1,其它bit不变。

EOR 异或指令

指令格式

c 复制代码
eor{条件}{S}  Rd,Rn,operand 

指令说明

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

上篇文章:ARM 常见汇编指令学习 5 -- arm64汇编指令 wzr 和 xzr

相关推荐
丁总学Java1 小时前
ARM 架构(Advanced RISC Machine)精简指令集计算机(Reduced Instruction Set Computer)
arm开发·架构
韦德斯1 天前
嵌入式Linux的RTC读写操作应用
linux·运维·c语言·arm开发·实时音视频
byte轻骑兵1 天前
嵌入式 ARM Linux 系统构成全解:从硬件到应用层层剖析
linux·arm开发·arm·嵌入式开发
思尔芯S2C1 天前
面向未来的智能视觉参考设计与汽车架构,思尔芯提供基于Arm技术的创新方案
arm开发·架构·汽车·iot·fpga原型验证·prototyping·智慧视觉
Eternal-Student2 天前
【docker了解】如何将x86镜像转换为适用于Jetson的ARM镜像
arm开发·docker·容器
不怕犯错,就怕不做2 天前
修复kernel编译栈帧大小异常问题error: the frame size of 1928 bytes is larger than 1024 bytes
linux·arm开发·驱动开发
憧憬一下3 天前
UART硬件介绍
arm开发·嵌入式硬件·串口·嵌入式·linux驱动开发
Petal9909124 天前
UEFI学习笔记(十八):ARM电源管理之PSCI和SCMI概述
arm开发·笔记·学习·uefi
古月居GYH4 天前
一文了解ARM内部架构
arm开发·架构
白书宇4 天前
13.100ASK_T113-PRO RTC实验
linux·arm开发·驱动开发·嵌入式硬件·物联网·硬件工程