Bilgisayar Donanım ve Sistem Yazılımı Aslı Eyecioğlu Özmutlu aozmutlu@bartin.edu.tr
Assembly nedir? ASSEMBLY PROGRAMA DİLİ VE DİĞERLERİ ? Assembly programlama dilini 3 kelime ile tanımlayacak olursak bunlar; GÜÇLÜ, HIZLI ve KISA olurdu. Bu demek oluyor ki aynı programı assembly dili ile ve C++ programlama dili ile yaparsak, iki programın boyutlarına baktığımızda assembly ile yazılan daha kısa olduğunu görürüz, aynı zamanda mikroişlemciyi ve hafızayı daha verimli kullandığı için assembly dilinde yazılan program diğerlerine nazaran daha güçlü olacaktır, son olarak assembly dilinde yazılan program diğerine oranla çok daha hızlı çalışır. Son zamanlarda mikroişlemcilerin hızları GHzler (giga hertz - ciga herz diye okunur) mertebesine çıktığından assembly dilinin en büyük özelliği olan hızlılığı artık pek popüler değildir.
Assembly nedir? Assembly -Assembler Assembly dilini makina koduna çeviren programlara assembler denir.
Assembly nedir?
Assembly nedir? Bir assembler’ı derleyiciden ayıran en önemli özellik bire bir dönüşüm yapmasıdır. Derleyiciler kodun tamamını okurlar ve kodun tamamını anlamlı bir programa dönüştürürler. Kodun her satırını tek tek okuyan ve uygulayan programlara ise yorumlayıcı denir.
Ödev Assembler, Derleyici, Yorumlayıcı hakkında araştırma yapınız. Linker nedir? Araştırınız.
Derleyici & Yorumlayıcı Yorumlayıcılar(İnterpreter) ilk kod satırından son kod satırına kadar her satırını teker teker yorumlar ve kodun karşılığındaki işlemi gerçekleştirir. Derleyiciler (Compiler) kodların tamamını bilgisayar diline çevirir. Derleyiciler, yorumlayıcılara göre daha hızlıdır. Eğer hata varsa, tüm hataları programcıya bildirir. Ancak yorumlayıcılar karşısına ilk çıkan hatayı bildirmektedir, ilk hata çözülene kadar diğer hataları bulamaz çünkü satır satır işlem yapmaktadır. Derleyiciler bilgisayarın anlayacağı bir dile çevirip işlemciye veriler gönderdikten sonra karşımıza sonuç/çıktı çıkarırken yorumlayıcılar kodun karşılığındaki işlemi karşımıza çıkarır.
Derleyici & Yorumlayıcı Derleyici kullanan program dillerine örnek olarak; Pascal, C++, Ada, Visual Basic, C … Yorumlayıcı kullanan program dillerine örnek olarak; HTML, XML, PHP, Script Dilleri… Hem Derleyicileri hemde Yorumlayıcıları kullanan program dillerinden biri de JAVA'dır.
Neden Assembly? Assembly dilinin özel kullanım alanları vardır. 1- Bilgisayar sistemini yakından tanımak için, 2- Device driver (cihaz sürücüleri) yazmak için, 3- Chiplere program yüklemek için (PIC, microcontroller gibi...) 4- İşletim sistemlerinin yapımında (OS), 5- Hacking işlemleri için, 6- Virüs programları yazmak için, 7- Elektronik tablolama (Excel gibi) programlarında 8-Şifre kırma işlemlerinde
Assembly nedir? Assembly Dilinin Avantajları Assembly dilini iyi anlamak, kişiye aşağıdaki bilgileri kazandırabilir: ► OS (işletim sistemi), işlemci ve BIOS ile program arayüzü ► Hafızadaki ve diğer harici aygıtlardaki verinin gösterimi, ► İşlemciye nasıl erişilir ve komutlar nasıl işlenir, ► Komutlara nasıl erişilir ve veri nasıl işlenir, ► Bir program harici aygıtlara nasıl yüklenir. http://www.elektrikport.com/teknik-kutuphane/assembly-programlama-dili-1-bolum/17391#ad-image-0
Assembly nedir? Assembly dilini kullanmanın diğer avantajları ise şunlardır: ► Daha az hafızaya ve döngü süresine ihtiyaç duyar. Hatta az yer kapladığından virüslerin yazılımında kullanılır. ► Donanımsal, özel, karmaşık işlerin daha kolay yolla çözülmesine olanak sağlar. ► Zamanın kritik derecede önemli olduğu, hıza ihtiyaç duyulan işler için uygundur. ► Kesme servis rutinleri (interrupt service routines) ve bellekte yerleşik programlar yazmak için çok daha uygundur. ► İşlemcinin gücünü en iyi şekilde ortaya koyabilecek tek programlama dilidir. ► Başka programlama dillerinin çözemediği problemleri assembly dili kolayca çözebilir.
Assembly nedir? Assembly Dilinin Dezavantajları ► Assembly dilini öğrenmek uzun süre ve emek isteyen bir süreçtir. ► Yazılan program diğer program dillerine göre daha çok satırdan oluşur ve daha uzun sürede yazarsınız. ► Yazılan programda, satırlarda bilgilendirme yapmak çok önemlidir. Çünkü bir süre sonra hangi satırın ne yaptığı anlaşılmaz hale gelebilir. ► İşlemciye doğrudan bağımlıdır. Yani yazılan kodlar her işlemci ailesinin komut seti farklı olduğundan farklıdır. Intel için yazılan bir program Motorola işlemcilerinde geçersiz olacaktır.
Teşekkürler Sorular? Aslı Eyecioğlu Özmutlu aozmutlu@bartin.edu.tr