Commodore sayı 5, sayfa 70

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 70

kullanıcılarından çoğu interruptlar hakkında şöyle ya da böyle bilgi sahibidir, ancak hemen hemen hepsi rin nasıl kullanılacağını bilmez. Bu yazımızda interruptların nasıl kullanılacağı üzerine kısa bir bilgi vermek İstiyoruz. Her şeyden önce interruptları neden ve nerede kullanırız. (Burada okuyuculara bir şey iletmek istiyoruz. İnterrupt kelimesinin TDK Bilişim Terimleri Sözlüğündeki karşılığı Biz bu terimin ınterrupt işleminin ancak bir bölümünü kapsadığına inanıyoruz. Bu nedenle de yazımız boyunca İnterrupt kelimesini olduğu gibi kullanacağız.) Çoğu zaman bir programı kullanırken aynı anda bir başkasını da kullanma ihtiyacını duyarız. Örneğin ekranımızın içinde bir pencere açarak birinci programımızı bu pencerede RUN ederken, ikincisini ekranın kalan bölümünde işletebilmek bazı hallerde çok ihtiyaç duyulan bir şeydir. Ya da daha basit olarak bir programı bilgisayara girmeye çalışırken bir yandan da müzik çalışması çoğumuzun hoşuna gider. İşte multi-tasking (çoklu görev) ihtiyacı duyduğumuz bu anlarda interruptlar bize yardımcı olurlar. Şöyle söyleyelim. Ekranda ya da daha genel anlamda bilgisayarda bir program çalışırken, ikinci bir programın çaıştırılması için İNTERRUPT'larına ihtiyaç duyuyoruz. Çalışan birinci programın “saydam” kılınması ancak İRA İN-TERRUPTlarından yararlanarak mümkündür.

Nasıl Çalışır?

Bir interrupt saniyede 50 kere gerçekleşir. Çünkü kullanılan program ister BASİC, ister Makine Dili olsun Commodore'unuzu durdurur ve kendi küçük Makine Dİli programına geçer. Bu öylesine büyük bir sürat kazandırır ki, sistemin çalışması saydamlaşır. Bir İR& İnterrupt Reguest (Araya gitme talebi) sırasında bilgisayarınız, SCAN THE KEYBOARD, UPATE THE SYSTEM CLOCK gibi komutlar verir sadece, IRA gerçekleştiğinde Commodore 64'ünüzün kontrol kodunu bulabilmesi gereklidir. Bellek tası 788 ve 789 (HEX SO314 ve $0315) adreslerinde istenilen yanıt bulunabilir. Bu adreslerde saklanan iki rakam kontrol kodunun endirek başlama adresini oluşturur.

Bellek veri RAM'deki 788 ve 780 adreslerine yerleştirilmiştir ve bilgi istenildiği gibi değiştirilebilir. İşlemcinin bilgisayara kontrol yordamını gerçekleştirmesini söylemesinden önce İlk yapmasını İstediğimiz şeyi yaptırabiliriz. Hatırlayalım İRA her saniyede 50 kere gerçekleşmekteydi. Bu her ne yaparsa yapsın, bilgisayarınıza saniyede S0 kere RUN eden bir program yüklediğiniz anlamına gelir. Bu aynı zamanda iki programı çalıştırmanın yoludur. Daha önce de söylediğimiz gibi 788 ve 789 adresleri normal İN-TERRUPT KOD'unun dolaylı başlama adresini içerirler. 788 adresi dolaylı başlangıç adresinin low byte'ini, 789 adresi de high byte"- ını verir. Gerçek adresi bulmak için; AD — PEEK(X) 4*- PEEK(X 4 formülüne başvurmanız gerekiyor. Bu formülle standart interrupt kodunun gerçek adresini nesaplayabiliriz.

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