Linux'te assembly içinden C fonksiyonu çağrılacak ise yapılması gereken temel işlemler aşağıdaki örnekte anlatıldığı gibidir:
- Çağrılacak fonksiyon .text alanında extern bildirimi yapılması gerekmektedir.
- Fonksiyon çağrılmadan önce ise parametreler soldan sağa stack'e push edilmesi gerekmektedir.
sample.asm isimli dosya içine yukarıdaki gibi kod yazıldıktan sonra :
- nasm -f elf32 sample.asm ile object dosya oluşturulur
- gcc -m32 -o sample sample.o ardından gcc ile çalıştırılabilir dosya oluşturulur.
- gcc -m32 veya -m64 flaglerini kullandığımızda hata veriyorsa gcc için kurulum yapılması gerekmektedir.
- apt-get install gcc-multilib kurulumu ile 32 - 64 bit derleme işlemlerini gerçekleştirebiliriz.
sample isimli çalıştırılabilir dosyamız oluşturulmuş oldu. İleride gcc'yi de devre dışı bırakacağız ve doğrudan linker ile elf dosyamızı oluşturacağız.