Найти количество пробелов в сборке mips строк - PullRequest
0 голосов
/ 01 сентября 2018

Итак, у меня есть строка в .data. Строка "e8 e e e c e r e r g r r r g",. Я хочу найти количество пробелов в строке. Он хранится в $ a0, но в другом файле, и файл, в котором я пишу метод поиска пробелов, и файл со строкой связаны с помощью функции «include».

Мой код не работает, хотя я думаю, что идея правильная.

мой код пока

lb $s1, ($a0)
la $s2 ' ' 
li $v0, 0

findNumSpaces:
beq $s1, $zero, printNumSpaces
beq $s1, $s2, isSpace
addi $a0, $a0, 1
lb $s1, ($a0)
j findNumSpaces


isSpace:
addi $v0, $v0, 1
addi $a0, $a0, 1
lb $s1, ($a0)
j findNumSpaces

printNumSpaces:
li $v0, 1
syscall

1 Ответ

0 голосов
/ 01 сентября 2018
  1. Когда он находит пробел, он не увеличивает $ a0 и не загружает новое значение $ s1.
  2. Он не проверяет конец строки, поэтому он будет зацикливаться вечно.
...