Bandera de paridad - Parity flag

En los procesadores de computadora , la bandera de paridad indica si el número de bits establecidos es impar o par en la representación binaria del resultado de la última operación. Normalmente es un solo bit en un registro de estado del procesador.

Por ejemplo, suponga una máquina donde un indicador de paridad establecido indica paridad par. Si el resultado de la última operación fuera 26 (11010 en binario), la bandera de paridad sería 0 ya que el número de bits establecidos es impar . De manera similar, si el resultado fuera 10 (1010 en binario), la bandera de paridad sería 1.

procesadores x86

En los procesadores x86 , la bandera de paridad refleja la paridad solo del byte menos significativo del resultado, y se establece si el número de bits establecidos de unos es par (dicho de otra manera, el bit de paridad se establece si la suma de los bits es incluso). Según el manual de Intel 80386 , el indicador de paridad se cambia en la familia de procesadores x86 mediante las siguientes instrucciones:

  • Todas las instrucciones aritméticas;

En los saltos condicionales, se usa la bandera de paridad, donde, por ejemplo, la instrucción JP salta al objetivo dado cuando la bandera de paridad está activada y la instrucción JNP salta si no está activada. La bandera también se puede leer directamente con instrucciones como PUSHF, que empuja el registro de banderas en la pila.

Una razón común para probar el indicador de paridad es verificar un indicador FPU no relacionado. La FPU tiene cuatro indicadores de condición (C0 a C3), pero no se pueden probar directamente y, en su lugar, deben copiarse primero en el registro de indicadores. Cuando esto sucede, C0 se coloca en la bandera de acarreo , C2 en la bandera de paridad y C3 en la bandera de cero . La bandera C2 se establece cuando, por ejemplo, se comparan valores de coma flotante incomparables ( NaN o formato no admitido) con las instrucciones FUCOM.

Referencias

  1. ^ "Manual del desarrollador de software de arquitecturas Intel 64 y IA-32 volumen 1: arquitectura básica" . Enero de 2011. págs. 97–98.

Ver también