1 Eylül 1990 Tarihli Commodore Gazetesi Sayfa 50

1 Eylül 1990 tarihli Commodore Gazetesi Sayfa 50
Metin içeriği (otomatik olarak oluşturulmuştur)

İşte bu kısa ve basit program sizin işinizi görecektir. interrupt'ın içinde müziğin player rutinine dallanma- nız yani “JSR” etmeniz yeterlidir. Piyasada en çok kul- lanılan player rutini $1800 ile ayarlamaları yapılan. $1806 ile çaldırılan müziklerdir. Bunun yanısıra $ 1000 ve 51003 ikilisi de yaygındır. Biraz önce bir zamanlama rutini yazmanız gerekti- ğinde bahsettik. hazır sırası gelmişken bu konuyu da anlatalım da daha sonra dergiye zamanlama nedir? diye binlerce mektup gelmesin. Bazen yazdığınız program çok hızlı bir şekilde çalı- şır. Yapmanız gereken rütininin yavaş çalışmasını sağ- lamaktır. İşle zamanlama dediğimiz olay bu nokta- da karşımıza çıkiyor. Esasen bilgisayarı hızlandırıp ya- vaşlattığımız falan yok, Sadece biraz fazla işlem yap- tırarak hizini azaltıyoruz. Bunu da programa en az Za- rar vermesi bakımından dörngülerle hallediyoruz. Böy- lece bilgisayar belli bir yere geldiğinde (döngünün bulunduğu yere) kendi kendine saymaya başlıyor. Bu sayma işlemi sizin belirttiğiniz zamana kadar yakla- şık 1.5 mhz'lik bir hızla sürüyor. Yine praftikte olayı kav- rarmmak açısından küçük bir program örneği ile bu ko- nuyu anlatacağız. İik önce basit ve kısa süreli dön- gülere değinelim $3000 LDX# ŞO0 — Xe S00 değeri ver $3002 1NX Xi bir arttır. $3003 CPX # X'in — SFD değerine ulaşıp ulaşmadığ- nı konftrol et, $3005 BNE 83002 Ulaşana kadar $3002 $3007 LDA # $00 A'yı sıfırla $3009 STA $DO20 border rengini $300C STA $D021 Paper rengini $300F RTS — Geri dön Bu rutin X'i birer birer arattırıp # SFD aeğerine ka- dar ulaşmasını sağladı. Buradaki # $FD değerini is- tediğiniz gibi değiştirerek farklı zamanlar elde ede- bilirsiniz. Bu işlemleri yapması bilgisayarın oldukça az $00 yap S00 yap zamınını aldı. X - FD olunca ekran renklerini siyah yaptık. Bu da bu zaman hakkında az da olsa bir bil- gi sahibi olmanızı sağlar. Gelelim aletimizi daha uzun süreli meşgul edecek rütinlere yani döngülere. S3000 LDX # SO0 $3003 LDY #S00 $3005 INY $3006 CPY # $SFE S3008 BNE 53003 S3ODA İNX s300B CPX # SFO $300D BNE $3003 $300F LDA # SO0 $3011 STA SDO20 $3014 STA $D021 S3017 RTS Bu rutinin mantığı da şu şekilde işlemektedir. Bilgi- sayar önce X ve Y'yi # $00 değerleri ile tanımlıyor. Sonra Y'yi $ FE olana kadar arttırıyor. Y — FE olduğun- da X bir arttırılyor ve X — FO olana kadar Y“nin # $FE'ye kadar olan artması tekrar tekrar işleniyor. Ya- ni X her arttığında Y tekrar O'dan FE'ye kadar artıyor. Bu tekrarlama X'in FO değerini alması ile sonuçlanı- yor. Tabii renkler siyah olarak uyarılıyorsunuz. Yine X ve Y'nin kontrol değerleri CPX ve CPY'nin sayısı de- gerleri ile oynayarak farklı zamanlar elde etmeniz mümkün. Şu ana kadar registerleri kullanarak zaman- lamayı gördük. Gelecek sayıda registerlara bağlı kal- madan vakit geçirmeyi anlatacağız. Umarım kendi kendinize basit programlar yapma- ya başlamışsınızdır. Ya da bazı programlara eskiden olduğu gibi hiçbir şey anlamadan bakmıyorsunuzdur. Az da olsa birtakım şeyleri anlamaya başladığınızı sa- niyorum. Zaten tek bir kaynağa bağlı kalmaksızın program incelemenizi tavsiye ederim. Geleceğin as- sembler programcılarına bol klavyeli bir ay diliyorum. Gelecek sayıda buluşmak üzere hoşçakalın,

Bu sayıdan diğer sayfalar: