1

DOS/Windows プログラムのデバッグで、この x86 レジスタ フラグが何を意味するのか知りたいです。

補助キャリー (AC = 1またはNA = 0)

コモンキャリーと同じ意味ですか?(CY = 1またはNC = 0)

4

2 に答える 2

4

補助キャリ フラグは、命令がビット 3 からキャリまたはボローを発生させるとセットされます。CY と同じ考えですが、バイトの下位ニブルの上位ビットが対象です。略語 AC は古いスタイルで、フラグは Intel プロセッサのマニュアルでは「Adjust Flag」の略で「AF」と名付けられています。これは、AAC (加算後のアスキー調整) や DAA (加算後の 10 進調整) など、BCD 計算の調整を実行するいくつかの x86 命令で使用されます。これらの命令は、BCD エンコーディングでオペランドを提供することがまだ一般的だった、コンピューティングの石器時代にさかのぼります。これは、ニブルで 10 進数をエンコードします。同様に、10 進数の 99 は BCD では 10011001 です。

当時は、プロセッサが BCD を含む計算を専用のハードウェアでサポートするのが一般的でした。それは古い歴史であり、プログラマーは数値をバイナリでエンコードすることに慣れていました。まあ、何よりもコンパイラです。注目すべきは、これらの命令が x64 命令セットに存在しなくなったことです。より便利な 64 ビット固有のオペコードのための余地を作ります。

于 2012-10-13T14:51:58.920 に答える