Şimdi ilk programımız olan " hello word ! " ü yazabiliriz.
1: %include 'system.inc' 2: 3: section .data 4: hello db 'Hello, World!', 0Ah 5: hbytes equ $-hello 6: 7: section .text 8: global _start 9: _start: 10: push dword hbytes 11: push dword hello 12: push dword stdout 13: sys.write 14: 15: push dword 0 16: sys.exit
Şimdi bu programın ne yaptığınıtartışalım. İlk satır bizim system.inc dosyamızıprogramımıza ekler.3 -5 satırlarıveri tanımlarıdır : 3. satır veri bölümünü başlatır , 4. satır "Hello world!" yazısınıiçerir 5. satır ise yazının kaç karakterden oluştuğunu hafızada tutar.
7-16 arasıkod bölümüdür.Not olarak FreeBSD elf dosya sistemini kullandığından bütün programların başlangıç noktalarının start etiketi ile etiketlenmesi gerekir(daha doğrusu linker programıbunu gerektirir).Bu etiket global olmalıdır.
10-13 arasıkodlar yazımızın standart çıkışa yani ekrana gönderilmesini sağlar.
15-16 satırlarısistemin programıbaşarılıbir şekilde sıfır değeri dönerek kapatmasınısağlar. SYS_exit fonksiyonu hiçbir zaman dönmez ve kod burada biter
Not: MS-DOS Assembly bilgisi ile Unix ortamına geçdiyseniz , belki de direk olarak vidyo donanımına kod yazıyor olabilirsiniz. FreeBSD yada diğer Unix sistemlerde bunlarlarla uğraşmanıza gerek yok. Burada gördüğünüz üzere stdout olarak bilinen dosya üzerine yazma işlemi yaptık.Bu vidyo ekranı, telnet bağlantısıyada gerçekten bir dosya hatta başka bir programın girdileri olabilir.Hangisi olursa olsun sistem bunlarısizin yerinize yapar.
Bir editör kullanarak programınızıyazın ve hello.asm olarak kaydedin. Sonra programınız çalıştırılabilir hale getirmek için nasm programına ihtiyaç duyacaksınız.Burada derlemek kelimesini ingizilizce 'assembling' kelimesi için kullanacağız.
Sisteminizde nasm programıyok ise kurmak için şu komutları girmeniz yeterlidir.
% su Password:your root password # cd /usr/ports/devel/nasm # make install # exit %
İsterseniz make install komutu yerine make install clean kullanarak kaynak kodlarınısistemde bulundurmak istemiyorsanız silebilirsiniz.İki yöntemde de FreeBSD otomatik olarak nasm programınıindirip derleyip sisteminize kuracaktır.
Not: Eğer sisteminiz FreeBSD değil ise (http://www.web-sites.co.uk/nasm/) adresinden programı indirebilirsiniz.
Şimdi programınızıderleyin, bağlayın ve çalıştırın.
% nasm -f elf hello.asm % ld -s -o hello hello.o % ./hello Hello, World! %