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時則繼續執行
