状態フラグと生成条件
図:フラグレジスタと状態フラグ
- Carry
キャリーは演算の種類によってフラグの示す意味が変わってきます.
算術演算命令では,演算結果にキャリーかボロー
が生じた場合に,キャリー・フラグをセットします.生じない
場合には,キャリー・フラグをクリアします.論理演算命令
では,キャリー・フラグを必ずクリアします.シ
フト演算命令では,左シフト(左回転)の場合MSB(Most
Significant Bit)を,右シフト(右回転)の場合LSB(Least
Significant Bit)を,キャリー・フラグに保持します.スワップ命
令の場合,キャリー・フラグを必ずクリアします.詳細は
付録の命令セットを参照して下さい.
- Overflow
オーバフローは演算の種類によってフラグの示す意味が変わってきま
す.算術演算命令では,演算結果に桁あふれが起きた場合
(例えば,正の数と正の数を加算したにも関わら
ず,答が負の数になる場合など)),オーバフロー・フラグ
をセットします.起こらない場合,オーバフロー・フラグをクリアし
ます.論理演算命令では,オーバフロー・フラグを必ずクリ
アします.シフト演算命令では,算術シフト命令の演
算前と演算後の符合ビットが異なれば,オーバフロー・フラグをセッ
トします.その他の場合,オーバフロー・フラグをクリアします.詳
細は付録の命令セットを参照して下さい.
- Zero
演算命令実行後,その演算結果がゼロであればゼロ・フラ
グをセットします.ゼロでなければゼロ・フラグをクリアします.
- Sign
演算命令実行後,その演算結果が負の数(負の数は2の補数
とする)であれば,サイン・フラグをセットします.正の数であれば,
サイン・フラグをクリアします.
ホーム
もどる
辞書
This is my e-mail address:
arch_www
< www@cs.kumamoto-u.ac.jp >
Copyright (C) KITE Microprocessor Project, 1996