Bu sayfadaki yazılar
Sayfanın metni
Sayfa 57
Aşağıdaki programa baktığınızda $7A değişken olmanın yanında $7B sabit programın çalışmasını engellemekte sadece keyboard'dan girilen komutlar çalışmaktadır.
0073 E&6 YA INC 9075 A3 LDA #$02 85 7B STA
Şimdi gelelim Kaskiranpo'ya: Aşağıdaki dataları belirtilen bellek aralığına giriniz ve programı kaydediniz. Ayrıca monitör programı olmayanlar için Basic program aşağıdadır. Kaskiranpo'nun kullanılması: Mod 1. Kaskiranpo'nun aktif duruma gelmesi için SYS 303 kullanın. Kaskiranpo'nun pasif olması için SYS 294 kullanın, bu durumda $7A ve $7B normal konumlarına gelir, RUN komutu çalışır. SAVE için SYS 312 “isim” komutu kullanın, bu komutla sadece basic alan diskete kaydedilir. Basic pointer'ları değiştirerek istediğiniz bölgeyi kaydedebilirsiniz. Ayrıca 202 blok veya daha uzun programları kaydedebilirsiniz. Mod 2. Bu modun özelliği aktif konumda bütün belleği $FF ile doldurmakla basic düzenlemeyle programın uzunluğunu bulmakta ve SYS 402 “program ismi” ile kaydetmektedir. Makina kodu programları için bu mod uygundur. Disk driver'ı olmayanlar önce ESRA-TURBO'yu yüklesinler, Mod 1 ile çalışsınlar, program düştüğünde SYS 32458 yapıp TURBOSAVE “isim” ile kaydetsinler.
1 2 KASKIRANPO 11 SEYFİ 13865 3 PRİNT" KASKIRANPO AKTIF SYS 303 4 KASKIRAMNPO PASİF 294 5S PRINT"A SAVE İCİN SYS 6 MOD 7 PRINT" KASKIRANPO AKTIF. SYS 38iİ 8 PRINT"MW SYS 294 9 PRINT"A SAVE İCİN SYS
18 BASIC DÜZENLEME SY5 4i6 15 FOR TO 425 28 READ 30 GÖTÜ 38 40 303": NELİ
32000 32001 32002 32003 DATA32,186,2535,234,i66,45,1564,46,1693,43,32,216,255,163,55,133,1İ,76,134 32004 320065 32806 32807
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 56
Seyfettin ÇANKAYA
5 Bu yazıda birçok editörün programı çalışmaz duruma getiren, böylece makine dilinde İsmail'in deyimiyle “düştü” denilen durumu yaratan KASKIRANPO ya da KAKTÜS programı veriyoruz. Bundan önceki yazılarda Basic pointer'lar ve Basic bölgesindeki belleklerle oynanarak programların kopyalanmasına ait örnekler verilmişti. O yazıları incelediyseniz bu programın farkını anlayabilirsiniz. Program BASIC INPUT BUFFER denilen ve $0200'den başlayarak $0258'e uzanan bölge dışındaki herhangi bir alanı Basic yorumlayıcıya almaz. Bunu daha açık görmek için aşağıdaki programa bakalım. 79 numaralı satırda LDA $0206 ilginç bir kullanıma sahiptir. Parametreleri $7A ve $7B satırlardaki INC $7A ve INC $7B ile değişmektedir. ($7A ve $7B, $79. satırın bellek adresleri) Aşağıdaki bölüm ise LDA $0200'den alınan karakterlerin tanınması gibi görevleri yapmaktadır.
0073 E6 TA INC
6075 DÜ BNE 0077 EB INC $7B ga7zg AD A6 A2 LDA BA7c C9 SA CMP #$3A BO BCS paso cg CMP gös2 Fd EF BEG $0073 0484 38 SEC 0085 E9 3ü SBC 0487 38 SEC 2088 E9 DA 5BC gasAa RTS
Eğer Basic program çalışacaksa LDA $0206 komutunun parametreleri LDA $0800 olacaktır. Bu da programı çalıştırmak için yeterlidir. Bunu görmek için aşağıdaki programa bakalım. Bu program RUN için Basic ROM'da yer alan back up text pointer rutinidir.
A68E 18 CLC
A68F A5 2B LDA $2B 63 FF ADC 85 FA STA $#YA A695 A5 820 LDA A6937 693 FF ADC #$FF A6993 85 7B STA Gü RTS