Aslına bakarsanız yazmıs oldugum kodda hicbir hata yok sadece bence durum
nasm'dan kaynaklanıyor.
TASM'da bu kod sorunsuz calısıyor ama nasm da sanırım baazı degisiklikler
yapmak gerek.Hata siz de isterseniz bu ufak koda bir goz atın
.MODEL SMALL
.STACK 32
.DATA
SAY1 DB 25
SAY2 DB 45
TOPLAM DB ?
.CODE
ANA PROC FAR
MOV AX, at DATA
MOV DS,AX
MOV AL,SAY1
ADD AL,SAY2
MOV TOPLAM,AL
CALL KYAZ
MOV AH,4CH
INT 21H
ANA ENDP
KYAZ PROC NEAR
MOV AH,02H
MOV DL,TOPLAM
INT 21H
RET
KYAZ ENDP
END ANA
Tasm'da sorunsuz.Bu arada kodda degisiklik yapmadan nasm'a uyarlamanın bir
yolunu bilen de yardımcı olursa sevinirim
İyi aksamlar...
2007/1/8, F.Aydýn DÃNDAR <aydin_dundar at yahoo.com>:
>
> Cem Bey sizin de listeden görmüŠolduÄunuz
> gibi, yazmıŠolduÄunuz kodda hatalar
> var.
>
> asci.o nesnesi elbette ki görünmeyecektir.
>
> Komut olmuŠama kod olmamıŠ:)
>
> --- cem sonmez <cemosonmez at gmail.com> wrote:
>
> > Tamam nasm komutu simdi oldu cıktısı :
> >
> > root at figen Desktop # nasm -f elf -l asci.lst
> > asci.asm
> > asci.asm:1: error: attempt to define a local label
> > before any non-local
> > labels
> > asci.asm:1: error: parser: instruction expected
> > asci.asm:2: error: attempt to define a local label
> > before any non-local
> > labels
> > asci.asm:2: error: parser: instruction expected
> > asci.asm:3: error: attempt to define a local label
> > before any non-local
> > labels
> > asci.asm:7: error: parser: instruction expected
> > asci.asm:20: error: symbol `ANA' redefined
> > asci.asm:20: error: parser: instruction expected
> > asci.asm:21: error: parser: instruction expected
> > asci.asm:26: error: symbol `KYAZ' redefined
> > asci.asm:26: error: parser: instruction expected
> > asci.asm:27: error: parser: instruction expected
> >
> > ama ls -l komutu ile baktıgımda asci.o nesnesi
> > olusmamıs gorunuyor...
> >
> > 06.01.2007 tarihinde Ãmer F. USTA
> > <omerusta at gmail.com> yazmıÅ:
> > >
> > > 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
> > > > > >
> >
> === message truncated ===>
> _______________________________________________
> > 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/
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.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/
>
-------------- sonraki bölüm --------------
Bir HTML eklentisi temizlendi...
URL:
http://liste.uludag.org.tr/pardus-kullanicilari/attachments/20070108/4612474f/attachment.htm