Мне нужно написать программу для подсчета количества гласных в строке в MIPS. Мой текущий код дает мне ошибку памяти за пределами границ в QtSPim. Я на начальном уровне в MIPS, поэтому любая помощь будет оценена. код до сих пор:Определение количества гласных в заданной строке в 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
Ваш вопрос должен как минимум включать точное сообщение об ошибке , и строка кода, к которой относится ошибка. – Michael
Он представляет сообщение за пределами границ, другое сообщение, которое я могу видеть –
Как я уже сказал, вы должны отправить ** точное **, ** полное ** сообщение и указать строку кода, что сообщение об ошибке относится к. – Michael