Commodore sayı 74, sayfa 12

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 12

Optimizer-2 için tipik bir uygulama şöyle olabilir:

10

(RND(1)*1000) gibi ondalıklı bir hesaba bağlı olsa bile A değişkeni bir tamsayıdır. Optimizer-2 bu programı kolaylıkla derleyecektir. Optimizer-2 ile derlenecek programlarda mümkün olduğunca az sayıda ondalık sayı kullanılmalıdır. Ondalıklı sayı kullanılacağı zaman orijinal BASIC program içinde REM GR - komutu kullanılarak derleyiciye burada ondalıklı sayı kullanılacağı belirtilmelidir. Bu konuyu ileride açıklıyoruz. Optimizer-2'nin diziler üzerinde etkisi “04” işareti eklenmelidir. BASIC 64'ü kullanırken, en sonda anlatılanlardan ayrıca şu noktalara özellikle dikkat edin: - Bir dizinin boyutu bilinmediğinde derleme esnasında kullanıcıya sorulur. Örneğin:

10 INPUT X:DIM A(X)

satıri derlenirken X (yazılır ve bir soru işareti konur. Buraya sizin yazacağınız değer o dizinin alabileceği en büyük değerdir. Bu işlem sadece boyutu bilinmeyen diziler için uygulanır. - Ayrı bir çalıştırma programı (runtime modül) yaratmak için şu programı derleyin: 10 REM Ayrı bir RUNTIME modülü için bu programı derleyin Programın sunduğu en önemli özellik ise derleme sırasında uygulanacak işlemleri kontrol etmenizi sağlayan Advanced Development (ileri geliştirme) paketidir. Ana menüde *3'e basarak geleceğiniz bu menüde karşınıza uzunca bir liste çıkacaktır. Bura- A- BASIC programın makine dili, hızlı kod veya kodsuz olarak derlenmesini Eğer makine dili olarak derleme yapacaksanız optimizer-2'yi kullanın. Optimizer-İ ile makine dili olarak derleme yaparsanız, hızlı koddan daha hızlı olacaktır ama zaten makine dili olduğu için tam sayı işlemi yapıla- M-önekini alacaktır. B- Derlemeden önce yüklenmesi gereken sembol tablosunun adını girmenizi sağlar. Bir sembol tablosu aynı değişkenleri kullanan derlemiş programların çalıştırılması sırasında gereken bir karşılaştırma listesidir. C-Bir sembol tablosunun diske kaydedilmesini sağlar. Daha sonra bu sembol listesini ekrana veya yazıcıya dökebelirsiniz. D- Bir adres listesi yaratır. İstenirse bu adres listesi diske de yazılabilir ve dosyaadı”,8 komutuyla yüklenip listelenebilir. Hafıza adresleri ekranda solda, satır numaraları ise sağ tarafta yer alır. Derlenen programın çalışması sırasında hata olursa bu liste yardımıyla BASIC program satırı incelenerek sorunlar giderilebilir. E- Hafıza sonunu değiştirmenizi sağlar. Normal hafıza sonu 65535 kabul edilmiştir. BASIC'in bitiş adresi ise 40960'tır. F- Derlenmiş programın başlangıç adresini yükseltmenizi veya düşürmenizi sağlar. modülü denen ve derlenmiş programın çalıştırılmasını sağlayan program parçasını ayrıca yükleyip çalıştırmanızı da sağlar (bu aşağıda açıklanmıştır). Bu yüzden programınızın başlangıç adresini hafızada daha ileriye koymanız gerekir. 16384 başlangıç için iyi bir noktadır. G- Runtime modülünün programa bağlanmasını kontrol eder. Bazı durumlarda, örneğin maske özelliği kullanılırken birkaç program birleştirildiğinde, runtime modülünün ana programllar)dan ayrı olması gerekebilir. bu hem zaman, hem de diskte yer tasarrufu sağlar. H- BASIC'e yardımcı programların da derlenmesini sağlar. Bu genişletici programlardan kabul edilenleri BASIC, Victree (Exbasic II), BASIC 4.0 ve diğerleridir (others). Bu listedekilerden başka bir genişleme programınız varsa Others seçeneğini kullanmanız gerekir. Bu sefer başlangıç adresi gibi birkaç başka parametre daha sorulacaktır size, Genişletilmiş BASIC komutlarının kaç bayte olarak tanımlandığını belirtir. Normalde bu sayı birdir. Simons' BASIC için bu sayı iki olmalıdır. J- Else komutunu bulur ve düzgün olarak derlenmesini sağlar. K- Derleme sırasında hatayla karşılaşıldığında ne yapılacağını belirler. Yani bir hata oluştuğunda derleyici durmayacaktır. BA-SIC programınıza 0. satırı eklemek hata sis- L- Karakter dizilerinde sorun yaratabilecek olan maske özelliğini kaldırır. M- Diske komut göndermenizi sağlar. Komut işlendikten sonra diskin durumu yazılır. Maske özelliği tuşuna basılarak seçilir ve aynı set değişkenleri kullanan programların ardarda derlenmesini sağlar. Bu özelkullanmak için önce ana menüden '4” tuşuna basarak maske menüsüne girin. Burada “1” tuşuna basarak ilk seferi yapacağınızı belirtin. Şimdi ana menüye döneceksiniz.

basarak programınızı derleyin. Bu maskelemenin ilk seferi olduğu için derleyici normal davranmayacaktır. Derleme bittiğinde çıkan mesajında RETURN'”e basın. Ana menüden maske menüsüne tekrar girerek *2” tuşuyla ikinci seferi yapacağınızı belirtin. Yine ana menüden *1' tuşuyla programı tekrar derleyin. Bu işlemi kalan tüm programlar için tekrarlayın. Derleyici bu işlemlerin sonunda S-OVERLAY adlı bir değişken dosyası kaydedecektir. Önemli birkaç noktayı hatırlatmadan geçmeyelim: - Programlar birbiri içinde çağrılacağına göre, BASIC programların içindeyken gereken yerde yükleme komutunu vermeyi unutmayın:

999 BÖLÜM”,8

- Maskelenen programlardan ilki diğerlerinden uzun olmalıdır. 45 ve 46. adreslere Poke komutu vererek BASIC başlangıcını kesinlikle değiştirmeyin. - Bir maskenin yaratılması sırasında A$- “DATA” gibi karakter dizisi değişkenleri kaybedilir. Derleyiciye BASIC'ten komut da iletebilirsiniz. Derleme sırasında uygulanan işlemlerin değiştirilmesi ve farklı bölümlerin uygun şekilde derlenmesi açısından bu gereklidir. Bu komutlar BASIC programa bir 'REM&” ile başlayan bir satırın ardından verilir. Yani bir derleyici komut satırı her zaman şöyledir:

komut

Komutlar: - Değişken adreslerin ayarlanması:

A değişken — adres

Tanımlanan değişken verilen adreste tutulur. Örneğin tamsayı bir değişkeni sprite kontrol adresine vererek spite'ı kolaylıkla kontrol edebilirsiniz. Ancak 768'in altındaki adresler kabul edilmez, çünkü bu bölgeler sistem bölgeleridir. - Hata kontrolünün ayarlanması:

REME E satır numarası

Bu özellik alt menüden K tuşu ile de değiştirilebilir. Bu kontrol başlangıçta açıktır. BASIC programınıza 0. satırı eklemek de bu kontrolü açacaktır. Bazı BASIC geliştirici programlar da bunu sağlamaktadır. - Tamsayı değişkenlerin tanımlanması:

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