我正在尝试创建一个汇编语言程序(在MIPS中),该程序读取用换行符分隔的用户输入值。我想要读取一个包含整数的字符串(例如," A4",而是MIPS读取字符串为" A"以及整数为" 4& #34;。如何让MIPS读取字符串为" A4"使用系统调用?这是我到目前为止我的代码中的一部分,它应该在一行上读取字符串,以及下一行的整数。
buffer: .space 2
.text
.globl main
main:
li $v0, 8
la $a0, buffer
li $a1, 2
syscall
move $s0, $a0
li $v0, 5
syscall
move $s1, $v0
答案 0 :(得分:2)
系统调用8最多读取$a1-1
个字符,因为它总是NUL-终止字符串。因此,通过将$a1
设置为2,然后输入"A4"
,您将在"A\0"
中获得字符串buffer
。如果您希望能够读取2个字符加上NUL终止符,请将$a1
设置为3。