转载于http://blog.chinaunix.net/uid-28458801-id-4083986.html
一、bic
(1)格式:BIC {条件} {S} 目的寄存器,操作数1,操作数2;
(2)BIC指令用于清除操作数1的某些位,并把结果放置到目的寄存器中。
- 操作数1应是一个寄存器,操作数2可以是寄存器,或者立即数。操作数2当做一个32位的掩码。
- 如果在掩码中设置某一位为1,则清除操作数1的该位(设置为0)。未设置的掩码位保持不变。
(3)举例
bic r0,r0,#0x1f
0x1f=11111b
其含义:清除r0的bit[4:0]位。
二、orr
(1)格式:ORR {条件}{S} 目的寄存器,操作数1,操作数2;
(2)ORR指令用于两个操作数进行逻辑与运算,并把结果放置到目的寄存器中。
- 操作数1应是一个寄存器,操作数2可以是一个寄存器,被移位的寄存器,或一个立即数。
- 该指令常用于设置操作数1的某些位。
(3)示例:
ORR R0,R0,#3;该指令设置R0的0、1位,其余位保持不变。
orr r0,r0,#0xd3;其中0xd3=1101 0111,该指令将r0与0xd3进行与运算,然后将结果给r0,即把r0的bit[7:6]、bit[4]、bit[2:0]置为1。