Assembly programlama dili, kullanılan bilgisayar
sisteminin yapısına ve işletim sistemi gibi platformlara sıkı-sıkıya bağımlı
bir dildir. Assembly programlama dili düşük seviyeli bir dil olup C, C++,
Pascal, C# gibi yüksek seviyeli programlama dillerine göre anlaşılması biraz
daha zordur. Assembly dili ile program yazarken kullanılan bilgisayarın
donanımsal özelliklerinin bilinmesi gerekir. Yazılan program kullanılan mikroişlemcinin
yapısına bağlıdır. Assembly dili ile program yazarken programcı doğrudan bilgisayarın
işlemcisi ve hafızası ile uğraşır. Anabellekteki (RAM‟deki ) ve işlemci
kaydedicilerindeki değerleri doğrudan değiştirebilme imkanı vardır.
Mikroişlemci sadece ikili sayı sisteminde yazılan
komut kodlarını, başka bir ifade ile makine dilinden anlar. Assembly dilinde
yazılan programları makine diline çevirmek için Assembler adı verilen
çevirici(derleyici) programlar kullanılır. Aşağıda verilen şekilde Assembly
dili, Makine dili ve Assembler blok olarak görülmektedir.
Bilgisayarımızda çalıştırılan tüm programlar önce
bilgisayarımızın RAM belleğine yüklenir. Daha sonra RAM bellekten sırası ile
mikroişlemci tarafından okunarak çalıştırılır. RAM‟e yüklenen veri programın
makine dili karşılığından başka bir şey değildir. Yani 0 ve 1 kümeleridir.
Makine dilinde program yazmak oldukça zordur. Buna karşılık makine dili ile
birebir karşılığı olan ve komutları kısaltılmış kelimelerden (mnemonik) oluşan
Assembly dilinden yararlanılır. Assembly dilinde program yazmak makine dilinde
program yazmaya göre daha hızlı ve daha kolay yapılabilir. Ayrıca yazılan
programların bellekte kapladıkları yerde aynıdır. Başka bir ifade ile bellek
kullanımları aynıdır. Yüksek seviyeli dillerle karşılaştırıldığında assembly
dilinde yazılan programlar daha hızlıdır ve bellekte daha az yer kaplar. Buna
karşılık program yazmak yüksek seviyeli dillerde daha kolaydır. Assembly
programlama dili günümüzde daha çok sistem programcıları tarafından diğer
programlama dilleri içerisinde kullanılmaktadır.
Assembly dilinin dezavantajları
• Assembly
dilinde program yazmak için mikroişlemci içyapısı bilinmesi gerekir.
• Assembly dili mikroişlemci tipine göre değişir.
Bir mikroişlemci için yazılan bir program başka bir mikroişlemcide çalışmayabilir.
Program taşınabilir platformdan bağımsız değildir.
• Assembly dilinde program yazmak yüksek seviyeli
dillere göre daha zor ve zaman alıcıdır.
Assembly dilinin avantajları
• Bigisayar donanımı üzerinde daha iyi bir denetim
sağlar. İşlemcinizin gücünü en iyi şekilde ortaya koyabilecek tek programlama
dilidir.
• Küçük
boyutlu bellekte az yer kaplayan programlar yazılabilir. virüslerin yazımında
kullanılırlar.
• Yazılan programlar daha hızlı çalışır. Çok hızlı
çalıştıkları için işletim sistemlerinde kernel ve donanım sürücülerinin
programlanmasında, hız gerektiren kritik uygulamalarda kullanılmaktadır.
• Herhangi bir programlama dili altında, o dilin
kodları arasında kullanılabilir.
• İyi öğrenildiğinde diğer dillerde karşılaşılan
büyük problemlerin assembly ile basit çözümleri olduğu görülür.
Assembly dilinde
program yazmak için Windows altında yer alan note pad, word pad gibi herhangi
bir text editör kullanılabilir. Text editör yardımı ile Assembly dilinde
program yazılır. Yazılan program TASM veya MASM assembler çevirici programları
yardımı ile .obj uzantılı olarak makine diline çevrilir. Bu halde elde edilen
program işletim sisteminin anladığı bir formatta değildir. TLINK bağlayıcı
programı kullanılarak .exe veya .com uzantılı hale dönüştürülür. Bu haldeki
program işletim sistemi üzerinde ismi yazılarak DOS ortamında çalıştırılabilir.
Bir Assembly dilinde yazılan programda temel olarak
şu bölümler bulunur:
• Yorumlar
• Label (Etiketler)
• Talimatlar
• Komutlar
bir sonraki dersimizde görüşmek üzere esen kalın... ebi
yararlanılan kaynaklar:
Hiç yorum yok:
Yorum Gönder