これらのフラグ、特にキャリーとオーバーフロー フラグを使って多くの練習をしているサイトを誰か教えてもらえないかと思っていました。
とにかく私の質問はこれです。
講義ノートを見ていると、5ビットの比較が表示されます
Cmp $12、$6 になる
00110 ~ 01100 に変更可能
00110
+10100
-------
11010
キャリー フラグ CF = 1 およびオーバーフロー フラグ OF = 0
Cmp $-6, $-12 は 10100 - 11010 となり、
10100
+00110
-------
11010
CF =1 、オーバーフローフラグ OF = 0
オーバーフロー フラグが 0 に設定されていることを理解していると思います。これは、これらの小さな数の減算 (または見方によっては加算) により、2 ^ 5 の範囲の数値を超えることのない小さな数値が得られるためです。
キャリーはどうですか?最後のビットが最後の列/ビットから1を持ち越されたことを意味すると思いましたが、それはキャリーフラグですよね?
私が意味するのは、それが次のようなものだった場合です
1 (carried over from last column)
1100......(random binary for the rest ...)
+ 0100......
-------------
それはキャリーフラグが正しく設定される方法ですか?1 は左から 2 番目の 1+1 から来ました。
私の 2 つの例では、これらは一番左の列の上にある 1 ではありません。
どうしたの?
ありがとう。