Chapter 11. X86 Assembly Programlama

Table of Contents
11.1. ÖZET
11.2. ARAÇLAR
11.3. Sistem Çağrıları
11.4. Dönüşdeğerleri
11.5. Taşınabilir Kod Yazmak
11.6. İlk programımız
11.7. UNIX® Filtreleri yazmak
11.8. Önbelleklendirilmişgirdi çıktı
11.9. Komut satırıArgümanları
11.10. UNIX Çevre Değişkenleri
11.11. Dosyalarla Çalışmak
11.12. Uzmanlaşma prensibi
11.13. FPU Kullanımı
11.14. Alıntılar

Bu bölüm G.Adam Stanislav <adam@redprince.net>tarafından yazılmıştır.

11.1. ÖZET

Unix altında Assembly dili programlama konusunda döküman sayısışu anda çok yetersiz.Çünkü genelde Unix altında Asembly dilinin kullanımının fazla olmadığıvarsayılıyor.Unix çok farklıortamlarda çalışan bir işletim sistemi olduğundan programcılar genellikle C dilini tercih ediyorlar.

Aslında C nin taşınabilirliği de bir efsanedir. Öyleki bir C programıbir Unix'ten diğerine aktarıldığında bile sistemde eğer farklı bir işlemci varsa değişikliğe ihtiyaç duyar. Tipik olarak şartlı ifadelerle dolu olan bir programın çalışmasıhangi sistemde derlendiğine bağlıdır.

UNIX programcılarınıC yada diğer yüksek programlama dillerinden birini kullanmasıgerektiğine inansak da çekirdeğe (kernel) ulaşımı sağlayan kütüphaneyi yazan programcıelbette Assembly diline ihtiyaç duyulacaktır.

Bu bölümde sizlere Unix altında Assemly dili ile nasıl program yazılır göstermeye çalışacağız.Örneklerde FreeBSD kullanacağız.

Burada Assembly dilinin temelleri anlatılmayacak. Bunun için yeterli kaynak zaten mevcut : Online ders için(http://webster.cs.ucr.edu/)yada bu konuda yazılmışJeff Duntemann’s Assembly Language Step-by-Step(http://www.int80h.org/cgi-bin/isbn?isbn=0471375233)kitabına göz atabilirsiniz.Burada anlatılacak olan Assembly programlamayıbilen birisinin nasıl FREEBSD ortamına adapte olmasınıve bu ortamda hızlıve etkili program geliştirmesini sağlayacak konulardır.