Problema de desbordamiento en lenguaje ensamblador El libro dice: Ejecute la instrucción: mov al,0f0H add al,78h El registro posterior al indicador CF=1, OF=0...Por favor explique.
78H es: -136 complemento.
--En lo que respecta a 8 dígitos, 78H es el complemento de 120, no el complemento de -136.
Suma 0f0H y 78H para obtener: 168H.
--Sí, CF=1, AL=68H. De hecho, no hay desbordamiento, lo cual no es extraño. . .
==================
Los números sin signo utilizan los 8 dígitos para representar valores. Después de la operación, habrá 9 dígitos. . Este noveno dígito es CF.
Así que sólo nos fijamos en la FQ.
----
Para números con signo, solo los últimos 7 dígitos representan el valor numérico. Después de la operación, habrá 8 dígitos. Este octavo dígito se mezcla con el bit de signo y la operación del bit de signo generará CF.
De esta forma, tras una operación con un número con signo, el acarreo que se produce afecta a dos bits: el bit de signo y el CF.
Los diseñadores de la CPU diseñaron un OF para representar las características de las operaciones con números con signo, llamado indicador de desbordamiento.
Con la FO, ya no necesitamos fijarnos en la FQ.