BASIC Derleyiciler
ASIC'le program yazmak iyidir de, o öldürülen yavaşlığı olmasa hayat daha kolay olacaktır. Yeni başlayan bir acemiden, profesyonel kullanıcıya kadar herkesin uygulamalarında rahatça kullanabileceği BASIC dilini geliştirmek çeşitli uygulamalar yapılmıştır. Programlarınızın içinde bir sürü komut ekleyen BASIC veya "programlama sırasında direkt modda vereceğiniz bir sürü komutla işinizi kolaylaştıran Sysres gibi birçok yardım paketleri vardır. Ama bunlar da aynı dertten muzdariptir: süründüren bir yavaşlık.
kullanmak, işlemleri belirli bir sırayla ve düzenli olarak yaptırmak, alt programcıklar yazarak bunları çok amaçlı kullanmak gibi. Ama yine de göz kamaştıran bir hız içbir zaman mümkün değildir BASIC'le. Acaba? Bu sorunun yanıtını biraz sonra vereceğiz. Makine dili ise kesinlikle her amaca hizyay mari programcılığa geldiğinizde makihiç de kolay değil, neredeyse imkansızdır. BASIC, makine dilini burada sollar işte: çünkü BASIC kullanıcıya çok yardımcıdır.
ğişkenlerin değerlerini okuyabilir ve kaldığınız yerden hiçbir şey olmamış gibi devam edebilirsiniz. Hatta yardımcı bazı programlar sayesinde programın hangi satırı çalıştırdığını bile ekranda görebilirsiniz. Bu iki dilin ana farkı BASIC'in yorumlanması gerektiğidir. Zaten yavaşlığı da buradan gelmektedir. BASIC'te verilen komutlar öncelikle “interpreter' adı verilen başka bir program tarafından yorumlanırlar. Yani siz PRİNT komutunu yazdığınız zaman yorumlayıcı program önce bu komutun olup olmadığını kontrol eder, ardından bu komuta ait başka bilgilerin olup olmadığına bakar ve sonunda da komutu işleme koyar. Bu işlemin en büyük zaman alan yeri yorumlanmasıdır. Yoksa bir komutun işleme konması yine makine dilindeki rutinler yardımıyla olur. Yüksek seviye dilleri denen Pascal, C, Fortran gibi diller ise bu iki uç arasında bir yerde bulunurlar. Bu dillerin yapısı BASIC'- ten de makine dilinden de farklıdır. BASIC'- in komutları yorumlanıp sonra işleme konur ve makine dili komutları direkt olarak çalışır, ama yüksek seviye dilleri denen bu garip şeylerin çalışması bunlardan farklıdır. Yüksek seviye dilleri ile yazılan programlar derleyici adını verdiğimiz programlarla direkt olarak makine diline çevrilebilirler. Bu diller ile yazılan programlarda kullanılan tüm komutlar için makine dilinde kısa rutinler oluşturularak programların çok hızlı çalışması sağlanır. Ancak bu programlarda da değişkenleri görmek, bir satırı değiştirdikten sonra işleme devam etmek mümkün değildir. Tüm programın derlenip tekrar çalıştırılması gerekir. Bir program mükemmelliğe erişene kadar 100 defa durdurulup çalıştırılması, degerektiği için yüksek seviyeli diller ile çalışmak acemiler için eziyet olabilir. Profesyonel proframcılar ise dilin yapısını ve komutların dizimini iyi bildikleri için kolaylıkla program yazabilirler. Zaten bu tür diller genelde önceden yazılmış rutinlerin başka programların içinde kullanımına izin verdiğinden bir rutin bir kez yazıldıktan sonra bin kez başka programlarla birlikte kullanılabilir.
Peki BASIC kullanan acemi, amatör ve-
ya yarı profesyonel bir kullanıcı bu yavaşlık derdinden nasıl kurtulabilir. Bu soruya en kolay yanıt hiç kuşkusuz derleyici kullanımı olacaktır. Yüksek seviye dilleri makine diline çeviren derleyici programlar BA-SIC için de yazılmıştır. Bu programlar bazı komutları anlamamakla birlikte birçok komutu, hatta bahsettiğimiz BASIC geliştirici dillerin komutlarını bile makine diline çevirebilmektedirler. Böylece BASIC'in yardımcı ortamında hazırlanıp en iyi haline getirilen bir program derleyici kullanılarak makine diline çevrildiğinde yüksek hızla sorunsuz olarak çalışabilecektir. BASIC derleyiciler iki ayrı mantığa göre çalışırlar. bunlardan ilki olan sistem BASIC'- ten yaklaşık on kat daha hızlı çalışan pseudo code veya speed code denen bir sisteme dayanır. Yalancı kod veya hızlı kod diyebileceğimiz bu sistemde derlenen BASIC programdaki komutlar yerine, bir tablodan okunan veya daha hızlı çalışan program parçacıkları yerleştirilir. Ancak bunlar ne makine dilinde ne de BASIC'tedir. Derlenmiş programın BASIC'ten daha hızlı bir yorumcusu vardır. Yani bu sistemle derlenen programların çalışması sırasında komutlar işlenirken yine, önce anlaşılıp sonra tablodaki program parçacıklarına göre çalıştırılırlar. Derlenmiş bir programı makine dili ile listelerseniz pek bir şey anlamazsınız çünkü program tamamen kendine göre başka bir dille yazılmış gibidir. Bu sistemle derlenen programlar makine diline göre kısa ve BA-SIC'ten daha hızlı olmakla birlikte, komutları ayrı ayrı yorumlanıp işlendiklerinden, makine dilinden yavaş olacaktır. İkinci sistem ise komutların yerlerine tek tek makine dili programlar yazılmasına dayanır. Bu şekilde derlenen program biraz uzun olabilir ama hızı müthiştir. Çünkü tüm komutların tam makine dili karşılıkları kullanılmaktadır. Ancak derleyiciler tüm komutları derleyemezler. Örneğin For/Next döngülerinde zaman zaman kullanılan Step komutu BASIC derleyiciler tarafından derlenemez. Eğer iki veya daha fazla adımla çalışan döngüler kuruyorsanız bunun yerine For/Next yerine If/Then döngüsü kullanmanız daha kolay olabilir. Aslında en iyisi kendi yazdığınız ve mantığı kavradığınız bir program derlemektir. Çünkü bir yerde hata çıktığında hatayı düzeltmek, döngüleri değiştirmek veya aynı işlem içinde başka bir yola başvurmak sizin açınızdan çok kolay olacaktır. Başka birisinin programına yapacağınız değişikliklerin nasıl etkiler yaratacağını bilmeniz ise çok zordur. Derleyiciler programları genelde iki seferde makine diline çevirirler. İlk seferde derleyici BASIC programı inceleyerek yorumlar ve kendi anlayabileceği en iyi şekle getirir. Burada satırlar ve mantıksal satırlar belirlenir. Mantıksal bir komut satırı ilk nokta işaretiyle başlar. Yani tek bir ekran satırında birkaç mantıksal komut satırı olabilir. Derleyicilerin özelliklerine göre hatalar, Rem satırları ve ek komut içeren satırlar da bu seferde belirlenir ve ekranda gösterilir. İkinci seferde ise derlenmiş program yaratıhır, bunu çalıştıracak olan sürücü programla birleştirilir. Tüm derleyiciler disk sürücü gerektirirler. Çünkü derleme işlemi sırasında orijinal program satır satır diskten okunur, derleyici programın kendi referans dosyaları disk kaydedilir, eski dosya silinir ve diske birkaç ayrı dosya yazılır. Şu anda Türkiye piyasasında derleyici olarak üç program bulunmaktadır: Austro Compiler, Blitz Compiler, BASIC 64 Compiler. Austro ve Blitz kullanıcıya fazla olanak sağlamadan programların derlenmesine girişirler. Ancak BASIC 64 Compiler, Commodore 64 için yazılmış en iyi derleyici programdır. Kullanıcıya sağladığı olanaklar ve BASIC programa yerleştirilen çeşitli işaretlerle derleyici sistemine mesajlar iletmesi bu derleyiciyi diğerleri arasında seçkin bir yere getirmiştir. Derleyicilerin ne iş yaptığını anlattıktan sonra, şimdi de kısaca her bir programa şöyle bir göz atalım ve özelliklerini inceleyelim. Birkaç örnek program ile hızlarını ölçtüğümüz derleyicilerin karşılaştırmalarını tabloda görebilirsiniz.
Austro Compiler
Austro Compiler, derleyici programlar arasında en kısa olanıdır ve genellikle derlediği programlar da diğerlerinin derlediklerinden daha kısa olur. Programı çalıştırdığınızda sizden hemen dosya ismi istenir ve adı yazıp RETURN'e basmanızdan sonra derleme işlemine girişilir. Derleme işleminden sonra dosya C/dosyaadı ile kaydedilir. » Bunun yanında BASIC program satırlarına derlenmiş programda karşılık gelen adreslerin yazıldığı Z/dosyaadı adlı bir dosya daha kaydedilir diske.
Blitz Compiler
Blitz Compiler ile Austro Compiler aslında aynı kökten gelmektedirler. Uyguladıkları sistemler ve ekran düzenleri bile çok benzeşmektedir. Ancak Blitz'in Austro'dan en büyük farkı derleme işlemini tek veya çitf sürücülü sistemler üzerinde yapabilmesidir. İlk menüdeki seçenekler sırasıyla tek sürücülü sistemler, birleşik çift sürücülü sistemler ve iki ayrı sürücülü sistemler için derleme menülerine girmenizi sağlar. Tek sürücülü sistem aynen Austro Compiler gibi çalışır. Yani dosya adını verdikten sonra derleme yapılır ve C/dosyaadı ve Z/dosyaadı isimli iki dosya kaydedilir. Birleşik çift sürücülü sistem, Türkiye'ye hiç gelmemiş bir sürücü tipidir. Aynı cihaz üzerinde iki sürücü vardır. Bu cihaz bilgisayar tarafından device (cihaz 8) olarak tanınır. Yani bu cihaza gönderilen tüm komutlar sekizinci cihaza gönderilir. 64'ünüz bu tür cihazlar üzerindeki iki ayrı sürücüyü de drive0 (sürücü0) ve drivel (sürücül) olarak ayırır. Yani bu cihaza gönderilen komutlar, örneğin format komutu, her iki sürücü üzerinde de gerçekleştirilir. Ayrı ayrı komutlar vermek için ise sürücülere (drive0 ve drivel) komut göndermek gerekir. Mesela, format işlemi için NO: ve NI: komutları kullanılır. Bu cihaz üzerinde yapılacak derleme işlemlerini, iki sürücülü sistemlerdekiyle aynı olduğu için ve sanırız kimsede bu cihaz bulunmadığı için açıklamayacağız. Eğer böyle bir cihaza sahipseniz bir sonraki paragraftakileri kendi cihazınıza göre uygulayın. İki sürücülü sistem menüsüne girdiğinizde ise ilk önce size sorulan BASIC programın hangi diskten okunacağı ve derlenmiş programın hani diske yazılacağıdır. Yani sü- Tücü sayısını belirteceksiniz. 8'den 9'a gibi. Bundan sonra size dört seçenek sunuluyor. İlk seçenekte ana diskten tek bir program derlenmesi, ikinci seçenekte tüm programların makine dili olarak derlenmesi sağlanır. Üçüncü seçenekte ise ilk dosya hariç hepsinin derlenmesi yapılır. Son seçenekte aynı değişken setini paylaşan farklı programların ardarda derlenmesi sağlanır. Ancak programlarınızın içine diğerlerini yükleyecek komutlar yazmayı unutmayın.
BASIC 64 Compiler
Diğer derleyici programlardan daha gelişmiş ve daha hızlı olan bu programın mümkün olduğunca açıklamasını yapacağız burada. Çeşitli yöntemler kullanarak derleme yapabilen BASIC 64'de menüler yardımıyla kolaylıkla kullanılmakta ve derlemeden sonra önemli bilgileri kullanıcıya vermektedir.
Bir programı derlemek için, öncelikle hazır BASIC programınızı bir diske kaydedin. Diskte yeteri kadar boş yer olmasına dikkat edin, çünkü biraz önce bahsettiğimiz sebeplerle uzunca bir programın derlenmesi sırasında diskte 300 blokluk yer kullanılabilir. Daha sonra BASIC 64'ü yükleyin ve programı çalıştırın. Diskin ışığı bir süre yanacak, sonra sönecek ve karşınıza programın ana ekranı gelecektir. Şimdi derlenecek programı içeren çalışma diskinizi sürücüye takın. veya RETURN tuşuna basın (RE-TURN tuşu derleyicinin 1'inci yöntemi kullanacağını belirtir). Daha sonra programınızın adını yazın ve tekrar RETURN'e basın. Derleyici, programınızı hızlı koda çevirecektir. Derlenen satırın numarası ekrana yazılacaktır. Eğer derleme sırasında bir hatayla karşılaşılırsa derleyici hata mesajını ekrana yazar. Derleyici işini bitirdikten sonra READY mesajını verir. Bu noktada N tuşuna basmak başka bir programın derlenmeyeceği mesa-
TI 4284 1249 1030 984 814 408 programın yer kapladığın sonra gelen harflerden P, hızlı kod üretimi ve M makine dili üretimidir. Bu harfleren sonra gelen sayılar ise optimizer numarasını gösterir.
Ekran temizleme programının grafik ekranını temizlemek için harcadığı
terilmiştir. Blok sayısı
diskte kaç blok
zamanlar gös- 1 gösterir. Basic64'te
1.82
Basic64 M2 Tablo 2:
DS 20 4.41 3.02 8.75 2.48 2.12
1.37 2 jını verir. Herhangi başka bir tuşa basmak işe devam etmek üzere programın ana menüsüne döner. Eğer derleme sırasında hata bulunmuşsa orijinal BASIC programı düzeltmeli ve derleyiciyi tekrar çalıştırmalısınız. Eğer hata bulunmamışsa BASIC 64 derlenmiş programı P-programadı ismiyle diske kaydeder. Örneğin orijinal programınızın adı TEST ise derlenen programın adı P-TEST olacaktır. ten normal olarak yükleyip RUN komutunu vermeniz yeterlidir. derlenmiş bir programın çalışması esasında bazı hatalar ortaya çıkabilir. BASIC program tarafından verilecek olan hata mesajının aynısı derlenmiş program tarafından da verilir. Ancak satır numarası yerine hafızada hatanın oluştuğu adres verilir. Adres listesine bakarak orijinal programdaki hatanın nerede olduğunu kolayca bulabilirsiniz. Bu işlemi daha ileri de detaylı olarak açıklayacağız. Programa girdiğiniz anda derleyici olarak optimizer denen en iyi seviyeyi bulan sistem olarak seçilmiştir. RETURN tuşuna basarak bu işleme başlayabileceğinizi
programın hızları ölçülmüştür. Her bir çeşit sıralamanın süreleri çeşitli derleme tipleriyle karşılaştırılabilir. barcık; SM, Shell-Metzner; GS, guicksort ve DS,
2 sistemi seçilir. Bu iki derleme sisteminin tek farkı programın derlenmesi aşamasında Optimizer-1 genel olarak BASIC yorumlayıcısı ile aynı tabana dayarlır. Hesaplamalar sayılar -32768 32767 arasındayken tamsayı cinsinden yapılır. Bu sınırların dışına düşen sayılar ondalıklı sayılara dönüştürülür. Optimizer-1 tamamen BASIC uyumlu olduğu için programın işleyiş şekli değişmez ve sadece hızı artırır. hesaplarında tamsayı kullandığı için siz de değişkenlerinizde işaretini kullanırsanız bu, hızı büyük ölçüde artıracaktır. *2” tuşuna basarak gireceğiniz optimizer- 2, ve BASIC'ten birkaç noktada ayrı düşer: Kelime dizisi (string) değişkenleri hariç, tüm değişkenler tamsayı olarak işlenir. Yani derleyici otomatik olarak değişkenlere “We” işaretini ekler. sayı olarak yapılır, yani ondalık hesabı yapılmaz
Optimizer-2'nin en iyi kullanım alanı karışık değişkenler kullanan veya tamsayı değişkeni kullanılmasına izin vermeyen programlardır.
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ı:
I- değişken, değişken, ...
Bu en çok kullanılan derleyici komutudur. Ondalıklılar da dahil olmak üzere tüm değişkenler programın hızlı çalışması için derleyici tarafından tamsayıya çevrilirler. Ancak bazı durumlarda ondalık sayı hesabı gerekebilir. Bu komut sadece optimizer-2 ile kullanılmalıdır. - Makine dili yaratıcısının açılması:
REMâ M
Bu satırdan sonra derleyici makine dili olarak derleme işlemine devam eder. Derlenen program çalıştırıldığı zaman da buradan itibaren makine dili işlemeye başlayacaktır. - Hızlı kod yaratıcısının açılması:
REMG P
Bu satırdan itibaren derleyici işleme hızlı kod yaratarak devam edecektir. (?M ve komutlarının kullanılması dikkat gerektirir. Özellikle Goto ve Gosub komutlarının bekod bölgesinin dışına çıkmaması gere
O1 için) O2 (optimizer-2 için)
Bu komut derleme sırasında optimizer değiştirilmesini sağlar. Sadece bundan önce kullanılmamış değişkenler etkilenecektir. - Ondalık sayı değişkeni tanımlanması:
REM R- değişken, değişken, ...
Listelenen tüm değişkenler ondalıklı sayı hesabı ile işleneceklerdir. Bu komut sadece optimizer-2 ile kullanılabilir.
10 FOR 1-1 TO 1000
20 A:
30 NEXT
Bu programı optimizer-2 ile derlemek için şu satırı eklemeniz gerekir:
R-A
- Kaset tampon hafızasının boşaltılması:
REM S- adres Derleyici kolay erişilmesi açısından kaset tampon bölgesini değişkenler için kullanır. Kendi kullanımınız için burayı ayırmak isterseniz tamponun bitiş adresini vermeniz yeterlidir. Örneğin:
S- 1024
Tüm derleyiciler için BASIC programların sahip olması gereken veya kullanılması yararlı olacak bazı özellikler vardır. Aklınızda tutmanız gereken birkaç tanesini şöyle sıralayabiliriz: - Goto/Gosub komutları Return'den daha yavaş çalışır. - If/Then döngüleri, For/Next döngülerinden daha yavaş çalışır. - Goto/Gosub atlamalarının hızı atlanan miktarı ile orantılıdır. - Boşluk kullanmak programın daha rahat okunmasını sağlar ama çalıştırılma süresini etkilemez. - Dizileri mümkün olduğunca programın ilk satırında tanımlayın. - Eğer bir program çoğunlukla Data satırlarından oluşuyorsa, büyük ihtimalle zaten makine dili bir program yaratıcıdır. Bu derlemek hızdan fazla kazandırmayacaktır. - Bir programı derlemek istiyorsanız işlemesini çok iyi anlamalısınız. O yüzden mümkün olduğunca kendi programlarınızı derleyin. Üç derleyici programı karşılaştırırken bazı sorunlarla karşılaştık. Örneğin, Austro ve Blitz satırların en başındaki iki nokta işaretlerini kabul etmeyip hata veriyorlar. Bu yüzden programın düzgün okunması için satırları içeriden başlatmayın. Ayrıca dosya isimleri aynı olacağı için deneme yaparken dosya isimlerini değiştirmeyi unutmayın. Austro ve Blitz'in derlenmiş dosya adları aynı şekildedir. Karşılaştırma sırasında kullanılan programlardan biri grafik ekranına geçip orayı temizleyen bir döngüdür. Diğeri ise daha önce dergimizde yayınladığımız ve data sıralamalarına yönelik bir programdır. Sıralama tekrar listesini vermiyoruz. Ekran temizleme programı ise şöyledir:
10 POKE 53265,59:POKE 53272,29
20 TI$ — “000000”
30 FOR T<0 TO 8000:POKE 81924 T,0:
NEXT
40 PRINT “CLR/HOME” TI$,TI:POKE
53272,21:POKE 53265,27