String 如何检查程序集中是否存在“”

String 如何检查程序集中是否存在“”,string,loops,assembly,ascii,mips,String,Loops,Assembly,Ascii,Mips,正如标题所说,我想在字符串中查找一个。我的问题是,在我的循环中,我需要检查用户输入的字符串的长度。那么代码呢 li $v0, 8 la $a0, str1 #str1: .spcae 8 is in the data area. addi $a1,$zero,8 syscall 问题是如果我进去,比如说汽车。car只有三个字符,因此还有4个空格加上结尾的\0。我的循环将剩余的4个空格作为字符串的一部分进行计数。当循环遇到第一个空空间时,如何打破循环?不,我不会在单词

正如标题所说,我想在字符串中查找一个。我的问题是,在我的循环中,我需要检查用户输入的字符串的长度。那么代码呢

li $v0, 8
la $a0, str1           #str1: .spcae 8 is in the data area. 
addi $a1,$zero,8   
syscall
问题是如果我进去,比如说汽车。car只有三个字符,因此还有4个空格加上结尾的\0。我的循环将剩余的4个空格作为字符串的一部分进行计数。当循环遇到第一个空空间时,如何打破循环?不,我不会在单词中输入像我这样的空格

这是我的循环,它可以很好地检查\0,但不能检查空白

length: add $t2, $a0, $t0 # $t2 = &array[j]
 lb $t2, 0($t2) # $t2 = array[j]
 beq $t2, $0, done # end of string?
 addi $t0, $t0, 1 # j = j+1
 j length

我希望有一种方法可以将字符串存储到寄存器中,并以某种方式进行检查,其余代码编译得很好,但如果您想查看它,请告诉我,我认为这对了解什么是字符串以及它与字符的区别和关系没有多大帮助?哪个寄存器将包含字符串?怎么做?嗯,字符串是代码中的ascii字符。它与字符不同,因为字符的使用方式可能不同于字符串。虽然字符组成字符串。哈哈,你是在用我的问题问问题吗?好吧,那么“字符串”怎么能存储到寄存器中呢?它至少不能是直接的,而是一个空格字符。当_字符等于_空间的_值_时,任务变为终止循环。无论如何,字符串应该立即以\0结尾,而不是使用额外的空格填充。大多数设计都将尾随空格的差异视为不同的字符串。嘿,我让它在大多数情况下都能正常工作,我只需要找出如何将0x20添加到使用输入字符串的末尾。空格不会用空格字符ASCII 32填充字节序列。默认情况下,它用0填充它们。