İçeriğe geç
parazade

Assembly Ne Demek?

İngilizce: Assembly Language

Yayın: · Son güncelleme:

Assembly Ne Demek? Kısaca

Assembly, işlemcinin anladığı makine kodunu insanların okuyabileceği kısa komutlarla (MOV, ADD gibi) yazmayı sağlayan düşük seviyeli programlama dilidir. Her işlemci mimarisinin kendine özgü bir assembly dili vardır.

Assembly nedir?
İçindekiler
  1. Assembly ne demek?
  2. Kod örneği neye benzer?
  3. Bugün nerelerde kullanılır?

Assembly ne demek?

Assembly, makine kodunun insan tarafından okunabilir biçimidir. İşlemci yalnızca 0 ve 1'lerden oluşan komutları anlar; assembly bu komutların her birine MOV, ADD, JMP gibi akılda kalan kısaltmalar verir. Yazılan kodu makine koduna çeviren programa assembler denir.

Dil, işlemci mimarisine bağlıdır. Bir bilgisayardaki x86 işlemci için yazılan assembly kodu, telefonlardaki ARM işlemcide doğrudan çalışmaz. Bu yüzden assembly, düşük seviyeli dil grubunun en tipik örneğidir.

Kod örneği neye benzer?

Assembly kodu, işlemciye adım adım ne yapacağını söyleyen kısa satırlardan oluşur. x86 mimarisinde iki sayıyı toplayan basit bir örnek şöyledir:

mov eax, 5
add eax, 3

İlk satır 5 değerini eax adlı yazmaca koyar. İkinci satır bu değere 3 ekler ve yazmaçta 8 kalır. Python'da tek satırla yazılan bir işlem, assembly'de onlarca satır tutabilir.

Bugün nerelerde kullanılır?

Assembly, donanıma doğrudan erişim ya da her işlemci döngüsünün önemli olduğu yerlerde kullanılır. İşletim sistemi çekirdeklerinin açılış kodu, mikrodenetleyici yazılımları, sürücüler ve bazı performans kritik kütüphaneler bunlara örnektir. Zararlı yazılım analizi ve tersine mühendislik yapan güvenlik uzmanları da assembly okur.

Yeni başlayan biri için ilk dil olarak önerilmez, çünkü küçük bir uygulama bile çok zaman alır. Yine de C öğrendikten sonra derleyicinin ürettiği assembly çıktısına bakmak, belleğin ve işlemcinin nasıl çalıştığını kavramak için iyi bir egzersizdir.

Sıkça Sorulan Sorular

Assembly nedir, makine dili ile aynı şey mi?

Aynı değildir ama birbirine çok yakındır. Makine dili işlemcinin doğrudan çalıştırdığı ikili koddur, assembly ise bu kodun kısaltmalarla yazılmış okunabilir hâlidir. Assembler, assembly satırlarını bire bir makine komutlarına çevirir.

Assembly öğrenmek iş bulmaya yardımcı olur mu?

Gömülü sistemler, sürücü geliştirme ve siber güvenlik alanlarında assembly bilgisi aranan bir beceridir. Web ve mobil geliştirmede ise günlük işte nadiren gerekir.

İlgili terimler

Makine Dili(Machine Language)Makine dili, işlemcinin başka bir çeviriye gerek duymadan doğrudan çalıştırabildiği, 0 ve 1'lerden oluşan ikili komutlar dizisidir. Her işlemci ailesinin kendine ait bir makine dili vardır.Düşük Seviyeli Dil(Low-Level Language)Düşük seviyeli dil, donanıma yakın çalışan ve işlemcinin komutlarını doğrudan ya da çok az soyutlamayla ifade eden programlama dilidir. Makine dili ve assembly bu grubun temel örnekleridir.Derleyici(Compiler)Derleyici (compiler), bir programlama diliyle yazılmış kaynak kodun tamamını çalıştırmadan önce makine koduna ya da ara koda çeviren yazılımdır. C, Go ve Rust gibi diller derleyiciyle çalışır.Gömülü Sistem(Embedded System)Gömülü sistem (embedded system), daha büyük bir cihazın içinde belirli bir görevi yerine getirmek için tasarlanmış, donanım ve yazılımdan oluşan özel amaçlı bilgisayar sistemidir. Ev aletleri, otomobiller ve tıbbi cihazlarda bulunur.İşlemci(CPU)İşlemci (CPU, merkezi işlem birimi), bilgisayarda programların komutlarını çalıştıran, hesaplama ve mantık işlemlerini yapan ana bileşendir. Performansı çekirdek sayısı, saat hızı ve mimarisiyle belirlenir.İşletim Sistemi(Operating System)İşletim sistemi, bilgisayar ya da telefonun donanımını yöneten ve uygulamaların bu donanımı kullanabilmesini sağlayan temel yazılımdır. Windows, macOS, Linux, Android ve iOS en yaygın örneklerdir.Yazılım(Software)Yazılım, bir bilgisayarın ya da akıllı cihazın ne yapacağını adım adım tarif eden programların, verilerin ve talimatların bütünüdür. Donanım fiziksel parçaları, yazılım ise bu parçaları çalıştıran mantığı ifade eder.