С точки зрения spim, в вашей программе есть две проблемы
spim ожидает main, и ни один не объявлен в вашей программе.
spim продолжает выполнять «программу» после последней инструкции. В конце должен быть системный вызов 10, чтобы остановить изгнание.
Итак, рабочая версия вашей программы для spim -
.data
Message: .asciiz "Hello World"
.text
main: # start of program
li $v0, 4
la $a0, Message
syscall
exit:
li $v0, 10 # syscall 10 terminates program
syscall # and exits
Действительно, spim немного обидчив, и я бы посоветовал вам использовать mars, если это возможно. Кроме того, рекомендуется всегда добавлять в свои программы main и выход.