如何在String标签中存储String

时间:2012-10-03 15:23:13

标签: assembly mips pcspim

我正在编写一个用户输入字符串的程序。默认情况下,此字符串存储在寄存器$ v0中,但我想将$ v0中的数据复制到String标签中,这样如果我在程序中将$ v0用于其他目的,则用户输入不会损坏。我弄明白该怎么做。如果有人能告诉我怎么做,我会很高兴的。

此致

1 个答案:

答案 0 :(得分:0)

Spim 中,从用户读取字符串的服务是服务 8 ,其中包含以下参数:

  • $a0:指向将写入字符串的缓冲区的指针
  • $a1:缓冲区的大小

返回 syscall 后,缓冲区将被输入文本覆盖(最多$a1个字节),$v0不受影响

使用示例:

.data
buffer: .space 128

.text
  la $a0, buffer
  li $a1, 128 # maximum number of bytes to be read
  li $v0, 8
  syscall