Buenas :)
Tengo problemas ayer comprendi parecia que comprendi como funcionaba la bandera carry
pero ahora se me a ido de la mente :P
estoy haciendo pruebas de como funciona y no es como creo que debe funcionar:
MOV EAX,0Ch
ADD EAX,1Ch
creia que eso hiba a poner la bandera carry a 1 :/
ya que:
0C = 0000 1100
1C = 0001 1100
Esa bandera no se pone uando se desborda un registro?
Si fuera asi, en tu ejemplo solo saltaría si usaras los registros de 8 bits
Saludos
La bandera Carry o de Acarreo (CF), se activa cuando el resultado de una operación aritmética sin signo es demasiado grande para caber en el destino:
01100
11100
101000
vemos que MSB (More significative bit) es desplazado hacia la bandera Acarreo siempre y cuando no caiga en el registro
Citar
EAX
AX
0000000000000000|0000000000000000
AH AL
00000000 00000000
como el registro de propósito general es de 32 bit puede almacenar esa cantidad y la cantidad total del producto de la suma son 6 bit.
en caso que el registro no pudiera almacenar la cantidad de bit necesarios se activaría la bandera Acarreo
Saludos
thanks, me confunde la carry y la overflow...
Recordar que la gran diferencia:
Acarreo: Cuando el resultado de una operación aritmética sin signo es demasiado grande para caer en el destino.
Overflow: Cuando el resultado de una operación aritmética con signo es demasiado grande para caer en el destino.
Underflow: Cuando el resultado de una operación aritmética con signo es demasiado pequeño para caer en el destino.
En cuanto a la banderas solo radican en si es dígito con signo o sin signo
Saludos