سورس چاپ سری فیبوناچی به زبان اسمبلی
در این بخش سورس چاپ سری فیبوناچی به زبان اسمبلی را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی Assembly نوشته شده است. در ادامه می توانید توضیحات و تصاویر مربوط به این پروژه را مشاهده کنید.
توضیحات پروژه
در این پروژه، بعد از اجرا شدن برنامه یک عدد از کاربر دریافت می شود و سپس سری فیبوناچی تا آن عدد محاسبه شده و در خروجی برنامه به کاربر نمایش داده می شود. این برنامه با استفاده از برنامه Emu8086 نوشته شده است که می توانید آن را از لینک مورد نظر دانلود کنید.
برای مثال اگر عدد 5 را وارد کنید، خروجی زیر را مشاهده خواهید کرد:
1 2 3 4 5 | n1 = 1 n2 = 1 n3 = 2 n4 = 3 n5 = 5 |
خصوصیات اعداد فیبوناچی
- هر عدد از مجموع دو عدد قبلی بدست می آید.
- نسبت هر عدد به عدد بعدي خود به 618.0 میل می کند.
- نسبت هر عدد به عدد قبلی خود به 618.1 میل می کند.
- نسبت هر عدد به دو عدد بعدي خود به 382.0 میل می کند.
- نسبت هر عدد به دو عدد قبلی خود به 618.2 میل می کند.
- نسبت هر عدد به سه عدد بعدي خود به 236.0 میل می کند.
- تقسیم عدد اول به دوم 1=1/1 می گردد.
- تقسیم عدد دوم به عدد سوم 5.0=2/1 می گردد
- ریشه دوم یا جذر 618.0 برابر 0و ریشه دوم یا جذر 618.1 برابر 272.1 می گردد
- معمولا اعداد را بصورت درصد نمایش می دهند که عبارتند از: 23.6% – 38.2% – 50% – 61.8% – 78.6% – 100 % 127.2% – 161.8% – 200% – 261.8% – 300% – 323.6% – 423.6%
قسمت های از سورس کد
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 | ;---------------------- exit macro mov ax,4c00h int 21h endm ;---------------------- gets macro str push dx push ax lea dx,str mov ah,0ah int 21h pop ax pop dx endm ;---------------------- prints macro str push dx push ax lea dx,str mov ah,09h int 21h pop ax pop dx endm ;---------------------- getc macro push dx push ax mov ah,01h int 21h pop ax pop dx endm ;---------------------- printc macro c push dx push ax mov ah,02h mov dl,c pop ax pop dx endm ;********************************************************* .model small .stack 1024 .data strlist1 label byte max1 db 10 len1 db ? str1 db 11 dup('$') str2 db 5 dup(' '),'$' newline db 10,13,'$' num dw ? msg2 db 'Fib:$' msg3 db 'Plase Enter A Number:$' .code main proc far mov ax,@data mov ds,ax prints msg3 gets strlist1 getc exit main endp end main |
هیچ نظری ثبت نشده است