Can somebody provide a pseudocode for writing a Fibonacci code in Assembly language? This involves stacks?

StackOverflow https://stackoverflow.com/questions/20491126

Question

I'm using M68000 chips so pseudocode is fine. I can easily write this program but I am having trouble implementing the use of stack (push, call, pop) to this algorithm, I been here for hours and still couldn't find a way. Please someone provide a detailed pseudocode for Fibonacci.

Était-ce utile?

La solution

Here is an implementation in C. Should be straightforward to translate to ASM.

#include<stdio.h>

int main()
{
   int n, first = 0, second = 1, next, c;

   printf("Enter the number of terms\n");
   scanf("%d",&n);

   printf("First %d terms of Fibonacci series are :-\n",n);

   for ( c = 0 ; c < n ; c++ )
   {
      if ( c <= 1 )
         next = c;
      else
      {
         next = first + second;
         first = second;
         second = next;
      }
      printf("%d\n",next);
   }

   return 0;
}

The M68000 has enough registers to do this without push but if you have to use this instruction for a homework assignment, then you could make use of it in the else clause where the variables are exchanged, thus limiting yourself to using a minimum of registers. Same could be said for the loop.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top