我如何读取值以便之后可以将它们存储在内存中?我需要让用户输入值,然后按 Enter,这样我才能获取这些值并使用它们。
谢谢
您应该使用服务 5 读取整数,使用 6 读取浮点数,使用 7 读取双精度数,使用服务 8 读取字符串。有关提供的系统调用服务,请参阅 MARS参考。
这是一个从控制台读取整数和字符串并将结果保存在变量number
和中的示例buffer
:
.data
number: .word 0
buffer: .space 80
.text
li $v0, 5 # service 5 reads integer from console
syscall
sw $v0, number # Store read integer into number
li $v0, 8 # service 8 reads a string
la $a0, buffer
li $a1, 80 # buffer size
syscall # input text will be stored in buffer
li $v0, 7 # service 7 reads double
syscall # $f0-$f1 contains the double read
mov.d $f2, $f0
syscall # read another double
div.d $f12, $f2, $f0 # Divide the first double by the second double
li $v0, 3
syscall # Print result of division