void compare(ushort value) { _compareFlag = 0; // 初期化 if (_acc == value) _compareFlag += COMP_EQUAL; // 等しい else _compareFlag += COMP_NOTEQUAL; // 等しくない if (_acc < value) _compareFlag += COMP_SMALL; // (引数が)大なり if (_acc > value) _compareFlag += COMP_BIG; // (引数が)小なり }_compareFlagに加算されている各定数は2のn乗であり、そのため加算はフラグ変数の各ビットを立てることを意味する。