В настоящее время я пытаюсь написать функцию, которая принимает строковый аргумент, затем удаляет из него все символы новой строки '\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.