tst、cmp、bne、beq指令


1、tst:邏輯處理指令,用於把一個寄存器的內容和另一個寄存器的內容或立即數進行按位的與運算,並根據運算結果更新CPSR中條件標志位的值。當前運算結果為1,則Z=0;當前運算結果為0,則Z=1
  cmp:算數處理指令,用於把一個寄存器的內容和另一個寄存器的內容或立即數進行減法比較,不存儲結果,都會更改標志位
  bne: 數據跳轉指令,標志寄存器中Z標志位不等於零時, 跳轉到BNE后標簽處
  beq: 數據跳轉指令,標志寄存器中Z標志位等於零時, 跳轉到BEQ后標簽處
2、實例
tst r0 , #0x2         //進行and運算,如果bit_2為1,zero==0,如果bit_2為0,則zero==1,即該指令測試bit_2是否為0
bne led_blink         //非零則跳轉,若zero==1,跳轉到led_blink處執行;若zero==0,則繼續執行下一步指令

 3、實例

sub r1 , r1 , #1     //r1=r1-1
cmp r1 , #0          //r1是否等於0,並更改標志位 
bne led_blink       //zero==1時跳轉至led_blink處,zero==0時則繼續執行

 


免責聲明!

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



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