Я пытаюсь найти способ правильно взять строку, которую я получаю от пользователя, в качестве ввода и сравнить ее с определенным символом, чтобы увидеть, совпадают ли они.
I 'Я пытался сравнить мой пользовательский ввод с моей предустановленной строкой, но безрезультатно.Вы можете увидеть, что я сделал в своем коде:
.data
userInput: .space 4
pieceMessage: .asciiz "\nSelect a piece (X/O): "
pieceX: .asciiz "x"
.text
main:
jal selectPiece
li $v0, 10
syscall
selectPiece:
#Display prompt
li $v0, 4
la $a0, pieceMessage
syscall
#Enter your desired piece
move $a0,$t2
li $v0, 8
la $a0, userInput
li $a1, 10
syscall
#Compare
la $s2, pieceX
move $t2, $s2
la $s3, userInput
move $t3, $s3
bne $t2,$t3,selectPiece
jr $ra
Ожидаемый результат состоит в том, что когда пользователь вводит ровно «x», он должен иметь возможность продолжить, но если он введет что-то еще, он вызоветФункция selectPiece снова, чтобы спросить их снова.Тем не менее, даже когда я ввожу именно «х», он все равно не думает, что они одинаковы.Я не совсем уверен, какие части мне не хватает, потому что, если я заменю pieceX на другой userInput, он даст мне ожидаемый результат, поэтому я знаю, что он правильно хранит их, но сравнение никогда не будет успешным, если я сравню userInput с pieceX.