Test Foro de elhacker.net SMF 2.1

Programación => Programación General => ASM => Mensaje iniciado por: x64core en 10 Enero 2012, 06:31 AM

Título: DUDA sobre Carry
Publicado por: x64core en 10 Enero 2012, 06:31 AM
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
Título: Re: DUDA sobre Carry
Publicado por: Arkangel_0x7C5 en 11 Enero 2012, 12:05 PM
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
Título: Re: DUDA sobre Carry
Publicado por: .:UND3R:. en 12 Enero 2012, 03:33 AM
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
Título: Re: DUDA sobre Carry
Publicado por: x64core en 12 Enero 2012, 07:24 AM
thanks, me confunde la carry y la overflow...
Título: Re: DUDA sobre Carry
Publicado por: .:UND3R:. en 12 Enero 2012, 16:24 PM
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