Amiga Dünyası sayı 11, sayfa 32

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 32

Hayır! Bu yeni çıkan bir bilgisayar monitörü değil. Bu, AMIGA'nın hafızasında yapacağınız büyülü yolculukta, size rehberlik edecek bir araştırma programı.

Amiga çok ilginç bir makinedir. Belli bir zaman sonra, bu bilgisayarda oyun oynamak sıkıcı gelmeye başlar. Bu kadar parayı bir oyun makinesine yatırmadığının bilincinde olanlar, ya grafiğe, ya müziğe ya da animasyon gibi çeşitli dallara yönelmeye başlarlar. Bazıları ise, bilgisayarda programlar nasıl çalışır?, bu programı nasıl yazmışlar? gibi sorulara cevap arar. İşte o zaman, Amiga'nın bir daha kolay kolay kurtulamayacakları sihirli dünyasına girerler. Bu seçeneği yapanlara yardımcı olacak en önemli programlar Monitor ve Assembler programlarıdır. Monitor programları genelde Disassembler, Assembler, Tracer, DiskIO, MemoryDump ve Search bölümlerinden oluşur. Size tavsiyem, bu programları kullanırken inceleyeceğiniz programın veya disketin bir kopyasını almanızdır. İlk başladığınızda, sistemi ve assembleri iyi tanımıyorsanız, bilgisayarınızın çoğu sefer Crash etmesini normal karşılamanız gerekecektir. Ama sabretmesini biliyorsanız öğrenmek, bulmaca çözmek kadar zevkli olur. Nasıl kalbin yolu mideden geçiyorsa, bilgisayarda da assembler öğrenmenin yolu, programları ve bilgisayarı incelemekten geçer. Bunu da Monitörler sayesinde yapabiliriz.

Amiga'da kullanılan monitörlerin en iyilerinden biri Amiga-Monitor V2.11'dir. Programın tümü assembler'da yazılmıştır. Bu bakımdan kısa ve hızı yüksek bir monitördür. Türkiye piyasasında bu programın çeşitli versiyonları vardır (V1.15, V2.11, V3.0). Fakat en iyisi Version 2.11'dir.

A-mon CLI veya WorkBench'den çağrılabilir. Eğer monitörü WorkBench'den çalıştırmak isterseniz, program için bir icon hazırlamanız yeterlidir. Şimdi A-Mon V2.11'i inceleyelim.

Yazılmış veya hafızaya alınmış komutları düzeltme ve kullanma: Yazdığınız bir satırı düzeltmek için sağ/sol kursor tuşlarıyla kursoru hareket ettirerek, Backspace veya DEL tuşlarıyla düzeltebilirsiniz. Monitor yazmış olduğunuz satırları otomatik olarak saklar (10 taneye kadar). Bu satırları yukarı/aşağı kursor tuşlarıyla çağırıp düzeltebilir ve 'RETURN' tuşuyla kullanabilirsiniz. Programda sadece 'RETURN' tuşuna basmak, bir önceki satırda yazmış olduğunuz komutu işleme sokar.

Çıktıyı durdurmak: Bazı durumlarda ekranda datalar devamlı olarak yukarıya kayar ve bunları incelemek zorlaşır. Bunun için 'SPACE' tuşuyla çıktıyı Pause konumuna sokup, incelemeyi yapar, tekrar 'SPACE'e basıp, Pause modundan çıkabilirsiniz. Eğer bir komutun çalışmasını kesmek isterseniz, 'CTRL+C' tuşlarını kullanabilirsiniz.

Sayıların kullanımı: Amiga Monitor, assembler düzenindeki genel sayı ifadelerini ve eklerini kullanır. Bu ifadeler bir cins standarttır. A-Mon açılışta 16'lık sayı tabanını kullanır (HexaDecimal). Bu assembler için kullanımı kolay bir düzendir. Girdiğiniz her sayı bu düzene göre yorumlanır. Örneğin: 20 sayısını girdiğinizde monitör bunu 32 olarak yorumlar. Aynı şekilde, eğer 10'luk tabanı (Decimal) kullanmak isterseniz 'AMON> ba 10' yazmanız yeterlidir (Tabiiki burda 'AMON>' monitörün bir parçasıdır ve yazılmaması gerekir). Bu 'base 10' demektir, yani onluk taban, 'ba' komutunu kullanarak istediğiniz sayı tabanına geçebilirsiniz.

Örneğin: ba 2, ikilik taban (binary); ba 8 sekizlik taban (octal) vs.

Yazılar, Alfa Nümerik bilgiler: Yazısal bilgiler; hafıza doldurma (Fill), Arama (Hunt), Hafıza Düzeltme (Modify Memory) komutlarıyla ve assembler modunda 'dc.b' operandından sonra kullanılabilir. Yazısal bilgiler byte'lardan oluşan serilerdir. Sayılar veya ASCII karakterleriyle belirtilirler. A-Mon'da bunlar tırnaklar içinde, beraber olarak ya da aralarına virgül konarak ayrılmış bir şekilde tanımlanır.

Örnek: 'Bu bir Yazısal bilgidir'; (Not: Tırnaklar tek veya çift tırnak olabilir ' = ").

12,34,56 'Beraber',0a,'Yazı',10,'ve','sayılar' "", ...." ;Bu tırnağı bir yazısal bilgi olarak belirtmek içindir.

Hesap makinesi (Calculator): '?' işaretinden sonra yazacağınız hesap işlemleri hesaplanır ve sonuç Hexadecimal, Decimal, Binary, Octal ve Ascii olarak ekrana çıkar. Hesap Makinesi ayrıca Byte (.b), Word (.w), Long (.l) gibi ifadeleri de kullanabilir.

Örneğin: 40.b, 300.w, 3c000.l gibi. Herhangi bir Register (a0, d3, PC gibi) hesap işlemlerinde kullanılmak istenirse 'r' kullanılır (arada boşluk yok!).

Örnek: 40*rd0, 57-ra2, rPC+ra0 vs. Assembler'da bulunan bazı komutlar da hesap makinesinde kullanılabilir. Bunlar; #ll/lr/al/ar/d/n'dir. Assembler'daki karşılıkları: lsl/lsr/asl/asr/rol/ror'dur.

Örnek: ? 12#lr4 ;12'yi 4 sağa kaydırır (logic olarak)

Bunun yanında hesap makinesi aşağıdaki terimleri de anlayabilmektedir.

Peek(adres), peekw(adres), peekl(adres) ;adreslerin byte, word, long içeriklerini verirler.

Alloc(mode); Mümkün olan hafıza, mode=(0=PUBLIC, 3=CHIP, 5=FAST) olabilir.

Hunk(sayı) ;Hunk adresini verir. Sayı= (kaçıncı hunk olduğu)

Hlen(sayı); Hunk uzunluğunu verir. Sayı= (kaçıncı hunk)

Not: Amiga'da File'lar parçalı olarak save edilir. Bu parçalar File'ın 'CODE', 'DATA', 'BSS' bölümleridir ve HUNK adını taşırlar.

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