汇编(三)——ARM数据处理指令——逻辑运算指令

本文介绍了ARM数据处理指令中的逻辑运算部分,包括AND、ORR、EOR和BIC指令。通过示例详细解释了每种指令的用法,如AND用于按位逻辑与,ORR用于按位逻辑或,EOR用于按位逻辑异或,BIC用于位清除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ARM数据处理指令——逻辑运算指令

助记符说明操作条件码位置
AND Rd,Rn,operand2逻辑与操作指令Rd<-Rn&operand2AND{cond} {S}
ORR Rd,Rn,operand2逻辑或操作指令Rd<-Rn|operand2ORR{cond} {S}
EOR Rd,Rn,operand2逻辑异或操作指令Rd<-Rn^operand2EOR{cond} {S}
BIC Rd,Rn,operand2位清除指令Rd<-(~operand2)BIC{cond} {S}

AND

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

指令格式如下:

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

应用示例:

ANDS R0,R0,#0x01 ;R0=R0&0x01,取出最低位数据

AND R2,R1,R3 ;R2=R1&R3

ORR

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

指令格式如下:

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

应用示例:

ORR R0,R0,#0x0F ;将R0的低四位置1

MOV R1, R2, LSR #24 ;R1=R2>>24=R2<<8

ORR R3,R1,R3,LSL #8 ;使用ORR指令将R2的高八位:数据移入到R3低8位中R3 = R1 or (R3<<8)

EOR

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

指令格式如下:

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

应用示例:

EOR R1,R1,#0x0F ;将R1的第四位异或

EOR R2,R1,R0 ;R2=R1^R0

EORS R0,R5,0x01 ;将R5和0x01进行逻辑异或,结果保存到R0,并影响标志位

BIC

位清除指令——BIC指令将寄存器Rn的值与operand2的值的反码按位作逻辑"与"操作,结果保存到Rd中。

指令格式如下:

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

应用实例:

BIC R1,R1,#0x0F ;将R1的低四位清零,其它位不变

BIC R1,R2,R3 ;将R3的反码和R2相逻辑“与”,结果保存到R1中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值