Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
43
Cevap
25089
Tıklama
0
Öne Çıkarma
Cevap: assembly programlama dili nasıl öğrene bilirim (2. sayfa)
$
12 yıl
Çavuş
Konu Sahibi

evet onuda cokertırsın


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Tugrul_512bit
G
12 yıl
Yarbay

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?


Bu mesaja 1 cevap geldi.
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: elektro_gadget

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?


Bu mesaja 1 cevap geldi.
S
12 yıl
Teğmen

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!"


Bu mesaja 1 cevap geldi.
S
12 yıl
Er

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


Bu mesaja 1 cevap geldi.
M
12 yıl
Çavuş

quote:

Orijinalden alıntı: elektro_gadget
Beni ve bu konuyu okuyanları ikna etmek istiyorsanız "assembly programlama dili" ile basit bir hesap makinası yazın. Yazamıyorsanız bu tartışma burada bitmiştir.


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.





< Bu mesaj bu kişi tarafından değiştirildi MLoveR -- 31 Temmuz 2013; 15:18:21 >

G
12 yıl
Yarbay

Bende ne zaman birisi atlayacak diye bekliyordum.

Kardeş ben o kodları androidde kullanmak istiyorum. Bildiğin assembly compiler varsa bi zahmet.



G
12 yıl
Yarbay



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.


Bu mesaja 2 cevap geldi.
T
12 yıl
Yarbay

quote:

Orijinalden alıntı: elektro_gadget



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?


Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

quote:

Orijinalden alıntı: Tugrul_512bit

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.


Bu mesaja 1 cevap geldi.
G
12 yıl
Yarbay

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.



G
12 yıl
Yarbay

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.



R
10 yıl
Er

Ö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.



T
10 yıl
Yüzbaşı

quote:

Orijinalden alıntı: elektro_gadget

.

Beni ve bu konuyu okuyanları ikna etmek istiyorsanız "assembly programlama dili" ile basit bir hesap makinası yazın. Yazamıyorsanız bu tartışma burada bitmiştir.

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





< Bu mesaj bu kişi tarafından değiştirildi theozy -- 17 Aralık 2015; 23:36:19 >
Bu mesaja 1 cevap geldi.
G
10 yıl
Yarbay

quote:

Orijinalden alıntı: theozy

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.


Bu mesaja 3 cevap geldi.
7
9 yıl
Çavuş

Konuyu tekrar hortlatıyorum ama araştıranlar yanlış öğrenmesinler, dillerin ademi'dir assembly:

< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi 7.65 -- 30 Nisan 2016; 23:38:09 >


Bu mesajda bahsedilenler: @elektro_gadget @spartico
T
9 yıl
Yüzbaşı

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: theozy

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.

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.



G
9 yıl
Yüzbaşı

quote:

Orijinalden alıntı: elektro_gadget

quote:

Orijinalden alıntı: theozy

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 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.



T
9 yıl
Yarbay

quote:

Orijinalden alıntı: elektro_gadget

Fpga sıradan yazılım geliştiricilerin yapabileceği şey değil. Bir kere kendi gömülü donanımınız olacak. Fpga çipleri mcu lardan çok daha pahalı. Üzerine kod yazma mikroişlemcilerden tümüyle farklı. Çekirdek falan yok, yazdığınız kod sentezlenip fpga üzerinde lojik bağlantıları oluşturuyor ve üzerindeki mantık kapılarının elverdiği sürece paralel olarak çalışabiliyor. Yani kod aslında yazılımsal değil donanımsal olarak çalışıyor. Verimli olabilmek için lojik devre dizaynı hakkında da bilgi sahibi olmanız gerek. Burada söz edilmesi mantıksız. Yeter ki o kadar ağır algoritma çalıştıracak ihtiyacınız olsun. Çözüm bir şekilde bulunur. Sanki proje varda işlemci sorun oldu.

İ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.





< Bu mesaj bu kişi tarafından değiştirildi Tugrul_512bit -- 19 Kasım 2016; 21:48:11 >

G
9 yıl
Yarbay

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.

Bu mesajda bahsedilenler: @Tugrul_512bit