Amiga Dünyası sayı 18, sayfa 24

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 24

Çıktı, çıkacak derken sonunda Seka Assembler derleyicisinin en son ve gelişmiş versiyonu olan 1.75'de çıktı. Artık Assembler'cıların değmeyin keyfine... Ben de bundan sonra bu compiler'ı kullanacağım. Programcılara her türlü kolaylık sağlayan bu yeni versiyonda, eskilere göre eklenen bir sürü şey var. Bunlar gadget ve requester'lar kullanan dosya okuma / yazma / silme pencereleri. Aşağıda bütün bu fonksiyonları teker teker tanıtacağım. Fakat ilk önce belirtmem gerekir; şimdiye kadar MasterSeka geliştirme tekelini elinde tutan programcı Buddha, bundan herhalde sıkılmış ki, işi Subway grubundan arkadaşı George H'ye devretmiş.

MasterSeka'ya eklenen bir sürü fonksiyonun en ilgi çekicilerinden biri, kendine ait bir start-up script dosyası olması. Bu sayede MasterSeka yüklenirken belli parametre ayarlamaları otomatik olarak yapılır. Bu script dosyası ya disketin <s>, ya <devs> ya da ana directory'sinde olmalıdır. İsmi, 'MASTERSEKA.STARTUP'. Bu dosya herhangi bir text editörle hazırlanabilir. Burada kullanacağınız komutları aşağıda açıkladım. Unutmayın, yarattığınız dosyada her komut ayrı bir satırda olmalıdır. Bu script komutların her birini Seka'yı CLI'dan çağırdığınızda da kullanabilirsiniz. Bunun için CLI'da Seka'nın disketteki ismini yazdıktan sonra aralarına birer boşluk vererek komutları parametreleriyle kullanmanız yeterli olacak.

-a <adres>: Seka'nın çalışma alanının belirtilen hafıza adresinden sonrasına yerleştirilmesi sağlanır. Bu sayede kritik adresler olan $10000-$30000 arası adreslerde çalışan bir program hazırlıyorsanız, Seka'yı başka bir adrese atarak bu bölgeleri de kullanabilirsiniz.

-b <flag>: Bu komut, scroll çubuğunun yerini belirlemek için kullanılır. Bu çubuk sayesinde Seka'nın editöründe istediğiniz yere kolaylıkla gelebilirsiniz. Bunun için de sadece çubuğu klikleyip istediğiniz yönde (aşağı ya da yukarı doğru) kaydıracaksınız. Editör içinde gözüken source alanı da otomatik olarak scroll çubuğuna göre kayacaktır. Komutta flag yerine girilen parametre 0 olursa, scroll çubuğunun kullanılmayacağını tanımlar. Scroll çubuğunu editörün sağ tarafında isteyenler 1, sol tarafında isteyenler ise 2 değerini kullanmalıdırlar.

-c <boyut>: Chip memory'de ($0-$7ffff) çalışma alanının boyutunu belirlemeye yarar. Çalışma alanı KByte cinsinden girilmeli.

-e <satır>: Editörün satır sayısını belirlemeye yarar.

-h <boyut>: History fonksiyonun kaç aşama geriye kadar gidebileceğini belirler.

History fonksiyonu sayesinde <yukarı ok> ve <aşağı ok> tuşlarını kullanarak istediğiniz adım önceki komutun tekrar Seka'nın komut gönderim satırında girebilirsiniz.

-/ <flag>: Bu komut yardımıyla, editördeki satır numaralarını açıp kapayabilirsiniz. 0 değeri satır numaralarını silecek, 1 değeri ise tekrar yazacaktır.

-r <tip>: Bu komut, hangi requester tipini tercih ettiğinizi tanımlamak içindir. Seka, iki tip requester library'sini de kullanabiliyor. Bunlar ünlü REQ.LIBRARY ve ARP.LIBRARY'dir. İlki, disket kullananlar için daha yararlı; zira son okunan directory'i aklında tutar. Bu sayede her yükleyişte directory'i okumak için beklemeyezsiniz. Fakat bunun dezavantajları da var. Req.library hafızadan yaklaşık 50 KByte kendisine ayırmakta. ARP.LIBRARY ise harddisk kullananlar için düşünülmüş. Hafızada çok az yer kaplamakla beraber, diğer library kadar lüksleri mevcut değil. Artık tercih sizin. Yükleme, kaydetme ve silme gibi fonksiyonlarda karşınıza çıkacak olan pencereyi dileğinizce belirleyebilirsiniz. 0 değeri, hiç library kullanılmayacağını belirler. 1, ARP'ın; 2 ise REQ library'sinin kullanılacağını tanımlar. Bu arada, bu iki library'den birini kullanıyorsanız, libs directory'sine gerekli library dosyasını da koymayı unutmayın. Her iki library dosyası da utility disketlerinde kolaylıkla bulabilirsiniz.

-s <bitplanes>: MasterSeka ekranının window'da mı yoksa screen'de mi olacağını belirler. 0 değeri window açılmasını sağlar. 1 değeri, tek bitplane'lik (2 renk) screen, 2 ise 2 bitplane'lik (4 renk) screen kullanılmasını sağlar.

-w <x> <y> <en> <boy>: Window kullanımında pencere boyut ve koordinatlarını belirler. <x> ve <y> değerleri pencerenin sol üst köşesinin ekran üzerinde hangi koordinatlarda gözükeceğini belirler. <en> ve <boy> değerleri ise pencerenin boyutunu belirler. Normal PAL/NTSC boyutlarını kullanmak istiyorsanız, her parametreyi 0 konumuna getirin.

-w+ <x> <y> <en> <boy>: Deminkinin aynısı, yalnız verilen değerler yardımıyla

Cem GENCER screen boyutları tanımlanmış olur.

-x: MasterSeka, workbench ortamı üzerinden çağrıldığında (ikon kullanarak) Workbench'in kapatılmasını ve bu sayede 44 KByte tasarruf edilmesini sağlar. Ehh. start-up dosyasının komutları bu kadar. Gelelim MasterSeka v 1.75'in diğer fonksiyonlarına. Sıradaki komutlar Seka'yla çalışmada direkt olarak girebileceğiniz komutlardır.

= : Global bilgilerin gösterilmesini sağlar. Bunlar sırasıyla çalışma alanı (Work), source'un bulunduğu bölge (Src), cut/ copy'de kullanılan buffer'ın yeri (Paste), programın relatif kısmının yeri (RelCC) ve programın kendisinin bulunduğu bölgedir (Code). Her birinin yanında o bölgenin başlangıç ve bitiş adresi yazar. Her satırın en sonunda da bölgenin byte olarak uzunluğu görülebilir. <h> komutu da aynı işlevi görmektedir.

=s: Sembol tablosunun görüntülenmesini sağlar. Bu, bir source compile edildikten sonra özellikle hata aramalarda bir hayli işe yarar. Bu tabloda label'ın adı ve hemen yanında adresi verilir. Tablo beş kolondur. Şayet programınızın başında org ve load komutlarını kullanmamışsanız, bütün label adresleri relatif değerler olarak görülürler. Bu, gerçek label adresini bulmak için tablodaki değere programın başlangıç adresini eklemek gerektiği anlamına gelmekte. Böyle bir durumda zaten sembol tablosunda adres yerine yazan değerlerin hemen sağında bir <+> işareti de bulunur. Programınızı adrese bağımlı olarak (org/load kullanarak) yapmışsanız, tabloda göreceğiniz tüm değerler gerçel adreslerdir.

> [isim]: Bu komut yardımıyla Master- Seka çıktılarını bir dosyaya ASCII karakter olarak gönderebilirsiniz. Bu sayede sembol tablosunu, hafıza dökümünü daha rahat olarak incelemeniz mümkün. Yalnız dosyayı kapamak için tekrar bir [>] işareti vermeyi unutmayın. Bu dosyaya neler mi kaydedilebilir? Tüm çıktısı olan komutların çıktıları direkt olarak dosyaya da kopyalanacağından q, d, n, =, =s, h, a gibi tüm komutlar kullanıldığında ekrana basılan karakterler dosyaya gönderilir.

? [işlem]: Herhangi bir matematiksel işlem yapmak ve bunun sonucunu görmek için kullanılır. Bu işlemler +, -, *, /, A (üs alma), & (matematiksel AND) ve ! (matematiksel OR)'dur. Ayrıca bu komutla herhangi bir sayının dec, hex, ASCII ve binary karşılıklarını da görmek mümkün; zira sonuçlar her zaman her dört sistemde de gösterilmekte. Dec sayıların başında #, hex sayıların başında $ ve binary sayıların başında % görülür. Değer girerken dec'in başındaki # işaretini boşverebilirsiniz. İşaretsiz sayılar dec sayı sisteminde algılanılır. @ [komut]: Herhangi bir CLI komutu'nu gerçekleştirmeyi sağlar, Bunun için komutun ve RUN komutunun disketin c- directory'sinde olması şart. a [adres]: Adres verildiğinde direkt hafızaya komut yazmayı sağlar. Adres verilmediğinde hafızadaki source’u compile ederek çalışmaya hazır hale getirir. Bu komutun ikinci şekliyle kullanılışında size ' Options:' sorusunu soracaktır. Burada kullanabileceğiniz tercihleri daha aşağıda detaylı olarak açıkladım. b: Source'un en son satırına gitmenizi sağlar b[adres]:Verdiğiniz bir adres için bootblockchecksum (kontrol toplamını) hesaplar ve size yenisiyle eskisini bildirir. Bunu, sadece bootblocklu diskete yazmadan önce kullanmalısınız. c:İki hafıza alanını birbiriyle karşılaştırarak aralarındaki farklılıkları gösterir. Sizden istenen değerler şöyle ‘Beg’ ve 'End’ ilk bölgenin başlangıç ve bitiş adreslerini belirler. ‘Dest’ ise ikinci bölgenin başlangıç adresini belirler. cl: Hafızadaki source’u silmenizi sağlar. (ks komutu ile aynı)

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