MIPS通过添加空格来反转字符串

时间:2012-12-26 18:09:03

标签: assembly mips

如何在输入字的每两个字符之间添加一个空格,然后将其打印出来。

在我的程序中,它可以反转字符串

Loop:

        sub     $t2, $t2, 1     #this statement is now before the 'load address'
        la      $t0, buffer($t2)   #loading value
        lb      $a0, ($t0)
        syscall


        bnez    $t2, Loop       

        li      $v0, 10              #program done: terminating
        syscall
        jr $ra

我的结果

输入字符串:Hello

原文:Hello

反转:olleH

但如何在输入词的每两个字符之间添加一个空格

输入字符串:Hello

原文:H e l l o

反转:o l l e H

1 个答案:

答案 0 :(得分:0)

您提供的代码是打印存储在缓冲区中的反向字符串,但反向字符串不会存回。 如果这是你的意图,那么你需要的只是在每个字符打印后打印一个空格。

这是通过在打印每个字符的系统调用之后添加这两行来实现的(在bnez $t2, Loop之前)

  li $a0, ' '
  syscall