FromNandの日記

自分的備忘録

【EFLAGS】OF(オーバーフローフラグ)についてまとめてみた

OFは符号あり計算に使われるフラグで、JL・JGといった条件分岐に使用されます。

SFと併用されたりもします。

 

オーバーフローの起こる条件には以下の4つが存在します。

実際にデバッガを使用して確認したので問題ないはずです。

2つの正数を足したら結果がマイナスになった (例: 64 + 64 = -128)
2つの負数を足したら結果がプラスになった (例: -65 + (-65) = +126)
負数から正数を引いたら結果がプラスになった (例: -65 - 65 = +126)
正数から負数を引くと結果がマイナスになった (例: 64 - (-64) = -128)

通常の計算なら起こり得ない状況ばかりです。

オーバーフローフラグが立つ状況は、引き算で行うはずの計算を無理やり足し算で行おうとする弊害だと言えます。

 

参考「http://donkeyhacks.zouri.jp/databank/65C816/function/carry.html