2015-12-21 1 views
0

Si je comprends bien, ce programme doit imprimer une chaîne qui est entré par un utilisateur, Comme il stockera sa valeur dans $a0, Après cette impression que dans $a0Mips: "adresse mémoire hors limites" - Erreur?

Mais il me donne l'erreur - « Adresse de mémoire de Bounds "

Suis-je comprendre quelque chose de mal ou quoi ??!

Merci à l'avance

.data 
    .text 
main: 
    li $v0, 8 
    syscall 
    li $v0, 4 
    syscall 
    li $v0, 10 
    syscall 
    .end main 

Répondre

0

syscall avec $v0 = 8 nécessite une adresse d'un tampon dans $a0 et la longueur du tampon passé en $a1.

Vérifiez que vous transmettez les arguments appropriés lorsque vous appelez main.

Si ce n'est pas le cas, attribuez un tampon (avec .space ou autre) et définissez correctement les paramètres de l'appel système.

+0

Merci beaucoup, Cela a fonctionné après I Initialiser une variable de type de données spatiales, et passer son adresse en $ a0 – Islams