如何在寄存器存储的字符串中编辑单个字符?

时间:2018-10-01 02:39:34

标签: assembly mips32

我当前正在尝试编写一个带有字符串参数的函数,然后从中删除所有换行符'\n'并将其替换为终止符'\0'。这是到目前为止我的功能代码:

removeNewLineChar:

strLoop:
lb  t0, (a0)

beq t0, '\n', changeChar
beqz    t0, exitRemoveNewLineChar

add a0, a0, 1

b   strLoop

changeChar:
lb  t1, '\0'
sb  t1, 0(t0)

exitRemoveNewLineChar:

jr  ra

在changeChar标签下的行写操作中,我不断遇到异常。为什么会抛出超出范围的地址异常?谢谢!

编辑:如果它有助于寄存器a0中的字符串为:“这是一个测试字符串。\ n”,并且将其存储为.asciiz。

0 个答案:

没有答案