0
Вот мой код для strncpy. Теоретически это должно работать, но когда я запускаю тесты на нем, он выдает мусор.У Strncpy в MIPS есть странное поведение
Arguments:
$a0 = pointer to destination array
$a1 = source string
$a2 = number of characters to copy
Возвращает: массив назначения
strncpy:
beqz $a2, out
lb $t0, 0($a1) #load byte
beqz $t0 out
subiu $a2, $a2, 1
sb $t0, 0($a0)
addiu $a0, $a0, 1
addiu $a1, $a1, 1
j strncpy
out:
lb $0 0($a0)
move $v0 $a0
jr $ra
последнего 'lb' должен быть' sb', и, конечно, вы теряете исходный адрес, хранящийся в '$ a0' и' $ a1' – gusbro