Tarea

Tarea

de Victor Matias Viva Baez -
Número de respuestas: 2

Buenas, tengo un par de dudas sobre la tarea, logré simular la tarea hasta un breakpoint al final sin que me diera problema, pero si intento simularla sin breakpoints me saltan infinitos errores en el quemu diciendo: 

"ERROR at io_file_read: failed to open file in.txt for reading.

io_file_read: No such file or directory"

No sé si se supone que tengo que tener el archivo guardado en algún directorio en especial (una carpeta dentro de la propia Z80-tools tal vez?).

Y la segunda duda es sobre lo que implica que la tarea sea una subrutina, el nombre "calc" supuestamente tiene, debe de ser especificado en alguna parte del código? Respecto a esto también supongo que es necesario poner un "RET" al final, y me genera la duda de si es necesario un ".end" posterior a este.

Disculpen la cantidad de preguntas, tuve inconvenientes a la hora de la consulta via Zoom, espero no sea mucha molestia. Muchas gracias!

En respuesta a Victor Matias Viva Baez

Re: Tarea

de Roberto Carlos Barrera Torres -

Hola, Víctor:

Según el código en plantilla.s de esta tarea, y entendiendo cómo funcionan las instrucciones de llamadas (call) y saltos (jump), es correcto que al correr el programa en el debugger termine quedando en loop o bucle infinito, sencillamente por cómo está escrito. De todas formas, no entiendo la utilidad de eso. (Creo que lo explicaron ayer en el teórico online, pero no logré conectarme).


Mientras tu parte de código (subrutina calc) esté libre de bucles infinitos como, ya pudiste confirmar usando breakpoints, eso es lo que importa.

En cuanto a calc, esta palabra funciona como una etiqueta que se reemplaza en tiempo de compilación por la dirección de memoria indicada por el Contador de Posiciones. Tanto calc (etiqueta) como ret (instrucción) y .end (terminar traducción) ya están provistas en la plantilla, no es necesario agregarlas nuevamente.

Si queda alguna duda o si alguien encuentra algún error en lo dicho arriba, favor avisen.

Saludos,

Rob