ステータスレジスタ 【status register】 フラグレジスタ / flag register / コンディションコードレジスタ / CCR / condition code register
概要
ステータスレジスタ(status register)とは、マイクロプロセッサ(MPU/CPU)内部の高速な記憶装置であるレジスタの一種で、演算や処理の結果により一部が書き換えられるもの。条件分岐命令などがその内容を読み取って動作に反映させる。ステータスレジスタの各ビットはそれぞれ異なる決まった役割を持っており、特定の命令を実行した結果起きた出来事によりその内容が変化する。プログラムの実行状態などを保持するフラグの集合体であるためフラグレジスタとも呼ばれる。
例えば、符号なし整数の加算命令には、計算の結果、最上位ビットに繰り上がりが生じて桁あふれが起きると、ステータスレジスタの特定のビットにあふれた桁の値をセットするものがある。これをキャリーフラグと呼び、次に実行される加算命令に反映させることにより、レジスタ長を超えるような長い桁の加算処理を簡単に実装できる。
各ビットについて、どの命令で何が起きるとどのように書き換えられるかは命令セットの仕様によって決まっており、プロセッサの機種ごとに異なっている。
(2020.3.21更新)