Plazma sayı 4, sayfa 60

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 60

Şekil 1.

Merhaba, bu sayıdan itibaren sizlerle birlikte Amiga Assembly ile nasıl program yazacağımızı öğreneceğiz. Amiga Assembly ile program yazmak son derece eğlenceli ve kolaydır. Basit bir Assembly kodu aşağıdaki gibidir:

Örnek bir program

;basit bir kontrol toplami (checksum) hesaplama startı move.l ;DO register'ine 70 koy move.l #0,d1l ;Dl register'ine 70 koy lea data(pc),a0 ;data'nin adresini ;A0'a al. A0 data'ya #bakan bir pointer şolmus oluyor «loop: move.b (a0)4*,dI1 ;A0'in gosterdigi ;adresten bayt olarak şoku ve Dl'e koy ŞA0'i (pointer) bir Parttir add.l d1,d0 ;Dl1l'i longword olarak

;DO'a ekle

ŞDI ile sifiri ;karsilastir bne.s .loop ;Dl1 sifir degilse git

move.l d0,checksum ;DO'in degerini ;checksum'a yaz

rts ;#programdan cik data: dc.b “plazma',0 ;bayt olarak plazma #yazisi even ;şbir sonraki adresi yap checksum: de.l © şchecksum'i tutacak

;bir longword

Peki bu kodu nasıl derleyeceğiz? Bunun için Amiga'da kullanabileceğiniz pek çok assembler vardır, ben yazılarımda AsmPro V1.17 kullanacağım. Sizler dilerseniz AsmOne, PhxAss ya da başka bir derleyici kullanabilirsiniz. İleriki sayılarda diğer derleyicilere de değineceğiz.

Yukarıdaki kodu derlemek için sisteminizde AsmPro olmalı, eğer yoksa http://www.aminet.net adresinden AsmPro kelimesini aratarak bulabilirsiniz. Aminet'ten indirdiğiniz lha arşivini bir yere açın ve AsmPro'yu çalıştırın.

Sizden “AsmPro:” isimli disketi yerleştirmenizi isteyebilir, bu noktada — CLI'den (shell penceresi) — “Assign AsmPro: <AsmPro'nun-bulunduğu-klasör>” ile AsmPro'nun olduğu yeri gösterebilirsiniz. Dilerseniz “cancel” deyip geçebilirsiniz. Bu ve benzeri AmigaOS konularını Plazma'nın ileriki sayılarında okuyabilirsiniz.

Nerede kalmıştık? Kodu derlemek için AsmPro'yu açtınız, karşınıza workspace'iniz (çalışma alanınız) için kullanacağınız RAM tipi ve miktarını gireceğiniz bir ekran gelecektir. Burada Fastmem veya Chipmem'i işaretleyip miktar için 100 KB seçebilirsiniz. (Daha fazla da olabilir) Burada bir hatırlatma yapalım seçtiğimiz miktar sadece derlenmiş program için değil tüm çalışmamız için kullanılacaktır, yani üzerinde çalıştığımız kaynak kodlar (source), derleme işleminde kullanılan etiketler (label) vb., o yüzden biraz yüksek tutmakta fayda vardır.

Devam edelim, herhangi bir şey yazmıyorken Enter tuşuna bastığınızda AsmPro ekranı temizler. Escape tuşu ile hızlıca Editör'e girip çıkabilirsiniz. Bir kez Escape tuşuna basarak editöre girin ve yukarıdaki kodu aynen yazın. Burada kod satırlarının sağ tarafındaki açıklama (comment) kısımlarını da yazabilirsiniz, “;”den sonrasını AsmPro dikkate almayacaktır.

Yazmayı bitirdiğinizde tekrar ESC tuşu ile editörden çıkın. “a” (tek harf, sadece A) komutunu yazıp Enter'a bastığınızda derleme işlemi gerçekleşecektir. Ekranda aşağıdaki gibi satırlar görmelisiniz:

>a Pass 1.. Pass 2.. No Errors >

Derlediğiniz kodu çalıştırmak için sadece J komutunu (jump)

Klavyeyle gezinmek için ← ve → tuşları.