Friday, 25 May 2018

CS401-Computer Architecture and Assembly language programming | Assignment no. 2 Solution | Spring 2018 | Due Date: 24 May, 2018

CS401- 2nd Assignment solution spring 2018
Due date: 24 May 2018
Question:
Write a program using a recursive function to calculate the Fibonacci of the last digit of your VU roll number,
i.e. If your roll number is BC123456789 you will calculate the Fibonacci of 9. The calculated Fibonacci
the number is stored in the AX register.
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 with comments and also provide/paste a snapshot of your assembled and debugged program result which will be run in AFD (A Full-Screen  Debugger) window showing the executedcode and final result i.e. value in AX.

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

Note 1: keep the name of assembly file according to your VU id, i.e. if your VU id is BC123456789, you will
keep the 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 screenshots will not be according to your VU id you will get zero
marks.Note 3: In the solution file, you will write the assembly code and paste two screenshots.Note 4: You will only use NASM assembler and AFD debugger only.