Basic Ötesine Bir Adım Basic dilini kullanırken PEEK ve POKE komutlarının işleyişi ile haşır neşir olmuş olabilirsiniz ama bilgisa- yara ne yaptıklarını da dam olarak bilmeyebilirsiniz. Bu komutlar Basic programcısının makinenin içine di- rekt olarak ulaşahilmesini sağlarlar- hem donanıma hem de davranışları- nı belirleyen makine dili programla- rina. Basic'te bir program yazarken yap- tığınız, bilgisayarın sürekli belleğin- de bulunan geniş bir makine dili programının daha sonra yorumlaya- cağı bir dizi direktif vermektir. Bil- gisayar Basic dilini doğrudan anlaya- maz, ama bu Basic yorutcusunun kontrolünde yazdığımız programları uypgulayabilir. Basic, bilgisayarın RAM kısmının belli bölümlerini işlemlerinde tbir müsvette kâğıdı gibi kullanır. RAM'"- ın içeriklerini dikkatle manipüle cde- rek Basic dilinin beklenmeyen ve ya- rarlı şekillerde hareket etmesini sağ- layabilirsiniz. Bilgisayarın belleğindeki adresleri temsil eden iki bayıtlık sayılarla çalı- şırız. Genelde Basic bu adresleri vek- - törler ya da pointer'lar olarak kulla- nir. Pointer'lar RAM ya da ROM'"- da datanın depolanmış olduğu yerleri saptamakta ya du RAM'da belli böl- geleri belirlemekte marker f(işaretle- yici) olarak kullanılabilir. Basic po- inter tarafından yönelüldiği adresi in- ccler ve orada bulduğu datayı kulla- nır ya da manipüle cder; ya da poin- ter'ı başka değerlere gönderip gerc- kenleri yapar. Bir vektör başka bir makine dili programının ya da subrutinin başlar- giç adresini temsil eder. Makinc dili direktifleri genellikle bellekte depo- Jandıkları sırayla uygulanırlar. 54 Bununla birlikte, vektörlerin kul- lanılması programçının direktiflerin uygulanma sırasını değiştirmesini sağlar. Bunu gerçekleştirmenin bir yolu uygulamanın sapması (branch) gereken subrutin ya da programın başlansıç adresini depolamaktır. Bu bir miktar Basic dilinin GoTo komu- tunu andırmaktadır. MİKRO PROSESÖR C-64 ve C-128 popüler 8 bitlik 6502 mikro işlemcisinin birazcık değiştiri miş versiyonları olan 6510 ve 8502 mikröişlemcilerini kullanırlar. Bir programcının açısından 6310 ve 8502, 6502 ilc işlevsel olarak özdeştir. Tek temel değişiklik, onlarda O ve 1 ad- reslerinin işlernci içine yerleştirilmiş bir donanım poeriu oluşturmasıdır. Bu şekilde referans materyalleri de birbirleri için geçerlidir. 8 bitlik bir mikroişlemci olarak 6510/8502 data- yı bir seferde sckiz bit ya da bir bayt olarak kullanır. Her bit O yada 1 ola- bildiğinden (elektronik olarak ifade edececk olursak “kapalı” ya da “açık””) bir tek baytta 256 değer ola- bileceğini kolayca hesaplayabiliriz (2 üssü O ile 2 üssü 7'nin toplam), 256 sayılık bir alanın çok yararlı hesap- lar yapmanıza yararlı olamayacağı açıktır. Programcılar bu sorunu bayiları daha geniş bir sayı spektrumunu tem- sil elmek üzere bir araya getirerek çö- züyorlar; 0-9 arasındaki rakamları daha büyük sayılar yaratmak üzcre bir araya getirmeye benzeyen bir iş- lem bu, 65107853502 işlemcisi bir sefer- de iki baytı manipüle edecek (814 8 bits) 65536 adres oluşturur, (0 adresi arlı 2 üssü Ü ilc 2 üssü 15 arasındaki üslerin toplamı) Sonuçta iki baytın bir araya getirilmesi 65535'tir. Adres-