64'ler sayı 42, sayfa 72

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 72

Merhabalar, yeni bir SEKA ASSEMBLER köşesiyle yine karşınızdayız. Bu hafta size bir sürprizimiz var. Hayır hayır bilemediniz ortada kamera felan yok sadece SEKA ASSEMBLER köşesi olarak 1 yaşına girdik. Yehhooo, sevgili direktörümüzün tüm suikastlerine ve ego operasyonlarına karşın dimdik ayakta olarak 0 yaşını doldurarak 1 yaşına girdik (mantıksal olarak ve yüce assembler kurallarına göre, her şeyin başlangıcı 0 olduğundan, 1 yaşımızı değil 0 yaşımızı doldurmuş olduk). Sevenleri ve okuyanları kutlar nice yaşlar dilerim. Bu arada eski toprak MAC Adventure çatladı. Ayrıca son alınan haberlere göre önümüzdeki üç ay içinde bir köşe bayramı olacak 64LER köşeleri doğum günlerini kutlayacaktır. Her neyse biz traşı keselim ve bu ayki SEKA'ya başlayalım ilk önce mektuplarla başlıyoruz. Geçen ay sayfaya konulması unutulan tablolar da bu sayıda (sağ olsun MAC bey). İlk mektup AMOS köşesine de mektup yazan BURÇAK TÜRKMEN'den geliyor. Burçak arkadaşımız, Seka assembler'la da AMOS gibi çalışmaktayım fakat bu programı kullanırken kaynak ve döküman yokluğu yüzünden pek muvaffak olamıyorum. Varsa bana birkaç mektup önerebilir misiniz? Fiyatlarını biliyor musunuz? Cevap: Tabii ki piyasada birkaç iyi kitap var. Bu kitaplar; 1) AMIGA HARDWARE MANUAL 2) AMIGA ROM KERNEL MANUAL

3) 68000 MACHINE LANGUAGE Bunlarda birincisi, makinenin hardware'ini inceliyor. Yardımcı çiplerin kullanımını işliyor ve bu konuda hardware adresleri gibi temel şeyleri içeriyor. Bir kere bunu alman kaçınılmaz bir şey.

İkinci kitap ise Amiga'da bulunan librarileri işliyor. Bu kitap çok fazla yararlı olmasa bile yine de alınması gereken bir kitap. Üçüncü kitap olan 68000 machine language ise 68000 çipi konusuna giriyor, 68000 komutlarını ve adresleme modları gibi çok yararlı şeyler içeriyor. Bu da üç. Eğer iyi bir Assembler kölesi olmak istiyorsan bu üç kitabı da almalısın. Bu kitapları fotokopi halinde bulabilirsin. Üçünün fiyatları toplamı ise hatırladığım kadarıyla yaklaşık 200.000 TL eder.

Şimdi geçelim bu ayki konumuza.

Hatırlarsanız, geçen ay 68000 komutları bitmişti. Bu ay, yeni bir konuya geçiyoruz. Konumuzun adı Copper çipi. 68000'den ayrı olarak üç tane farklı komutu ve sadece kendisinin kullanabildiği kendine özel hafızası vardır. Üç komutu var deyince hemen küçümsemeyin. Bu üç komutla akla hayale gelmedik efektler yaratabilirsiniz. Bir örnek verirsek, demolarda gördüğümüz yılan gibi kıvrılarak geçen sin scrollar copper çipi yardımıyla yapılmaktadır. Copper'ın yapabileceği birçok işlem vardır. Bu işlemlerin başında veri transferi gelir. Fakat bu transferi sadece hardware registerlerine yapabilir. Copper'la herhangi bir hardware registerine bilgi transfer edilebilir. Ekran çizgi çizgi kontrol edilir. Bu bazı kodlama teknikleri sayesinde pixellere indirilebilir. Copper ekranı çizgi çizgi tarar. Copper'ın taradığı her yatay çizgiye raster satırı denir. Copper 2 cycle'lı bir işlemcidir, ve sadece odd numaralı hafızayı kullanır. Böylece assembler komutlarının neden even adreslerde olması gerektiğini anlayabiliyoruz. Copper çipi de, DMA kanallarını kullanan diğer yardımcı çipler gibi sadece hafızanın ilk 512 K'sını kullanabilir ve copper komutları bu hafızada bulunmalıdır. COPPER LİSTESİ NEDİR: Copper listesi, copper çipinin yapmasını istediğimiz işler için verdiğimiz komutların listesi demektir. Bu komutlar assembler komutları gibi küçük kısaltmalardan oluşmazlar, wordler ya da longwordler formlarındaki sayılardan oluşur. Bu sayıların bitlerindeki bazı değişmeler komutun ne olduğunu gösterir. Copper çipinin üç komutu şunlardır... 1) WAIT 2) MOVE 3) SKIP birinci komut olan wait komutu verilen x,y pozisyonunu bekler ve kendinden sonra gelen işlemi o koordinattan sonra yapar. İkinci komut olan move komutu herhangi bir hardware registerine herhangi bir bilgi yükler. Üçüncü komut olan skip komutu ise eğer raster tarama işlemi verilen x,y koordinatına ulaşmışsa skip komutundan sonraki komut işleme konmaz, atlanır. Eğer tarama bu noktaya ulaşmamışsa sonra gelen komut işleme konur, ve bu döngü böylece gider. Eğer bütün copper listesi çalıştırılıp bitmişse copper başa döner ve listeyi yeniden çalıştırmaya başlar. Şimdi bu komutların bit numaralarını ve örnek kullanımlarını görelim. MOVE KOMUTU: Move komutu bir hardware registerine herhangi bir bilgi yükler. Fakat hardware registerlerine ulaşmada bir limit var. Bu limit, komutun $20 adresi ile registerlere ulaşamamasıdır. İkinci kısıtlama ise Copper Control registerinde bulunan COPPER DANGER BİTİ bir olmadığı taktirde $20 - $40 registerleri arasına etki etmemesi. Komutun uzunluğu iki worddür. Bu iki worddan ilki transfer hardware registerinin adresini tutmakla görevlidir. İkincisi ise transfer edilecek veriyi tutar. Şimdi bu komutun wordlerinin bitlerine bir göz atalım...

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