Wpis z mikrobloga

Wiem, że nocna i w ogóle, ale może znajdzie się ktoś, kto miałby wiedzę aby pomóc mi z napisaniem funkcji rekurencyjnej w assemblerze? Wydaje mi się, że z napisaniem nie będzie problemu, ale nie mogę zrozumieć działania. Mamy funkcję np. f(n-1)+(n-2)*(n-3). Przypuśćmy, że wartość wprowadzamy przez eax. Jeśli eax=1, to wrzucamy na stos 0, jeśli 2, to 1, jeśli 3 to 2 (totalny przykład). Ale jak to rozwiązać później, kiedy stos mamy przepełniony zerami, jedynkami i dwójkami? W przykładach natomiast widziałem, że wynik zwraca się przez rejestr. Silnię tym sposobem potrafię napisać. Ale przy silni musimy dobrać się tylko do n-1. Dzięki za pomoc.
#assembler #programowanie #rekurencja #rekursja
  • 2