Plazma sayı 3, sayfa 115

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 115

xs = int(x / 8)

xk = x mod 8 işlem: x/8 x: 0 xs:0 xk:0 x: 1 xs:0 xk:1 x: 2 xs:0 xk:2 x: 7 xs:0 xk:7 x: 8 xs:1 xk:0 x: 9 xs:1 xk:1 x: 15 xs:1 xk:0 x: 16 xs:2 xk:1 x: 17 xs:2 xk:2 x: 318 xs:39 xk:6 x: 319 xs:39 xk:7

"xs" parametresinde 0'dan 39'a kadar byte değerlerini elde ediyoruz. Ekran adreslerinde bir sırada toplam 40 byte var. Ancak unutmamamız gereken hafızada bu byte'ların peş peşe gelmediği 8'er aralıklarla dizildiği. Çünkü aralarda aynı karakter alanında yer alan diğer y koordinatlarına ait değerler duruyor. Peki 8'er 8'er gittiğine göre ne yapmak lazım? Tabii ki bu "xs" değerini 8 ile çarpmak lazım.

xi = xs * 8

Hadi artık bu kadar uzun işlemden sonra şu adres indeksini bulalım.

ai = yi + xi

İşte bu kadar. Artık dizinin kaçıncı elemanına erişmemiz gerektiğini biliyoruz. Ama hala ona hangi değeri vermemiz gerektiğini bilmiyoruz. Bunu bulmak için "xk" parametresini kullanacağız. Peki "xk"nın 0'dan 7'ye değişim göstermesini ekranda nasıl görmemiz lazım?

xk = 0 -> Xooooooo -> bd = %10000000 = 128 = 2^7 xk = 1 -> oXoooooo -> bd = %01000000 = 64 = 2^6 xk = 2 -> ooXooooo -> bd = %00100000 = 32 = 2^5 xk = 3 -> oooXoooo -> bd = %00010000 = 16 = 2^4 xk = 4 -> ooooXooo -> bd = %00001000 = 8 = 2^3 xk = 5 -> oooooXoo -> bd = %00000100 = 4 = 2^2 xk = 6 -> ooooooXo -> bd = %00000010 = 2 = 2^1 xk = 7 -> oooooooX -> bd = %00000001 = 1 = 2^0

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