1. bic (Bit Clear)位清除指令
bic指令的格式為:
bic{條件}{S} Rd,Rn,operand
bic指令將Rn 的值與操作數operand2 的反碼按位邏輯”與”,結果存放到目的寄存器Rd 中。
指令示例:
bic R0,R0,#0x1F ; //將R0最低5位清零,其余位不變。
2.orr 位或指令
orr指令的格式為:
orr{條件}{S} Rd,Rn,operand
orr指令將Rn 的值與操作數operand2按位邏輯”或”,結果存放到目的寄存器Rd 中。
指令示例:
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位管理模式,實例:
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,更新。
