Makine Dili Nedir?
İngilizce: Machine Language
Yayın: · Son güncelleme:
Makine Dili Nedir? Kısaca
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.

Makine dili nedir?
Makine dili, bilgisayarın işlemcisinin gerçekten anladığı tek dildir. Yazdığınız Python, Java ya da C kodu, çalışmadan önce bir şekilde bu dile çevrilir. Makine dilindeki her talimat, işlemciye "şu iki sayıyı topla", "şu adresteki değeri oku" ya da "şu satıra atla" gibi çok temel bir iş yaptırır.
Bu talimatlar ikili sayılarla, yani 0 ve 1 dizileriyle ifade edilir. İnsanlar için okunması neredeyse imkânsızdır. Bu yüzden genellikle onaltılık gösterimle ya da assembly diliyle temsil edilir.
İşlemci komutları nasıl anlar?
Her talimat iki parçadan oluşur: ne yapılacağını belirten işlem kodu (opcode) ve işlemin hangi veriler üzerinde yapılacağını gösteren işlenenler. İşlemci belleği sırayla okur, talimatı çözer ve uygular. Bu döngü saniyede milyarlarca kez tekrarlanır.
Talimatların listesine komut kümesi denir ve işlemci ailesine göre değişir. Masaüstü bilgisayarlarda yaygın olan x86-64 ile telefonlarda kullanılan ARM işlemcilerin makine dilleri farklıdır. Bir işlemci için üretilmiş program, diğerinde doğrudan çalışmaz; ya yeniden derlenmesi ya da bir çeviri katmanıyla çalıştırılması gerekir.
Kod makine diline nasıl dönüşür?
Yüksek seviyeli dillerde yazılan kod, iki ana yoldan makine diline ulaşır. C ve Go gibi dillerde derleyici kodu önceden makine diline çevirir ve çalıştırılabilir bir dosya üretir. Python ve JavaScript gibi dillerde ise yorumlayıcı ya da çalışma zamanı motoru kodu çalışırken işler.
Assembly ise makine diline en yakın insan okunur dildir. Bir assembler aracı, ADD ya da MOV gibi komutları birebir karşılık gelen ikili kodlara dönüştürür. Bir programın derlenmiş hâlini merak ediyorsanız Compiler Explorer gibi çevrimiçi araçlarda kısa bir C fonksiyonu yazıp üretilen assembly çıktısına bakabilirsiniz.
Sıkça Sorulan Sorular
Makine dili ile assembly aynı şey mi?
Hayır, ama birbirine çok yakındır. Makine dili ikili kodlardan oluşur; assembly ise aynı talimatların insanların okuyabileceği kısa kelimelerle yazılmış hâlidir.
Bugün makine diliyle program yazılıyor mu?
Doğrudan ikili kodla program yazmak artık neredeyse hiç yapılmaz. Gerekli durumlarda assembly kullanılır, makine diline çevirme işini ise araçlar üstlenir.