Zero flag とは

ゼロフラグは、ほとんどの従来のCPUアーキテクチャ(x86、ARM、PDP-11,68000,6502など)の中心的な機能であるシングルビットフラグです。通常、ステータスレジスタまたはフラグレジスタと呼ばれる専用レジスタに他のフラグとともに格納されます。ほとんどのドキュメントおよびアセンブリ言語では、ゼロフラグは通常、ZまたはZFまたはそれに類するものと略されています。
キャリーフラグ、符号フラグ、オーバーフローフラグに加えて、ゼロフラグは、ビット単位の論理命令を含む算術演算の結果をチェックするために使用される。演算結果がゼロならばセットされ、そうでなければリセットされます。これには、ほとんどの従来の命令セットが、結果が破棄されるところの減算として比較命令を実装するので、格納されない結果が含まれる。また、プロセッサに結果を格納しないビット単位のAND命令があることも一般的です。
ほとんどのプロセッサでは、ゼロフラグは主に条件分岐命令で使用されますが、これは前の命令結果の制御フローを変更しますが、他の用途もしばしばあります。
MIPSアーキテクチャなどの一部の命令セットでは、専用フラグレジスタは使用されません。ジャンプ命令ではなく、レジスタをゼロにチェックします。