[英]trying to separate strings from an array with strings and ints (current program included)
[英]Getting an error when trying to fill an array with Strings and ints in MIPS?
因此,我需要在MIPS中用10条“记录”填充一个数组,其中包括员工的姓名,年龄和薪水。 员工姓名最多40个字符,年龄和薪水均应为整数。 但是,在测试我编写的该循环时,经过前5位员工并键入“ Emp6”并按Enter键后,我总是在第18行收到“无效的整数输入(系统调用5)”,似乎看不到搞清楚为什么。 任何帮助将不胜感激!
测试输入:
Emp1
1
1
Emp2
2
2
Emp3
3
3
Emp4
4
4
Emp5
5
5
Emp6
错误代码:
Error in line 18: Runtime exception at 0x00400020: invalid integer input (syscall 5)
Go: execution terminated with errors.
您的主要问题似乎是read_string
系统调用期望$a1
的缓冲区大小,但是您将其用于循环计数器。 因此,您最终会用完空间,并且输入缓冲区中会留有未处理的文本,随后后续的read_int
会读取这些文本,并且这些文本会read_int
。
进一步的问题是,您不断增加$a0
但在寻址中却没有考虑到这一点。 sw $v0, 0($a0)
也没有多大意义,该字符串已被读入内存, $v0
没什么有趣的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.