Amiga Dünyası sayı 10, sayfa 44

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 44

Merhaba assembler'cı arkadaşlar. Geçen sayıda Seka Assembler'ın genel işleyişini ve komutlarını öğrenmiştik.

Seka Assembler'ın komutları, geçen sayıda anlatılanlar kadar değil. Daha anlatmadığım birçok komut ve kullanım çeşidi mevcut. Fakat bunları şimdiden anlatıp kafanızda, bunların kullanım yerlerini düşünmeniz gibi sorular bırakmayacağım. Şimdilik sizden istediğim, geçen sayıda verdiğimiz komutları ve kullanım amaçlarını dikkatlice atlamadan belleğinize yerleştirmeniz. Çünkü Seka Assembler ile çalışmak için, daha doğrusu bütün assembler derleyicileri ile çalışmanız için geçen sayıdaki komutları ve daha doğrusu bu komutların ifade ettiği kullanım türlerini iyice kavramanız, ileride süratli bir çalışma temposu oluşturmanıza zemin hazırlayacaktır.

Gerçi ben bu komutları, sizin Seka Assembler'a tamamen ısındığınızı hissedinceye kadar devamlı açıklayacak ve tekrar edeceğim. Sonuçta hepimiz Seka Assembler'ı tam randıman kullanıp birer Seka kurdu olacağız.

Bu sayıdan itibaren size vereceğim örnek makina dili programlar ve Seka Assembler kullanım uygulamaları, sizin ileri makina dili uygulamalarınızın temelini oluşturacaktır.

Üzerinde çalışacağımız örneklerde sırası ile şu adımlarla hareket edeceğiz.

I- İlk önce Seka Assembler'ı bilgisayarımızın hafızasına yükleyeceğiz.

II- Daha sonra Seka Assembler'ın editörünü kullanarak verdiğimiz örnek programı dikkatlice yazacağız.

III- Şimdi bu sihirli satırlar neye yarıyormuş diye sizi fazla merakta bırakmadan, yazdığınız source satırların nasıl compile edildiğini ve çalıştırılmasını göreceğiz.

IV- Tabii örneğimizde bir çok yeni kullanım olduğunu göz önünde bulundurarak size çok geniş açıklamalar yapacağız. Ve Amigamızın işletim sistemine hafiften girip Amiga'nın 68000 işlemcisine hakimiyetini sistematik şekilde öğreneceğiz.

V- Son adım olarak oluşturduğunuz makina kodu programı diskete Execute file olarak kaydetmeyi öğreneceğiz.

Aslında assembler yazı dizimize topluca baktığımızda şimdiye kadar öğrendiğimiz şeyler Assembler'ın dörtte biri sayılabilir. Ama bu ana kadar, yani 10. sayıya kadar öğrendiğiniz bilgiler aşağıdaki örneği kavramanız için yeterli olacağına inanıyorum.

Yazı dizimizin devamı esnasında sırası ile Amiga'nın diğer Assembler ve sistem konularına da dalacağız. Bu sırada karşılaştığımız yeni Assembler ve Seka Assembler komut uygulamalarını yeri geldikçe açıklayacağız.

Tabii bu açıklamalarda sizin bu sayıya kadar olan bilgilerinizden oluşan belli bir pratik bilginiz olduğundan, benim verdiğim örnekleri inceleyip yenilerini üretmek ve keşfetmek zevkine varacaksınız. Daha ileri örnekleri ve Assembler uygulamalarını da işlerken, daha anlamlı bir tavırla izleyerek, onları algılamada büyük kolaylık edineceğinize inanıyorum.

Şimdi yukarıda bahsettiğimiz işlem adımlarını sırası ile görelim.

I- Bu andan itibaren sizin bir adet Seka Assembler derleyicisine sahip olduğunuzu varsayarak yazımıza devam ediyorum.

Şimdi Seka Assembler derleyicisinin bulunduğu disketi sürücüye takın ve eğer derleyici kendi başına ekrana çıkacak şekilde düzenlenmiş ise program kendiliğinden yüklenecektir. Seka derleyicisinin bulunduğu disket, bir compact program paketi içinde bulunabilir. Çoğunlukla böyle disketlere Utility Disk adını veriyoruz. Ve tabii çoğunlukla utility disketleri sürücüye taktığınızda kendiliğinden ekrana bir menü gelmektedir. Kullanıcı ise bu menüdeki talimatlara uyarak istediği programı çağırabilir. Tabii siz de menüden Seka Assembler'ı bularak, onu yüklemek için ne yapılması gerektiğini öğrenip Seka'yı çalıştırabilirsiniz. Çoğunlukla compact utility disketlerdeki programların çalışması şu şekilde olur.

Her programın birer tuşu vardır. Bu tuşlar çoğunlukla Fonksiyon Tuşları diye adlandırdığımız Amiga klavyesinin en üst seviyesindeki F1'den F10'a kadar olan tuşlardır. Biz de bu tuşları kullanarak ekrandaki açıklamalara göre Seka'yı yükleyebiliriz.

Fakat yine de her ihtimale karşı, bir türlü Seka'yı yükleyemezseniz, size en yakın Amiga bayisine gidip, bizzat onlardan Seka'yı alarak, yüklenişini yerinde öğrenebilirsiniz.

Tabii yine üzerinde dikkatle duruyorum ve tekrarlıyorum. Piyasada iki ayrı Seka derleyicisi ve bunların her ay değişen bir sürü versiyonları mevcut. Kullanacağımız Seka derleyicisinin ismi ve versiyonu şu şekilde olmaktadır.

MASTERSEKA 1.51 veya daha yukarı bir versiyon. Bu arada söylemeden geçemeyeceğim. Geçen ayki yazı dizisinden sonra yeni versiyon Master Seka'lar da geldi. Hatta Master Seka 1.80'li versiyonları da şu anda mevcut. Tabii söylememe gerek yok. Yine bir sürü ek komut ve kullanım kolaylıkları eklenmiş. Ben bu versiyonları sizin bu anda bulamayacağınızı düşünerek açıklamalarıma ve çalışmalarımıza versiyon 1.51'den itibaren başlıyorum. Şimdi Master Seka'nın 1.51 versiyonunun ekranda hazır olduğunu düşünerek devam ediyorum.

Başlangıçta sorulan memory ile ilgili soruları bir önceki sayıda açıklamıştık. Yine de şöyle özetleyelim.

Burada yazacağımız sayılar aşağıdaki örnek için yeterli olmaktadır.

CHIP OR FAST > sorusuna C (RE-

AMIGA ASSEMBLER

RETURN) olarak cevap veriyoruz.

WORKSPACE > sorusuna ise 40 (RETURN) olarak cevap veriyoruz.

Gerçi aşağıdaki kısa makina dili programının çalışması için 5 Kbyte'lık yer de yeterli olmaktadır. Ama yine biz rahat bir çalışma ortamı için 40 Kbyte'lık bir yer açıyoruz.

Şimdi ESCAPE tuşuna basarak derleyicinin editör moduna geçiyoruz ve aşağıdaki source metnini aynen klavyeyi kullanarak editöre yazacağız. Fakat daha önce bilmeniz gereken bir konu daha var.

Assembler source'larınızı yazarken veya hazırlarken hata yapmamaya dikkat edeceksiniz. Çünkü bazı hatalar çok kötü sonuçlar doğurabilir. Tabii bu hatalar bilgisayarınızı bozar demiyorum; ama bozmasa da kaybolan emeğiniz bilgisayarınızın bozulduğundan daha çok sizi üzecektir (Benim başıma çok geldi).

Source yazımı esnasında nasıl hatalar yapılabilir?

En sık yapacağınız ve en basit hata, syntax hatası olabilir. Yani komutların yazımında hata yapabilirsiniz. Mesela Move yerine Movd veya Moev veya buna benzer bir sürü kelime hatası yapılabilir. Bu gibi hataları derleyicimiz compile işlemi esnasında şıp diye yakalayacaktır.

Ama bir de komutun text kısmında değil de parametre kısmında bir hata yapabilirsiniz. O zaman olacakların sorumlusu hatayı yapan olacaktır.

Olmaması gereken bir yerde yanlış bir sayı yazılırsa, bilgisayarın göstereceği tepki ne olur onu tahmin etmek çok güç. Çoğunlukla bilgisayarınız kilitlenebilir. Veya bilgisayar kilitlenmez de ekranda karışıklıklar olabilir. Ses rutinlerinde bir hata yapılmışsa, bilgisayarınız istenmeyen sesleri çıkarabilir. Ya da program çalışıyor gibi gözükerek belli bir zaman sonrasında saatli bomba gibi patlayabilir! (Şakaydı). Programınız çalışıyor gibi gözükebilir ve belli bir zaman sonra az önce söz ettiğimiz hatalardan birini gösterebilir.

Seka Assembler'da hatalar iki türlü ortaya çıkabilir: birincisi programınızı yazdıktan sonra compile işlemi sırasında; ikincisi ise programı çalıştırdığınızda.

Gerçi compile işlemi esnasında hata yapmanız çok düşük bir ihtimal. Çünkü compile işlemi sırasında hata yapmak çok zor. Ancak programınızın başında origin ve obje kodunu memory'de Seka Assembler'ın çalışma adresi üzerinde veya sistem için önemli bir adresin üzerinde oluşturacağını söylersek hata ortaya çıkmış demektir. Böyle bir durumda artık ok yaydan çıkmış demektir. Büyük ihtimal ile source'ınızı kaybetmiş bulunuyorsunuz. Tabii compile işleminden önce source'ınızı diskete kaydetmemişseniz.

İkinci hata olarak en sık karşılaşılan hatalar, komut parametrelerinde olmaması gereken veya yanlış yazılmış sayılardır.

Bu durumda da source listesini kaybedebilirsiniz. Size önerim, benim de her zaman yaptığım gibi, programınızın üzerinde en ufak bir değişiklik yapsanız bile Seka editöründen çıkar çıkmaz source listesini diskete save etmenizdir. Bu sizin açınızdan yararlı olacaktır. Save işleminden sonra, programınızı korkusuzca compile edebilir ve çalıştırabilirsiniz.

Tabii program source'larının kayıt işlemlerinin zamanlamalarını sizin Assembler bilginiz ve çalışma şekliniz ile zamanla orantılayacaksınız. Örneğin tecrübeli bir programcı programında yaptığı değişikliklerin sonrasında compile ve run işlemlerinde bilgisayarı kilitleyip kilitlemeyeceğini çok iyi bilir. Ve kilitleyeceğine inandığı değişiklikleri, daha tehlike başlamadan gereken kayıt işlemlerini yapar.

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