PDA

Tam Sürümünü Görmek İçin : assambly, hex nasil yazilir nedir vs


decompiler
09/10/2004, 01:44
ustalar bilgisi olanlar aciklama yaparsa sevinirim,
elektronika okuyorum, bir cok projede pic ler cikiyor karsima, az bucuk vb ogrenmeye calisiyorum bos zamanlarimda..
simdi merakim su ve kesinlikle ogrenmeye kararliyim eger daha onceden baska birsey sirada yoksa...

assambly nedir ? neler yapilabilir ? cokmu zor bir dil ?
pic lerle ne kadar alakasi var ?
pic lere ornek 16f84 yukledigim bu hex nasil yazilmistir ? sifirdan bir kodmu yoksa herhangi bir kodun pic yazilabilmesi icin derlenmis halimi vs..
16f84 yukledigim bir hex baska bir pic yukluyebilirmiyim ( hafizasi yeterli olana tabi )
atmel ile pic farki ne dil yazilim farklimi ? kisaca belki 16f84 ile bir at89c4051 vs farki veya baska bildiginiz bir atmel..
simdilik bu kadar yardim edebilecek herkese cok tesekur ederim
bilgisi olmayan lutfen bilmeden yazip beni yanlis yonlendirmesin ... :2:

tesekurler ve hayirli gunler devami ile hosca kalin


ceeyt
09/10/2004, 03:22
http://ceviz.net/index.php?case=category&id=49

forumda da assembly ile ilgili onceden yazilmis konular var,onlara da bakarsan daha cok fikir sahibi olursun.

mikroislemcinin anlayacagi tek dil bazi bacaklarindan girilen 1-0 lar.mikroislemciyi uretenler hangi veri girisine nasil tepki verilecegini belirler.Bu verilere op-kod deniyor. Bunlarin insanlar anlasinda daha kolay bir seyler yazabilsin diye ingilizceden alinti sozcuklerden olusturulmus haline assembly diyebiliriz.Bu acidan islemciye cok yakin bir dil.

Bir mikroislemciyle yapilabilenler,assembly nin yapabileceklerini olusturuyor.

Bir assembly programinda bir cok sey senin kontrolun altindadir.Bu bir yandan sana buyuk bir ozgurluk saglarken ayni zamanda kodun karmasikligini arttirir ve zaman alir,hatali kod yazma ihtimalin artar.
Programinin boyutu kucuk olur.
islemcinden,verebilecegi en iyi performansi alabilirsin.

VB,C# gibi dillere gore karmasik ve zor sayilabilir.Herseye ragmen aslinda cok zor degil.Assembly kod yazmanin ayri bir zevki var.
Burada sartlara gore secim yapmalisin. DSP kitinde calisacak bir ses tanima programi yazacaksan; programinin boyutu kucuk olmali,ozellikle gercek zamanli bir uygulamaysa cok fazla islem gucu gerektirdiginden islemciden en yuksek performansi almalisin.Bu sartlarda mecburen ya sadece assembly kullanirsin veya karmasik algortimalarin tamamini assembly yazmak nispeten zor olacagindan programin kucuk bir kismini C yle yazarsin.
windowsun hesap makinasi benzeri birsey yazacaksan VB le daha kolay yazarsin.

ozel olarak pic demeyelimde mikrokontrolorlerle ne alakasi var ? mikrokontroloru,gercekte I/O portlari + basit bir islemcinin ayni yongaya yerlestirilmis hali olarak dusunebilirsin buna gore mikrokontrolorler de sadece 1-0 anlayabilir.Assembly mikrokontrolor iliskisi ayni mikroislemcideki gibi.

pic lere ornek 16f84 yukledigim bu hex nasil yazilmistir ? Yazdigin programdaki anahtar sozcuklerin karsiligi olan kodlar mikrokontrolor e yuklenir,mikrokontrolor onlarin ne anlama geldigini zaten biliyor.

Bir mikrokontrolor icin yazdigin kod digerlerinde calismayabilirde , calisabilirde. Herbiri farkli ozelliklere sahip oldugundan en basitinden portlarinin adresleri farkli olabilir,bir islevi gerceklestirebilmesi icin gerekli sartlar farkli olabilir...vs

mikrokontrolor programlamak icin assembly kullanmak zorunda degilsin, pic icin PIC C var mesela.Bu derleyici yazdigin C programini pic in anlayacagi dile cevirir. mikrokontrolorler zaten cok fazla islem gucune sahip degillerdir bu nedenle assembly yazman performan acisindan cok avantaj saglamaz.Eger programin cok uzunsa ve mikrokontrolor bellegi yetmez diyorsan... Cozum illa assembly kullanmak degil,mikrokontrolorune harici hafizalar takabilirsin.Diger taraftan mikrokontrolor icin yazacagin programlar genelde asiri karmasik olmayacaktir,rahatlikla assembly yazabilirsin.

pulsar
11/10/2004, 14:39
PIC assambly çok kolaydır. Öğrenebilirsin. Pic basic ile de programlayabilirsin. Tavsiyem assamblydir 32 tane komut vardır ve hepsi birbirine benzer. 5-6 komut grubu denebilir. Her hex dosyasını her işlemcide çalıştıramazsın örneğin 16f84 ile 16f877 picleri bile aynı mimaridedir ama özellikleri farklıdır. O nedenle her işlemci işin ayrı asm vardır.

Güzel bir iki kitap var piyasada. Mikrodenetleyiciler ve PIC Programlama (http://www.altaskitap.com/tumYayinlar/mppr01_picProgramlama.asp) (Altaş yayınları) Kitabını tavsiye ederim. Sakın ADIM ADIM PICMICRO PROGRAMLAMA (http://www.infogate.org/infogate/kpicad.htm) kitabını okuma berbat işeyaramaz birşey.

CodeMania
12/10/2004, 09:18
Assembler programlama dili, çoğu zaman özel alanlarda geliştirilen programlarda kullanılan alt düzel bir Programlama dili olarak tanımlanır. Bu dilin komutları, bilgisayarın doğrudan işlettiği makine dili komutlarının birebir karşı lığıdır. Bu nedenle bu dil için makine dili de denilebilir.
Her ne kadar uzman programcıların özel alanlarda kullandığı bir dil olarak tanımlansa da, programcılar istedikleri takdirde her türlü uygulamayı bu dil ile geliştirebilirler yada kullandıkları üst düzey dil altından çağırabilecekler i procedurler yazabilirler. Çünkü hemen hemen her dilde assembler için destek bulunmaktadır.
Dilin en büyük avantajı CPU çevrebirimlerinin ve ana belleğin çok iyi bir şekilde kontrolünü sağlamasıdır. Ayrıca işletim sistem fonksiyonlarını da çok kolaylıkla kullanmak mümkündür. Assembler program dili derleyicisi kullanılan komutların birebir makine dili karşılıklarını üretir. Bu nedenle bu dil ile oluşturulan programlar olabilecek en kısa programlar olurlar.
Performans konusunda üstün fakata karmaşıktır.

Bir alttaki mesajda daha ayrıntı ve birazdaha iyi fikir alabilmen için ufak bir doküman var .

CodeMania
12/10/2004, 09:19
Soruyu Yanlış Anlamışım. bu sildiğim dokmanıda sadece bi fikir sahibi olabilir düşüncesiyle yazmıştım ama kafası karışacak dyorsanız. artık o doküman yok.

Euclides
12/10/2004, 13:06
hala mı real mode !?
sanırım yanlış yazdım "hala mı intihal !?" demeliydim...
bir başka asm doc
http://www.ceviz.net/index.php?case=article&id=310&catid=49

pulsar
12/10/2004, 14:30
@codemania cok güzel bilgiler vermişinb de arkadaşın kafasını boşuna karıştırıyorsun. AQrkadaş PIC assamblyden bahsetmiş CPU dan değil. Senin bahsettiğin assambly ile alakası az denebilir. PIC dediğimiz şey 18 bacaklı DIP soket içinde bir yonga hepsi bu. C ile programlayabilirsin ama yapısını bilmem lazım Senin bahsettiğin ve anladığın anlamda bir belleği yok (1KB eprom ve 3F *2 boyutlu romu var.) Lütfen soruyu doğru anlayalım. Verdiğin bilgiler soruyu soran arkadaş için GEREKSIZ. C ile programlasa bile assambly bilmesi sorunlu. Çocuk lehim falan yapacak sen call near ptr den bahsediyorsun. Segment yok ki near ptr olsun bahsettiğimiz şey bir mikrodenetleyici işlemci olmadığından senin anlattıklarının hepsi elektronikci için HİKAYE

@Euclides real mod falan yok PIC^te mode yok dorusu epi topu bir adet register var ve ona da 32 adet RICS komutu ile erişiliyor.

Soru elektronik sorusu olduğu için gördüğünüz her assambly kelimesini bildiğiniz assambly sanararakcevap yazmayın. Arkadaşın kafasını karıştırıyorsunuz. Coduk ya bir de BASIC51 deseydi sen git VB bölümüne yaz diyecektiniz şimdi.

Bir sefer bir foruma epromumun assablysinde DİP olmuyor nedendir diye sormuştum. Oysa ben bacakların bağlanamamasını söylüyordum adam 8086 anlattı. Bu da PIC assambly sizde 8086 anlatıyonuz. Ne alaka

Euclides
13/10/2004, 13:04
@
@Euclides real mod falan yok PIC^te mode yok dorusu epi topu bir adet register var ve ona da 32 adet RICS komutu ile erişiliyor.

Soru elektronik sorusu olduğu için gördüğünüz her assambly kelimesini bildiğiniz assambly sanararakcevap yazmayın. Arkadaşın kafasını karıştırıyorsunuz. Coduk ya bir de BASIC51 deseydi sen git VB bölümüne yaz diyecektiniz şimdi.

tamam zaten onlarda mod bile yok :) :) :) :)
benim yazmamın sebebi c.m'nin çoğunla "araklama" olan bir yazılığı c&p yaptığı içindi. hatta düzgün araklasa gene bi derece .....

pulsar
14/10/2004, 15:11
Tamam problem yoktur. Lütfen CP paste yapmayin bence link verin. İlgisizse ve soruyu anlamıyorsanız es geçin. Sorun tatlıya bağlanmıştır.

CodeMania
14/10/2004, 15:25
tamam zaten onlarda mod bile yok :) :) :) :)
benim yazmamın sebebi c.m'nin çoğunla "araklama" olan bir yazılığı c&p yaptığı içindi. hatta düzgün araklasa gene bi derece .....

1.buradaki araklama lafını baştan anlayalım
2. Ya anlamıyorum bazı adamları bu bir siteden indirme yada araklama bir yazımıydı sizce. şöyle söyliim ben size benim bilgisayrımda kayıtlı döküman arşivim 3 GB nin üzerinde ve bu dokumanları tamamı bilgisayar ve bilgisayarla yapılabilecekler hakkında. evet zamanında gerek ben bunları formlardan toparladım gereksede üniversitelerde bitirme ödevi yazan arkadaşlardan gereksede kendim yazdım ve arşivledim ve buraya yazdığım o bilgilerde arşivimden bir bölümdü asm üzerine birçok dokuman daha var onlarıda ekleyebilirdim yada şöyle söliim arkadaşın istediği asıl konu benim yazdıklarım olsaydı yada gerçek anlamda onun istediklerini yazsaydım herhalde ozamanda teşekkur edicek biri olmayacak tı işimize yaradı ama çalmışsın olacaktı.
tekarar ediyorum ben bunları çalmadım 4 senenin üzerinedir toparladığım arşivlediğim şeyler bunlar ben butur konular üzerinde çalışmak bilgilenmek için bunları toparlarım isteyen herkezede verebilirim ama böyle araklama lafı yapanlarada iyecek sözüm yok. yaptığım şey başkasına yardım etmeye çalışmak bunu yapan herkeze hırsız diyelim hep beraber şimdi hadı hep beraber söleyin.

pulsar
14/10/2004, 15:31
@CM link ver o zaman copy paste öyk bişi

CodeMania
14/10/2004, 15:32
Yine morlim bozuldu uzun zamandır doğru düzgün bi form buldum diye seviniyordum bende.

CodeMania
14/10/2004, 15:33
pulsar link yok bunlar benim bilgisayırımdaki kayıtlı dokümanlar anlatamıyormuyum?
yok dedin bu istediği değil dedin kalktım sildim yanlış yazıyorsam düzeltirim düzeltemiyorsam kimseye zararı olmasın diye silerim bunu istemeyen arkadaşlara bişi diyemem