Assembly Language Lab #5  Solution

Fibonacci numbers are integers 0, 1, 1, 2, 3, 5, 8, 13, 21 … If function fib(n) represents the n th Fibonacci number, we have fib(n) = fib(n-1) + fib(n-2) for n 2, and fib(1) = 0, fib(2) = 1. Therefore, we can implement the recursive function fib in c++ as follows:
int fib(int n){
if ((n == 1) || (n == 2))
return n - 1;
return fib(n-1) + fib(n-2);
In this lab, we will write an assembly program that computes and displays the n
th Fibonacci number for any positive integer n that the user entered. To implement
this program, we need to
1) Implement the above fib function in assembly, i.e., translate fib into an
equivalent assembly procedure;
2) Implement your main procedure which lets the user enter the number n, calls
the procedure fib to get the n th Fibonacci number, and displays this Fibonacci
Please avoid using directives such as IF-ELSE in your assembly code.
1. Submit your source code (.asm file) which should run correctly.
2. Necessary comments are needed in your code.
3. Turn in a lab report. The lab report should include three parts: Introduction,
Implementation, and Summary. The introduction briefly describes the purpose
of this lab. The implementation part gives detailed description on how you
implemented the task, including the runtime screen shots, as well as necessary
discussions. The summary concludes the lab.
Please submit through blackboard system!