MIPS错误:未在新行上输出提示

时间:2013-09-30 16:57:56

标签: mips output

我正在尝试使用MIPS设计一个基本的计算器。我向用户提供第一个操作数,操作符,然后是第二个操作数。我得到并存储第一个操作数,但在用户进入操作符后,第二个操作数的提示出现在用户输入后的同一行。这是我的意思的样本:

Enter first number: 8
Select operator: -Enter second number: 3
Result: 5
-- program is finished running (dropped off bottom) --

在减号后面打印“输入第二个数字”。我使用read string,长度为string = 2来获取运算符。以下是相关代码:

    GetOperator:
la $a0, prompt2     #Load prompt 2  
add $v0, $zero, 4   #Load syscall 4
syscall
la $a0, operator
add $a1, $zero, 2
add $v0, $zero, 8   #Load syscall 8
syscall         #Store the input string to memory
jr $ra

“operator”是我在.data下声明的.word变量。然后我使用系统调用4打印下一个提示。我认为这里只有一些微妙的事情让我失踪。我对MIPS仍然很陌生,所以任何指针都会很棒。

1 个答案:

答案 0 :(得分:0)

您可以在“输入第二个数字”字符串之前打印回车/换行序列。

# 13=carriage return, 10=linefeed, 0=null terminator
CRLF: .byte 13,10,0

使用系统调用4进行打印。