0

我如何将一个字母添加到一个字符串中。例如,我有:

str: .asciiz "abcdefghijklmnopqrstuvwxyz"

我想在字符串末尾添加字母 a 以使其在打印字符串时显示“abcdefghijklmnopqrstuvwxyza”。

我试过了

la $t0, str
lb $t1, 0($t0)
add $t0, $t0, 25
sb $t2, 1($t0)    # assume that $t2 contains the character a

任何帮助是极大的赞赏!

4

1 回答 1

0

你不能只增长一个字符串而没有空间让它长. 在这种情况下,您将用 NULL 终止符覆盖'a',这可能会在以后导致各种问题。

您可以在字符串后面分配一些额外的空间:

str: .asciiz "abcdefghijklmnopqrstuvwxyz"
extra_space: .space 32

然后在最后添加一个'a'可以像这样完成:

la  $t0,str+26
li  $t1,'a'
sb  $t1,($t0)     # append an 'a' to the string
sb  $zero,1($t0)  # add a NULL terminator after the 'a'
于 2013-04-24T08:08:16.167 回答