ステータスレジスタ
「キャリー」と「オーバーフロー」という用語の使い分けは、必ずしも以下のようでなければならないというわけではないが、以上で示したように、このようにして使い分けられていることが多い。パソコンに多いx86プロセッサでもこのような使い分けである。
MIPSアーキテクチャでは、ステータスレジスタが存在しない。 これは、プログラムの流れを制御するにあたっては、分岐命令が条件付となっていて、レジスタ間の大小比較やゼロとの大小比較をした結果で分岐するかしないかを決めるために、ネガティブフラグやゼロフラグに相当するフラグを必要としない。 この設計方針には以下のような思想がある。
演算を行うたびにステータスレジスタを設定することはパイプラインの設計を複雑にする。
演算そのものに余分な処理を追加しなくてはならなくなる。
演算するたびにステータスをチェックするようなプログラムはありえない。つまり、必要なときだけ比較すればよい。
また、オーバフローやキャリーに相当する分岐条件はないが、これらは例外トラップを発生させることでオペレーティングシステムに処理を任せている。ただし、ユーザプログラムがオーバーフローの発生時に対応する例外処理をOS側に事前に登録しておかなければならない。そうでなければそれらの例外を発生させたプロセスを停止させることになる。また、OSが介在するため頻繁にオーバフローを起こすと性能低下を招くため、基本的にはそれらの例外が発生しないようにプログラムを組むことになる。