ARM逻辑运算指令

1、AND(按位与)同时为真(1)结果为真,其它为假。

MOV R0,#0x02            ;R0=0X2
AND R0,R0,#0x01            ;R0=R0&0x01=0000 0010 & 0000 0001= 0
MOV R1,#0x07            ;R1=0X7
MOV R3,#0x05            ;R3=0X5
AND R2,R1,R3            ;R2=R1&R3= 0000 0111 & 0000 0101 = 0000 0101=5

2、ORR(按位或)有一个为真(1)结果为真,都为假(0)结果才为假。

MOV R0,#0x01           ;R0=0X1
ORR  R0,R0,#0x0F       ;R0=R0|0XF=0000 0001 | 0000 1111=0000 1111=0XF  

3、EOR(按位异或)两个值不同的时候结果才为真,两个值相同结果为假。
异或的应用:用于取反操作
   1   1  0
   1   0  0
   0   1  0
   MOV R1,#0X66          ;R1=0X66
   MOV R0,#0X88          ;R0=0X88
   EOR R1,R1,#0x0F        ;R1=R1^0X0F=0110 0110 ^ 0000 1111= 0110 1001 =0X69 
   EOR R2,R1,R0          ;R2=R1^R0=0x69 ^ 0x88 =0110 1001 ^ 1000 1000 = 1110 0001=0xe1

4、BIC(位清零指令):应用对寄存器的一些位进行清零操作。

MOV R1,#0X66  ; R1=0X66
BIC R1,R1,#0x0F    ;R1=R1 AND !0X0F= 0110 0110 AND 1111 0000=0110 0000 =0X60           
!(0XF)=0XFFFFFFF0

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ARM汇编语言是一种低级的程序设计语言,用于编写底层的系统软件和嵌入式系统的程序。以下是一些ARM汇编的基本指令和逻辑: 1. 寄存器:ARM处理器有16个32位通用寄存器,分别用R0-R15表示。在汇编程序中,可以使用这些寄存器来存储和操作数据。 2. 常量:可以使用常量来表示一些固定的值。常量可以直接写在指令中,也可以通过伪指令(如DCD)来定义。 3. 数据传输指令:用于将数据从一个地方传输到另一个地方。例如,LDR指令用于从内存中加载数据到寄存器中,STR指令用于将寄存器中的数据存储到内存中。 4. 算术指令:用于执行各种算术运算。例如,ADD指令用于将两个操作数相加,SUB指令用于将一个操作数减去另一个操作数。 5. 逻辑指令:用于执行各种逻辑运算。例如,AND指令用于对两个操作数执行逻辑与操作,OR指令用于对两个操作数执行逻辑或操作。 6. 分支指令:用于实现程序中的分支操作。例如,B指令用于无条件跳转到指定的地址,BEQ指令用于在两个操作数相等时跳转到指定地址。 7. 子程序调用指令:用于调用子程序。例如,BL指令用于调用子程序,并将返回地址存储在寄存器中。 在编写ARM汇编程序时,需要了解以上基本指令和逻辑,并根据具体的应用场景选择合适的指令。同时,还需要了解ARM处理器的寄存器和内存结构,以便正确地访问和操作数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值