IIC2343 / Syllabus-2024-1

23 stars 0 forks source link

[Actividad RISC-V] Problemas con _type_boost en test 6 #62

Closed maggiemunoz closed 5 months ago

maggiemunoz commented 5 months ago

Hola! Estoy teniendo un error bien raro, voy a intentar explicarlo lo mejor posible sin subir mi codigo. Al correr el test 6 me tira el error line 295: Runtime exception at 0x004002a8: Load address not aligned to word boundary 0x100101ab

Como contexto, esta es la linea _type_boost:
(294) lw t0, 4(a0) (295) lw t1, 4(a1)

Lo que encuentro extraño, es que si al principio de type_boost agrego un print tipo lw t0, 4(a1) mv a0, t0 addi a7, zero, 1 ecall

se imprime perfectamente y puede acceder sin problemas a 4(a1), entonces estoy super perdida con que puede estar pasando, cualquier guía para encontrar el error me serviría muchísimo

Geeermy commented 5 months ago

¡Hola Maggie!

Veo que probaste con a1. No obstante, ¿probaste con a0? Verifica eso primero. Recuerda fijarte en los registros que modifica la subrutina que llamas para respaldar los que se modifiquen y requieras utilizar.

¡Saludos!

maggiemunoz commented 5 months ago

Sii, probé con a0 y también se imprime correctamente, es la linea con a1 la que tiene problemas. Lo raro es que no tengo problemas con type_boost en ningún otro test, solo en el 6, por eso no logro entender que está mal, ya tengo todos los registros que quiero usar después respaldados :(

sufigueroa commented 5 months ago

Hola! El error "Load address not aligned to word boundary" es porque el registro que se esta usando para la direccion base no tiene el valor correcto. Antes de llamar a _type_boost asegurate que en a0 y a1 efectivamente esten las direcciones de los pokemones, probablemente hayan sido alterado por otra subrutina que hayas llamado. Suerte! :)