Commodore sayı 11, sayfa 65

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 65

Bu flag'ların isimleri yaptıkları işin baş harfinden oluşmuş kısaltmalardır ve anlamları şunlardır:

C- Carry (taşma): Bu flag yapılan son işlemde bir taşma olup olmadığını gösterir. Mesela iki sayıyı topladığımızda sonuç 255'ten büyükse sonuç 8 bit'le gösterilemez ve bu flag yakılır. Z- Zero (sıfır): En son yapılan işlem sonucu sıfır'sa bu flag yakılır. I- Disable: Bu flag belli bir program bölümü yürürken Interrupt denilen programın periyodik olarak kesilmesi olayına izin verilip verilmediğini gösterir. Bu flag şimdilik bizi pek ilgilendirmiyor. D- Decimal (ondalık hesaplama): Bu flag toplama ve çıkarma işlemlerinin ondalık mod'da yapılıp yapılmayacağını belirler. Bu flag da bizi şimdilik ilgilendirmiyor. B- Break: Bu flag, programın kesilme işleminin BRK emri ile yapılıp yapılmadığını gösterir. Bu flag'ı da şimdilik kullanmayacağız. V- Overflow: Sayıları pozitif ve negatif diye yorumlayıp işlem yaptığımızda işimize yarayacak bu flag, yapılan işlemdeki taşmaları gösterir. N- Negative: Bu flag en son yapılan işlem sırasında 7 numaralı bit ile aynı içeriğe sahiptir. Negatif denmesi 128 ve üstündeki sayıların negatif olarak da yorumlanıp işlem yapılabileceğindendir.

Başlangıç olarak yalnızca Carry, Zero ve Negative flag'larıyla ilgileneceğiz.

Ana işlem ünitesinin bir şeyler yapabilmesi için bir program yazılı olması lazım ve bu programın bulunacağı bir alan, ayrıca bu programın yürürken kullanacağı veriler için de bir bölge lazım bize. Aletin çalışma alanı veya RAM bellek denilen şey bizim register'lerin oldukça büyük miktarda bir araya gelmişinden başka bir şey değil. Bu kadar çok register'in hepsine ad vermekle başa çıkamayacağı için her birini sırayla numaralama yolu seçilmiş. Bu numaraya aynı zamanda adres de diyoruz. Ana işlem ünitemizin 16 adet adres hattı vardır. Böylece 2^16 adres'i ayırt edebilir. Buradan vardığımız sonuç şu ki,

64 KByte'lık hafızası olan COMMODORE 64'ümüzün bütün adres bölgesi bellek elemanlarıyla kaplanmış durumda. Dikkatli okurlarımız hemen fark etmişlerdir. Program sayacımız da onaltı bit genişliğindeydi. Bu onaltı bit'lik değer bir sonraki komutun (instruction) adresini aklında tutmakta (neden o anki değil de bir sonraki komutun, diye soranlar için söyleyelim; ana işlem ünitemiz PREFETCH denilen bir teknikle çalışıyor ve belli bir oranda hızı artıyor). Ana işlem ünitesi program sayacı yardımıyla hafızayı adresler ve komutu bellekten okur, yürütür. Bir komut, bir byte'a sığabildiği için en fazla 256 komut olabilir. Tabii bu komutları BASIC komutları ile karıştırmayın; bunlar ana işlem ünitesi tarafından doğrudan yürütülebilecek komutlardır, yani makina dilinin ta kendisidir.

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