В настоящее время я работаю над программой, которая вычисляет простые числа до 200, используя рекурсию в сборке MIPS с использованием PCSPIM. До сих пор я заполнил массив чисел из 1-200 и список бинарных векторов, который состоит из всех 1 успешно. Концепция, с которой я борюсь, заключается в том, как использовать фрейм стека, чтобы помочь в этом процессе.Вычисление простых чисел в сборке MIPS
Вот что у меня есть для кадра стека:
subu $sp,$sp,32 # Set up the stack frame
sw $ra, 28($sp) # save $ra register to the stack
sw $fp, 24($sp) # save $fp register to the stack
addu $fp, $sp, 28 # set $fp register to the end of the stack
Я просто не понимаю, как это собирается помочь мне найти простые числа. Любое понимание было бы высоко оценено!
Перед кодом вы прояснили алгоритм? – starrify
_ «Я просто не понимаю, как это поможет мне найти простые числа». Это помогает вам выполнять рекурсивные вызовы, так как вам нужно как-то сохранить и восстановить '$ ra' (и, возможно, другие регистры), а вы скажем, что ваш алгоритм рекурсивный. – Michael
starrify, я полностью понимаю алгоритм. Если бы мне пришлось делать это на высоком уровне, я бы определенно мог это сделать. Я просто не понимаю, как это сделать в MIPS. – dhint4