Plazma sayı 5, sayfa 90

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 90

Komutların çıktısı bu şekilde olacaktır.

Şekil 7.

Atari'de Makine Dilinden Program Yazmak

Atari BASIC'i ne kadar gelişmiş olursa olsun, 2 MHz'in altındaki bir bilgisayar söz konusu olduğunda makine dili kullanımı kaçınılmaz bir hal alıyor. Atari'de makine dilinden program yazabilmek için sahip olunması gereken temel bilgi, 6502 assembler programlama bilgisidir. Bu temele sahip olunması durumunda aşılması gereken iki engel daha vardır.

1. Assembler programı yazabilecek rahat bir ortam oluşturmak.

2. Atari'nin hafıza yapısı ve donanımsal özelliklerini öğrenmek.

İlk madde için ihtiyacımız olan şey assembler'dan programlarımızı yazabileceğimiz bir editör/derleyici. Atari üzerinde bu güne kadar bu amaçla en sık kullanılmış derleyici "Atari Assembler Editor" ya da kısaltılmış ismiyle "Atari ASM Edit" kartuşudur. 8 KB'lık bir ROM'a sahip olan kartuş, zamanına göre çok üstün özelliklere sahiptir. Özellikle program içerisinde hata yakalamak için (debugging) çok kullanışlı fonksiyonları vardır. Tek eksiği 8 KB'lık hafızaya sığdıramadıkları için hata mesajlarının yalnızca sayısal kodlardan ibaret olmasıdır. Kısacası bir hata aldığınızda ekranda hatanın tanımını değil yalnızca kodunu görürsünüz ve kartuşun dokümanından bu hata kodunun ne anlama geldiğini araştırmanız gerekir. Bu kartuşu kullanmak isterseniz temel kullanım bilgileri aşağıda örneklerle verilmiştir.

Atari Assembler Editor Kartuşu Kullanım Örneği

Kartuşu taktığınızda "EDIT" yazan bir ekran karşınıza gelecek. Bu ekranda BASIC'ten program yazar gibi satır numaralarıyla program yazabilirsiniz. Dikkat etmeniz gereken husus, satır numarasından sonra 1 değil en az 2 boşluk bırakmanız gerektiğidir. Örnek program:

10 *— $0600 20 LDA #$C4 30 STA $02C6 40 RTS

Programımızı yazdıktan sonra "LIST" komutuyla programın listesini alabilir ve istediğiniz takdirde "NEW" komutuyla listeyi temizleyebilirsiniz. Programı yazdık ancak program henüz derlenmedi. Programı derlemek için "ASM" komutunu kullanmamız gerekiyor. ASM komutunu yazıp "Return" tuşuna bastığımızda aşağıdaki gibi bir çıktı almamız lazım.

ASM 0000 10 $0600 0600 A9CA 20 LDA #$CA4A 0602 8DC602 30 STA $02C6 0605 60 40 RTS

Eğer aşağıdaki çıktıyı aldıysak programı düzgün bir biçimde derlemeyi becermişiz demektir. Daha sonra programı çalıştırmak ve olası hataları takip etmek için "Edit" bölümünden "Debug" bölümüne geçiş yapmamız gerekiyor. Bunun için kullanacağımız komut "BUG" komutu. Programı çalıştırmak için ise go (git) anlamına gelen "G" harfini kullanacağız. Bu harfin yanına programın başlangıç adresini hexadecimal olarak yazmamız gerekiyor. Kısacası bundan sonra yazmamız gereken komutlar ve ekranda göreceğimiz çıktılar şu şekilde olmalı;

BUG

DEBUG G 0600

0003 X-00 Y-00 P-BO S-12

Bu çıktının yanısıra ekran renginin yeşile döndüğünü herhalde fark etmiş olmanız lazım. İşte minik programımızın yaptığı iş de aynen bu. $02C6 hafıza adresi arkaplan renginin tutulduğu adres. $C4 yerine farklı değerler yazarak Atari'nin güzel renk paletini incelemeniz mümkündür.

Son olarak "Debug" moddan çıkıp "Edit" moduna geri dönmek için "X" komutunu kullanıyoruz. Örnek:

EDIT

Bundan sonra programı değiştirmeye devam edebilir ya da yeni bir program yazmaya girişebilirsiniz. BASIC dilinde olduğu gibi aynı satır numarasını tekrar yazıp "Return" tuşuna basarsanız, önceki satır yenisiyle değiştirilecek, yeni satır eskisinin üzerine yazılacaktır.

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