Commodore sayı 56, sayfa 45

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 45

Vedat Hallaç

MAKİNA DİLİNİN PÜF NOKTALARI

Hepinize merhaba. Bu ay da sizlerle birlikteyiz ve yazımıza makina dilinin interruptlarını anlatarak devam ediyoruz. daha önce de bir "kayan yazılar” (smooth scroll) programı yayınlamıştık. Ama bu program RASTER INTERRUPT tekniklerini kullanmadığı için aynı rutinin interruptlarla çalışan versiyonunu anlatacağız. Konuya girmeden önce interruptların çalışma prensibini detaylı olarak inceleyelim. İnterruptlar yapı olarak ikiye ayrılırlar: 41) IRE (maskelenebilir interruptlar): Programcının, kullanacağı bir SEl komutuyla bu interrupt'ın oluşmasını engelleyebilmesi, bu tür interruptlara maskelenebilir interruptlar denmesine yol açmıştır. İstendiği anda oluşması engellenebildiği için programcıların kullanımda tercih ettikleri bir yöntemdir. VIC tarafından üretilen (ve bizim işimize yarayan) dört çeşit IRO bulunur: a) RASTER interrupt: Ekranı tarayan elektron ışınının hangi satırda bulunduğu C-64'ünüz tarafından bilinir ve $DO12 adresinde tutulur. Eğer isterseniz elektron belirli bir satıra geldiği zaman 64'ünüzün bir İnterrupt oluşturmasını sağlayabilirsiniz. Fakat bilmeniz gereken şey RASTER satırlarının normal ekran satırlarıyla aynı olmadığıdır. 1. tabloda da açıkça gördüğünüz gibi yazılabilir ekranın 1. pikseli 50. raster satırına denk gelmektedir. 0. raster satırı ise genelde televizyonlarda görülmeyecek kadar yukarıda bulunur. Tablomuzda dikkat etmeniz gereken başka bir şey de en alt raster satırının 255'ten büyük olduğudur. Bir bayttâ en fazla 255 sayısını tutabildiğimize göre ekranın altında bulunan elektronun yerini nasıl saptayacağız peki? Bu:

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