Plazma sayı 5, sayfa 76

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 76

Makrolar Hakkında Dikkat Edilmesi Gerekenler

AsmOne/Pro'da makro yazarken bazı kurallara dikkat etmemeniz durumunda bulunması çok güç hatalarla karşılaşabilirsiniz. Çünkü AsmOne, hataları makronun içinde değil makronun çağırıldığı yerde verecektir. Bu yüzden aşağıdaki konulara dikkat edin;

Açıklama (comment) satırlarını makroların dışına yazın.

2. Makro içinde | karakterini argümanlar dışında bir amaç için kullanmayın. 3. Makro tanımları içinde gereksiz hiçbir karakter kullanmayın.

Include Dosyaları ile Çalışmak

Include dosyaları C'den bildiğimiz include dosyaları ile aynı işi görürler. “.i” uzantılıdırlar ve içerikleri AsmOne ile derlenebilecek şekildedir. İçlerinde çok çeşitli tanımlar, tipler (types), yapılar (structure), makro tanımları ve sabitler (constants) vardır. Commodore firmasının yayınladığı “Includes & Autodocs” dosyalarını bulup hard diskinize ve bir diskete kopyalayabilir ve AsmOne'ın içinden yüklenerek kullanabilirsiniz. Autodoc'lar tüm kütüphanelerin tüm fonksiyonlarını açıklayan yardım dosyalarıdır.

Ayrıca bu dosyalara ek olarak kütüphane ofset değerlerini barındıran LVO (Library Offsets) dosyaları vardır. Bu dosyalar çoğunlukla include klasörünün içinde LVO isimli ayrı bir klasörde dururlar. Bu dosyaları include ettiğinizde fonksiyonlar için ofset değerlerini ezbere bilmenize gerek kalmaz. Aşağıdaki örneği inceleyin:

incdir Tinelude:" include "exec/types.i" include lib.i"

CALL: MACRO İsr ENDM

(a6)

; Open Gfx Library ; move.l lea

$4.w,a6 gfxname CALL OpenLibrary move.l d0,gfxbase beg.s NoGİx

Burada önce gerekli dosyalar include edilmiş, fonksiyon çağırma işlemini kolaylaştırmak için bir makro tanımlanmış ve OpenLibrary fonksiyonu çağırılmıştır. exec_lib.i dosyası include edilmemiş olsaydı CALL yerine jsr -552(a6) yazmamız gerekecekti.

“types.i” dosyası ise tüm ön tanımlı ifadeleri barındırır. Herhangi başka bir dosyayı include etmeden önce bu dosyanın include edilmesi gerekir.

Ayrıca bu dosyaların içine bakarak da çok şey öğrenebilirsiniz. İçlerinde pek çok yararlı açıklama vardır.

Incdir "include:" ifadesinde tam yolu vermek yerine daha önceden yapılmış bir assign kullanılmıştır. CLI penceresinde assign komutu vererek assign'ların listesini alabilir ve yenilerini ekleyebilirsiniz. Ya da dilerseniz include dosyalarının tam yolunu yazabilirsiniz. INCDIR ifadesini kod içinde herhangi bir yerde tekrar vererek farklı klasörlerle çalışabilirsiniz.

Ayrıca belirtmekte fayda var; pek çok include dosyasının derlenebilmesi için ayarlarınızda UCase — LCase'in kaldırılması gerekir. Bazı durumlarda label'lar için : zorunluluğunu da kaldırmanız gerekebilir.

Sonsözler

AsmOne/Pro kullanımı hakkında uzunca bir yazı oldu. Son olarak şunları ekleyebiliriz; AsmOne/Pro çok kullanışlı editörler olsa da bug'ları vardır, o nedenle çalışırken kodlarınızı hard disk ya da floppy diske kaydetmenizi öneririm. Benim yaptığım gibi RAM diske kaydetmeyin, aksi halde makineniz kilitlendiğinde kodlarınızı kurtaramayabilirsiniz.

Kodlarınızı yazarken her zaman label'ları en sol sütuna, komutları ise en az 1 tab karakteri ileriye yazın. Bu sadece okunabilirlik için değil, sebebini anlamadığınız birçok hata mesajını da almanızı engelleyecektir.

Sonraki sayıya kadar hoşça kalın.

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