Bu sayfadaki yazılar
Sayfanın metni
Sayfa 60
Özetlemekle başlayalım:
Şimdiye kadar iki komut gördük: PRINT ve INPUT komutları. Bunlardan birincisi veri çıkış, ikincisi ise giriş komutu. Özellikle PRINT komutunun, neredeyse kendi başına bir bilgisayar dili oluşturacak kadar güçlü bir komut olduğunu söylemiştik. Sanırım PRINT komutunun kontrol karakterleri ile birlikte kullanılmasını göstermek için verdiğimiz örnekler, bu konuda sizi de ikna etmiştir. Ancak bu komutların ve genel olarak BASIC'in hakkıyla kullanılabilmesi için, çıkışı ve girişi yapılan verilerin bilgisayarın içinde nasıl saklandığının da bilinmesi gerekir. Bu yüzden geçen bölümümüzün büyük bir kısmını sayı sistemlerine, özellikle de iki tabanlı sayı sistemine (binary code) ayırdık.
Bit ve Bayt
Geçen sayıdan hatırlayacaksınız: 2 tabanlı sayı sisteminde her sayı 0 ve 1 simgeleriyle gösterilir. Bu iki simgeden her birine bit adı verilir. Yani iki sayı sisteminde yazılmış bir sayının her basamağına bir bit tekabül eder. Bilgisayarda her bit elektriksel bir sinyaldir, bit 1 değerini aldığında sinyalin yüksek düzeyi (y), 0 değerini aldığında ise alçak (a) düzeyi alır. Örneğin, 35 sayısının iki tabanlı gösterimi 00100011 şeklindedir. Her bitin hangi değeri ifade ettiği, konumu tarafından belirlenir. Dolayısıyla birinci konumdaki bitin değeri 1, üçüncü konumdaki bitin değeri ise 0'dır. İkinci konumdaki bit de gerçi 1, yani “yüksek” düzeyini almıştır ama konumundan ötürü 2 değerini ifade eder. Hepsi 1 değerinde olan 8 bitlik bir dizi, bir baytla ifade edilebile-
İskender SAVAŞIR
Öyleyse bir baytın en yüksek değeri:
(3)
WA
255'tir, yani bir baytın alabileceği en yüksek sayı değeridir. Bir sayının bilgisayarın içinde temsil edilebilmesi için, sayıyı oluşturan bit miktarı kadar elektrik bağlantısına ihtiyaç vardır. 8 bitlik bir sayıda 8 bağlantının her biri, temsil ettiği bitin durumunu belirtir. C-64'ün veri taşıtı (data bus) da 8 bitliktir. (Bu taşıttaki bitler 0'dan 7'ye kadar numaralandırılır.) Bu ne anlama gelir? Bir defada minik işlemciye iletilebilecek en yüksek değerin 255 olduğu anlamına... Uygulamada bu yeterli değildir. Bu kısıtlamayı aşmak için özel devreler birkaç baytı birleştirip daha büyük sayıların işlenmesini olanaklı kılarlar.
Ancak siz BASIC gibi yüksek düzeyli bir dil kullanırken bütün bunlarla uğraşmak zorunda değilsiniz. BASIC'in çeviricisi, belli bir bilgiyi saklamak ya da işlemek için minik işlemciye kaç defa ulaşmak gerekiyorsa, otomatik olarak o kadar defa ulaşır. Ancak (PEEK ve POKE komutları aracılığıyla) minik işlemcideki bir sicile (register) ya da RAM'ın (yani yazılabilir/okunabilir belleğin) belli bir bölgesine doğrudan doğruya ulaşmak istediğinizde, artık bir bellek bölgesinin ya da bir sicilin kaç bayt içerebileceğini, bunların nasıl saklandığını bilmek zorunda kalacaksınız. C64
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 61
Ayhan KALAYLIOĞLU
Günümüzde aşağı yukarı bütün kişisel bilgisayarlar ve ev bilgisayarları BASIC'te programlanabilir özellikte pazarlanıyorlar. İlk bakışta akla gelen tüm problemler BASIC'te çözülebilir gibi görünüyor. Ayrıca öğrenmesi de kolay. Peki bunca kimse neden makina dili öğreniyor? Nedir makina dilini, o kadar zor olmasına karşın, öğrenilecek kadar cazip kılan? Siz bu yazıyı okuyanlar: büyük bir çoğunluğunuz BASIC'te alet üzerinde kesin hakimiyetiniz var. Kolayca da öğrendiniz. Ne var şimdi durup dururken rahatınızı bozup da makina dilleri öğrenmek için yorulacak?..
Yanlış!.. Hem de çok yanlış düşünüyorsunuz. Aslında makina dilini öğrenmek, BASIC dilini öğrenmekten daha zor değil. Yazımızın ilk amacı da bu zaten. Sizin gözünüzü korkutup yormadan, sizi bu yeteneğe kavuşturmak! (yazımız bitince ve makina dilini öğrenince bu tanıma siz de çok güleceksiniz). Yalnız bu söylediğimizin gerçekleşmesi için tek bir şartımız var. O da şu anda BASIC'i çok iyi bilip kullanıyor durumda olmanız. Zaten her iki dilin temel çalışma prensipleri pek farklı değil. Şimdi elde edeceğiniz avantajları gözden geçirelim. Commodore 64'ünüz BASIC'te programlanabiliyor. Bu ismin nereden geldiğini de belirtelim. İngilizce'de 'esas' anlamına gelen 'basic' kelimesiyle sadece yazılım benzerliği taşıyor. Aslında "Beginners All-purpose Symbolic Instruction Code" tanımının baş harflerinden oluşmuş bir kısaltma, anlamı ise 'yeni başlayanlar için genel amaçlı sembolik programlama'. BASIC yüksek düzeyli diller kategorisine giriyor. Bu kategorinin diğer üyeleri FORTRAN,