1 Kasım 1988 Tarihli Commodore Gazetesi Sayfa 30

1 Kasım 1988 tarihli Commodore Gazetesi Sayfa 30
Metin içeriği (otomatik olarak oluşturulmuştur)

IU C Out of Memory SAYIN Commodore Yetkilileri, Sizlere birkaç soru sormak istiyorum: 1- Kendi yaptığım bir programda bir- den çok ikili matris, hatta üçlü matris kullanıyorum. Tabii ““Out of memory” mesajını alıyorum. Bu durumdan kur- tulmanın çaresi var mı? Benim aklıma C0O00-DOO0O alanını kullanmak geldi. Ama bunu nasıl yapacağımı bilmiyo- rum. Eğer mümkünse açıklar mısınız? 2- Teype dosya açarken çok zaman kaybediyorum. Acaba dosya açma iş- leminde turbo programı kullanmak mümkün mü? Yani dosyalarımı turbolu olarak açabilir miyim? İBRAHİM NURSAL/HATAY SAYIN İbrahim Nursal, (1j BASIC programlarda hafızanın en büyük düşmanlarından birisi diziler- dir. DIM komutuyla açılan bir dizi ele- manlarının dolmasıyla hafızayı da tü- ketmeye başlar. Böyle bir program ilk çalıştığında hata mesajı vermeden ça- lışsa bile dizideki elemanların kullanıl- ması sonucu hafıza bitimi olan ?OUT OF MEMORY hatasına yol açar. 30 Bu duruma bir çözüm olarak $CO00- $DO00O arasındaki hafıza kısmını kulla- nabilirsiniz. Ancak bu kısım size yak- laşık olarak 4Kb'lık bir yer bırakır. İh- tiyacınız bundan daha fazla ise BA- SIC”ın program için ayırdığı anlamı da- ha aşağı çekerek kendinize yer açabilir- siniz. Bu işlemi programınız son halini aldıktan sonra kullanılan değişkenler içinde hafızada gerekli yeri düşünerek yapın. Mesela 40 karakterlik isimleri $CO00O- $DO000 arasındaki bölgede saklayalım. Bunun için bu bölgeyi 40 byte'lik dilim- lere bölelim. 05 B-49151 10 INPUT A$ 15 I1F LEN(AS) »40 THEN 10 20 FOR I-1 TO LEN(AŞ) 30 A - ASC(IMID$(AS,1,1)) 40 POKE B*Y1, A S0 NEXTI 55 IF A$- “SON” THEN 80 60 B-B-40 70 GOTO 10 80 REM PROGRAM BURADAN DEVAM EDER 10 Numaralı satırda kullanıcıdan ve- riyi alıyoruz. 15 numaralı satırda alınan verinin istenenden uzun olup olmadığı kontrol ediliyor. 20 numaralı satırda A$ değişkeninin uzunluğu kadar sürecek döngü başlıyor. 30 numaralı satırda A$ değişkenindeki karakterlerin tek tek ASCH kodları alınıyor. Bu kodlar 40 numaralı satırda ASCH xoadlar hafıza- ya konuyor. 50. satırda dör'gü sonu eri- yor. 55 numaralı satırda veri girişine son verilip verilmediği kontrol ediliyor. 60 numaralı satırda veri alan sayacımız bir dilim arttırılıyor. 70 numaralı satır tekrar veri alışına gönderiyor. Verdiğimiz örnekten başka şekiller- de de hafızayı dizi açmak yerine kulla- nabilirsiniz. Teyp'te veri dosyası açarken normal olarak TURBO kullanamazsınız. Bellek Haritası SAYIN Commodore Dergisi Yetkilileri, Ben Ege Üniversitesi Bilgisayar Bi- limleri Mühendisliği II. sınıf öğrencisi- yim. Derginizi uzun zamandır takip edi- yorum. Derslerim gereği Almanca, İn- gilizce C-64 ile ilgili birçok yayını oku- dum. Edindiğim izlenim, derginizin en az bu dış yayınlar kadar kaliteli ve fay- dalı olduğudur. Aşağıdaki sorularımı cevaplayacağınızı umuyor, şimdiden te- şekkür ediyorum. 1- Çok iyi bir Assembler/Disassemb- ler programa ve bir Türkçe Wordpro- cessor programına ihtiyacım var. Bun- ların sadece disket üzerinde olduğu söy- leniyor. Teyp kullanıcıları için bu prog- ramları bulmak mümkün mü? Müm- kün ise profesyonel uygulamalar için hangilerini tavsiye edersiniz? 2- Yazmak istediğim makine dili programlarda kullanmak için C-64 iş- letim sistemindeki rutinler ve konum- ları hakkında ayrıntılı bir ROM hari- tasına ihtiyacım var. Bunu nereden bu- labilirim? 3— Derginizin Program Döküm Eki'nde okuyuculardan gelen program- ları yayınladığınızı biliyorum. Kendi ha- zırlamış olduğum programları size ne şekilde gönderebilirim? ATİLLA ÖZERDİM/İZMİR SAYIN Afilla Özerdim, (1) dergimizin 13. sayısında yayınla- nan Süper Assembler son derece kulla- nışlı bir assembler. Yaptığınız program-

Bu sayıdan diğer sayfalar: