0

文字列に文字を追加するにはどうすればよいですか。たとえば、私は持っています:

str: .asciiz "abcdefghijklmnopqrstuvwxyz"

文字列を印刷するときに「abcdefghijklmnopqrstuvwxyza」と表示されるように、文字列の末尾に文字 a を追加したいと考えています。

私はもう試した

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 に答える