私は8086命令セットを読んでいて、CMP(比較)がキャリーフラグを設定できると言います。私は、比較で2つのオペランドを減算することを理解していますが、そのような場合に誰かが例を提供できるかどうか疑問に思っていました。なぜCMP(比較)は8086アセンブリでキャリーフラグを設定するのですか?
私はちょうど数字を追加するという考えを理解することはできませんし、負の数はキャリーフラグを設定します。私は借りフラグを読みましたが、比較命令の理解を明確にするための例が必要でした。
また、3 - 5 = -2の場合、負のフラグがセットされると思います...キャリーセットはいつですか?
「私は例を作る必要があります」というステートメントは、この音を宿題のようにします。既存のコードを使ってデバッグし、CYフラグを見るだけなら、いくつかの追加命令の後に設定されていることがわかります。 –
私は自分の命令セットアーキテクチャを作成していますが、8086命令を読んで、比較(2つのオペランドを減算してそれぞれのフラグを設定する)がキャリーフラグをどのように設定できるか疑問に思っています。私はADDがキャリーを設定するときを知っていますが、私は減算/キャリー(借りと混同しないでください)について少し懐疑的です。 8086(および多くの他のもの)の – faul
の場合、キャリーフラグは倍の義務を行い、減算または比較演算の借り入れを表します。比較される値がレジスタ内の値より大きい比較を行うと、CYフラグがセットされているなどの借用があります。値がレジスタと同じか小さい場合は、借用はなく、CYはクリアされます。 – JustJeff