我正在编写一个用户输入字符串的程序。该字符串默认存储在$ v0寄存器中,但是我想将$ v0中的数据复制到String标签,所以如果我在程序中将$ v0用于其他目的,则用户输入不会损坏。我弄清楚如何去做。如果有人能告诉我如何去做,我会很高兴。如何在字符串标签中存储字符串
问候
我正在编写一个用户输入字符串的程序。该字符串默认存储在$ v0寄存器中,但是我想将$ v0中的数据复制到String标签,所以如果我在程序中将$ v0用于其他目的,则用户输入不会损坏。我弄清楚如何去做。如果有人能告诉我如何去做,我会很高兴。如何在字符串标签中存储字符串
问候
在垃圾消息,服务于读出来自用户的字符串是服务,这需要作为参数:
$a0
:一个指向缓冲区的指针,其中字符串将写入$a1
:缓冲区的大小一旦系统调用的回报,缓冲区将与输入文本(最多至最大的$a1
字节)被ovewritten,$v0
不受影响
实例:
.data
buffer: .space 128
.text
la $a0, buffer
li $a1, 128 # maximum number of bytes to be read
li $v0, 8
syscall
li $ a1,128在做什么?你从哪里将用户输入从$ v0复制到缓冲区? – user1698102
@ user1698102:从键盘读取一个字符串的'syscall'在'$ a0'中接收一个指向将存储字符串的缓冲区的指针,并在'$ a1'中接收该缓冲区的大小(也就是最大数量字节从控制台读取)。您不必使用'$ v0'从键盘读取字符串。请注意'$ v0'只是另一个寄存器(32位宽),所以它实际上不能保存实际读取的字符串。 – gusbro
哪'syscall'是你在用吗?你可以发布你到目前为止的任何代码吗? –