Hola, buenas tardes, estuve leyendo al solución subida del ejercicio 3 del practico 6 y me surgieron algunas dudas.
Mi primer duda es que el programa no debería tener un loop infinito para que la CPU no ejecute instrucciones basura y me sobrescriba los valores calculados anteriormente en mi programa?.
Luego, dentro del do while, en la línea donde se ejecuta la instrucción JN con dato_menor, no deberían estar cambiadas las operaciones de SUB y ADD? Ya que aunque no se cumpla la condición de la flag N igual se va a ejecutar la siguiente instrucción de SUB por lo que el valor de sup va a cambiar cuando en realidad no queremos que cambie en ese caso, además de que le esta indicando que haga un salto hacia dato_menor el cuál no se nombra en ninguna parte. Por eso no debería hacer un salto hacia donde dice "dato_,mayor" (que en este caso debería decir dato_menor) y recién ahí ejecutar la instrucción SUB, y en donde estaba antes poner la instrucción de ADD para que se ejecute siempre que no se cumplan ninguna de las dos condiciones de los saltos anteriores?
Por ultimo según la descripción de las instrucciones de los jump, no me quedo del todo claro si en las partes donde dice "dato_menor, esta_true, etc" estos representan números indicando a donde tienen que moverse el JM. En caso de ser así por ejemplo ¿esta_true debería valer 5,y do debería valer un número negativo?
Estimada,
Contesto por partes.
Mi primer duda es que el programa no debería tener un loop infinito para que la CPU no ejecute instrucciones basura y me sobrescriba los valores calculados anteriormente en mi programa?.
Sí, correcto! Debería finalizar con un loop infinito para que no se ejecute basura y el sistema se comporte de forma errática.
Luego, dentro del do while, en la línea donde se ejecuta la instrucción JN con dato_menor, no deberían estar cambiadas las operaciones de SUB y ADD?
Sí, también correcto! Tu explicación está perfecta.
Por ultimo según la descripción de las instrucciones de los jump, no me quedo del todo claro si en las partes donde dice "dato_menor, esta_true, etc" estos representan números indicando a donde tienen que moverse el JM. En caso de ser así por ejemplo ¿esta_true debería valer 5,y do debería valer un número negativo?
Saludos!
Federico