1 Mayıs 1987 Tarihli Commodore Gazetesi Sayfa 26

1 Mayıs 1987 tarihli Commodore Gazetesi Sayfa 26
Metin içeriği (otomatik olarak oluşturulmuştur)

Makine diline merhaba (5) AYHAN KALAYLIOĞLU 4. MAKİNE DİLİ — | PROGRAMLARIN GİRİLMESİ Yazı dizimizi buraya kadar takip et- miş olanlarınız için bir özetleme ya- palım, Dizimiz şimdiye kadar üç üni- te işledi. Bunların ilki “Giriş”', ikin- cisi *6510 Ana İşlem Ünitesinin Ta- nıtımı””, üçüncüsü *6510 Ana İşlem Ünitesinin Komutları ve Adresleme Tipleri” idi. Üçüncü bölümün sonun- da artık ana işlem ünitemizi tanıyo- ruz ve bunun tüm komutlarını ve fonksiyonlarını gördük. Ee 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 gi- rilip yürütüleceğini göstereceğiz. As- lında, programı doğru yöntemle gi- rip çalıştırmak, programı yazabilmek kadar önemli. Diyelim ki, kısa bir program parçası deneyeceksiniz; böy- le durumlarda monitor programını kullanmak ideal bir çözüm. Tam aksi durumu gözden geçirelim. Diyelim ki, çok uzun ve ciddi bir program ya- zacaksınız ve hattâ bu programı pro- fesyonel amaçlarınıza uygun olarak yazacaksınız. Böyle bir durumda mo- nitor 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 yaka- Commodore lamak için ısrar ederseniz bu sefer de aklınızı kaçırma tehlikesi baş göste- rir. 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 uza- tan metotlar olarak görünebilir. Siz kendinize uygun değişiklikleri yap- makta serbestsiniz. Fakat, sizden ri- camı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 operand- lardan oluşmuş bir bilgi yığınıdır. Ya- pı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 ola- rak görüldüğü gibi bu işlem için BA- SİC'teki POKE komutunu kullana- cağız. POKE 1024, 1: REM “A'nın ekran POKE 55296,7: REM Sarı renk kodu Bu komutları verdiğimiz anda, ek- ranı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ı çalıştı- rarak POKE komutunun makine di- lindeki karşılığının “STA' olduğunu hatırlarız. Hatırlayacağımız üzere STA komutu, akümülatörün içeriği- ni belirtilen adrese saklıyordu. Fakat, önce akümülatöre gerekli değeri yük- lemek gerekiyordu. Yani: LDA | STA 1024 Burada, aküye *1' değerini yükle- yip, bunu da 1024 adresli hafıza bi- riminde sakladık. Aynı kalıplara sa-

Bu sayıdan diğer sayfalar: