Bu sayfadaki yazılar
Sayfanın metni
Sayfa 19
Dünyanın en popüler sekiz-bitlik bilgisayarlarının başında gelen Commodore 64'ün bellek haritasını detaylı olarak incelemeye bu ay başlıyoruz. BASIC ve özellikle makine dili ile ilgilenenlerin yararlı bulacaklarını umduğumuz bu dizide C64'ün bellek adreslerine tek tek bakacak ve aynı zamanda bu adreslerin kullanımıyla ilgili ilginç bazı programlar vereceğiz. Bundan önce, geçen ay yayınlanan bölümü okuyarak bazı terimlerin ne anlama geldiklerini öğrenmeniz, size diziyi takip etmede kolaylık sağlayacaktır. Şimdi sözü daha fazla uzatmadan bu 64K'lık harika makinenin derinliklerine doğru yola çıkalım... C64'ün beyni olan 6510 çipi aynı anda toplam 64K adresleyebilir. Bunun bayt olarak karşılığı olan 65536 değeri bellekte desimal olarak 0-65535 veya daha sıkça kullanıldığı biçimde heksadesimal $0000-$FFFF şeklinde adreslenmiştir. Bu adreslerden bilgisayarın kendi çalışma işlevinin yerine getirilmesi için ROM kullanılırken, bazılarıysa RAM olarak ayrılmıştır. ROM belleğin kapsamı bilgisayar üretilirken fabrikada veya daha sonradan EPROM programlayıcılar yoluyla belirlenir. RAM ise kullanıcı amaçları için kullanıma hazır boş bellek durumundadır. Çoğunuzun zaten bildiğini sandığım bu kısa bilgilerden sonra bu adresleri tek tek incelemeye başlayabiliriz. Burada, adresleri İngilizce isimleri ve hem desimal hem de heksadesimal sayı karşılıklarıyla belirteceğim. Üstteki kısaltma adresin ismi ve altta yeralan sayılardan soldaki adresin heksadesimal sağdaki ise desimal karşılığıdır.
CAN ÖZTÜRK
0000 — 0
Acaba C64'ün ilk adresinin ne işe yaradığını merak ettiğiniz oldu mu? Eğer sadece BASIC programlamayla ilgileniyorsanız ilk adres pek işinize yaramayacaktır. Makine dili bilen deneyimli kullanıcılar içinse ilk adres oldukça önemlidir. Bu adres, bilgisayarın ana mikroişlemcisi olan 6510'un kendisine gelen ve kendisinden çıkan bilgilere göre bir değer alır. Geçen ayki giriş yazımızdan hatırlayacak olursanız, mikroişlemciyi bir otobüs durağına benzetmiştik. Bu durağa Byte Express otobüsünün sürekli yolcuları olan bit'ler ile bilgiler geliyor ve gidiyordu. O adresi de buna benzer şekilde belli bilgilerin giriş mi veya çıkış mı olduklarını belirtiyor. Normalde bu adresin değeri 47'dir. (Bunu bilgisayarınızda ?PEEK(0) ile kendiniz de tecrübe edin.) Bu sayının ne anlama geldiğini aşağıdaki tabloda görebilirsiniz. Eğer bit kapalıysa yani 0'a eşitse
İSİM BİT YÖNÜ GÖREVİ LORAM 0 ÇIKIŞ $A000-$BFFF'de yeralan BASIC ROM/RAM'ın kontrolü HIRAM 1 ÇIKIŞ $E000-$EFFF'deki KERNAL ROM/RAM CHAREN 2 ÇIKIŞ Karakter ROM'u kontrolü 3 ÇIKIŞ Teyp bilgi hattı 4 GİRİŞ Teyp bağlantısı kontrolü bilgi, ilgili bellek alanından mikroişlemciye geliyor demektir (GİRİŞ). Eğer 1'e eşitse işlemci kendisi rutine bilgi göndermektedir (ÇIKIŞ). Bilgisayarınızı ilk açtığınızda PEEK komutuyla alacağınız 47 değeri 5, 3, 2, 1 ve 0'ıncı bitlerin açık olduğunu ve bu bitlerin temsil ettiği alanlara mikroişlemciden bilgi gönderildiğini belirtmektedir.
Klavyeyle gezinmek için ← ve → tuşları.