Konuya yaklaşımınız ilginç gerçekten. Asm nin prog. dili olduğunun kanıtı kitaplarda geçen "low level programming language" ifadesi midir? Bu kadar tecrübeden sonra bunu kendiniz yorumlayamıyor musunuz? Asm ye prog. dili denmesinin sebebi muhtemelen herkes tarafından anlaşılması içindir ve böylece dile yerleşmiştir. Bundan emin değilim tabi. Emin olduğum şey assembly nin bir dil olarak diğer prog. dilleri arasına girmeyeceği. Yani birisi size birkaç tane prog. dili say dese ve sizde; C Java Delphi Assembly ... derseniz hata etmiş olursunuz. Asm, bir prog. dilinde olması gereken özelliklerin neredeyse hiçbirini karşılamaz. Prog. dilleri uygun bir derleyici veya yorumlayıcı ile istenilen sistemde çalıştırılabilir. Asm sadece kendi cpu sunda çalışır. Prog. dillerinde a = b gibi en basit ifadenin bile hangi instruction lara tekabul ettiği önceden bilinemez. Asm de bu açıkça önceden bellidir (adı bu yüzden sembolik makina dili). Prog. dillerinde bellek ve yazmaçlar ile ilgilenilmez. Soyut nesneler kullanılır ve bunların bellekteki karşılığı derleyiciyi ilgilendirir bizi değil. Asm de bir prog. dilinde olması gereken dil bilgisi (grammar) yoktur. Sadece syntax vardır. Bunlar aklıma gelenler. Yani ben neyin prog. dili olup neyin olmadığını anlamak için kendi bilgimi mi yorumlayacam yoksa kitaplardaki terimlere mi takılacam? |
Bir programlama dilinde olması gerek şeylerin bir kısmı "high-level assembler" denilen şeylerde var gibi gözüküyor. Mesela HLASM ve Linoleum. Bunlarda döngü ve muhakeme ifadelerinin yanında makrolar ve değişkenler de var. Bunlar sayılabilir mi? |
Beyefendi , bu benim yaklaşımım değil. Bu , IBM PC'lerin ilk komut kümelerinden beri kabul görmüş, on yıllardır kullanılan bilimsel paradigma. Ben birşeylere yaklaşmıyorum siz anlamamakta diretiyorsunuz. Dünya çapında , hangi bilgisayar bilimciye , bilgisayar mühendisine sorarsanız sorun , Assembly dili alçak seviyeli bir programlama dilidir. Bunu ben söylemiyorum , IBM PC'nin babaları , MIPS mimarisinin tasarımcıları (Patterson ve Hennessy) , x86 mimarisinin tasarımcıları ve bizzat bu dili ortaya atmış kişiler söylüyor. Kısaca , bilgisayar teknolojilerinin kurucu babaları , sizin kullandığınız "şeyleri" tasarlayan kişiler söylüyor bunu. He siz bana dersiniz ki , arkadaşım ben Mazidi'den , Abel'den , Kip'den , Hennessy'den , Patterson'dan , Tanenbaum'dan , William Stallings'den bu işi daha iyi biliyorum. Hatta ben bu işi bugüne kadar gelmiş geçmiş bütün bilgisayar bilimcilerinden daha iyi biliyorum. Eyvallah , o zaman çocukluktan beri besleyip büyüttüğünüz , gözünüz gibi baktığınız egonuza saygı gösterip susarım. Sizin "programlama dili" tanımınız , aslında bir programlama dili türü tanımıdır. Şimdi siz yine , on yıllardır kabul edilmiş standart programlama dili tanımlarının ve konseptlerinin aslında yanlış olduğunu , sizin bildiğinizin daha doğru olduğunu iddia edeceksiniz. Yine eyvallah. Sizin o "bir kaç kitap" dediğiniz kitaplar , bu alanda etkinliğini kanıtlamış , bazısı 10 baskı yapmış kitaplar. Öyle , "Kim Korkar Assembly'den" , "Mustafa Bıdıbıdıyla 12 saatte Assembly" gibi kitaplara pek benzemezler. Yazarları da, çarşıda dükkanı olan adamlar değil. Bu teknolojilerin geliştirilmesinde bizzat rol almış kişiler. Dolayısıyla evet , "Bir kaç kitaptaki tanıma ve bilgisayar tarihinin başından beri süregelen akademik eser birikimine" inanacaksınız. Tabi kibirinize yedirebilirseniz. Tuğrul Bey , High Level Assembler'lar ile ilgili en güzel bilgi , Randall Hyde'ın The Art of Assembly Programming kitabında mevcut , çünkü kitap doğrudan HLA anlatıyor. Onlar doğrudan bir programlama dilinden çok , bir lehçe oluyor. Söz gelimi , LISP'in pek çok lehçesi var. Aynı şekilde Haskell'in , Scheme'nin de pek çok lehçesi var. Neyse daha fazla tartışmayacağım. Nasıl olsa ben buraya karşınıza Nathaniel Rochester'ı , Stephen P. Morse'u filan getirsem , yüzyüze konuştursam , yine fayda etmeyecek. "Biz Assembly'i iyi biliriz... Programlama dili nedir bir kaç bilgisayar bilimciden öğrenecek değiliz!" |
http://forum.donanimhaber.com/m_78717772/tm.htm konumda a'dan z'ye assembly diye bir eğitim seti paylaştım güzel dökümanlar var işinize yararsa |
Tartışmaya pek girmek istemiyorum ama şu kısma takılınca yazayım dedim. :D "Assembly Programlama Dili" ile bir hesap makinesinin oluşturulamayacağını mı söylediniz yoksa zorluğundan vs mi bahsettiniz? Bilgisayar Mühendisliği 3.sınıf öğrencisiyim. @spartico arkadaşımızın da yazmış olduğu Kip.R.Irvine'nin Assembly Language for x86 Processors adlı kitabı üzerinden Sistem Programlama ve Assembly Dili dersini Üniversitede aldım. Basit tarzda bir hesap makinesi yapımı yanılmıyorsam 1. ya da 2.proje ödevimizde yer alan sorular içerisinde bir tanesiydi. Tam anımsamıyorum hangisindeydi. Ama ödevlerimiz içerisinde yer alan sorulardan biri buydu. Kısacası yapılmayacak bir şey değil, eğer onu kasdetmişseniz. Spartico arkadaşımız çok güzel yazmış Assembly diliyle alakalı bilgileri. Bu konuda daha fazla bilgilenmek isteyenler olursa İrvine'nin kitabını ben de tavsiye ederim. Buna ek olarak, Bilgisayar Organizasyonu, Bilgisayar Mimarisi gibi derslerde okutulan William Stallings'in kitabı da güzeldir. |
Bende ne zaman birisi atlayacak diye bekliyordum.![]() Kardeş ben o kodları androidde kullanmak istiyorum. Bildiğin assembly compiler varsa bi zahmet. |
![]() Senin daha öğreneceğin çok şey var. Biz o konuları çoktan geçtik. Ben sana androidde nasıl asm yazılır diye sormadım. O yazdığın (hani şu yukarıdaki kopyalayıp yapıştırdığın) asm kodlarını birebir nasıl androidde kullanırız diye sordum. Eğer ben java ile hesap makinası sorsaydım bana tek kod verirdin ve hiç değiştirmeden olduğu gibi heryerde çalışırdı. Hakeza c veya python kodları da olduğu gibi çalışırdı. Ama assembly sorduğum zaman işler nasıl değişti gördün mü? Ben sana asm dedim sen x86 asm verdin. Android deyince başka linke yönlendirdin. İşte bunun gibi birçok sebepten ötürü Assembly programlama dili değildir. Zaten konumuz da bu. Yoksa asm ile istediğin herşey yazılır ama bunun direkt binary kod yazmaktan hiçbir farkı yok. Çünkü Asm == makina kodu. |
Peki fpga "programlanıyor" derken aslında ona uygun semboller mi gönderiliyor o zaman? Yani programlama sayılmıyor mu? |
Fpga ile tecrübem yok ama onun olayının bambaşka birşey olduğunu biliyorum. Mikroişlemci yok, komut seti yok, fetch-decode yok, sıralı işlem yok. Programlama denilir tabi. Zaten fpga programming diye geçiyor her yerde. Yine de detayları dijital elektronik konusunda tecrübeli birine sormak lazım. Forumda vuraldesign diye bir arkadaş var, o bilir. |
http://www.altera.com/products/software/partners/opencl/opencl-board-partner-index.html Birde böyle bir güzellik var. Keşke geçim derdimiz falan olmasa, kafamız rahat olsa da böyle şeylerle uğraşabilsek. |
Bana göre de bu tartışma gereksizdir ama konuyu gören, yeni başlayacak olan, neyin ne olduğunu bilmeyen arkadaşlar assembly yi diğer dillerden biri zannedip yanlış bilgilenmesinler, prog. dili zannedip öğrenmeye çalışarak boşa zaman kaybetsinler diye çabalıyorum. Yoksa banane kim nasıl bilirse bilsin. Ama ben böyle çabaladıkça birileri gelip inatla milleti yanlış bilgilendirmekten adeta zevk alıyor. Mesela şu başlığa bak rezalet. Bu başlığı gören assembly yi örneğin C' ye bir alternatif zanneder. Halbu ki hiç alakası yok. Bunları birisi kaynak koddur, diğeri hedef kod. Bütün diller asm ye derlenir. Asm hedef kod. Programlama dillerinde seviye farkı nedir, kaynak kod - amaç kod nedir bilmeyen, derleyicilerin ne işe yaradığından bile habersiz olanlar burada ahkam kesiyor. Bende bunu anlamıyorum işte. Kendiniz ne derseniz deyin ama burada milleti yanıltıcı ifadelerden uzak durun diyerek kendi adıma konuyu kapatıyorum. |
Öncelikle herkese merhaba, Asmb ın proramlama dili olup olmadığını anlamak için olayın en başından bakmanızı tavsiye ederim. İlk yapılan programlar hangi dille yazılmıştır. Bunu araştırırken fark edeceksiniz ki (kaynak vermeme gerek yok, cevabı merak eden araştırır) asmb dir, bu dille program yazmak zor olduğundan üzerine yapı çıkılarak basic, c gibi diller türemiştir. Zaten c# ın ve bir çok dilin temelinde de c vardır. Kaçırılmaması gereken bir detay daha var, diller kendi aralarında da ayrılırlar. Örneğin son nesil diller object-orianted (nesne tabanlı) olarak nitelendirilirler. Bu dillere bu özelliği veren asmb ın varlığıdır. Extra bir detay pic entegreleri bilirsiniz, bu enteğrelerin içerisine program yazmak istediğinizde çoğunlukla asmb kullanılır. Şimdi bana pic lerin içerisine program yazılmıyor demeyin, dediğim gibi programlama dilleri ile ilgili ahkam kesmeden önce neden bahsettiğinizi iyi bilmelisiniz. Asemb bir programlama dilidir, en ilkeli ama en etkilisi, çünkü donanım le birinci elden iletişim kurar. Diğer dillerin hepsi belirli mimarilerin üzerine kurulmuştur ki büyük ihtimalle mimarinin temelinde asmb vardır. |
zaten tüm C kodları derleyicide assemblye çevirelerek çalıştırılır yani yazdıgın tüm C programlarının gccye gireceğin parametreler ile assembly çıktısını alabilirsin , ama sende bunları düşünecek ne bilgi ne ingilizce var tabi |
Vay anasını bu müthiş bilgiyi bizimle paylaştığın için teşekkürler üstat. 40 yıl düşünsem gcc den asm çıktısı alınacağı aklıma gelmezdi. Değerli bilgilerini esirgeme forumdan, aydınlat bizi. ![]() |
Konuyu tekrar hortlatıyorum ama araştıranlar yanlış öğrenmesinler, dillerin ademi'dir assembly: < Resime gitmek için tıklayın > |
abi bunları biliyon o zaman da neden bildiklerini herkes için anlatmıyorsun da zaten konu hakkında bilgisini kanıtlamış bi adama karşı ukalalık yapıyorsun? bu forum senin yerin değil bence. forumda çok etkin olmasam da her zaman girip aradığım şeyleri bulabiliyorum ama senin yazdığın mesajların hepsi gereksiz, ben ne anlamam gerektiğini anladım. |
Konuyu baştan sona okudum da. Bir insan bir şeyi bilmeyebilir. Herkes her şeyi bilecek diye bir şey yok. İlgili konuda bilgili kişi veya kişiler, kaynak da göstererek açıklama yapmış olduğu halde hâlâ diretiyor. |
İntel bir işlemcisine fpga koyuyor hatta amd de zen ile bunu yapacak ama biz programlayabilir miyiz acaba. Atıyorum OpenCL api destekli olursa yağ gibi akar oyunlar simülasyonlar. Böylece pci-e destekli kartları satarken donumuza kadar almazlar veya 3Tflops gpu fiyatına usb çıkışlı development-boarda talim edilmez. |
Xeonlarda varmış sadece, bizim işimize yaramaz. Altera nın üst seviye fpga leri openCL ile programlanıyor ama çipler pahalı olduğu için boardları da pahalı. Ha alırsın yaparsın ama sadece sende akar, diğerleri bakar.![]() Şu HSA standarda oturup yaygınlaşsa başka şeye gerek kalmaz aslında. |
Bu mesaja 1 cevap geldi. Cevapları Gizle
Bu mesajda bahsedilenler: @Tugrul_512bit