Commodore sayı 46, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

BASIC dilinin geliştirilmesinin ana nedenlerinden birisi sıradan insanların kolayca öğrenip uygulayabileceği bir program diline duyulan gereksinme idi. Bu amaca yönelik olarak son derece başarılı olduğu da söylenebilir. Ama özellikle C-64 versiyonunda belli eksiklikler olduğu söylenebilir. Bu yazıdaki amacımız da bu dili eleştirmek değil, bilgisayarın belleğindeki yapısını daha iyi kavramanızı sağlayarak, programlarınız için mevcut sınırlı bellek alanını en iyi şekilde nasıl değerlendirebileceğiniz konusunda size bazı ipuçları verebilmektir.

KODLANMIŞ BELLEK

Programınızı yazarken, belli bir zamanda onun belli bir kesimini görmek isteyebilirsiniz. Bunu yapmak için LIST komutunu verirsiniz ve program başından sonuna gözünüzün önünde akmaya başlar. Doğallıkla sizin ekranda gördükleriniz ve bilgisayarın belleğindekiler tamamıyla farklı şeylerdir. Gözünüzün önünden geçen satırlar, bellekten ekrana yolculuklarında birçok değişikler geçirirler. O zaman bellekteki programı nasıl görebileceğimiz sorusu gündeme gelir. BASIC belleğinin başlangıcı $0801'dedir. (Onluk sistemde 2049) Bu nedenle örneğin ilk elli bellek baytını görebilmek için, şöyle bir şey yapmanız gerekirdi:

FOR A = 2049 TO 2099:PRINT PEEK(A):NEXT A. Bu direkt modda yapılırdı. Şimdi gördüğünüz 0-255 arasında bir dizi onluk sayı olacaktır. Bu sayılar bellekteki sayıların onluk sistemdeki eşdeğerleridir. Bellekteki sayılar da klavyeye yazdıklarınızı bilgisayarın yorumlamasıdır. Bu durumun daha net anlaşılması için şekil 1'e bakın. Bu yedi satırlık basit bir BASIC programıdır. Şimdi şekil 2'ye bakın. Bu da yedi satırlık programın bilgisayarda nasıl depolandığını göstermektedir. Şimdi programın nasıl oluştuğunu satır satır açıklayacağız. Her BASIC satırında beş baytlık bir üst ve satırın kendisi vardır. Bu

baytlar beş bayt, bir link (bağlantı) adresi, satır numarası ve bir satırın sonunu gösteren bir izleyici sıfır baytından oluşur. Link adresi ekran editörünü kullandığınız, yani bir BASIC programının satırlarını ekler ve çıkartırken sistem tarafından kullanılır. Program çalışırken üzerlerinde durulmaz (link adreslerine sonra daha ayrıntılı olarak değineceğiz). Şimdi kısa örneği-

PROGRAM ADI 1 ÖRNEK PRG, 00010 FOKE ©0028 FRIMNT "<HOME)* <000)> 009020 PRINT "HERKESE MERHABA" 80940 FOR Asi TO 85 68858 NEKT ©0868 PRINT "DEMO SONU" 00878 GOTO 78 - PROGRAM 1 PRG 6880 0080 c30d 1 88 OE BA 90 97 35 33 C7 ©6808 ı 38 30 20 31 JA 97 35 96 0810 : 33 32 38 31 32 60 260 Es ©3818 * 08 14 993 22 13 82 06 Rİ 09820 © 37 66 iİ€ 08 99 EE da a5 29 © S2 4B 45 54 45 206 45 Fi ©0238 © Sö 46 Adi 42 di öz 42 EB ÖZELE 6s de dö Bi di üz 31 Aa 30 1 28 25 üğ 43 928 38 60 te 4D 6248 gö SA OG 30 89 s9 22 44 DD B350 1 45 4D c0 53 4F 4E 55 A7 0050 : Be öö GE 86 d8 960 83 37 Bb cğüğ : 30 Ad dö 00 20 2a 33 ge

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