C64 Türkiye sayı 3, sayfa 19

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 19

KOMUT AÇIKLAMA ETKİLENEN BAYRAKLAR

TSX Yığın göstergecini X registerine kopyala. ( X = SP olur. ) N Z

ADRESLEME MODU ASSEMBLER KOMUTU İŞLEM KODU BAYT SAYISI ÇEVRİM SAYISI Dolaysız TSX BA 1 2

KOMUT AÇIKLAMA ETKİLENEN BAYRAKLAR TXA X registerini Aküye kopyala. ( A = X olur. ) N Z ADRESLEME MODU ASSEMBLER KOMUTU İŞLEM KODU BAYT SAYISI ÇEVRİM SAYISI Dolaysız TXA 8A 1 2

KOMUT AÇIKLAMA ETKİLENEN BAYRAKLAR

TXS X registerini Yığın Göstergecine kopyala.

( SP = X olur. ) Tehlikeli bir komuttur. ----------

ADRESLEME MODU ASSEMBLER KOMUTU İŞLEM KODU BAYT SAYISI ÇEVRİM SAYISI Dolaysız TXS 9A 1 2

KOMUT AÇIKLAMA ETKİLENEN BAYRAKLAR TYA Y registerini Aküye kopyala. ( A = Y olur. ) N Z ADRESLEME MODU ASSEMBLER KOMUTU İŞLEM KODU BAYT SAYISI ÇEVRİM SAYISI Dolaysız TYA 98 1 2 Assembler bölümünü böylece bitirmiş olduk. Bir program yazmaya başlamadan önce programda ne gibi özellikler bulunacak, nasıl çalışacak vs. bunları belirleyin. Programı yazarken hiç acele etmeyin. İlk önce programın ekran düzenini kafanızda canlandırın. Ekranda yazı nerede bulunacak, renkler ne olacak bunları ayarlayın. Daha sonra programı yazmaya başlayın, yazdıkça arada bir kaydedin. Daha sonra çalıştırın ama şuna dikkat edin. Henüz bitmemiş bir programınız olduğu için programı çalıştırınca bilgisayarınız kilitlenebilir veya istediğiniz gibi çalışmayabilir. Bir örnek verelim isterseniz. Diyelim ki programda müzik çalacak ve bunun için LDA #$00 JSR $1000 gibi bir komut vererek hazırlık yaptınız. (İntrocular iyi bilir bu komutları ☺) Fakat hafızaya müzik yüklemeyi unuttuysanız C64 kilitlenecektir. Veya değişik bir font kullanacaksınız ve font hafızaya yüklenmiş durumda. Programda yeni karakter setinin bulunduğu bölgeyi VIC’e bildirdiniz fakat ekran birden saçma sapan karakterlerle doldu. Sebebi ise $D018 adresine yanlış bir sayı yerleştirilmiş olabilir (belki de karakter setiniz bozulmuştur). İşte bunun gibi durumlarla karşılaşmamak için eğer ekstradan font, müzik, sprite vs. kullanacaksanız önceden bunları hafızaya yükleyin sonradan programda aktif hale getirin. Size tavsiyem bunların hepsini tek seferde kaydedin. Yani fontu ayrı müziği ayrı kaydetmeyin. Büyük bir ihtimalle – neredeyse standart diyebilirim- müzik $1000-$2000 ve font ise (1x1 font için) $2000-$2200 adresleri arasında olacaktır. Code için ise $0900-$1000 arasını ve daha üst adresleri kullanabilirsiniz. Eğer programınızda logo falan olacaksa size tavsiyem $4000’den yukarısını kullanın demek olacaktır. Bazen basit bir hata programınızda büyük bir problem ortaya çıkarabilir. Mesela gereksiz yere çağrılan bir alt rutin, başka bir alt rutin tarafından kullanılan hafıza bölgesini değiştiriyor olabilir, siz de niye çalışmıyor diye kafayı sıyırırsınız. O nedenle assembler ile program yazarken dikkat etmelisiniz. Assembler ile yazılmış bir programda hata bulmak zordur. Ama programları yazdıkça, zamanla elinizde neredeyse klişeleşmiş rutinler olacaktır ve işiniz daha da kolaylaşacaktır. Son olarak şunu söyleyeyim. Eğer başkasının yazdığı programları incelerseniz çok faydasını görebilirsiniz. En azından bazı işlerin nasıl yapıldığını anlayabilirsiniz ama şunu açıkça söylemekte fayda var. Bir başkasının yazdığı assembler programları anlamak veya çözmek her zaman kolay değildir. Mesela incelediğiniz programda sürekli olarak JSR komutlarıyla alt rutinlere sıçrama yapılıyorsa bir süre sonra hangi adresin nereden çağrıldığını karıştırırsınız. Veya programcı ROM’lardaki rutinleri sık sık kullanıyor olabilir. Bunun için de C64’ün ROM’larını incelemeniz ve oradaki rutinlerin ne iş yaptığını bilmeniz gereklidir. Bu kadar laftan sonra artık bir şeyler yaparsınız değil mi? Hadi bakalım kolay gelsin.

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