Linux Makina Dili NASILLinux Makina Dili NASILÖnceki VI. Oylum - Yazılım Geliştirme Sonraki Linux Makina Dili NASIL Yazan: Konstantin Boldyshev
<konst (at) linuxassembly.org>
Yazan: Francois-Rene Rideau
<fare (at) tunes.org>
Çeviren: Oğuz Yarımtepe<oguzy (at) comu.edu.tr>Telif Hakkı © 1999-2006 Konstantin BoldyshevTelif Hakkı © 1996-1999 Francois-Rene RideauYasal Açıklamalar
Bu belgenin çevirisinin, Linux Sembolik Makina Dili Nasıl 1.1 sürümünün telif hakkı © 2005 Oğuz Yarımtepe'ye aittir. Bu belgeyi, Free Software Foundation tarafından yayınlanmış bulunan GNU Özgür Belgeleme Lisansının 1.1 ya da daha sonraki sürümünün koşullarına bağlı kalarak kopyalayabilir, dağıtabilir ve/veya değiştirebilirsiniz. Bu Lisansın bir kopyasını http://www.gnu.org/copyleft/fdl.html adresinde bulabilirsiniz.
BU BELGE "ÜCRETSiZ" OLARAK RUHSATLANDIĞI İÇİN, İÇERDİĞİ BİLGİLER İÇİN İLGİLİ KANUNLARİN İZİN VERDİĞİ ÖLÇÜDE HERHANGİ BİR GARANTİ VERİLMEMEKTEDİR. AKSİ YAZİLİ OLARAK BELİRTİLMEDİĞİ MÜDDETÇE TELİF HAKKİ SAHİPLERİ VE/VEYA BAŞKA ŞAHİSLAR BELGEYİ "OLDUĞU GİBİ", AŞİKAR VEYA ZİMNEN, SATİLABİLİRLİĞİ VEYA HERHANGİ BİR AMACA UYGUNLUĞU DA DAHİL OLMAK ÜZERE HİÇBİR GARANTİ VERMEKSİZİN DAĞİTMAKTADİRLAR. BİLGİNİN KALİTESİ İLE İLGİLİ TÜM SORUNLAR SİZE AİTTİR. HERHANGİ BİR HATALİ BİLGİDEN DOLAYİ DOĞABİLECEK OLAN BÜTÜN SERVİS, TAMİR VEYA DÜZELTME MASRAFLARİ SİZE AİTTİR.
İLGİLİ KANUNUN İCBAR ETTİĞİ DURUMLAR VEYA YAZILI ANLAŞMA HARİCİNDE HERHANGİ BİR ŞEKİLDE TELİF HAKKİ SAHİBİ VEYA YUKARIDA İZİN VERİLDİĞİ ŞEKİLDE BELGEYİ DEĞİŞTİREN VEYA YENİDEN DAĞITAN HERHANGİ BİR KİŞİ, BİLGİNİN KULLANIMI VEYA KULLANILAMAMASI (VEYA VERİ KAYBI OLUŞMASI, VERİNİN YANLIŞ HALE GELMESİ, SİZİN VEYA ÜÇÜNCÜ ŞAHISLARIN ZARARA UĞRAMASI VEYA BİLGİLERİN BAŞKA BİLGİLERLE UYUMSUZ OLMASI) YÜZÜNDEN OLUŞAN GENEL, ÖZEL, DOĞRUDAN YA DA DOLAYLI HERHANGİ BİR ZARARDAN, BÖYLE BİR TAZMİNAT TALEBİ TELİF HAKKİ SAHİBİ VEYA İLGİLİ KİŞİYE BİLDİRİLMİŞ OLSA DAHİ, SORUMLU DEĞİLDİR.
Tüm telif haklari aksi özellikle belirtilmediği sürece sahibine aittir. Belge içinde geçen herhangi bir terim, bir ticari isim ya da kuruma itibar kazandırma olarak algılanmamalıdır. Bir ürün ya da markanın kullanılmıŞ olması ona onay verildiği anlamında görülmemelidir.
Bu, Linux Sembolik Makina Dili NASIL, sürüm 0.6g belgesidir. Bu belge özgür programlama araçları kullanarak, genelde IA-32 (i386) platformunda, Linux işletim sistemi için veya Linux işletim sistemi kaynaklı, sembolik makina dilinde nasil programlama yapılacağını anlatmaktadır. İçerik diğer yazılım veya donanıma uygulanamayabilir.
İçindekiler3.1. Giriş3.1.1. Belgenin son sürümü3.1.2. Önsöz3.1.3. Katkıda Bulunanlar3.1.4. Tercümeler3.2. Sembolik makina diline ihtiyacınız var mı?3.2.1. Artılar ve Eksiler3.2.1.1. Sembolik makina dilinin (Assembly) avantajları3.2.1.2. Sembolik makina dilinin (Assembly) dezavantajları3.2.1.3. Değerlendirme3.2.2. Sembolik makina dili nasıl kullanılmaz3.2.2.1. Başarılı kodu gerçeklemek için adımlar3.2.2.2. Eniyileme yapan derleyiciler ile dilleri3.2.2.3. Kodunuzu hızlandıracak için genel adımlar3.2.2.4. Derleyicinin ürettiği kodu incelemek3.2.3. Linux ve Assembly3.3. Çeviriciler (Assemblers)3.3.1. GCC Satıriçi Sembolik Makina Dili3.3.1.1. GCC'yi nereden bulabiliriz3.3.1.2. GCC satır içi sembolik makina dili için belgeler nerede3.3.1.3. GCC'yi uygun satıriçi sembolik makina kodu üretmesi için çağırmak3.3.1.4. Makro desteği3.3.2. GAS3.3.2.1. Nereden Bulurum3.3.2.2. Şu AT&T sözdizimi de ne ola ki3.3.2.3. Intel sözdizimi3.3.2.4. 16 bitlik kip3.3.2.5. Makro desteği3.3.3. NASM3.3.3.1. NASM'ı nereden bulurum3.3.3.2. Ne yapar3.3.4. Diğer Sembolik Makina Çeviricileri3.3.4.1. AS863.3.4.2. YASM3.3.4.3. FASM3.3.4.4. OSIMPA (SHASM)3.3.4.5. AASM3.3.4.6. TDASM3.3.4.7. HLA3.3.4.8. TALC3.3.4.9. Özgür Pascal (Free Pascal)3.3.4.10. Win32Forth derleyicisi3.3.4.11. Terse3.3.4.12. Özgür olmayan ve/veya 32-bit olmayan x86 çeviricileri3.4. Düşük seviye programlama3.4.1. Harici Filtreler3.4.1.1. CPP3.4.1.2. M43.4.1.3. Kendi filtreleriniz ile makroprogramlama3.4.2. Metaprogramlama3.4.2.1. Derleyicilerdeki arka uçlar3.4.2.2. New-Jersey makina kodu araç seti3.4.2.3. TUNES3.5. Çağrı Uzlaşımları3.5.1. Linux3.5.1.1. GCC'ye ilintileme3.5.1.2. ELF ve a.out arasındaki sorunlar3.5.1.3. Doğrudan Linux sistem çağrıları (syscalls)3.5.1.4. Linux altında donanımsal G/Ç3.5.1.5. Linux/i386'daki 16 bitlik sürücülere erişim3.5.2. DOS ve Windows3.5.3. Kendi işletim sisteminiz3.6. Hızlı başlangıç3.6.1. Giriş3.6.1.1. İhtiyacınız olan araçlar3.6.2. Merhaba Dünyalı :-)3.6.2.1. Yerleşim3.6.2.2. NASM (hello.asm)3.6.2.3. GAS (hello.S)3.6.3. Çaliştırılabilir bir kod üretmek3.6.3.1. Nesne kodu üretimi3.6.3.2. Çalıştırılabilir üretmek3.6.4. MIPS Örneği3.7. Özkaynaklar3.7.1. Siteler3.7.2. Haber grupları3.7.3. Listeler3.8. Sıkça Sorulan Sorular3.9. Ekler3.9.1. Tarihçe3.9.2. TeşekkürÖnceki Üst Ana Başlık SonrakiA. Özel Durumlar Başlangıç Giriş