Vlajka parity - Parity flag

V počítačových procesorech parity příznak indikuje, zda je počet nastavených bitů je sudý nebo lichý v binární reprezentaci výsledku poslední operace. Obvykle je to jeden bit ve stavovém registru procesoru.

Předpokládejme například stroj, kde nastavený příznak parity označuje sudou paritu. Pokud by výsledek poslední operace byl 26 (11010 v binární podobě), příznak parity by byl 0, protože počet nastavených bitů je lichý . Podobně, pokud by výsledek byl 10 (1010 v binární podobě), pak by paritní příznak byl 1.

procesory x86

V procesorech x86 paritní příznak odráží pouze paritu nejméně významného bajtu výsledku a je nastaven, pokud je počet nastavených bitů jedniček sudý (jinými slovy, paritní bit je nastaven, pokud je součet bitů dokonce). Podle manuálu 80386 Intel se paritní příznak mění v rodině procesorů x86 podle následujících pokynů:

  • Všechny aritmetické pokyny;

Příznak parity se obvykle používá v podmíněných skokech, kdy např. Instrukce JP skočí na daný cíl, když je nastaven paritní příznak, a instrukce JNP skočí, pokud není nastavena. Příznak lze také číst přímo pomocí pokynů, jako je PUSHF, který posílá registr příznaků do zásobníku.

Jedním z běžných důvodů pro testování příznaku parity je kontrola nesouvisejícího příznaku FPU. FPU má čtyři stavové příznaky (C0 až C3), ale nemohou být testovány přímo, a místo toho musí být nejprve zkopíruje do vlajky zaregistrovat. Když k tomu dojde, C0 se umístí do příznaku přenosu , C2 do příznaku parity a C3 do příznaku nula . Příznak C2 je nastaven, když jsou porovnány např. Neporovnatelné hodnoty s plovoucí desetinnou čárkou ( NaN nebo nepodporovaný formát) s pokyny FUCOM.

Reference

  1. ^ „Intel 64 a IA-32 Architectures Software Developer's Manual Volume 1: Basic Architecture“ . Leden 2011. str. 97–98.

Viz také