Red de conocimiento informático - Conocimiento sistemático - Problemas con los bits de bandera CF y OF en el ensamblaje

Problemas con los bits de bandera CF y OF en el ensamblaje

Respondí una pregunta similar antes: redondeo, desbordamiento, CF y OF son conceptos diferentes y deben distinguirse.

1. Si hay un acarreo en el bit más alto, definitivamente se producirá un desbordamiento.

¡Mal!

Solo para esta proposición, un ejemplo es suficiente,

Por ejemplo, suma de 8 bits:

FF 02=01

(CF)=1, (OF)=0

Si se interpreta como una suma simbólica, es -1 2=1, (CF)=1 significa redondeo, (OF)=0 significa que no hay desbordamiento, si entendido como suma sin signo, 127 2 = 1, (CF) = 1 significa acarreo y desbordamiento, (OF) no tiene sentido,

2 Cuando ocurre un desbordamiento, debe haber un acarreo en el bit más alto.

Error

o ejemplo

Suma de 8 bits:

40 40=80

(CF) = 0, (OF)=1

Si se entiende como suma simbólica, es 64 64=-128, (CF)=0 significa sin redondeo, (OF)=1 significa que el resultado es desbordamiento, que anula la proposición

Si se entiende como una suma simbólica, es 64 64=-128, (CF)=0 significa sin redondeo, (OF)=1 significa que el resultado es desbordamiento. p>

Si se entiende como una suma sin signo, es 64 64=128, (CF)=0 significa sin redondeo y también significa que no hay desbordamiento, (OF) no tiene sentido,