フラグに影響与える命令
演算命令 mov命令でも変化する。
C V Z N
符号無しの桁あふれ 符号付の桁あふれ    

cmp B,A
btst #?,A

  H8/3048
オーバフローがある BVS V==1
オーバフローがない BVC V==0
符号フゴウなし dtc<src BLO C==1
キャリーがある
符号フゴウなし !(dtc>=src)
BCS C==1
符号フゴウなし dtc>=src
符号フゴウなし !(dtc<src)
BHS C==0
キャリーがない Bcc C==0
等しい
ゼロ
BEQ Z==1
等しくない
ゼロでない
BNE Z==0
符号フゴウなし dtc<=src
符号フゴウなし !(dtc>src)
BLS (C || V)==1
符号フゴウなし dtc>src
符号フゴウなし !(dtc<=src)
BHI (C || V)==0
符号がある(MSB=1) BMI N==1
符号がない(MSB=0) BPL N==0
符号フゴウあり !(dtc>=src)
符号フゴウあり dtc<src
BLT (N xor V)==1
符号フゴウあり dtc>=src
符号フゴウあり !(dtc<src)
BGE (N xor V)==0
符号フゴウあり dtc<=src
符号フゴウあり !(dtc>src)
BLE {Z=1 || (N xor V)}==1
符号フゴウあり dtc>src
符号フゴウあり !(dtc<=src)
BGT {Z=1 || (N xor V)}==0

フラグ変化例

BTST命令メイレイとブランチ命令メイレイわせる場合バアイ

テストされたビットが1のトキブランチさせるにはBNE命令メイレイ、0の場合バアイはBEQをモチいる。

符号付フゴウツキ加減算カゲンザン結果ケッカオサまらなかったときの結果ケッカ正負セイフのどちらかを判断ハンダンする方法ホウホウ

加算カサン命令メイレイ場合バアイV=1で結果ケッカオサまらなかった場合バアイでC=1なら結果ケッカであり、C=0なら結果ケッカセイである。

減算ゲンザン命令メイレイ場合バアイV=1で結果ケッカオサまらなかった場合バアイでC=1なら結果ケッカセイである。C=0なら結果ケッカである。(Nはオーバーフローがショウじた場合バアイ正負セイフ反対ハンタイになっている。あくまでMSBをているだけ)

Cはケタりがショウじた場合バアイにセットされる。(符号フゴウしで場合バアイにディスティネーションのホウチイさい場合バアイ

sub.b命令メイレイ結果ケッカレイ  

計算ケイサン 電卓デンタクでのコタ ディスティネーション ソース   CPUのコタ フラグの変化ヘンカ
127-(-128) 255 01111111 10000000 = 11111111 255 NVC=1
64-(-64) 128 01000000 11000000 = 10000000 -128 NVC=1
64-(-63) 127 01000000 11000001 = 01111111 127 N=0 V=0 C=1
-128-(127) -255 10000000 01111111 = 00000001 1 N=0 V=1 C=0
-64-(65) -129 11000000 01000001 = 01111111 127 N=0 V=1 C=0

アタイが0かどうかのチェックはmov命令メイレイのあとでも可能カノウである。  Z(BEQ BNE)

MSBアタイが0かどうかのチェックはmov命令メイレイのあとでも可能カノウである。  N(BPL BMI)