来週の学校のアセンブリ/プロセッサーアーキテクチャー試験を準備しているので、私は何か混乱してしまいました。ネガティブ条件フラグNにもオーバーフローが設定されていますか?
2進加算を行う場合、我々は約4条件フラグを学んだ:
N =結果負
Z =結果がゼロ
C =操作がキャリー
が生成されますV =演算でオーバーフローが発生する
しかし、オーバーフローが発生したときにNフラグを設定する必要があるかどうかについては混乱しています。
だが、一例として6 + 7の2の補数におけるこの4ビットの加算を考える:2の補数の数を有する4ビットで計算するとき
0110
0111+
-----
1101 = result
さて、これは明らかにオーバーフローが生じます。結果は13ビット(01101は5ビット)になりますが、結果は-3ビットになります。これは4ビットでしか表示できないためです。 私の質問は、ネガティブフラグNもこの場合に設定されていますか?結果は負の数であるためです。
はい、設定されています。 Nフラグは単なる最上位ビットのコピーです。もちろん、あまりにもオーバーフローなしに設定することができます。 – Jester