1 Aralık 1989 Tarihli Commodore Gazetesi Sayfa 20

1 Aralık 1989 tarihli Commodore Gazetesi Sayfa 20
Metin içeriği (otomatik olarak oluşturulmuştur)

mize dönelim. Şimdi tüm bunlar ne demek olu- yor? İnsanın aklına ilk önce şu soru gelebilir: Bilgisayar KOMUT sözcük- lerini nasıl seçeceğini nereden biliyor? Yanıt son derece basit. Komutlar ya da (keywords) $7F ile $CB onaltılık sistem değerleri arasında değerlere sa- hiptirler. Return tuşuna bastığınızda, data yorum için klavye buffer'ına yollanılır. Sonra bir tarama tablosu kullanılır ve satırınızda komutlar ara- nır. Aranızdaki bazı dikkatli kişilerin *Ya PRINT“PRINT” yazarsam ne olacak”' diye kendi kendinize sordu- ğunuzu duyar gibi oluyorum. Bu iki adet print ifadesi olarak yorumlan- maz mıydı? Yanıt hayırdır. Arama tablosunun görevlerinden biri de tır- 'nak işaretlerini kontrol etmektir. Eğer bir komut tırnak işaretleri ara- sında ise, o zaman bir print ifadesi içinde olması gerekir. Yine örneğimi- ze dönelim. Bellek adresi $0800 $00'ı içerir. Ba- sic programının doğru işlemesi için, Basic belleğinin başlangıcından he- men önceki adres bir sıfır baytı içer- melidir. Sonraki ilk bayt $17 ve $08'i içerir. Bu baytlar düşük/yüksek ad- res formatında link adresini temsil ederler ve bilgisayara sonraki Basic satırının nereden başladığını söyler- ler. Sonraki iki bayt $0A ve $00'ı gös- terir: Bu yüksek/düşük bayt forma- tında bir kere daha gösterilen satır numarasıdır. Sonraki bayt $97'dir. Komutların içinde bulunduğu spek- trumu anımsarsanız bunun bir komut olduğunu anlarsınız. İşin aslında da bu POKE komutu için ikilik sistem karşılığıdır. Sonraki beş bayt 53200 sayısını temsil eder. Sonraki bayt ise, bir vir- gül olarak yorumlanan $2C'dir. Ör- neğin geri kalanına bakıp satır satır takip etmeye çalışın. SATIRLARIN SONU Bir bilgisayarın, bir Basic progra- mının sonuna vardığını nasıl anladı- ğını merak ediyor olabilirsiniz. Sözü- nü önceden ettiğimiz link adresini anımsadınız mı? Eğer link adresinde çift sıfırlı bir bayt varsa programın sonuna geldiniz demektir. Bir Basic programının başını ve sonunu bula- bilmek için şu yerlere her zaman pe- ek edebilirsiniz. $2D/2E ve $2B/2C. Bu sayfa sıfır yerleri VARTAB ve TXTTAB olarak bilinirler. Yeniden örneğimize dönecek olursak, $0862 sayılı yerin küçük demo programımı- zın sonunu gösterdiğini göreceksiniz. Baytları sayarsanız, bu küçük yedi satırlık programın 97 bayt aldığını göreceksiniz. Gördüğünüz gibi, Basic belleği çok hızlı tüketiyor. O halde mevcut bel- leğin tümünü kullanabilmek için ne yapmalıyız? Bildiğiniz gibi tüm ko- mutlar kısaltılabilir. Birçok durum- da bu ikinci harfi yalnızca shift edil- miş modda yazmak demektir. Bazan de ilk iki harfi yazıp, üçüncüyü shift edilmiş olarak yazmanız gerekir. Bu kuralın bir istisnası PRINT emiridir (statement). Bu ? tuşuyla kısaltılabi- li r. Örneğin, ?“MERHABA” yaz- makla PRINT“MERHABA” yaz- mak arasında bir fark yoktur. P har- fini izleyen bir shift edilmiş o da PO- KE yerine geçer. Peki tüm bunların yararı nedir? Programınızda ne ka- dar az satır olursa, o kadar az bayt- lık yer kaplarsınız. Shift edilmiş komutlar kullanma- nın nedeni de, C-64 ekran editörünün bulunan en iyi editörlerden birisi ol- masına karşın, bizi her program sa- tırı (iki ekran satırı) başına 80 karak- terle sınırlandırmasıdır. Yani Shift edilmiş komutlar kullanarak, her program satırına daha fazla direktif h ıl ÇO VN ); VA $ | & )

Bu sayıdan diğer sayfalar: