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