ほとんどの命令セットでは、ステータス レジスタのフラグに基づいて分岐命令が実行されます。
高水準言語では、ブール値は評価式 (一般に ==、!=、<、>、>=、<= およびその他のバリアント) によって作成され、変数に格納できるデータ型です。
ブール値の結果をレジスタに格納する命令を使用する代わりに、アセンブリがステータスフラグで分岐することを選択するのはなぜですか?
テストの結果を変数に格納できる言語の数を考えると、命令セットもそれに合わせて進化し、より効率的なプログラムを作成できる可能性があると考えていました。
テスト結果をステータス レジスタに格納してからフラグで分岐するというこの規則は単なる伝統なのでしょうか、それとも汎用レジスタから直接格納してテストするよりもフラグ ベースの方法の方が効率的であると示唆する理由はありますか?