Concernant les processeurs X86, l'indicateur de parité reflète uniquement la parité de la somme des bits de l'octet de poids le plus faible du résultat[1],[2].
Si on se réfère au manuel[2] de l'Intel 80386, la série des processeurs x86 met l'indicateur de parité selon le résultat des instructions suivantes :
- Toutes les opérations arithmétiques ;
- Les instructions de comparaison (équivalent aux instructions de soustractions sans stocker le résultat) ;
- Instructions logiques -
XOR, AND, OR;
- L'instruction TEST (équivalent aux /instructions
AND sans stocker le résultat).
Pour ce qui est des branchements conditionnels, l'indicateur de parité est mis en œuvre au travers des instructions JPO (branchement si l'indicateur est à 0) et JNP (branchement si l'indicateur est à 1). L'indicateur de parité peut aussi être lu indirectement via les instructions de sauvegarde d'état comme PUSHF ou PUSHAF qui poussent sur la pile le ou les registres d'état.
Le test d'un indicateur de l'unité de calcul en virgule flottante (UVF/FPU) est une des raisons qui amène à tester l'indicateur de parité[3]. Pour les processeurs x86, l'unité de calcul en virgule flottante fournit quatre indicateurs (C0, C1, C2, C3) qui ne peuvent pas être testés directement. Pour les tester, il convient de préalablement les copier dans le registre d'état. L'indicateur C0 est alors placé dans l'Indicateur de retenue, l'indicateur C2 dans l'indicateur de parité et l'indicateur C3 dans l'Indicateur de zéro. Cet indicateur C2 est positionné à 1 dès lors que l'unité de calcul en virgule flottante échoue sur une comparaison entre des valeurs en virgule flottante avec les instructions FUCOM.