1 Ekim 1989 Tarihli Commodore Gazetesi Sayfa 57

1 Ekim 1989 tarihli Commodore Gazetesi Sayfa 57
Metin içeriği (otomatik olarak oluşturulmuştur)

PÖKE 44,12:0CLR Yükle komutunun bazı ilginç özel- likleri vardır. Direkt modda uygulan- dıği zaman, bir disk yüklemesi tüm pointer'ları resetler, belleğe bir prog- ram dösyası ökur ve polnter'ları programın başı ve sonuna ayarlar. Eğer bir yeniden yerleştirmeyen LO- AD“Tilenamc”,8,1 uygulanırsa son- raki Load komutlarında Out-üf- Memory hatası görülebilir. Çünkü 45-50 arasındaki üç pointer İoad ara- cılığıyla Dizinin-Tabanı polmnter'ı yu- karısına ayaklanmışlardır. Bu 49512'deki AK bloğuna bir makinc di- li programı yükleseniz de olabilirdi. Bu çıktmazdan kurtulmanın en basit yolu yemiden yerleştirmeyen (nonre- locating) bir yüklemeden sonra bir NEW uygulamaktır. Program koöntrolü altında, load pointer'ların hiçbirini resetlemez, Bu- nunla birlikte bellekteki herhangi bir Basit programının uygulanması Basıc-Başlangıcı pointer'ının göster- diği herhangi bir noktadan başlaya- bilir. Bu da demektir ki program koöntrolü altında bir makine dili sub- rutini gtbi şeyler yüklemek için aşa- Bıdaki gibi bir kod yazmalısınız. 10 TF FL—I THEN FOTO 30 20 FL>- 1:LOAD''mI1 romuti- 30 rest ol program Bu program ilk çalıştırıldığında, F1 değişkeni O'a eşiltir. Satır 20'de, FL İ'e ayarlarır ve nonreclecating load gerçekleşir. Bu yapıldığında uygula- ma satır J0'da başlar, ama bu scfer FL |e eşittir ve satır 20 pas geçilir. Load komutu program kontrölün- de uygulancdığı zaman hiçbir pointer'i değiştirmemesi, Basic programcılığı- na ayrılabilecek Have bir 4K sağlar, Aşağıdaki kod bunun nasıl yapılaca- Bini göstermektedir. 10 POKE 44,192:PÖOKE4A4Sİ152,0 20 LOAD“Short program”, 8 Bu örnekte, satır l0 Başiç- Başlangıcını 49152'ye yerleştirir ve o adrese 0 POKE cder. Satır 20'deki kı- sa ptogram (short program) 4K'dan daha kısa olan her program olabilir. O satır kısa progğram yükler ve çalış- tırmaya başlar, böylece 2048, de baş- layan esas program bellekte değişme- den kalır. Kontrolü şöyle bir satırla yeniden csas programa devredebilirsiniz: 100 POKE d4,8:60TO esas prog- ramdaki satir numarası Kısa programa da şöyle bir şekil- de geri dönebilirsiniz: 200 POKE 44,192:G60TÖ0Ü kısa programdaki satır numarası Böyle bir şey eğlenceli olabilir. €-128 BELLEK İDARESİ C-128'de işler biraz daha değişir. Her şeyden önce, bu makinede Basic program RÂAM bank O'da tutulur. Oysa ilişkili dizi ve değişkenler RAM bank 1'de depolanmaktadır, bu yüz- den bellek pointer'ları arasında daha az ilişki vardır. Ayrıca C-64'ün zutı- na, program ve data depolanması için mevcut olan alarlar birbirinden ba- gimsızdir ve bu nedenle data depolan- ması program uzunluğunca kısıtlan- maz. Son olarak, C-128 bellek içerik- lerinin kullanılmasını hızlandırmak için BLoad ve BSave komutlarına sa- hiptir, Dikkat etmeniz gereken bir konu da Gralik emiri (statemeni). GRAP- HIC N Ç1 ile 4 arasındaki herhangi bir değerdir. N) uygulandığında, Basic-Başlangıcı pointer'ı 9K'ya gi- der. Adres 4d6'nın içeriği 28'den 64'e değişir GRAPHİFC CLR uygulana- cak olursa, tam tersi olur. Buna ila- ve olarak, © sırada bellekte olan her Basic programı yeni yere Laşınır. C-128'de belleği, RAM bank O'daki program deposumun üstünde bellek depolamak kolaydır. Sadece 46246 ile 4627'nin içeriklerini değişti- rin. Örneğin 4K rezerve etmek için şunu girin: POKE 4627,240 FRE(0) fonksiyonu RAM bank O'daki mevcut belleği Basic-Tavanı ve Program-Sonu değerleri arasındaki fark olarak verir, C-128'de elde rdi- len 16 bitlik, işaretlenmemiş tam sa- yı sizin daha fazla bir çaba harcama- nıza gerek olmadan halledilir Tüm bunlar (C-64 ve C-128'in bel- lek haritalarına sadece bir girişti. Ay- rıntılı bilgiter için programcı referans kitaplarına başvurmalısınız. SF

Bu sayıdan diğer sayfalar: