[Pardus-kullanicilari] Assembly

Ömer F. USTA omerusta at gmail.com
6 Oca 2007 Cmt 02:52:49 EET


nasm komutu sonrasında aynı dizinde girdi olarak verdiginiz dosyanın
benzer isminde fakat
.o şeklindeki object code'u oluşması gerek ls -l komutu ile bakarsanız
ve orada o dosyayı
görmezseniz 2. komut olan ve bağlamayı yapan gcc komutune geçmeniz birşey ifade
etmez çünkü gcc'ye biz bu oluşacak obje yi veriyoruz ama nasm sizin
örnekte oluşturmadığı için
gcc böyle bir dosya yok diyordur.

nasm komutunu verdiginiz dizindeki asci.asm dosyasının olduguna ve bu
dosyaya nasm komutunu
verdiginiz kullanıcı ile erişebildiginize emin olun . kısaca ls -l
çıktısını buraya yazarsanız daha rahat
yardımcı olabilirim.

On 1/6/07, cem sonmez <cemosonmez at gmail.com> wrote:
> Ömer bey ,
> Gercekten yardımlarınız icin cok tesekkur ederim en azından kafamda
> birseyler daha cok yerine oturmaya basladı.
> "nasm -f elf -l asci.lst  asci.asm" komutunu biraz once calıstırmısken simdi
> ise soyle birsey cıktı :
>
> <<nasm: fatal: unable to open input file `asci.asm'>>(Bu arada nasm zaten
> sistemde kurulu durumda)
>
> Biraz once o islem yapıldıktan sonra ise "gcc asci.o -o ilk_program"
> komutunu da yazdıgım zaman " asci.o" nesnesinin olusmadıgını soyluyor.
>
> Kusura bakmayın bu konuda hicbir bilgim yok onun icin herseyi sormak
> durumundayım.Umarım beni cekmek icin sabrınız vardır.
> Tekrar tesekkurler...
>
>
>
>
>
> 06.01.2007 tarihinde Ömer F. USTA <omerusta at gmail.com> yazmış:
> > gcc ile assembly kodu hiç derlemedim ama genel yapısı şu şekilde
> > gcc kendisine dosya olarak yollanılan kaynak kodun dosya uzantısına göre
> > uygun derleyiciye paslar ve o şekilde derletir. yani bir c kodunuz varda
> > abc.c bir c++ kodunuz varsa abc.cpp şeklinde isim verirsiniz dosyanıza
> > (keza assembly için sanırım .asm olması gerek )
> >
> > sonrasında gcc -Wall denenecek_dosya.asm -o cikti_dosyasi
> > komutu ile dosyayi derlersiniz. Derleme sonrasında olusacak
> > calisabilir ikili dosya cikti_dosyasi ismini
> > alacaktir. -Wall secenegi Warning all manasina gelmektedir derleme
> > sirasinda olusabilecek hataları
> > ve kodda duzeltmenizi dusundugu yerleri size ayrıntıları ile verecektir.
> >
> > [ Az önce Çağlar beyin verdiği bağlantıyı inceledim. Gcc burda derleme
> > değil linkleme yapıyor sanırım
> > o zaman burdaki örneğimiz birazcık değişecek. Sisteminizde nasm isimli
> > assembler yüklü olması gerekiyor.
> > (sanırım sudo pisi it nasm kuracaktır ).
> > Sonrasında hello.asm isminde kaydettiğinizi düşündüğüm assembly
> > kodunuzu şu şekilde derleyip
> > nesne kodu(object code) oluşturuyoruz.
> >
> > nasm -f elf -l hello.lst  hello.asm
> > bu işlem sonrasında aynı dizinde hello.o isminde derlenmiş ama
> > sistemde çalışır duruma gelmek için
> > bağlanmamış nesnemiz oluşmuş olacak. ( buradaki -f sanırım oluşacak
> > nesnenin türünü belirtiyor ki
> > linuxta 2 tür çalıştırılabilir sistem olduğunu hatırlıyorum biri antik
> > unix sistemlerinden  a.out veya modern
> > elf ( Executable and Linkable Format ) )
> >
> > şimdi  gcc hello.o -o ilk_program
> > komutu ile bu nesnemizi linkliyoruz ( en azından ben öyle anladım.
> > Hatalı olabilirim )
> >
> > şu anda ilk_program isminde çalıştırılabilir dosyanız hazır.
> > ./ilk_program (nokta ve slash'ı unutmayın ) komutu ile programımızı
> > çalıştırabilirsiniz.
> >
> > Umarım yardımcı olabilmişimdir.
> >
> > On 1/6/07, cem sonmez < cemosonmez at gmail.com> wrote:
> > > Caglar bey ;
> > > gcc -o asci asci.o yazinca
> > >
> > > gcc: asci.o: No such file or directory
> > > gcc: no input files
> > >
> > > seklinde bir yazi cıkıyor, sebebi ne olabilir acaba..
> > >
> > >
> > >  2007/1/6, S.Çağlar Onur <caglar at pardus.org.tr>:
> > > >
> > > > 06 Oca 2007 Cts 01:04 tarihinde, cem sonmez şunları yazmıştı:
> > > > > GOndermis oldugunuz sunumda nasıl derlenip calıstırabilcegi
> > > > > yazmıyor...Sadece nasıl yazılacagı var...
> > > >
> > > > http://www.csee.umbc.edu/help/nasm/hello.asm
> > > > --
> > > > S.Çağlar Onur <caglar at pardus.org.tr>
> > > > http://cekirdek.pardus.org.tr/~caglar/
> > > >
> > > > Linux is like living in a teepee. No Windows, no Gates and an Apache
> in
> > > house!
> > > >
> > > >
> > > > _______________________________________________
> > > > Pardus-kullanicilari mailing list
> > > > Pardus-kullanicilari at uludag.org.tr
> > > >
> > >
> http://liste.uludag.org.tr/mailman/listinfo/pardus-kullanicilari
> > > > Arama: http://liste.uludag.org.tr/arama/
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > _______________________________________________
> > > Pardus-kullanicilari mailing list
> > > Pardus-kullanicilari at uludag.org.tr
> > >
> http://liste.uludag.org.tr/mailman/listinfo/pardus-kullanicilari
> > > Arama: http://liste.uludag.org.tr/arama/
> > >
> > >
> > >
> >
> >
> > --
> > Ömer Fadıl USTA
> > http://www.bilisimlab.com/
> > _______________________________________________
> > Pardus-kullanicilari mailing list
> > Pardus-kullanicilari at uludag.org.tr
> >
> http://liste.uludag.org.tr/mailman/listinfo/pardus-kullanicilari
> > Arama: http://liste.uludag.org.tr/arama/
> >
>
>
> _______________________________________________
> Pardus-kullanicilari mailing list
> Pardus-kullanicilari at uludag.org.tr
> http://liste.uludag.org.tr/mailman/listinfo/pardus-kullanicilari
> Arama: http://liste.uludag.org.tr/arama/
>
>
>


-- 
Ömer Fadıl USTA
http://www.bilisimlab.com/


Pardus-kullanicilari mesaj listesiyle ilgili daha fazla bilgi