1

Intel 8086 のシミュレーターを実装していますが、キャリー フラグ、オーバーフロー フラグ、補助キャリー フラグのそれぞれの計算方法を知りたいです。

それぞれが何を表しているかを知っています(ビット7からのオーバーフローがあるかどうかを示すキャリーフラグなど)。しかし、C# を使用してこれを実装する方法。

例えば、キャリーフラグとADD命令の場合、単純に加算後の値をチェックして、0xFFを超えていたらフラグを立てます。ただし、これにより、場合によっては誤った値が返されます。

ビット 7 を確認する必要がある場所をいくつか読みました。加算前にセットされ、加算後にクリアされた場合、キャリーがあります。しかし、これはSUBのような他の命令で間違った値を与えますか?

3 つのフラグ (キャリー、AC、OV) を実装するための一般的なルールを明確に説明できる人はいますか?

4

1 に答える 1