Commodore sayı 78, sayfa 16

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 16

Vedat Hallaç eçen ay başladığımız makine dili kursu tüm hızıyla (bilenler için tüm yavaşlığıyla) devam ediyor. Eğer geçen bölümü kaçırdıysanız, sayı düzenleri (özellikle ikilik, onaltılık ve onluk), bitler, baytlar (sekiz bit) ve Nibble'lar (dört bit) hakkında başka bir yerden bilgi Bu sayıda, makine dili için temel oluşturacak bilgisayar kavramlarını açıklayıp, bu konuda BASIC örnekler vereceğim. Öğrenmeniz gereken kavramlardan ilki:

Adresler

BASIC programcıları, bilgisayarın belleği konusunda pek fikir sahibi değillerdir genelde, Çünkü BASIC programlar satırlar halinde yazılır ve birbirinden ayrı elemanlar olarak görünen satırlar sanki belleğin tek bir elemanı gibi görünürler. Bunun sonucu olarak BASIC programcıları belleği uzun satırlardan oluşmuş gibi düşünürler genelde.

Oysa bilgisayarın belleği dediğimiz şey, sadece 0-255 arası sayıları tutabilen 65536 küçük kutucuktur. Bilgisayarınızın beyni olan 6510 CPU (Central Processing Unit - Merkezi İşlem Birimi), onaltı ayrı telden (Adres Hattı) 1 ve O sinyalleri yollayarak bu kutucukların herhangi birine erişir. Daha sonra başka bir yerde bulunan sekiz tel (Data Hattı) yardımıyla bu kutucukta yer alan bilgiyi alır ve gerekli şekilde işler. Adres hattının 16 telden oluşması sebebiyle birbirine karışmayan 2x 65536 adet kutucğu rahatça adresleyebilir CPU'nuz. Her kutucuğun tutabileceği maksimum değer de data hattının genişliğiyle belirlenir. Yani 2 Xx 8-256 değişik değeri bir adres kutucuğunda tutabilirsiniz. CPU'nuz adres hatlarına belli bir değer koyarak buradaki değeri alır ilk olarak. Bu aldığı değeri gerekli şekilde işler ve adres hattındaki değeri bir artırarak bir sonraki kutucukta yer alan değeri elde eder. Bu yüzden, CPU için bir anlamı olan bayt serileri bellekte her zaman ardışık olarak yer alır.

Bilgisayarın belleğini oluşturan kutucuklar, adres hattı sayesinde birbirinden ayrılabilirler. Bilgisayarla bizim aramızda çelişki olmaması için bu adreslere biz de bilgisayarın verdiği isimleri veririz. Genel olarak onaltılık düzen kullandığımız için de bellek kutucukları $0000-$FFFF arası isimler alırlar. Adreslere erişmek için BASIC'i kullanıyorsanız bu kutulara 0-65536 arası değerler sayesinde erişebilirsiniz. Tablo 1'e bakarak bu kutucukların sembolik olarak ne şekilde dizilmiş olduğunu ve belleğe nasıl yerleştiğini görebilirsiniz. Tabii ki bu kutular tek başlarına bu değerleri aklında tutarak hiçbir yere varamaz. Bu yüzden belli adres grupları belli işleri üstlenmiştir. Mesela $D020 — 53280 adresinde yer alan değerin düşük değerlikli nibble'ında (ilk dört bitinde) yer alan sayı, çerçevenin rengini belirler. Bu yüzden iyi görüntüler oluşturmak için mutlaka belli adreslerde ne bulduğunu bilmelisiniz. Tabii ki oturup adres ezberleyeceğim diye kafayı üşütebilirsiniz.

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