MIPS编程将字符串中的单词分开并将值存储到它们自己的寄存器中

时间:2017-11-26 02:48:58

标签: assembly mips

我需要接受一个字符串说:

hello world

并将每个单词存储到自己的寄存器中说:

$s0 and $s1

所以我以后可以操纵这些寄存器中的内容。我知道当接受用户的值时,$ a1寄存器包含指向每个单词的第一个字符的指针数组,我会陷入如何获取寄存器中的值并访问它们的问题。

谢谢!

更新

正如所指出的,我不能只将值添加到寄存器中,因此我需要获取每个单词的第一个字符并迭代每个字符来操作它们。我写了这段代码来获取字符串的第一个字符,但如果我将0($ s0)更改为1($ s1),我会得到一个越界错误

here is some code i have written to get the first character. 

if i change 0($s0) to 1($s0)

我得到一个越界错误,所以我不能得到下一个字符

la $a0, prompt    #print title
li $v0, 4
syscall

li $v0, 8
la $a0, input       #store value
lw $a1, inputSize   #store size
move $s0, $a0       #store string into character for safe keeping
syscall

la $a0, output      #output string
li $v0, 4
syscall

lw $a0, 1($s0)
li $v0, 11          #print string
syscall

0 个答案:

没有答案