我正在创建一个 MIPS 模拟器,并且遇到了一个我认为有多种解决方案的点。SPIM 使用系统调用操作模拟从控制台读取。我以前使用过 SPIM,但目前无法访问它。从控制台读取时如何处理不正确的类型?例如,如果您对 read_int 进行系统调用,然后输入“asdf”然后按 Enter,会发生什么?应该发生什么?SPIM 参考表明它从行中读取一个整数,并忽略该整数之后的任何内容,这只是第一个数字序列的正则表达式匹配。当首先有非数字,然后是数字,然后是更多的非数字时会发生什么?没有数字怎么办?
我不希望重新创建 SPIM,我想我会从社区那里得到关于他们希望 MIPS 模拟器在输入错误类型时如何执行的建议。
需要考虑的一些可能的输入:
1234(正确)
a1234(这应该怎么做?)
a1234b(这应该怎么做?)
ab(这应该怎么做?)
(只需按回车键应该做什么?)
谢谢!