Emerald@ ウィキ

フラグ操作


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

フラグレジスタは一般的に条件分岐に使われます。
CFフラグは「キャリーフラグ」と呼ばれており、演算結果の桁上がりが
起こると1(CY)となり、桁上がりが起こらなければ0(NC)となります。




ALレジスタに FF を格納して、さらに1を加算することでALレジスタは桁上がりが発生します。
ALレジスタは1バイトなので当然、桁上がりが発生したら0になります。

また桁上がりが発生したのでCFフラグが1(CY)になっているのが結果からわかります。
このプログラムではadd命令によってCFフラグを変化させましたが、フラグレジスタを変化させるだけの命令が存在します。




「clc」命令はCFフラグを0(NC)にする命令です。
プログラムではadd命令によってCFフラグは1(CY)になるはずですが
次のclcl命令によって再び0(NC)に戻っています。


clc CFフラグを0(NC)にする
stc CFフラグを1(CY)にする
cmc CFフラグを反転させる
取得中です。