ARM 汇编指令:(四) 位运算指令

ARM 汇编指令:(四) 位运算指令本文详细介绍了 ARM 汇编中的 LSL 逻辑左移 LSR 逻辑右移指令 以及 AND ORR EOR 逻辑运算和 BIC 位清除指令的使用方法

大家好,欢迎来到IT知识分享网。

一.移位指令

1.LSL 指令

逻辑移指令,实现将寄存器进行左移操作

lsl r1, r0, #2 //r1 = r0 * 2^2 mov r1, r0, lsl, #2 //和上一个汇编指令效果一样 add r1, r0, lsl, #2 //r1 = r1 + r0 * 2^2

2.LSR 指令

逻辑移指令,实现将寄存器进行右移操作

lsr r1, r0, #2 //r1 = r0 / 2^2 mov r1, r0, lsr, #2 //和上一个汇编指令效果一样 add r1, r0, lsr, #2 //r1 = r1 + r0 / 2^2

二.位运算

 1.AND (逻辑与指令)

  AND:将操作数1按位操作数2的结果存放在目标寄存器

MOV R1, 0x0F ; //将寄存器R1设置为0x0F,二进制为 00001111 MOV R2, 0x03 ; //将寄存器R2设置为0x03,二进制为 00000011 AND R3, R1, R2 ; //R3 = R1 & R2 //r3结果为0x03,二进制为 00000011

  2.ORR (逻辑与指令)

  将操作数1按位操作数2的结果存放在目标寄存器

MOV R1, 0x0F ; //将寄存器R1设置为0x0F,二进制为 00001111 MOV R2, 0x03 ; //将寄存器R2设置为0x03,二进制为 00000011 ORR R3, R1, R2 ; //R3 = R1 | R2 //r3结果为0x0f,二进制为 00001111

  3.EOR(逻辑异或指令)

  EOR:将操作数1按位异或操作数2的结果存放在目标寄存器

MOV R1, 0x0F ; //将寄存器R1设置为0x0F,二进制为 00001111 MOV R2, 0x03 ; //将寄存器R2设置为0x03,二进制为 00000011 EOR R3, R1, R2 ; //R3 = R1 ^ R2 //r3结果为0x0c,二进制为 00001100

4.BIC(位清除指令 )

BIC:将操作数1按位操作数2取反的结果存放在目标寄存器(目标寄存器=操作数1 & ~操作数2)

MOV R1, 0x0F ; //将寄存器R1设置为0x0F,二进制为 00001111 MOV R2, 0x03 ; //将寄存器R2设置为0x03,二进制为 00000011 BIC R3, R1, R2 ; //R3 = R1 & ~R2 //r3结果为0x0c,二进制为 00001100

下一页:ARM 汇编指令:(五)CMP指令

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/152983.html

(0)
上一篇 2025-03-06 18:15
下一篇 2025-03-06 18:20

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信