彙編指令對標誌位的影響

2021-10-12 03:15:04 字數 654 閱讀 7252

mov lea xchg push pop in out

傳送類指令不影響標誌位

add adc sub sbb cmp

加減法指令影響全部標誌位

inc dec

增一減一指令不影響cf

neg

求補指令影響除cf外的5個標誌位,對cf位置1

mul imul

乘法指令只影響of位和cf位,對其他位沒定義

div idiv

除法指令對6個標誌位均沒定義

and or xor test

與 或 異或 測試指令正常影響sf zf pf , 對of cf清零,對af沒定義

not

取反指令對6個標誌位均沒影響

shl shr sal sar

移位指令影響除af外的5個標誌位,對af沒定義

rol ror rcl rcr

迴圈移位指令影響cf和of,對sf zf pf沒影響,對af沒定義

指令 s對cpsr中標誌位的影響

各標誌位的含義如下 所有arm資料處理指令的乘法指令均可選擇使用s字尾,並影響狀態標誌位。而其它指令一般不允許加s字尾,如b ldr swi mrs等。n 運算結果的最高位反映在該標誌位。對於有符號二進位制補碼,結果為負數時n 1,結果為正數或零時n 0 例如 執行movs r0,0x7ffffff...

彙編標誌位

of overflow flag 溢位標誌 運算元超出機器能表示的範圍表示溢位,溢位時為1.sf sign flag 符號標誌 記錄運算結果的符號,結果負時為1.zf zero flag 零標誌 運算結果等於0時為1,否則為0.cf carry flag 進製標誌 最高有效位產生進製時為1,否則為0...

彙編標誌位簡介

標誌 flag 用於反映指令執行結果或控制指令執行形式,是組合語言程式設計中必須特別注意的乙個方面。許多指令執行之後將影響有關的標誌位,同時不少指令的執行要利用某些標誌。因此我們在學習使用組合語言的過程中必須了解標誌位。進製標誌cf主要用來反映運算是否產生進製或借位。如果運算結果的最高位產生了乙個進...