Commodore sayı 15, sayfa 26

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 26

AYHAN KALAYLIOĞLU

4. MAKİNE DİLİ — | PROGRAMLARIN GİRİLMESİ

Yazı dizimizi buraya kadar takip etmiş olanlarınız için bir özetleme yapalım. Dizimiz şimdiye kadar üç ünite işledi. Bunların ilki ikincisi “*6510 Ana İşlem Ünitesinin Tanıtımı”', üçüncüsü “6510 Ana İşlem Ünitesinin Komutları ve Adresleme Tipleri” idi. Üçüncü bölümün sonunda artık ana işlem ünitemizi tanıyoruz ve bunun tüm komutlarını ve fonksiyonlarını gördük. Be artık bir şeyler yapmanın zamanı geldi değil mi?.. Bu dördüncü bölümde sizlere, makine dili programlarının nasıl girilip yürütüleceğini göstereceğiz. Aslında, programı doğru yöntemle girip çalıştırmak, programı yazabilmek kadar önemli. Diyelim ki, kısa bir program parçası deneyeceksiniz; böyle durumlarda monitor programını kullanmak ideal bir çözüm. Tam aksi durumu gözden geçirelim. Diyelim ki, çok uzun ve ciddi bir program yazacaksınız ve hattâ bu programı profesyonel amaçlarınıza uygun olarak yazacaksınız. Böyle bir durumda monitor programı kullanıp, bu sorunun altından kalkmak, insanoğlu denilen varlığın sınırlarını aşan bir olay. Kısacası, daha işin başlarındayken ipin ucunu kaçırırsanız; ipin ucunu yakalamak için ısrar ederseniz bu sefer de aklınızı kaçırma tehlikesi baş göste- Tir. O yüzden bu bölümü çok dikkatli okuyun ve uygulamaya çalışın. Bu bölümde, size sistemli çalışabilmeniz için bazı öneriler getirmeye çalışacağız. Bunlar, fazla detaylı ve yolu uzatan metotlar olarak görünebilir. Siz kendinize uygun değişiklikleri yapmakta serbestsiniz. Fakat, sizden ricamız buradaki önerilerimizi kulak ardı etmemeniz. Bir önceki bölümde gördüğümüz gibi, makine dili programlar, emir kodlarından ve bunlara ait operandlardan oluşmuş bir bilgi yığınıdır. Yapılan bir işlemi daha yakından takip etmek için, dilerseniz önce BASIC'- te ufak bir örnek program yazalım. Bu programın yapacağı işlem, ekran hafızasına doğrudan bir şey yazmak ve renk hafızasında da bu karakterin rengini koymak olsun. Pek açık olarak görüldüğü gibi bu işlem için BA-SIC'teki POKE komutunu kullanacağız.

POKE 1024, 1: REM “A'nın ekran POKE 55296,7: REM Sarı renk kodu

Bu komutları verdiğimiz anda, ekranın sol üst köşesinde sarı renkli bir “A” harfi belirir. Şimdi, aynı işlemi makine dilinde nasıl yapacağımızı düşünelim. Hemen, hafızamızı tarak POKE komutunun makine dilindeki karşılığının “STA” olduğunu hatırlarız. Hatırlayacağımız üzere STA komutu, akümülatörün içeriğini belirtilen adrese saklıyordu. Fakat, önce akümülatöre gerekli değeri yüklemek gerekiyordu. Yani:

LDA | STA 1024

Burada, aküye “1” değerini yükleyip, bunu da 1024 adresli hafıza bitiminde sakladık. Aynı kalıplara sadık kalarak, renk kodunu da oturtabiliriz:

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