Programlamaya yeni başlayanların en çok karşılaştıkları konudur asal sayılar. Hangi programlama dili olursa olsun hocalar bir kere asal sayıları listeleyen bir program yazmalarını isterler. Daha önce değişik dillerde bu fonksiyonu yazmıştım. Hatta en son SCTZine #16’da PASCAL ile bu programı yazmıştım. Ama assembly ile böyle bir fonksiyon hazırlamak gerçekten çok daha zevkli. Neden ve nasıl diyenler kendileri özgün bir tane hazırlamaya çalışsınlar. Benim hazırladığım Assembly ile Asal Sayı Listeleyiciyi aşağıdan indirebilirsiniz. Kaynak kodları içindedir.
[dm]93[/dm]
Comments of this post
EmcE
19 June 2010
Asal sayılar yalnız ve yalnız iki böleni olan doğal sayılardır. Asal sayılar; sadece kendisi ve 1 sayısına bölünebilen 1’den büyük pozitif tam sayılar biçiminde de tanımlanabilir.
bu tanıma göre 1 ve 2 sayılarıda asaldır
farklı bir kodlamada benden olsun
invoke GetDlgItemInt,hWin,edtSAYI,ADDR sayi,30h
mov tampon1,eax
cmp eax,0
je _isimyok
kk1:
mov ebx,tampon1
dec ebx
dec ebx
mov ecx,2
kk2:
mov eax,tampon1
cdq
div ecx
cmp edx,0
je kk3
inc ecx
dec ebx
jnz kk2
invoke wsprintfA, addr tampon2, addr format,tampon1
invoke SendMessage,hSerial,LB_ADDSTRING,0,addr tampon2
kk3:
dec tampon1
cmp tampon1,1
jnz kk1
zugo
04 September 2010
Öncelikle düzelteyim üsteki tanıma göre 1 asal sayı sayılmaz (: Zaten 1 asal sayı değildir.Çünkü asal sayı bölenler kümesi 2 olan sayılardır.Dalgınlığına gelmiş olmalı.
Benzer projede benden olsun.
C#’da asal sayı ile büyük sayı ve iş parçacığı işlemlerine örnek vermiş olurum.
http://bit.ly/cMlRTm