• Bu site çerezler kullanır. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz. Daha fazla bilgi edin.
  • Editör alımları başladı! Hemen başvur ve kadroya gir! [ Konuya git ]
  • Destek Adayı alımları başladı! Hemen başvur ve kadroya gir! [ Konuya git ]

Assembly Nedir?

Chronic

Editör
Editör
Katılım
20 Şub 2019
Mesajlar
49
Beğeniler
22
Puanları
8
#1
Assembly Nedir?

Genellikle özel alanlarda tasarlanan uygulamalarda sarfedilen alt seviye bir uygulama dili olarak tanımlanır. Bu dilin komutları, bilgisayarın direkt olarak işlettiği makine dili komutlarının bire bir karşılığıdır. Bu nedenle, bu dil amacıyla "Makine Dili" de denilebilir. Her ne kadar eksper uygulamacıların özel alanlarda kullandığı bir dil olarak tanımlansa da, uygulamacılar istedikleri takdirde her türlü uygulamalamayı bu dil ile geliştirebilirler ya da kullandıkları üst seviye dil altından çağırabilecekleri prosedür’ler yazabilirler. Assembly diliyle yazılmış bir uygulama "Assembler derleyicisi" ile makine diline çevrilir. Makine dili kodları, işlemciye ya da sanal makineye özel kodlardır. Okunulabilir (Human Readable) değildirler. Okunulabilir olmaları amacıyla bu dillere ait Assembly dilleri oluşturulur. Günümüzde çoğu sanal makine de, (Java Sanal Makinesi) kendi makine kodlarını kullanmaktadırlar. Aşağıdaki gösterimden de anlaşılacağı üzere, makine dili sunumu, hexadecimal (on altılı sayı dilimi) sayılardan oluşurken Assembly dili sunumu ise komutların İngilizce kısaltmalarından (mnemonic vb.) ifadelerden oluşmaktadır.

Peki Assembly Ne İşe Yarar?

İşlemcimiz üstünde ki her komuta aracısız erişim sağlamaya yarıyor, Yani kod yazarken muhatabınız işlemci ve üstü çalışmakta olduğunuz işletim sistemidir. Bu size oluşturacağınız uygulamanın kodlanması sırasında çok yüksek bir kod hakimiyeti ve bilgi sağlar. Genellikle her ne kadar zor bir olduğu söylense de öğrenildiği taktirde kodlar üstünde büyük bir hakimiyet sağlanıyor, Böylece diğer dillerde de aynı işi yapsanız dahi sizin assembly ile işlemci üstündeki hakimiyetiniz zirvededir ve bunu sizin kadar sağlam yapabilecek bir programlama dili veya derleyici maalesef yok.

Yazdığınız her satır kod 1 ile 4 byte seviyesinde olup ufakcık yer kaplar. Diğer dillerde yazılan kodlar aynı işi yapsa bile sizinle aranızda derleyici bulunuyor ve uygulamanın işleyişini sağlama alabilmek hedefiyle komutlar arasında ek bulgular girilmekte ve uygulamanınızın boyutu büyümektedir, Hem de diğer dillerdeki komutlar işlemci üstündeki komutlarla uyuşmaz ise derleyici bunu ali cenglizli yollardan işlemciye söyler aynı mahalle dedikoducuları gibi ve yazılan bir tek komut makina dilinde yüzlerce komuta karşılık gelebiliyor o yüzden zor deniyor bu dile. Herhangi bir dildeki easy komut assembly ile yazılsa 2 ile 6 byte seviyesinde olup daha da ufacık yer kaplar. Yazdığınız programlar eğer ki algoritmasında hata yok ise diğer dillerde ki şekillerine göre her geçen zaman daha da ufak yer kaplar. Programın az yer kaplaması çalışırken daha az hafıza tüketmesi; işlemler daha az kod ile anlatıldığından daha kısa sürede işlemin bitmesi, yani programımız daha süratli çalışması manasına gelir.

Peki Öğrenilmesi Zor mu?

Hayır değil aklınızda büyüttüğünüz kadar zor bir dil değil, fakat bunu anlamak yapmak öğrenmek için çaba sarfetmeniz gerekiyor diğerler dillere nazaran tabiki de kendine has bir zorluğu mevcuttur.​