查找字符串mips程序集中的空格数

时间:2018-09-01 01:11:29

标签: string assembly spaces mips32

所以我在.data中有一个字符串。字符串为“ e8 er er cer r g r r g”。 我想找到字符串中的空格数。它存储在$ a0中,但是存储在另一个文件中,并且我正在编写查找空间的方法的文件和带有字符串的文件都使用“包含”功能链接。

即使我认为这个想法正确,我的代码也无法正常工作。

到目前为止我的代码

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 :(得分:0)

  1. 找到空格时,它不会递增$ a0或装入新值$ s1。
  2. 它不会检查字符串的结尾,因此它将永远循环。