Commodore sayı 9, sayfa 49

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 49

F09B gene doğru cevap. Peki, bu onaltılık sistem de nereden çıktı şimdi? Hadi ikilik sistemi anladık, ya bu? Dikkat ederseniz, 4 tane bit ile 0-15 arası sayıları gösterebiliriz (0000-1111). Onaltılık sistemde de, aynı değerleri 0-F arası karakterlerle gösterebiliyoruz. Böylece aynı değerleri ikilik sistemde dört, onluk sistemde iki basamakla gösterirken, onaltılık sistemde sadece tek basamakla gösterebilmekteyiz. Bir byte'ın sahip olduğu değeri de (0-255) sadece iki basamakla (00-FF) gösterebiliyoruz. Üstelik bir bakışta o byte'ın sağ ve sol yarılarının değerlerini ayrı ayrı görebiliyoruz. Bu dörder bit'lik gruplara NİBBLE adı verilir ve oldukça sık kullanılır. Yazımız boyunca onluk, ikilik ve onaltılık sistemde sayılar verdiğimiz zaman, bunu belirtmek için aşağıdaki gibi vereceğiz:

255— -$FF

İkilik sistemdeki sayıları % ile, onaltılık sayıları $ ile belirtirken, onluk sayıları olduğu gibi bırakacağız. Geldik son konumuza. VIC'ın yazmaçları içindeki her bir bit ayrı bir anlam taşır. Onların 1 veya 0 olması, değişik grafik özelliklerini harekete geçirecektir. Demek ki, bir byte'daki tüm bit'ler arasındaki bir tek bit'i yakıp söndürebilecek birtakım işlemlere gereksinim duymaktayız. İşte bu işlemlere mantıksal işlemler adını vermekteyiz. İlk işlemimiz AND (ve) işlemi. Bunu, istediğimiz bir bit'i 0 yapmak için kullanacağız. Örneğin %01110101 sayısının sağdan üçüncü ve sekizinci bit'lerini 0 yapmak istiyoruz. Bu durumda sayımızı %11111011 ile AND'lememiz lazım. Önce AND işleminin doğruluk tablosunu verelim:

0 AND 0-0 0OANDI-0 1 AND 0-0

Gördüğünüz gibi sağ taraftaki bit 0 olduğunda, sol taraftaki bit ne olursa olsun, sonuç sıfır olmaktadır, yani sönmektedir. Sağ taraftaki bit 1 olduğunda ise, sonuç sol taraftaki bit'in aynısı olarak kalmakta, yani değişmemektedir. Dolayısıyla yukarıdaki işlemin sonucu:

AND MOl1111011 — 7000011001

Gördüğünüz gibi, ikinci byte'da 0 olan bit'ler sonuçta söndüler. Diğer bit'ler ise değişmeden kaldılar. Peki bunun tam tersini yapmak, yani belli bazı bit'leri yakmak istersek ne yapacağız? İşte o zaman OR (veya) işlemini kullanacağız. %01001101 sayısının sağdan ikinci ve yedinci bit'lerini yakmak istersek, bu sayıyı %01000010 ile OR'lamak zorundayız. İşte gene doğruluk tablosundan başlayalım:

0 OR 0-0 1OnrRO0-1İ 1OnR1-1

Gördüğünüz gibi sağ taraftaki bit 0 olduğunda, sol taraftaki bit olduğu gibi sonuca geçmekte, yani değişmemektedir. Sağ taraftaki bit 1 olduğunda ise, sonuç sol taraftaki bit'den bağımsız olarak 1 olmakta, yani yanmaktadır. Dolayısıyla yukarıdaki işlemin sonucu:

—— ıı. wı

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