hi-tech mi?

Başlatan Fixxer, 13 Ocak 2009, 00:35:24

CoşkuN

Şahsen benim assembly dilleri ile ilgili düşüncem şudur  : "Bil ama kullanma " :)

mihri

Bence 8 bit işlemcilerde C derleyicileri için ANSI uyumu aramak mantıksız. Çünkü yazdığınız programı farklı mimarideki işlemcilere uyarlamak için programda oldukça fazla değişiklik yapmak zorunda kalıyorsunuz. Bunun temel sebebide mikrodenetleyicideki donanımların ( ADC, USART... ) yoğun olarak kullanılması. Söz konusu 8 bit işlemci ise bence mikrodenetleyici kaynaklarını en verimli kullanan ve en az bug olan derleyici kullanılmalı. Bu derleyicinin dili de elbette C olmalı.
"Eppur si muove!"

z

PC nin adini bile duymadigimiz donemde MCU kullanip program yaziyor ve bunu eproma kaydediyorduk.

Bilin bakalim hangi dili kullaniyorduk?

Kagida program yazarken bile asembly komutlar yazmaya usenir dogrudan hex kodlari yazardik. Cunku makinenin tum opcodlarini ezbere bilirdik. Relatif adresleme icin  tek tek opcode satirlarini sayardik.

Hic bir zaman 1-0 larla isimiz olmadi. Hex kodlar yeterliydi.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihkuzucu

Sizin mantıktan, osmanlıya matbaanın girmesi hatalı sonucundan baska bir sey cıkmıyor !?
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

z

Nasıl bir mantıkla bu sonuca vardınız?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihbeyy

hasangurdelek hocam ellerine ve ağzına sağlık
aklımdaki tüm soru işaretleri sayende çözüldü
teşekkür ederim bundan sonra bütün yazlılarını
takip etmeye çalışıcam çalışmalarınızda başarılar
dilerim

fatihkuzucu

Alıntı yapılan: "bunalmis"PC nin adini bile duymadigimiz donemde MCU kullanip program yaziyor ve bunu eproma kaydediyorduk.

Bilin bakalim hangi dili kullaniyorduk?

Kagida program yazarken bile asembly komutlar yazmaya usenir dogrudan hex kodlari yazardik. Cunku makinenin tum opcodlarini ezbere bilirdik. Relatif adresleme icin  tek tek opcode satirlarini sayardik.

Hic bir zaman 1-0 larla isimiz olmadi. Hex kodlar yeterliydi.

Alıntı yapılan: "bunalmis"Nasıl bir mantıkla bu sonuca vardınız?

İlk mesaınızda yönlendirdiginiz  şey assembler bile değil direk opcode yazmak cok daha kolaydı gibi bir düşünce...

Osmanlıda hattatlar vardı hepimizin tarih derslerinde ögrendigimiz malum. Bunlar o kadar güzel kitaplar resimler hazırlıyorduki bugün inceleyince şaheser olarak nitelendiriyoruz normal olarak. O yazıların güzelliği resimler...

Tabi adamlar haklı, işlerinden olacak. 100 lerce yıl nesillerden birbirlerine tekamül eden bir meslek oluşmuş. Bundan ailelerini geçindiriyorlar. Sayıları o yıllarda çoğalmış olsada pasta büyüdüğünden genede iyi kazanıyorlar ki, bu ülke içinde genel bir sosyal sorun olarak ortaya çıkmış ve tarih kitaplarına kadar girebilmiş bir mesele olmuş. Matbaa gelince ne oldu. Şaheserlik gitti, adet çoğaldı. Bilgi yayılma hızı arttı.
Buna göre sizin 2-3 farklı başılkta savunduğunuz şeyler 1 e 1 örtüşüyor bu konu ile. Oturup şaheser denilecek kodları assemblerde opcode da yazabiliyorsunuz. Ve buradaki bir cok zeki insan bunu becerebilecek düzeyde olarak bakıyoruz.
Ama yanılgınızda buradan başlıyor. Buradaki yada takıldıgınız elektronik forumlarındaki bazı yetenekli zeki ve bilgi hırsı ile dolu gencleri, arkadasları görünce saldırıyorsunuz. Bu assembler olmalı daha iyi daha hızlı....

Tabi matbanın hattatlara yaptığını bu assembercılarında basına, C tarafından geldiği çok malum değilmi ?

Çok geniş kitlelerin kolayca,  hızla, program yazmayı ögrenmesi gerekliliği var. Bunun yoluda C . Bu geniş kitleler öngörüldüğü gibi çok zeki olmayacak. Ortalama lise öğrencileri bu grup içinde yeralmalı.  "Matamatik bizim ne işimize yarayacakki ögreniyorum?" lafı gibi "C bizim ne işimize yarayacak hiç kullanmayacağım" diyenler çok çıkacaktır....
Düz mantıkda program yazabilme kaabiliyeti ile yetişmiş nesillere sahip olmalıyız. Hedef sadece embededda değil. Yoksa çin hindistan  gibi ülkelerin gerisinde kalacağız.

Assemblerla uğraşılmaması gerekliliği açık değilmi o halde?!.....
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

controller

Alıntı yapılan: "hasangurlek"

Assembly=Opcode

Arkadaşlar niçin aynı şeyde ısrar ediyorsunuz ? Yaptığınız işe yeni başlayan arkadaşlara yanlış bilgi vermekten başka bir şey değil.

Assembly bir programlama dilidir, Aynen C gibi, Basic gibi.


Assembly programlama dili olarak geçebilir. Ancak "assembler" ile "compiler" aynı şey değildir. Aynen "disassembler" ile "decompiler" ın aynı şey olmadığı gibi.  Buradan yola çıkarak assembly c, basic ile aynı şeydir diyemeyiz. Bu başlık altında başka konulardan da bahsetmişsiniz. Henüz tam incelemedim. Boş bir zamanımda incelemeye çalışırım. Ancak yeni başlayanlara yanlış bilgi verme konusuna kendinizde biraz dikkat edebilirsiniz.

Aradaki farka kısaca bakmak gerekirse, örneğin a sayısını 2 ile çarpmak istiyorum.

a = a * 2;

Bu işlemi x derleyicisi a değişkenini bir bit sola kaydırarak yapabilir.

y derleyisici kullanılan işlemcinin çarpma komutu varsa doğrudan 2 ile çarpabilir.

z derleyicisi farklı optimizasyon teknikleri kullanarak (mesela a değişkenini kendisi ile toplamak gibi) yapabilir.

Sonuç olarak derleyici kodu yorumlayarak kendi optimizasyon teknikleri ile kodu derler. Yani ortada bir yorumlama işlemi vardır.

Assembler de ise yorumlama yoktur. Assembler in yaptığı iş yazdığınız assembly kodu, işlemcinin komut setine göre makina diline çevirmektir. Yani opcode tablosuna bakar, ve o opcode un karşılığı olan makina kodunu hafıza bölgesine yerleştirir.

Zaten assembly nin Türkçe anlamı birleştirmek, monte etmektir (bazı ürünlerin etiketinde assembled in china gibi yazılar yazar). Türkçe anlamından da yaptığı işin biryerden kodu alıp başka bir yere yerleştirmek olduğu anlaşılır. Bu açıdan derleyicilerden farklıdır.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

z

fatihkuzucu

Biz teknik adamlar bir sonuca varmak icin neden sonuc iliskisine bakariz.
Sen nedenlere bakmaksizin kisa yoldan sonuca ulasarak resmen saldirmissin.

Opcode yazimindan bahsetmemin sebebi bu basligin onceki sayfalarinda yapilan assembly opcode konusmalarina atifti.

------------------------

Bundan sonraki yazilarimda alintilara yer verecegim cunku bu ornekte goruldugu gibi bu yazi da nerden cikti denebiliyormus.


Controller

Alıntı YapAssembler de ise yorumlama yoktur. Assembler in yaptığı iş yazdığınız assembly kodu, işlemcinin komut setine göre makina diline çevirmektir. Yani opcode tablosuna bakar, ve o opcode un karşılığı olan makina kodunu hafıza bölgesine yerleştirir.

Assembler bunun otesinde isler de yapar.

Relatif adres hesaplamalari, Etiket ve degisken adreslerinin referans degerlerini hesaplama, macro ve direktif yorumlama vs...

Bazi islemcilerde pipeline cakismalarina engel olacak ilave NOP komut eklentileri de assembler in yaptigi isler arasindadir.

@Fatihkuzucu

Eger hiz ile hic bir sikinti yasamadiysan assembly nin getirecegi hiz avantajini anlayamazsin.

Eger belirli konularda uzman olacaksan o konularin en ince detaylarini da bilmen gerekir.

Assembly de diller icinde en altta kalan bir uzmanlik konusudur. Senin kafada olanlar asla ve asla compiler yazamaz.

Halbuki compiler yazmak da ciddi bir istir ve en ust seviyede assembly bilgisi gerektirir.

Kedi ulasamadigi cigere mundar der.

Alıntı YapYoksa çin hindistan gibi ülkelerin gerisinde kalacağız.

Ilerisindemiydik ki gerisinde kalalim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

wsxwsx

Çin dünyanın en hızlı trenini yapmış.

controller

Alıntı yapılan: "bunalmis"
Controller

Alıntı YapAssembler de ise yorumlama yoktur. Assembler in yaptığı iş yazdığınız assembly kodu, işlemcinin komut setine göre makina diline çevirmektir. Yani opcode tablosuna bakar, ve o opcode un karşılığı olan makina kodunu hafıza bölgesine yerleştirir.

Assembler bunun otesinde isler de yapar.

Relatif adres hesaplamalari, Etiket ve degisken adreslerinin referans degerlerini hesaplama, macro ve direktif yorumlama vs...

Bazi islemcilerde pipeline cakismalarina engel olacak ilave NOP komut eklentileri de assembler in yaptigi isler arasindadir.


Sayın bunalmis;

Assembler in bahsettiğiniz işlemleri yaptığını bende biliyorum, ancak bu işlemler yukarıda anlattığım derleyicinin yaptığı işler ile bağlantısı yoktur. Relatif adres ve referans hesaplaması bilinen iki sabit değerin üzerinde yapılan aritmetik işlemden başka bir şey değildir. Bunu yorumlama işlemi olarak kabul edemeyiz. Keza macro larda sabit bir kodu alıp belirli yerlere yerleştirmektir.

Yani Assembler kendi kelime anlamının da kendisini çok iyi anlattığı gibi birleştirme, biraz da matematik hesap yapıp yerleştirmedir.

Son olarak bu yazdıklarımı elektronik forumunda olduğumuz için gömülü sistemlerde kullanlan 8-32 bit işlemcilerin Assembler larını baz alarak yazdım. Bahsettiğiniz pipeline çakışma önleme vs. gibi işlemler hangi işlemcinin assembler ında kullanılıyor belirtirseniz bizde inceleme fırsatı buluruz.
Hesabım OG tarafından haksız bir şekilde pasif yapılmıştır.

z

Alıntı YapBahsettiğiniz pipeline çakışma önleme vs. gibi işlemler hangi işlemcinin assembler ında kullanılıyor belirtirseniz bizde inceleme fırsatı buluruz.

TMS320 serisinden C20 ve C50 de assembler, pipeline conflict icin gerekli onlemleri aliyor.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihkuzucu

Atatürk 1900 lerin basında yeni alfabe ve okuma yazma oranının hızla artırılması için büyük bir devrim yaptıgını hep beraber cok iyi biliyoruz.

Ben liselerde C gibi kolay ogrenilebilecek programlama dilinin zorunlu olarak okutulmasından bahsediyorum.

Siz her fırsatta assembler soyle, boyle, opcode şu, bu gibi fikirler sunuyorsunuz. Bu fikirlerdeki dogru kısımı tartısmaya bile gerek duymuyorum.

Daha cok bilgili bir toplum yaratmak değilmi bu tartısmaların temeli? Etrafınızdakilere yardım etme amacı ile o yazıları yazmıyormusunuz? Ancak savundugunuz düşünceler toplumumuzda bilginin yayılmasını sağlamıyor. Kolay olmayanı ögrenin diyorsunuz aslında. Bu bazı durumlar için ideal olabilir. Ancak geniş topluluklar, zorlukların altından kalkamaz kolayca...

Assembler ögrenmesi gereken bir grup olabilir türkiyede ve dünyada. Ancak sürekli bunu ogrenin, c yi bosverin gibi yaklasımların mantıgı yok. Sizin görüşlerinize ödem verenler çokca cıkabilir. Buda toplumda gereksiz bir görüşün yaygınlasmasına sebep oluyor.
Bu görüşlerden bir örnek verecek olursak mesela picden baska bir seye ilgi duymayan kitleleri gösterebiliriz.

İlk örneğe geri dönelim. Atatürk okuma yazma işini hazır bir sistem üzerinden de götürebilirdi. Arapça bilenleri hızla çoğaltıp herkesin okullarda okuma yazmaya davet edebilirdi. Ancak daha zor  (psikolojik) oldugu ortada olan yeni bir alfabe ile yepyeni bir nesil yetiştirmeyi tercih etti. Burada  alfabeyi araç olarak kullandı. Yoksa arapça ingilizceden, türkçeden kötüdür kim diyebilir ?

Hedefleri iyi secmek gerek. O daha iyi bu daha iyiden cok daha ötede bir durum bu. Tavsiyelerinizi verirken bunu kacırmayın.
C savunanlara inat kendi düşüncelerinizi destekleyici fikirleri büyütmeyi biraz kenara bırakın.

Son olarak çindeki hindistandaki ilerlemeler 20 yıllık vardır yoktur. Toptan düşünce sistemimizi, eğitim sistemimizi düzenlemezsek afrika ülkeleri de gelir gecer yanımızdan.

Not= Şuna atıf, buna atıf yazıları yazmışsınız. 4-5 mesaj "c iyidir"den sonra sizin opcode program yazma mesajınız geliyor. Hatırlatırım.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...

z

Eger amac hizlica kod yazmaksa secilecek dil kesinlikle C olmamali. Cunku  daha kisa surede proje gelistirilebilecek diller de var. Ama ne yapiyoruz daha etkili kodlama yapmak icin zor da olsa C ogreniyor ve kullaniyoruz. Bunun da otesi asm. Fakat asm gercekten zor bil dil. Cunku her seyi bilmek zorundasiniz. Bilmek kotu mu değil tabiki.

Ama gel gelelim asm lafini edince delleniyorsunuz. Sizin gibi assembly dusmanlarini anlamak kolay değil. Ben kodlamanizin tamamini assembly ile yapin demiyor ve assembly misyonerligini yapmiyorum.

20 yil once Cin ve Hindistan  bizden daha mi geriydi?

Yarim yamalak bilgilerinizle hic bir konuda yanlis bilgiler yazmayin lutfen.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

fatihkuzucu

Valla burada cıldıran bir tek kişi görüyorum. 4-5 kullanıcının ayrı ayrı c iyidir mesajı arkasına assembler yazısını ben yazmadım...
Daha yazacak bir sey yok.
Exp.Kits http://tinyurl.com/3qhs8pm   Küçük adamların, küçük fikirleri... Büyük adamların, büyük hayalleri...