PUrNOKLAŞ CG4 için Püf Noktaları Murat Şenyüz & Uğur Özyılmazel MAKİNE DİLİNİN PÜF NOKTALARI Bu ayda köşemizden hepinize selamlar. Umarım ge- çern ay anlattıklarımızı anlamış ve basit uygulamala- ra geçmişsinizdir. Çüfkü şimdi interrupt'ı daha detaylı ve daha profesyonel kullanmayı anlatacağız. Biraz sonra aşağıda vereceğimiz program örneği ile otomatik hız kontrolü bir interrupt'ın nasıl kuruldu- ğunu ve nasıl çalıştığını göreceğiz. Daha önceki in- terrupt'lar gibi $0314'e low (alçak), $0315'e high (yük- vemAcERETR YAY sek) byte'ları verdikten sonra CLİ komutunu da verip interrupt'ı çalıştırmayacağız. Kullanacağımız diğer adresler SDOJA, $DO19, $DO114, SDCOE, SDCOD ve ge- rektiği zaman $DO12'dir. Burada $DO11 ve $DO12Tes- ter registerini oluşturan byte'lardır. $DO11'in 7. Bit'i ras- ter registerinin yüksek byte'ıdır. SDO1A IRE önleme re- gisteridir. Değeri #$041 ise interrupt çalışabilir. $DO19 ise kesinti bayrağı registerdir. Herhangi bir açık inter- rupt varsa 7. Bit'i 1 olur. Bu teknik açıklamalarla sizi daha fazla sıkmak istemiyoruz. Çünkü biliyorsunuz ya- zımızın başında herşeyi pratikten anlatacağız demiş- tik. Şimdi de bu kuralı bozmayacağız. Zaten bu ver- diğimiz adreslere koyacağınız değerler her zaman aynıdır. İşte bu ayki program örneğimiz. $41000 SEİ $1001 LDA # $00 $1003 STA $0314 $1006 LDA # $11 $1008 STA $0315 $100B LDA $DO11 $100E AND # $7F S1010 STA SDO11 $1013 LDA # S$7F $1016 STA $DCOD $1019 LDA # $00 $101B STA $DCOE $101E LDA # $FA $1020 STA SDOYA $1023 LDA # $01 $1026 STA $DO19 $1029 LDA # $32 $102B STA $DO12 $102E CLI $102F JMP SA474 Şimdi bu programın satır satır kisa bir açıklamasını yapalım. Bunun için daha önceki bilgilerinizden ya- rarlanmanız gerekecek. 1000-400B Daha önceden görmüş olduğumuz klasik interrupt kuruluşu düzeni ile aynı işlemler. Inter- rupt'in high ve low byte'larının yazılması. 100B - 4043 — $DOMA değerialınır 7. biti temizlenir ve değer tekrar geri yazılır. Bu işlemler sayesinde ras- ter satırı belirlenir. Bu işlemlerin aynısını $SDO11 adre- sine $1B değeri vererek de gerçekleştirebilirsiniz. Ya- Nİ; LDA #$1B STA $DO1 1