我当前正在尝试编写一个带有字符串参数的函数,然后从中删除所有换行符'\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。