Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: Tyrz en 8 Septiembre 2010, 09:37 am



Título: Problemas con flag carry
Publicado por: Tyrz en 8 Septiembre 2010, 09:37 am
Buenass

Estoy haciendo un subprograma que al hacer una operacion actualice los flags (ZNC). Por ejemplo si hago la suma entre 10 y -10 pues me pone el flag Z=1.
Mi problema esta en el carry, mi idea era mirar el resultado de la operacion en binario y si los dos primeros bits son 01 entonces poner el carry como 1 y si fuera 11 entonces poner N=!.
Estaria bien? Se os ocurre alguna otra cosa?

Otra cosa, puede haber una operacion que haga que C y N sean 1?

Gracias!


Título: Re: Problemas con flag carry
Publicado por: kernel19 en 18 Octubre 2010, 08:21 am
creo que hace falta un poco de informacion nose si podrias poner algo de tu codigo, te doy una idea evaluando los flags con algun salto por ejemplo JC o JNC

Respecto al Carry se produce cuando una operacion de suma o resta excede el tamaño de su operador destino Ej:

.code
    mov al,100h
    add al,1            ;<---- produce un acarreo porque sobrepasa el  operador destino esto va a carry flag CF = 1

Espero te sirva igualmente si podes poner mas codigo lo detallamos  ::)