Использование рекурсии в Mips

#mips

#mips

Вопрос:

Я хочу создать программу, используя рекурсию. Я собираюсь использовать if-else. Вопрос в том, должен ли я возвращать что-то в каждом случае if-else?

Комментарии:

1. Возможно, вы могли бы описать предлагаемую вами рекурсивную функцию, используя, например, C или даже просто псевдокод?

Ответ №1:

Да, для каждой передачи указателя в новое местоположение выполняется трассировка стека. И чтобы реализовать рекурсию, вам нужно возвращать что-то в каждом случае if-else или, по крайней мере, после каждого if-else вам нужно выполнить некоторую операцию и сохранить результат в ячейке памяти, которая является глобальной и доступна из любого места вашего кода.

Ответ №2:

Рекурсия в ассемблере не так уж сильно отличается от цикла.

Выполняя рекурсию на ассемблере, убедитесь, что вы не уничтожаете переменные, которые были у вас в регистрах!