我试图让用户输入“Y”来重新启动程序(分支回到主程序)或“N”(分支到结束程序)。我正在使用系统调用操作码 12 读取单个字符
endCheck:
la $a0, newLine # Print the newLine
li $v0, 4
syscall
la $a0, endPrompt # print the Start over message
li $v0, 4
syscall
li $v0, 12 # take in char input
syscall
move $t0, $v0
lb $t1, ($t0) # Load the char byte into t1
beq $t1, 89, main # Go back to start if they entered 'Y'
bne $t1, 78, endCheck # Ask the user again because input was not 'N' or 'Y'
li $v0, 10
syscall
我在 lb 线上遇到错误。即使我在数据段上分配了 1 个字节的空间并将输入读取为 1 个字符的字符串,我也会得到一个无限循环(当它编译正确时它总是分支回 endCheck)我做错了什么?