Assembly Language Lab
Fibonacci numbers are integers 0, 1, 1, 2, 3, 5, 8, 13, 21 ... If function fib(n) represents the nth 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;
else
return fib(n-1) + fib(n-2);
}
In this lab, we will write an assembly program that computes and displays the nth 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 nth Fibonacci number, and displays this Fibonacci number.
Please avoid using directives such as IF-ELSE in your assembly code.
Requirements:
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.