سورس تشخیص عدد اول به زبان اسمبلی
در این بخش سورس تشخیص عدد اول به زبان اسمبلی را برای شما آماده کرده ایم که با استفاده از زبان برنامه نویسی Assembly نوشته شده است. در ادامه می توانید توضیحات و تصاویر مربوط به این پروژه را مشاهده کنید.
توضیحات پروژه
اسمبلی یک زبان برنامه نویسی سطح پایین برای یک کامپیوتر یا سایر دستگاه های قابل برنامه نویسی است و در مقایسه با بسیاری از زبان های برنامه نویسی سطح بالا (همچون سی شارپ، جاوا، سی پلاس پلاس و غیره) که معمولا در چندین سیستم قابل اجرا هستند، زبان اسمبلی، توسط یک برنامه کاربردی به نام اسمبلر (مانند NASM و MASM) به کد ماشین تبدیل می شود.
در این پروژه، بعد از اجرا شدن برنامه یک عدد از کاربر دریافت می شود و سپس برنامه اول بودن یا نبود آن عدد را محاسبه کرده و در خروجی چاپ می کند. عدد اول (Prime Number)، عدد طبیعی بزرگتر از ۱ است که نمی توان آن را به صورت ضرب دو عدد طبیعی کوچکتر نوشت (یعنی یکی از آن ها نمی تواند با خود عدد برابر باشد). عدد طبیعی بزرگتر از ۱ که اول نباشد را عدد مرکب گویند. این برنامه با استفاده از برنامه Emu8086 نوشته شده است که می توانید آن را از لینک مورد نظر دانلود کنید.
قسمت های از سورس کد
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 | init macro mov ax,@data mov ds,ax endm ;---------------------- exit macro mov ax,4c00h int 21h endm ;---------------------- gets macro str lea dx,str mov ah,0ah int 21h endm ;---------------------- printc macro c mov ah,02h mov dl,c endm ;---------------------- itoa macro n,str,len local while lea si,str mov dl,len mov dh,0 add si,dx mov byte ptr[si],'$' mov ax,n mov cl,10 while: dec si div cl add ah,48 mov [si],ah mov ah,0 cmp al,0 jne while 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,'$' f db 1 num dw ? msg1 db 'Number Is Aval.$' msg2 db 'Number Not Aval.$' msg3 db 'Plase Enter A Number:$' .code main proc far init prints msg3 gets strlist1 prints newline atoi str1,num,len1 getc exit main endp end main |
هیچ نظری ثبت نشده است