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