匯編指令-bic(位清除)、orr(位或)(3)


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,更新。

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM