-
Notifications
You must be signed in to change notification settings - Fork 0
/
Fibonnaci.asm
74 lines (59 loc) · 1.03 KB
/
Fibonnaci.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
%include 'functions.asm'
section .data
input db "Enter range:",0h
fiboseries db "Fibonacci series of range: ",0h
line db "-----------------------------------",0h
comma db ","
end db "",0h
section .bss
;reservered variables spaces
first resd 1
second resd 1
next resw 1
range resw 1
count resw 1
section .text
global _start
_start:
; User prompt
;mov eax,input
;call sprint
; Print range message and input
mov eax,fiboseries
call sprint
; Get Input failed manually enter range
mov eax, 10
mov [range], eax
mov ecx,range
call iprintLF
; initilise primes
mov ebx,0
mov dword[first],0
mov dword[second],1
main_loop:
inc ebx
mov eax, dword[first]
call iprint
mov eax,comma
call sprint
mov eax, dword[second]
call iprint
mov eax,comma
call sprint
mov eax, dword[second]
add dword[first],eax
mov eax, dword[first]
add dword[second],eax
cmp ebx,[range]
jne main_loop
exit:
mov eax,end
call sprintLF
call quit
getInput:
mov eax,3
mov ebx,2
mov ecx,range
mov edx,2
int 80h
ret