0
我试图做一个简单的MIPS程序工作。我想检查用户输入的字符是否是空格。我在我的.data
部分中定义了变量space
。然后,我采取用户输入,并使用jal
来调用我的功能,应该检查这一点。我将字节space
加载到$a0
中,然后要检查$t0
和$a0
是否相同。如果他们不是$t1
应该设置为1
然后我使用分支不等于分支到我的其他功能打印出响应给用户。然而,无论我输入什么字符,它总是分支。我不确定我做错了什么。在MIPS中比较两个字节
space: .byte ' '
main:
#Getting user input
li $v0,8
la $a0,str1
li $a1, 20
syscall
jal is_space
#Indicate the end of main function
li $v0,10
syscall
is_space:
add $t0, $a0, $zero
lb $a0, space
sltu $t1, $a0, $t0
bne $t1, $zero, spaceinput
我假设你的'syscall'是SPIM使用的那种:'syscall'用'$ v0 == 8'读取一个*字符串*。如果你想比较该字符串的一个字节,你需要将它加载到一个寄存器中。 – EOF