Je dois écrire un programme pour compter le nombre de voyelles dans une chaîne dans MIPS. Mon code actuel me donne une erreur de mémoire hors limites dans QtSPim. Je suis au niveau débutant en MIPS, donc toute aide serait appréciée. jusqu'à présent code:Trouver le nombre de voyelles dans une chaîne donnée dans MIPS
.data
str: .space 20
my_chars: .space 20
vow1: .byte 'a'
vow2: .byte 'e'
vow3: .byte 'i'
vow4: .byte 'o'
vow5: .byte 'u'
.text
main:
li $s0,0 #initilaze loop var1
li $t0,20 #initialize loop var2
li $s1,0 #initialize counter
la $t1, my_chars # base address of array
li $a1,20 #max input to be read
li $a0,8
syscall
loop:
beq $s0, $t0, exit
la $t2, str #string into t2
lb $v0, 0($t2) #access first index
lb $t9, vow1
beq $v0, $t9, then #comparing to a
then:
addi $s1, $s1, 1
lb $t8, vow2
beq $v0, $t8, then1 #comparing to e
then1:
addi $s1, $s1, 1
lb $t7, vow3
beq $v0, $t7, then2 #comparing to i
then2:
addi $s1, $s1, 1
lb $t6, vow4
beq $v0, $t6, then3 #comparing to o
then3:
addi $s1, $s1, 1
lb $t5, vow5
beq $v0, $t5, then4 #comparing to u
then4:
addi $s1, $s1, 1
addi $t1, $t1,1 #increment base address
addi $s0, $s0,1 #increment loop variable
j L1
syscall
Votre question doit au minimum inclure le message d'erreur exact et la ligne de code à laquelle l'erreur fait référence. – Michael
Il présente un message de mémoire hors limites, aucun autre message que je peux voir –
Comme je l'ai dit, vous devriez poster le message ** exact **, ** complet **, et indiquer la ligne de code que le message d'erreur fait référence à. – Michael