Assembly Dili
A low-level language providing a symbolic representation of machine code instructions.
Assembly dili, makine kodunun sembolik bir temsilini sunan düşük seviyeli bir programlama dilidir. Yüksek seviyeli dillerin (örneğin, Python, Java) aksine, soyut ve insan tarafından okunabilir olan assembly dili, belirli bir bilgisayar mimarisine (CPU komut seti) özgüdür. Her assembly komutu genellikle doğrudan bir makine kodu komutuna karşılık gelir. İşlemler için kısaltmalar (ADD, MOV, JMP gibi) ve bellek adresleri veya kayıtlar için sembolik adlar kullanır. Programcılar, işlemcinin yürütebileceği makine koduna assembly kodunu çevirmek için assembler'ları kullanır. Assembly dili, donanım üzerinde ince ayarlı kontrol sağlar, bu da onu performans açısından kritik görevler, aygıt sürücüleri, işletim sistemi çekirdekleri ve bellek ve işlem gücünün sınırlı olduğu gömülü sistemler için uygun hale getirir. Ancak, yazması karmaşık, zahmetli, hata ayıklaması zordur ve farklı mimariler arasında taşınabilirlik eksikliği vardır. Temel avantajı, verimliliği ve doğrudan donanım manipülasyon yeteneklerinde yatmaktadır.
graph LR
Center["Assembly Dili"]:::main
Pre_computer_architecture["computer-architecture"]:::pre --> Center
click Pre_computer_architecture "/terms/computer-architecture"
Pre_cpu["cpu"]:::pre --> Center
click Pre_cpu "/terms/cpu"
Rel_encryption["encryption"]:::related -.-> Center
click Rel_encryption "/terms/encryption"
Rel_compression_data["compression-data"]:::related -.-> Center
click Rel_compression_data "/terms/compression-data"
Rel_javascript["javascript"]:::related -.-> Center
click Rel_javascript "/terms/javascript"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
Bu, bir robota, düz İngilizce yerine yalnızca o robotun anladığı gizli bir kod kullanarak çok özel, adım adım talimatlar vermek gibidir.
🤓 Expert Deep Dive
Assembly dili, CPU'nun komut seti mimarisine (ISA) doğrudan bir anımsatıcı arayüz görevi görür. Her anımsatıcı, ISA tarafından tanımlanan belirli bir opcode ve operand formatına eşlenir. Kayıtlar, bellek adresleme modları (örneğin, doğrudan, dolaylı, indeksli) ve komut boru hattı (instruction pipelining), bu seviyede doğrudan manipüle edilen temel kavramlardır. Optimizasyon genellikle komut sayısını en aza indirmeyi, bellek erişim gecikmesini azaltmayı ve SIMD komutları gibi CPU'ya özgü özellikleri kullanmayı içerir. Soyutlama eksikliği, dikkatli bir şekilde ele alınmadığında, yüksek seviyeli dillerde yönetilmesi daha zor olan arabellek taşmaları veya yarış koşulları gibi mimari güvenlik açıklarına karşı savunmasız hale getirir. Yüksek seviyeli diller için derleyiciler, nihai makine kodu üretilmeden önce gelişmiş optimizasyona izin veren ara bir adım olarak genellikle assembly kodu üretir.