Makine_dili

Bu madde hiçbir kaynak içermemektedir . Lütfen güvenilir kaynaklar ekleyerek madde içeriğinin geliştirilmesine yardımcı olun. Kaynaksız içerik itiraz konusu olabilir ve kaldırılabilir . Kaynak ara: "Makine dili" – haber · gazete · kitap · akademik · JSTOR ( Şubat 2020 ) ( Bu şablonun nasıl ve ne zaman kaldırılması gerektiğini öğrenin ) Makine dili (Machine code) Makine kodu Genel kavramlar Komut kümesi İşlem kodu (Opcode) İllegal işlem kodu İşlem kodu tablosu İşlenen (Operand) Komutlar NOP Dal Koşulsuz dallanma Tekrarlama komutu (Repeat) Yürütme komutu (Execute) Programın yürütülmesi Genel kavramlar Kod Dönüştürülme Derleyici Derleme zamanı Optimizing compiler Intermediate representation (IR) Execution Çalıştırma sistemi Runtime Executable Yorumlayıcı Sanal makina Kod çeşitleri Kaynak kodu Hedef kodu Bytecode Makina kodu Mikrokod Derleme stratejileri (Zamanın-önünde) (Ahead-of-time) (AOT) Tam-zamanında (Just-in-time) (JIT) Tracing just-in-time (TJIT) Compile and go system Önderleme Transderleme Yenidenderleme Kaydadeğer çalışmazamanları (runtime) Android Runtime (ART) BEAM (Erlang) Common Language Runtime (CLR) ve Mono CPython and PyPy crt0 ( C target-specific initializer) Java sanal makinesi (JVM) LuaJIT Objective-C and Swift 's V8 and Node.js Zend Engine (PHP) Kaydedeğer derleyiciler & araç setleri GNU Compiler Collection (GCC) LLVM and Clang MSVC Makine dili , mikroişlemci ya da mikrodenetleyici gibi komut işleme yeteneğine sahip entegrelerin işleyebilecekleri, yapısına göre değişebilen ama genellikle her biri 8 adet 0-1'den (bit) ibaret komutlardan oluşan dile verilen addır. Her bir komutun mnemonic olarak adlandırılan bir tanımı ve işlem kodu ( İngilizce : op code) olarak adlandırılan bir sayı karşılığı vardır. Mnemonic'ler, op kodun ne işe yaradığını hatırda tutmaya yarar. Örneğin Z-80 mikroişlemcisinde bir alt yordamı çağırmak için kullanılan komutun mnemonic'i Call NN dir ve program yazarken Call NN mnemonic'inin işlem kodu olan "205" sayısı programa konur. Yani bir makine dili program 205 14 45 195 22 15 gibi ardışık sayılardan, daha doğrusu bu sayıların binary karşılığı olan 0 ve 1'lerden oluşur. Makine dili, işlemcinin verilen komutlar doğrultusunda çalıştırılmasını sağlayan ve işlemci mimarisine göre değişen en alt seviyedeki programlama dilidir . Bu dil sadece 0 ve 1 ikililerinin anlamlı kombinasyonlarından meydana gelmektedir. 0 ve 1 ikilileri işlemcinin komut seti doğrultusunda işleme uygulanacak operasyon, operasyonun gerçekleştirileceği verinin hafızada bulunduğu adres ve hafızaya ulaşım yolları gibi bilgileri ifade edecek şekilde bir araya gelmekte ve işlemci tarafından kodu çözülerek gerekli işlemin yerine getirilmesi sağlar. Diğer programlama dillerin gerektirdiği derleyici ya da yorumlayıcı kullanımını gerektirmediğinden ve donanımı doğrudan kontrol etme gücü olduğundan kullanılır. Kullanılan işlemcinin komut setinden ibaret olan makine dili komutları donanıma bağımlıdır. Günümüzde kullanılan i386 (32 bit intel) ve i486 gibi işlemci standartlarının her birine ait birer komut seti bulunmaktadır. Bu komut seti yalnız o mimariye yöneliktir. Bunun temelinde yatan asıl sebep işlemcinin hafıza birimi üzerinden okuduğu bir veri parçasının (bir ya da birkaç bayt ) işlemciye bir emir teşkil edecek bir ifade olabilmesi için bu veri parçasının işlemci üzerinde donanımsal olarak bir işleme karşılık gelmesi gerekliliğinden kaynaklanır. Makine diline "birinci kuşak programlama dili" denir. Genellikle ikinci kuşak programlama dili olan Assembly ile karıştırılır. Assembly 'de işlem kodu yerine mnemonic'ler yazılır. Bu sayede program insanlar açısından anlaşılır olur. Daha sonra assembler denen bir program kullanılarak, yazılan bu assembly programı, makine diline çevrilerek kullanılabilir. Otorite kontrolü GND : 4037827-5