CS401 Assignment 2 Solution Spring 2018

Question: 1                                                                                                                                        [20 Marks]

Write a program using a recursive function to calculate the Fibonacci of the last digit of your VU roll number, i.e.  If you roll number is BC123456789 you will calculate the Fibonacci of 9. The calculated Fibonacci number is returned in the AX register. A local variable should be used to store the return value from the first recursive call. Fibonacci function is defined as follow

Fibonacci(0) = 0

Fibonacci(1) = 1

Fibonacci(n) = Fibonacci(n-1)+ Fibonacci(n-2)

Source:- https://en.wikipedia.org/wiki/Fibonacci_number

Explain each instruction of program in comments and also provide/paste snapshot of your assembled and debugged program result which will be run in AFD (A Full Screen Debugger) window showing the executed code and final result i.e. value in AX.

Note: You will only use subroutine to solve the above problem. Marks will not be awarded for using any other approach.

Note 1: keep name of assembly file according to your VU id , i.e. if your VU id is BC123456789 , you will  keep name of the assembly code file as 23456789.asm i.e. you will use last 8 digits of your id for the code file name.

 Note 2: If the arrays, files names in the screen shots will not be according to your VU id you will get zero marks.

Note 3: In solution file you will paste the Assembly code and screen shots.

Note 4 : You will only use NASM assembler.

Rest of output snapshots are same as previously provided in assignment file.