# Write an assembly program (MASM and Irvine’s libraries) that calculates the nth Fibonacci number.

INSTRUCTIONS TO CANDIDATES

Write an assembly program (MASM and Irvine’s libraries) that calculates the nth Fibonacci number.
To do this we need to calculate the series of Fibonacci numbers upto n
{F0=0; F1=1; F2=1; F3=F1+F2; F4=F3+F2; F5=F4+F3}

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...

If we use 0, 1 and initial conditions the sequence of the first 6 numbers would be:
0, 1, 1, 2, 3, 5
^
6th

You will need to ask the user for the last number in the series is to be.. So if the user wants the
6th Fibonacci number your progam shoule print out 5.   If they want the 9th then 21
Ask/prompt the user for the index,or sequence umber   Use ReadDec to get value

Use the ebx, eax, and edx registers.
This is similar to our last project (see below)
BUT THIS TIME WE NEED TO USE ecx AS THE LOOP COUNTER

Some other specifications:
Format your code correctly (indent) and have the correct comments at top for the file
(see lecture note) Name the file 221xproj03<username>.asm (where x is your section number
capital letters or any special characters in the naming. submit (upload) just the .asm
file to the blackboard assignment link (type out full-name).

SOME HELP

...
mov edx, offset prompt  ; copy the address of your byte array (string)
call WriteString        ; write your string to console
mov ecx, eax      ; save it into the loop counter (ECX is the loop counter)
...

LOOPS example
; print "hi" on the screen 10 times

mov ecx, 10             ; set loop counter to 10
TOP:                    ; label for top of the loop
mov edx, OFFSET msg  ; msg is byte array with "hi",13,10,0
call WriteString
loop TOP                ; does a dec ecx AND then if ECS != 0 jumps to TOP

; print 10,9,8,7,....2,1 to the screen
comaspace  BYTE ", ",0

mov ecx, 10             ; set loop counter
TOP:
mov eax, ecx            ; copy value in loop counter to eax
call WriteDec           ; print value in eax (same as ecx)
mov edx, OFFSET comaspace
call WriteString
loop top

## Related Questions

##### . Introgramming & Unix Fall 2018, CRN 44882, Oakland University Homework Assignment 6 - Using Arrays and Functions in C

DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma

##### . The standard path finding involves finding the (shortest) path from an origin to a destination, typically on a map. This is an

Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t

##### . Develop a program to emulate a purchase transaction at a retail store. This program will have two classes, a LineItem class and a Transaction class. The LineItem class will represent an individual

Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th

##### . SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

##### . Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of Sea Ports. Here are the classes and their instance variables we wish to define:

1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of

Hire Me

Hire Me