Ci-dessous j'aiMIPS: chaîne d'impression sans instructions pseduo
.globl main
.data
prompt:
.asciiz "Hello world!"
.text
main:
addi $v0, $v0, 4
lui $a0, 0x1000
syscall
rtn:
jr $ra
Maintenant, je ne sais pas pourquoi la chaîne n'est pas l'impression, il fonctionne sans erreurs de syntaxe. En outre, je ne suis pas autorisé à utiliser des pseudo-instructions, c'est pourquoi je fais cela un peu plus longtemps. C'est là que l'erreur arrive, je ne sais pas où la chaîne d'invite est stockée? Toute aide est appréciée!
Merci!
Qu'est-ce qui vous fait penser que 'prompt' se trouve à l'adresse' 0x1000'? –
Dans les exemples que nous avons reçus en classe, il créait un tableau qu'il ne définissait pas pour démarrer à une adresse donnée. Puis il a créé une chaîne et l'a appelée invite. Quand il a voulu utiliser prompt, il a ajouté 10 à 0x1000 pour arriver au premier index hors du tableau (le tableau avait 10 octets de long). La prochaine chose était prompt, qui était a0 + 10. – user2864709
OK - même si c'est la bonne adresse, vous devriez probablement prendre l'habitude d'utiliser l'adresse symbolique plutôt que de le coder en dur. –