1. bic (Bit Clear)位清除指令 bic指令的格式为: bic{条件}{S} Rd,Rn,operand
bic指令将Rn 的值与操作数operand2 的反码按位逻辑”与”,结果存放到目的寄存器Rd 中。
指令示例:
代码语言:javascript复制bic R0,R0,#0x1F ; //将R0最低5位清零,其余位不变。
2.orr 位或指令
orr指令的格式为: orr{条件}{S} Rd,Rn,operand
orr指令将Rn 的值与操作数operand2按位逻辑”或”,结果存放到目的寄存器Rd 中。
指令示例:
代码语言:javascript复制orr R0,R0,#0xd3 ;将R0的第[7:0]位与b'1101 0011按位或,并保存在R0中
3.eor异或指令(exclusive or)
eor指令的格式为: eor{条件}{S} Rd,Rn,operand
eor指令将Rn 的值与操作数operand2按位逻辑”异或”,相同为0,不同为1,结果存放到目的寄存器Rd 中。
4.设置2440位管理模式,实例:
代码语言:javascript复制mrs r0,cpsr // 读状态寄存器cpsr的数据到r0中
bic r0,r0,#0x1f // 对r0低5位进行清0,清除模式位
orr r0,r0,#0xd3 // 低8位或(110 10011), 设为管理(svc32)模式,禁止IRQ和FIQ中断
msr cpsr,r0 // 写入状态寄存器cpsr,更新。