#mips
#mips
Вопрос:
Я хочу создать программу, используя рекурсию. Я собираюсь использовать if-else. Вопрос в том, должен ли я возвращать что-то в каждом случае if-else?
Комментарии:
1. Возможно, вы могли бы описать предлагаемую вами рекурсивную функцию, используя, например, C или даже просто псевдокод?
Ответ №1:
Да, для каждой передачи указателя в новое местоположение выполняется трассировка стека. И чтобы реализовать рекурсию, вам нужно возвращать что-то в каждом случае if-else или, по крайней мере, после каждого if-else вам нужно выполнить некоторую операцию и сохранить результат в ячейке памяти, которая является глобальной и доступна из любого места вашего кода.
Ответ №2:
Рекурсия в ассемблере не так уж сильно отличается от цикла.
Выполняя рекурсию на ассемблере, убедитесь, что вы не уничтожаете переменные, которые были у вас в регистрах!