Bu sayfadaki yazılar
Sayfanın metni
Sayfa 61
|
Gerek çeşitli dergilerde olsun, gerekse piyasaya sürülen dökümanlarda olsun öğretilmeye çalışılan makina dili karmaşık çoğunlukta öğreneni konudan uzaklaştırmıştır Bizler, size mümkün olabilecek en sade ve basit dille makina dilini anlatacak, yararlı ve zevkli çalışmalar yapmanızı sağlayacağız. MAKİNA DİLİ NEDİR? Her mikrobilgisayarın içinde bir mikroişlemci vardır. Bu mikroişlemci bilgisayarınızın beynini oluşturur. Bu beyin sizin kullanabileceğiniz komutlara veya daha önce içine yerleştirilmiş komutlar kümesine (programlara) göre hareket eden özel bir çiptir. Bu çip sadece kendine ait olan komutları, başka bir deyişle dili anlar. Biz buna makina dili diyoruz ve bu dil bilgisayarımızın ana dilidir. Bütün bilgisayar dilleri makina diliyle yaratılmışlardır. Makina dili varken neden diğer yaratılmış diye bir soru aklınıza gelebilir. Bunun sebebi, makina dilinin karmaşık bir dil olması ve makina diliyle yazabileceğimiz bir programı diğer dillerle daha kolay ve kısa yazabilmemizdir. Bu seferde akla başka bir soru gelir, durum böyleyse diğer dillerle kolayca program yazmak varken makina dilini neden öğrenelim? Bunu şöyle açıklayabiliriz; diğer diller makina diliyle yaratıldığındabu dillerle yazılan programların bilgisayar tarafından anlaşabilmesi için arada bir tercümana ihtiyaç vardır. Bu tercüman her program için ayrı isim alır. Örneğin Basic tercümanın ismi "interpreter"dir.Bir basic programı run edildiğinde interpreter devreye girer ve işletim sistemi interpreterin yardımıyla Basic komutlarını tanır. Bu olay sayesinde buna uygun makina dili alt programları çalışır. Yani programın icrası yine makina dili vasıtasıyla yapılır. Bu yüzden arada interpreter olduğundan program daha yavaş çalışır. Fakat aynı program makina dili ile yapılsaydı, arada interpreter olmayacağından maksimum hızda çalışacaktır. Yüksek hızda icra kabiliyeti olan pek çok program olmasına rağmen, hiçbirisi makina dilinin hızına erişemez. Ayrıca, makina diline hakim olunduğu takdirde, diğer programların kendi çalışma mekanizmaları nedeniyle meydana getirdiği pek çok kısaltmadan kurtulmuş olunur. Makina dilinin kullanılması ile aynı anda birkaç programın birlikte çalıtırılması bile mümkündür. Yani kısacası, makina dilini kullanarak yapamayacağınız şey yoktur. Makina dili ikilik sayı sisteminde çalışmaktadır. Bu sayı sisteminde çalışmak zor olduğundan makina dili komutlarının hexadecimal veya üç harflik kısa gösterimlerini mümkün kılan programlar kullanmak yerine olur. Bu programların başlıcaları Macro assembler ve Assembler Editor programlarıdır. MAKİNA DİLİNİN MANTIĞI Makina dili karmaşık görünmesine rağmen aslında diğer dillere nazaran çok daha basit mantıklıdır. Bu mantık aşağıda gösterilen şekilde açıklanabilir: 1. Bir bellek adresinin değerini değiştirme işlemi. 2. Bir byte'lık bir sayı üzerinden basit aritmatik ve mantık işlemleri yapmak. 3.Program akışı içinde bir noktadan diğerine atlama işlemi. Bilgisayarınız, 65536 adet bellek adresine sahiptir. Örneğin 40000 sayısı ekranın sol üst köşesinin koordinatlarını gösteren bellek adresidir. Bilgisayarınızıbir sokağa benzetirseniz, bellek adresi de kapı numaralarını gösterir. Bu adreslerden kimisi dolu, kimisi boştur. Yapacağınız programları boş olan adreslere yazmanız gerekir. Yaptıracağınız işlemleri ise o işle görevli dolu adreslere yaptırmalısınız. Hangi adreslerin dolu, hangi adreslerin boş olduğunu aşağıda belirttik. Önünüzdeki sayılarda dolu adreslerin hangi işlevleri gördüğünü birlikte inceleyeceğiz. Bu işlevleri, ilgili adrese 1- 255 arasında bir değer koyarak yaptırabiliriz. Şimdi yukarıda bahsettiğimiz adres dağılımınıinceleyelim. 0- 1151 İşletim sistemi tarafından kullanılır. 1152 - 1791 Atari'ye ait dillerde özel işlemlerin yapımında kullanılan hafıza bölümü. 1792 - 6780 FMS-SYS veya DOS-SYS bu bölgeye yüklenir. Yüklenmemişse, kullanıcıya ait. 6781 - 7548 Disket işlemleri için buffer bölgesi. 7549 - 13061 Disk işletim sisteminin yüklendiği bölge. DUP-SYS yüklü değilse kullanıcaya ait. 13062 - 32767 Kullanıcıya ait bölge. 32768 - 49151 Kartuş bölgesi. 40000 - 49151 Ekran bölgesi. 49152 - 65536 İşletim bölgesi. Bu aylık bu kadar, önümüzdeki aylarda bu konuyu tüm ayrıntılarıylaanlatmaya devan edeceğiz. Tabii sizin için seçtiğimiz güzel oyunlarla birlikte. Herşeyin gönlünüzce olmasını dileriz.
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 60
Her ay yazımıza teşekkürle başlıyoruz. Şimdi de teşekkürle başlarsak bunlar klasik açılışa iyi alıştı, yazacak bir şey bulamıyorlar diyeceksiniz. Teşekkür etmeme durumunda da zahmet edip mektup yazanlar alınacaklar. Bizler böyle diyoruz ama postacıların aynı fikirde olduğunu söyleyemeyiz. 64'ler Dergisi'nin geneline gelen mektupları da beraberinde düşünürsek postacılar neredeyse burada yatıp kalkacaklar. Ama siz yine de güzel mektuplarınıza devam edin, bizler çok memnun oluyoruz. Sizlerin tüm isteklerine bu sayfalardan cevap verebilmek hepimizin dileği. Doğal olarak Atari konusundaki çalışmalarımız, Abdurrahman Ağabeyimizi sayfa arttırma konusunda ikna edebilme için başının etini yeme çalışmalarımız ile paralel sürüyor. Bu işin sonunda ya sayfa adedimiz artacak ya da Abdurrahman Ağabeyimiz saçsız kalacak. Tabii bu konuda sizin mektuplarınıza da ihtiyacımız var. Haydi hep beraber yüklenelim.
Bu ay sizler için güzel çalışmalarımız var. Geçen ay sözünü ettiğimiz makine dilini bu aydan başlamak üzere yayınlıyoruz. Tabiiki yine her ay olduğu gibi beğeneceğinizi umduğumuz bir oyunumuz var, MISJA.
Şimdi sözü uzatmadan açıklamaya geçelim.
Böyle de oyun ismi olur mu demeyin, İskandinav ülkelerinin dilleri de, isimleri de alışılmışın dışında. Bomba gibi bir komando oyunu. Nedense komando, savaş konulu oyunlara sizlerin ilgisi oldukça fazla, bu ay için MISJA'nın seçilmiş olması sizler için doğru bir tercih olacak sanırız. Konunun genel anlatımı, bir askeri üstten kaçış olarak söylenebilir. Tabii siz komando olarak tam teçhizatla savaşacak, yakıp yıkacaksınız. Sonunda içine binip kaçacağınız helikoptere ulaşmanız gerekli. Bunun için de kapalı koridorları açmalısınız, bu arada düşmanlarınız sizi rahat bırakmayacak. Koridor kapıları laser tertibatlı ve bu kapıları açmak için çilingir bulamayacağınızdan üzerinde ilgili kapının yandığı kısmı bulmanız gerekli. Buraya ulaşınca uzanıp dokunun işte bu kadar, kapı açıldı. Bu arada siz bu işleri yaparken eli silahlı düşman askerleri, makineli tüfek yuvaları, mayınlar, füzeler ve tanklar size eşlik edecekler. Bunların niyetlerinin sizi öldürmek olduğunu tahmin edersiniz herhalde. Eğer yan yana üç çubuk şeklindeki işarete rastladığınızda almazsanız, seksen kurşundan fazla kurşun kullanamazsınız demektir. Bu arada azalan enerjinizi kalp şekillerini toplayarak arttırabilirsiniz. Bomba temini için de bomba işaretli şekilleri toplayın. Ateş etmek için ateş tuşuna basıp kolu aşağıya çekmek gerekiyor. Oyunda bazen yolunuzun üzerine geçemeyeceğiniz engeller çıkacak. Bunların etrafından dolaşıp yolunuza devam etmek becerisi size kalıyor. Şimdi de ekranın tanımına geçelim. Ekranın alt tarafındaki büyük çizgi enerji miktarınızı gösterir. Kurşun sol alt köşede görebilirsiniz. Bomba miktarı ise sağ köşede gösteriliyor. Yine sağ alt köşede bulunan haritada ufak beyaz nokta nerede bulunduğunuzu siyahlaşan yerler ise geçtiğiniz yerleri gösterir. Eğer bu oyunu Rambo gibi sonsuz kurşun ve el bombasıyla aldığınız onca yaraya rağmen ölmeden oynamak isterseniz açılışta sırayla A, B, C tuşlarına basıp oyuna öyle başlayın. A tuşu sonsuz enerjiye sahip olabilme. B tuşu sonsuz adet el bombasına sahip olabilme. C tuşu sonsuz adet kurşuna sahip olabilme. Bu ay ki oyunlarımız bu kadar, hepinize bol şanslar. Yavuz ve Selim GEZİCİOĞLU