11.6. İlk programımız

Ş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.

11.6.1. Kodu derlemek

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.

11.6.1.1. Nasm kurulumu

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!
%