Problemas con flag carry

Iniciado por Tyrz, 8 Septiembre 2010, 09:37 AM

0 Miembros y 1 Visitante están viendo este tema.

Tyrz

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!
Web dedicada por completo al surf. Hablamos de tablas de surf, videos de surf, fotos, juegos y mucha información sobre como aprender a surfear, spots famosos como mundaka, pipeline y zonas como vizcaya, surf españa, sopelana y mucho más. Trucos y peligros del surf. A que esperas? Entra en  Surf

kernel19

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  ::)