FromNandの日記

自分的備忘録

【EFLAGS】サインフラグ(SF)についてまとめてみた

SFは主に符号あり計算に使用されます。

例えば、JL・JG・JLE・JGEなどですね。

内部的にはOFと併用されることが多いようです。

 

このフラグは計算結果の最上位ビットがそのままコピーされます。

例えば、「1000 0000」+「0010 1010」=「1010 1010」なのでSFは1になります。

ちなみに32bit幅のレジスタをもつCPUで8bitの計算をした場合、SFがセットされることはありません。

 

いくつかの例をあげておきます。

3 + 5 の場合はSF = 0。

0x7fffffff + 4 の場合はSF = 1。

-2 + 1 の場合はSF = 1。

-2 + 3 の場合はSF = 0。