MIPS рекурсивный подход к поиску расстояния между двумя строками - PullRequest
1 голос
/ 21 февраля 2020

У меня проблемы с написанием рекурсивной функции в сборке MIPS для вычисления расстояния между двумя строками. Функция должна принимать четыре параметра: string_a, string_b, length_string_a, length_string_b и возвращать расстояние между двумя строками. Например, findDistance("Sun", "Son", 3, 3) должен return 1, то есть сколько раз необходимо изменить первую строку, чтобы она напоминала вторую. Функция должна return -1, если длина каждой из двух строк меньше 0

Вот то, что я пытался сделать до того, как ушел в отставку. Мне просто нужен кто-то, чтобы указать мне правильное направление, и я могу закончить sh it

.data

string_a: .ascii "Sun"

string_b: .ascii "Son"

length_str_a: .word 3

length_str_b: .word 3





.text

#copy starting address of each of the strings to registers

la $a0, string_a

la $a1, string_b

lw $a2, length_str_a

lw $a3, length_str_b



#call function findDistance



jal findDistance



#The function findDistance

findDistance:



#if length of strings <= 0 jump to error, else continue to find distance



#define base class





#recursive



#in the case that the lengths are 0 or less

error:

li $v0, -1

j return

#retun    
return:

j $ra
...