キャリー付き加算命令(機械語)

機械語において、キャリー付き加算命令とは、キャリーフラグが1のとき、二つの値の加算結果が1大きくなる加算命令のことです。

4ビットの加算器であれば、キャリー付き加算命令は、以下の論理回路で実現できます。

通常の加算器との違いは、最下位ビットにキャリーフラグの値が加算されるようになっています。

キャリー付き加算命令の用途

キャリー付き加算命令は、1ワード(プロセッサレジスタのビット数)を超える二つの値を加算する場合に利用します。

例えば、1ワードが16ビットであれば、32ビットの二つの値を加算するには、下位16ビットと上位16ビットに分けて、2回加算する必要があります。

このとき、最初に下位16ビットに対して加算命令を行い、次に上位16ビットに対してキャリー付き加算命令を行います。

これにより、下位16ビットの加算で桁上がりすれば、上位16ビットの最下位ビットに1が加算されるため、32ビットの二つの値の加算が実現できます。

同様の手順により、3ワード以上の二つの値も加算できます。

なお、2ワード以上の二つの値を符号ビット付き2進数として扱う場合も同じ手順で加算できます。