Buenas, unas consultas sobre las sumas que pide los valores de las flags Z, N, C y V para:
A) 2977 + 5689:
1111 1111 1111 111
+ 0x2977 = 0010 1001 0111 0111 b
0x5689 = 0101 0110 1000 1001 b
---------------- ------------------------------
0x8000 1000 0000 0000 0000 b = 0
= 8 = 0 = 0 = 0 (bit a bit)
Las flags quedarían:
Z = 1 ya que el resultado es 0 "negativo"?
N = 1 ya que el BMS = 1?
C = 0 ya que el último carry es 0? No entendí lo de que hay que fijarse los últimos dos.
V = 0 ya que no se fue de rango?
Ahora el resultado no es 8000 h, sino 0 en C2?
B) CAFE + B007 = 1 0111 1011 0000 0101 b
Z = 0 ya que el resultado es distinto de 0
N = 0 ya que el BMS dentro del rango de la representación es 0?
C = 1 ya que el último carry es 1?
V = 1 ya que hay overflow?
El resultado sería 7B05 pero debería ser 17B05 pero se va de rango?
C) F21C + 0DE4 = 1 0000 0000 0000 0000
Z = 1 ya que el resultado es 0 (sin contar el 1 que se fue de rango?)
N = 0 ya que el BMS dentro del rango de la representación es 0?
C = 1 ya que el último carry es 1?
V = 1 ya que hay overflow?
El resultado sería 0 pero debería ser 10000 pero se va de rango?
Z = 0 ya que el resultado es distinto de 0
N = 0 ya que el BMS dentro del rango de la representación es 0?
C = 1 ya que el último carry es 1?
V = 0 ya que no hay overflow?
El resultado sería 556A (el 1 se "desprecia o elimina)", y el resultado es el correcto?
Perdón que ya hay consultas sobre este ejercicio pero no me quedó claro.
Desde ya muchas gracias.
Saluda,
Verónica.