Input MIPS输入不超过19个字符?

Input MIPS输入不超过19个字符?,input,mips,Input,Mips,我目前正在尝试编写一个MIPS程序,提示用户输入文件路径,然后显示该文件的内容。我通过硬编码文件路径让程序工作,但是每当我试图通过用户输入获取文件路径时,输入会在我完成输入之前自动输入,通常在输入18或19个字符之后,就像我没有输入时按enter键一样。有没有解释为什么会这样? 目前使用火星4.5 btw。 谢谢 您不觉得读取字符串syscall使用20作为最大长度是可疑的吗?您知道吗,读取字符串syscall会附加一个空字符(如果有空格和空格,则会添加一个新行),从而将从用户处接受的字符数缩短

我目前正在尝试编写一个MIPS程序,提示用户输入文件路径,然后显示该文件的内容。我通过硬编码文件路径让程序工作,但是每当我试图通过用户输入获取文件路径时,输入会在我完成输入之前自动输入,通常在输入18或19个字符之后,就像我没有输入时按enter键一样。有没有解释为什么会这样? 目前使用火星4.5 btw。 谢谢


您不觉得读取字符串syscall使用20作为最大长度是可疑的吗?您知道吗,读取字符串syscall会附加一个空字符(如果有空格和空格,则会添加一个新行),从而将从用户处接受的字符数缩短1左右。
.data
prompt: .asciiz "Input the location of your text file: "
inputFile:  .space 1024
inputString:    .space 1024


.text
main:   #begins the program

#Prompts user for input
li $v0, 4
la $a0, prompt
syscall

#Takes in user input for userStr
li $v0, 8
la $a0, inputFile
li $a1, 20
move $t0,$a0
syscall

li $v0, 13
la $a0, inputFile
li $a1, 0
syscall
move $s0, $v0

li $v0, 14
move $a0, $s0
la $a1, inputString
la $a2, 1024
syscall

li $v0, 4
la $a0, inputString
syscall

li $v0, 16
move $a0, $s0
syscall