Indicador de desbordamiento

En un procesador para computadora , el indicador de desbordamiento (a veces escrito V ) suele ser un bit de registro de estado que indica un desbordamiento aritmético ocurrido durante una operación, lo que implica que el resultado con signo del complemento a dos no se ajustará al número de bits (ancho) de la UAL . Algunas arquitecturas se pueden configurar para generar automáticamente una excepción cuando una operación da como resultado un desbordamiento.

En términos generales, el indicador de desbordamiento podría ser considerado como una especie de complemento a dos del indicador de acarreo , pero el uso típico es bastante diferente.

Un ejemplo ilustrativo es lo que sucede si sumamos 127 y 127 usando registros de 8 bits. 127 + 127 da 254, pero usando aritmética de 8 bits, el resultado binario sería 1111 1110-2 en complemento a dos y, por lo tanto, negativo. Un resultado negativo de operandos positivos (o viceversa) es un desbordamiento. A continuación, se configura el indicador de desbordamiento para que el programa pueda ser consciente del problema y mitigar su efecto o informar de un error. Por tanto, el indicador de desbordamiento se activa cuando el bit más significativo (aquí el bit de signo) se modifica tras la suma de dos números del mismo signo (o la resta de dos números de signos opuestos). El desbordamiento nunca ocurre cuando el signo de los dos operandos de una suma es diferente (o el signo de los dos operandos de una resta es el mismo).

Internamente, el indicador de desbordamiento generalmente se genera mediante una exclusiva o exclusiva del acarreo interno dentro y fuera del bit de signo. Dado que el bit de signo es el mismo que el bit más significativo de un número que se considera sin signo, el indicador de desbordamiento no tiene sentido y normalmente se ignora al sumar o restar números sin signo.

El indicador de desbordamiento generalmente se cambia por todas las operaciones aritméticas, incluidas las instrucciones de comparación (equivalente a una instrucción de resta sin almacenar el resultado). En muchas arquitecturas de procesador, el indicador de desbordamiento se borra por el bit operaciones de bits ( AND, OR, XOR, NOT), incluyendo opcionalmente desplazamientos y rotaciones, pero estas operaciones también puede dejar que el indicador de desbordamiento indefinido. Las instrucciones como multiplicar y dividir a menudo dejan el indicador sin definir o modificado por el último resultado parcial.

Ver también

Referencias

Explicación muy detallada de las técnicas para evaluar los indicadores de desbordamiento y retención.