Kısaca GNU Assembler sözdizimi
Önceki Linux için Satıriçi Sembolik Makina Dili (Inline Assembly) Sonraki
Kısaca GNU Assembler sözdizimi
Önce Linux GCC'de temel sembolik makina dili sözdizimine bir bakalım. Linux için GNU C Derleyicisi AT&T sembolik makina dili sözdizimini kullanıyor. Sözdiziminin temel kuralları aşağıda listelenmiştir. (Listenin tamamını içermiyor sadece Satıriçi Sembolik Makina Diline bağlı olanları içeriyor.)
Yazmaç adlandırma
Yazmaç (register) isimleri % öneki ile kullanılır. Şöyleki eax kullanılacaksa %eax olarak kullanılmalı.
Kaynak ve hedef sıralaması
Her komutta kaynak önce gelir ve hedef onu takip eder. Bu Intel söz diziminde olan önce hedef sonra kaynak sıralaması ile arasında olan farktır.
mov %eax, %ebx -- eax'teki değeri ebx'e taşır.
Terim büyüklüğü
Komutlar terimin (operand) byte, word veya long olmasına bağlı olarak b, w veya l sonekleri ile kullanılır. Bu mecburi değildir. GCC terimin değerini okuyarak uygun soneki ekler. Ama soneki kendiniz yazmanız kodun okunurluğunu arttırır ve olası yanlış tahminleri engeller.
movb %al,  %bl   -- Byte taşıma
movw %ax,  %bx   -- Word taşıma
movl %eax, %ebx  -- Longword taşıma
Sabit terimler
Sabit terimler $ işareti ile belirlenir.
movl $0xffff, %eax -- 0xffff 'ın değerini eax yazmacına taşır.
Dolaylı bellek yönlendirmeleri
Belleğe dolaylı yönlendirmeler () kullanılarak yapılır.
movb (%esi), %al -- esi tarafından belirtilen baytı bellekten
                                       al yazmacına taşır.
Önceki Üst Ana Başlık Sonraki
Giriş Başlangıç Satıriçi Sembolik Makina Dili
Bir Linux Kitaplığı Sayfası