IIC2343 / Syllabus-2024-1

24 stars 0 forks source link

[Etapa 1] Duda con JCR #34

Open escontre opened 4 months ago

escontre commented 4 months ago

Buenas, nos surgió una duda con respecto a la implementación de los jumps de carry. Por ejemplo si es que se hace INC A INC B CMP A,B JCR 5 JMP 0 Nos va a marcar un bucle debido a que al momento de hacer cmp A,B arrojará un carry. En este caso el JCR debe de ejecutar si es que z = 0 y c = 1?

Javipipi commented 4 months ago

Hola!, respondiendo a tu pregunta, sí, el JCR se debe ejecutar cuando c=1, ahora, su código entra en bucle porque nunca se activa JCR ya que este solo revisa que c sea igual a 1, ¿cuál es el objetivo de los inc?, ya que al hacer inc a ambos registros, en el bucle la diferencia será siempre la misma.

escontre commented 4 months ago

es que al momento de realizar CMP se genera un carry al hacer A - B. Igual revisando creo que tendría que decir "JCR 6" para que no haya bucle. Pero igual mantengo la duda si es que se debe de hacer el JCR luego de un CMP o no es necesario?

Javipipi commented 4 months ago

¿Qué valores tienen en A y B para generar carry?, está bien tener el CMP antes del JCR, ya que el CMP actualiza las flags en base a los valores de A y B y luego el JCR revisa esas flags para ver si hace jmp. Además, su código entra en bucle porque no se activa JCR, lo salta y hace JMP 0.