1 Temmuz 1990 Tarihli Commodore Gazetesi Sayfa 22

1 Temmuz 1990 tarihli Commodore Gazetesi Sayfa 22
Metin içeriği (otomatik olarak oluşturulmuştur)

Yukarıdaki programda, 51000-51100'de bulunan değerlerin S0400-$0500 arasına nasıl basılabileceğini gördük. Bu işlem sırasında ekrana $00'dan $FFe ka- dar olan değerleri bastık. Yani decimal olarak 255 tane karakter bastık. Bunun sebebi de makine dilin- de her sayının karakter olarak bir karşılığı vardır. Eğer ekrana bir mesaj yazdırmak İsterseniz $ 1000 ile $1100 arasına, mesajınızı yazın. Programın içinde kullandı- ğimiz LDX # 500 komutu ile hafızada bir sayaç açıyo- ruz. İNX komutuyla (İncrement X) X'i bir değer arttırı- yoruz, JMP ile ekrana X'in bir değer artmış halini ba- sıyoruz. Yani X, sıfır iken sıfırıncı değeri, X bir iken bi- rinci değeri bastırıyoruz. Bu işlem X, 255 olana kadar devam ediyor. Eğer bu sayının 255'den küçük olma- sını İsterseniz İNX komutundan sonra CPX (Compoare X) kullanmamız gerekir. CPX — 510 kullanarak X'in $10 olup olmadığı karşılaştırılır. Aynı zamanda JMP kormutu yerine BİNE (Branch if not Egual) kullanmamız gerekir. BİNE komutu basic'de İF komutuna karşılık gelir. X, $10 olana kadar BNE DÖNGÜ yapılır. Yani Xİn © andaki değeri konirol edilir, $10 olup olmadığı kontrol edilir, X $10'dan küçükse BNE yardımıyla LDA $41000, X yaı- zan satıra gidilir. Şimdi LDA, STA, LDX, STX komutlarını kullanarak ek- ranı silme, zemin ve kenar renklerini değiştirmeyi gö- relim. Ekran iki şekilde silinir: 1- Aynen basic de olduğu gibi (PRİNT “SHIFT - CLR ÖOME”) LDA # 593 - JSR Ş D2- Yukarıdaki programda A'nın aldığı değer (593), ba- sicde yaptığımız "“SHİFT- CLRHOME”a eşifttir. Yani SHİFT tuşu ile beraber CLEAR HOME tuşuna bastığımızda ek- rana çıkan (İnegatif kalp) işaretin değeri, hafızada 593 değerine karşılık gelir. JSR SFFD2 ise PRİNT komutunun assembler karşılığıdır. Commodore öd'ün içinde bu- lunan (KERNAL ROM) bazı komutlar vardır. Bunlara KERNAL RUTİNLERİ denir. $FFD2'de bu kernal rutinlerin- den biridir. Yukarıdaki program ekrana SHİFT 4 CLRHOME'a karşılık gelen değeri basar. Böy- lece ekran silinmiş olur. Bilidiğiniz gibi basicde ekranın renklerini 53280 ve 53281 acadreslerini kullanarak değiştiriyoruz. POKE 53280,0 yazdığımızda ekranın dışı siyah rengi alır. PO- KE 53281,0 yazdığımızda ekranın iç kısmı da siyah olur. Aynı işlemi assemblerda şöyle yapabiliriz: LDA # Ş00 -> Az00 STA $DO20 - >A'daki değeri $DO20 adresine yerleştir. LDX # S00 ->X—00 STX $DO21 ->X'deki değeri $DO21 adresine yerleştir Aynı işlemi pratik olarak: LDA # 500 - > Az00 STA $DO20 - > A'daki değeri $D020'ye koy. STA $DO241 -> A'daki değeri $D021'e koy. Sanırım şu ana kadar basit de olsa birşeyler anla- mışsınızdır. Gelecek sayıda İNTERRUPT ve TİMİNS ko- nularını anlatacağım. Görüşmek dileğiyle, Az93 ekranın yazım adresi ARPDA L’*_ G LA * -—

Bu sayıdan diğer sayfalar: