Commodore sayı 3, sayfa 56

Bu sayfadaki yazılar

Sayfanın metni

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

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