Satırları Birleştirelim Seyfettin ÇANKAYA
Bilindiği gibi Basic komutları(:) (iki nokta üstüste) simgesiyle yan: yana yazılabilir. Bunun sağladığı kazanç, işlemlerin daha hızlı yapılması ve program belleğinden olabildiğince ekonomik yararlanılmasıdır. Diğer bilgisayarlarda bir satır numarası altına yazılabilen karakter sayısı C-64'e göre fazladır. Aslında C-64'ün İnput Buffer uzunluğu fazla karakter girilmesini önlemektedir. Çünkü Input Buffer $0200-$0258 arasında $58 - 88 karakter uzunluğundadır.
Şimdi gelelim bizim programa. Bu program yardımı ile alt alta gelen satırları birleştirebilirsiniz. Böylece hafızadan kazanabilir, ayrıca bir satıra 88 karakter yerine 256 karakter yazdırabilirsiniz.
Önce programımızı yazıp sonra örnekleri girelim.
Aşağıdaki programı yazınız ve çalıştırınız. Data hatası mesajı verdiğinde data satırları kontrol ederek bir daha deneyiniz.
18 FOR TO 428
20 READ THEN SA
285 T-T4*0
30
40 NEXT
SA IF THEN END
68 PRINT"DATA HATASI"
DATAİSA,1İ,177,43,133,252,136,1İ77,43
DATAZS4A,133,252,160,A,24,144,223,24
32003
,288,237
DATASI,165,76,174,167,-1
READY.
Hata yoksa programımız SYS304 ile çalışır durumda demektir. Şimdi aşağıdaki örnek programa bakalım.
10 SAT
20 SATIRI 2"
ZO SATIRI 2"
Amacımız 20 numaralı satırı 40 numaralı satıra eklemek olsun. Bunun için 20 numaralı satıra aşağıdaki gibi (:) iki nokta üstüste koyalım.
10 PRİNT"DENEME SATIRI 1" 20 FRİNT"DENEME 2" Şimdi satırı birleştirmek için SYS304 yapalım. Listeye baktığınızda aşağıdaki programı göreceksiniz.
GFRİNT"DENEME
SO FRIİNT"DENEME
SATIRI 1"
SATIRI £"
SATIRI £" - Programın diğer bir özelliği:
Bu prgoramın yardımı ile Basic İnput Buffer uzunluğundan daha uzun satır yazabilme özelliği olduğunu söylemiştik. Eğer siz 88 karakterden daha uzun bir satır elde ederseniz, o satırın dışarıdan (Basic ile) düzeltilmesi imkansızdır. Böylece değiştirilmesini istemediğiniz programlar için bu altperogramı kullanabilirsiniz. Ayrıca program istenilen herhangi bir bellek bölgesine yerleşebilir. Örneğin 10 satırı
10 FOR N-—49152 TO 49268
şeklinde yazıp SYS49152 ile de programı çalıştırabilirsiniz.
Makine Dili İle İlgilenenler İçin
Sizin için programın Assembler listesini veriyoruz. Biraz açıklama yapalım. İsterseniz üzerinde değişiklik yapıp kendiniz için uygun duruma getirebilirsiniz.
$FB,$FC belleklerin işlemin yapılacağı adresi,
$FD,$FE de işlemin bitiş adresini göstermekte.
JSR satırları yeniden düzenlemek için kullanılan bir altprogram
JMP SAZAE READY programı.
Program 256 karakterden fazla satırlar için çalışmaz. Bunun için herhan-
SATIRI 2"
gi bir önlem olmadığından, en fazla maksimum uzunluktaki 3 satırı birleştirebilirsiniz. Satırlar kisaysa bu sayı artabilir.