1 Ağustos 1990 Tarihli Commodore Gazetesi Sayfa 49

1 Ağustos 1990 tarihli Commodore Gazetesi Sayfa 49
Metin içeriği (otomatik olarak oluşturulmuştur)

ğınız monitor programı ya da kartuş sayesinde ekra- nın bir yerine yazdığınız yazıları hafızanın istediğiniz bir bölgesine transfer edebilirsiniz. Bunu içinde yap- manız gereken işlemleri aşağıdaki sıraya göre takip edin: A- Monitöre girin. B- Ekranı SHİFT - CLR/HOME tuşuyla temizleyin. C- Ekranın sol üst köşesinden başlayarak yazmak İs- tediğiniz mesaj'ı girin. Ama bu mesaj 5 satırı geçme- Sin. D- Daha sonra SHİFT 4 RETURN tuşuna 5-6 kez basın. E- T 0400 0500 1000 yazıp RETÜURN tuşüna basın. F 'X yazıp RETURN tuşuna basın ve monitörden çı- kın. Yukarıda anlattığımız şey, ekranın başlangıç adresi olan 50400 (1024)'den 50500 (1280)'e kadar olan böl- geyi hafazada $ 1000'e (4096) transfer eder. Yani yaz- dığınız yazıyı $ 1000-$41400 arasına transfer eder. Aslında monitor programının yaptığı olayı basit bir programla biz de yapabiliriz. Bu verdiğimiz program ekranın en üst köşesinden itibaren 255 karakteri $ 1000 ile $1100 arasına koyar. Eğer yazıları koymak istedi- ğiniz adres farklı İse siz programdaki $ 1000 değerini koymak istediğiniz adrese göre ayarlayabilirsiniz. Unutmayın ki yalnızca 255 karakterlik bir transfer yap- maktayız. $41000 LDX # $00 > Xi sıfırla $1002 LDA 50400,X > $0400'den X uzaklıktaki de- ğeri A'ya yükle $1005 STA $1000,X > A'yı $1000'den X uzaklıktaki adrese koy $1008 İNX > X'i bir gzalt $1009 BNE 54002 > X—0 olana kadar 1002'ye git $100B RTS > Programı bitir ve geri dön Bu açıklamayı da yaptıktan sonra şimdide asıl ko- numuza geçelim. Önce interrupt'ın ne olduğuna ve nerelerde işimi- ze yarayabileceğine değinelim. İnterrupf kesinti vek- törüdür. Her 1/60 saniyede, işletim sistemi kontrolü, bu vektör tarafından belirlenen rutine devredilir. İnter- 7 rüptin bulunduğu adres S$EA31'de başlamaktadır. Vektörün adresleri $0314-$0315'dir. Bu adresler yaz- dığınız programın başlangıç adresinin alt ve üst byte'- larıdır. İnterrupft vektörünün gösterdiği adresdeki program “JMP SEA31”“ ile bitirilir. Program interrupt ta- rafından kesildiği anda tüm X, Y ve A registerları sak- lanır. Böylece interrupt normal çalışan programa hiç- bir şekilde karışmamış olur. İnterrupt'ı kullandığımız yerler oldukça fazladır. Ör- neğin; baslc programımızda müzik çaldırmak için bu vektörü kullanırız. Demo ve introlarda kullanılan prog- ramlama tekniği de her zaman İnterrupt'tır. Kısacası interrupt C-ö4'ün en önemli özelliğidir. Şimdi gelelim bu özelliğin nasıl kullanıldığı meselesine, İnterrupt'ı kurarken önce tüm kesintileri önlemek ge- rekir. Bunu “SEİ” komutu halletmektedir. Yani program- daki ilk kornut “SEİ” olmalıdır. Sonra interrupt ile ça- lıştıracağınız programın başlangıcının alt ve üst byte'- larını $03414-$03 15 adreslerine yerleştirmeniz gerekir. Alt ve üst byte hesabı şu şekilde yapılır. Programınız örneğin SCOS0 adresinden başlıyor olsun. Bu durum- da siz 50314 adresine # 50, 50315 adresine de # CO koymalısınız (Vektörlerde daima ilk adrese alt byte, ikinci adrese de üst byte yerleştirilir. ). Burada # 50, $COSO0'nin alt byte'ı, # CO ise $CO50'nin üst byfte'ı ol- maktadır. Bu işlemlerde bittikten “CLI” komutu ile ke- sinti önleme sıfırlanır. Yani interrupt'ta bulunan prog- ram çalışmaya başlar. Artık normal işletim sistemine dönmek için “RTS” veya “JMP” gibi komutlar kullanıl- malıdır. Böylece İnterrupt çalışırken siz bir basic prog- GO WETH 'EHE ZZZ Oyunlardaki Başarınızın — sırrı: Orjinali TST 'dir ve bütün bilgisayar satıcılarında bulabilirsiniz. TEKNOL SANAYİ Samer Mah. 28 Noz1â TİGARET 34770 Zeytinbumu-İSTANBUL Tel: (1) 558 12 54 49

Bu sayıdan diğer sayfalar: