Bu sayfadaki yazılar
Sayfanın metni
Sayfa 4
READY ile karşılık verecektir. Artık programlarınızı yazabilirsiniz. O satırın sonunda [RETURN] tuşuna bastığınızda bilgisayar ekranın sol üst köşesine 0-255 arasında bir sayı çıkaracaktır. Ayrıca bilgisayar, önce iki nokta üstüste (:) sonra da bir boşluk basarak, sizin en fazla 3 basamaklı bir sayı vermenizi bekleyecektir. Burada, dergide her satırdan sonra (...) şeklinde göreceğiniz. Sayıyı yazın. Eğer o satırı doğru yazdıysanız dergideki kontrol toplamı ile ekranda beliren sayı aynı olacaktır ve o sayıyı yazıp [RETURN]'e bastığınızda, ince bir ses duyacaksınız. Artık o satırı doğru yazdığınızdan emin olarak, bir sonraki satırı yazabilirsiniz.
Ancak bir hata yapmışsanız, örneğin bir sayı unutmuşsanız veya satır numarası yanlışsa veya iki harfin yerine karıştırmışsanız dergideki toplam ile bilgisayarın hesaplayacağı sayı farklı olacaktır ve dergideki sayıyı verdiğinizde, gürültülü bir ses işıteceksiniz. Geri dönüp, o satırı düzeltmeniz gerekir. Ancak bu şart değil. Bir sonraki satıra da devam edebilirsiniz, ancak ne yazık ki, programınız hatalı olarak kalır.
Burada dört noktayı belirtmemiz lazım. Kontrol toplamının oluşmasında komutlar arasındaki boşlukların bir önemi yoktur. Dolayısıyla okunaklılığı artırmak için kullanılan boşlukları yazmayabilirsiniz.
Bir diğer önemli nokta da SIMON'S BASIC ile ilgili. Bu program ile BDE'yi birlikte kullanmak mümkün değil. Bu nedenle, SIMON'S BASIC ile yazılmış programlarda kontrol toplamı bulunmayacak. Ancak okunaklılığı artıran diğer özellikler (kontrol, renk ve grafik karakterleri gibi) kullanılacaktır.
Öte yandan, eğer kontrol toplamlarını kullanmak istemiyorsanız (yani kendinize çok güveniyorsanız), ya BDE'yi hiç yüklemeyin, ya da eğer yüklemiş ve çalıştırmışsanız POKE 1.55 komutunu verin. Tekrar çalıştırmak içinse POKE 1.53 komutu gerekli. Ancak çok dikkatli olun!! Eğer 53 ve 55 dışında bir sayı kullanırsanız, C-64'ünüz kolayca kitlenebilir ve o ana kadar yazdıklarınız da boşa gider.
Ve son olarak... Eğer BDE çalışır durumda iken LOAD işlemi yaparsanız, sizden bir satır yazmışsınız gibi bilgisayarın bu isteğini duymamazlığa gelip sorusuna [RETURN] ile cevap verebilirsiniz. Hiçbir yanı etkisi olmayacaktır.
Şimdi sıra BDE'yi (ya da önce MDE'yi) yazmanıza geldi. Kolay gelsin...
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 5
Önüçüncü sayımızda, profesyonel bir assembler programı yayınlamıştık: SUPER-ASS. Şimdi de aynı kalitede bir Reassembler veriyoruz! REASS.
Öncelikle bilmeyenler için, reassembler'in ne olduğunu anlatalım.
Bildiğiniz gibi, assembler ile, makina dilindeki programlarımızı rahatça yazıp değiştirebiliyorduk. Peki, daha önceden yazdığımız, belki bir makina dili monitörü programıyla, belki de DATA satırlarıyla hazırladığımız, binbir emekle çalıştırmayı başardığımız programları daha da geliştirmeye çalışırken ne olacak? Ya gereken yenilikleri dededen kalma eski yöntemlerle gireceğiz (monitör, DATA'lar vs.) veya tüm programı assembler kodu haline çevirip rahata kavuşacağız. Çünkü, bildiğiniz gibi, assembler kodunda yapacağınız her türlü değişikliği kolayca makina koduna çevirecektir.
Peki ama, elimizdeki makina dili programı assembler koduna çevireceğiz? Eğer bir reassembler'iniz yoksa, bu işi yapmanın tek yolu, programı satır satır kağıda geçirmek (printer'iniz yoksa yandınız), sonra programda label (SUPER-ASS'da bu tür terimleri açıklamıştık) konabilecek yerleri bulmak, tabelaları bulup çıkarmak ve sonra da oturup tek tek SUPER-ASS'ı kullanarak bilgisayara assembler kodu yazmak. Bu iş tahminle 5-6 saat sürer. Tabii programınız fazla uzun olmadığı sürece. Hele bir de başkasının yazdığı bir makina dili programını değiştirmek ve bu arada da SUPER-ASS'dan yararlanmak istiyorsanız yandınız.
Yanmamayı ve tüm bu işlemleri 5-10 saniyede bilgisayarın halletmesini, bu arada da ayaklarınızı karşı koltuğa uzatıp rahat etmeyi istiyorsanız, derdinizin çaresi REASS demektir.
Bu program, COMMODORE 64'ün içinde bulunan makina dili programlarını, gerek RAM'da gerekse ROM'da olsun, SUPER-ASS'ın kullanabileceği biçimde assembler koduna dönüştürür. Sizin tüm yapacağınız, assembler koduna dönüşecek programın başlangıç ve bitiş adreslerini REASS'a bildirmek. Geriye kalanı o haledecektir. Hatta, REASS'ı çağırırken kullanacağınız 0-225 arası bir sayı ile, assembler kodunuzun sahip olacağı birtakım özellikleri de ayarlayabilir, kendi damak zevkinize göre bir kod üretebilirsiniz. Artık teknik ayrıntılara girebiliriz.
REASS tamamen makina dilinde yazılmıştır ve $C000-$CB00 arasını kaplar. Çalışması sırasında SUPER-ASS'ın hafızada bulunup bulunmaması farketmez. Ayrıca REASS, demin de bahsettiğimiz gibi, üreteceğiniz assembler kodunun bazı özelliklerini değiştirebilmeniz amacıyla üç yeni komut getirmektedir. Şimdi kullanma yönetimine geçelim.
REASS'ı kullanırken SUPER-ASS'ın hafızada bulunmasının avantajı, üreteceğiniz assembler kodunu derhal kullanabilme şansına sahip olmanız. Ancak dezavantajı da, boş hafıza miktarının azalması. Bunun sonucunda, üreteceğiniz assembler kodu ile makina dili programın kendisi beraberce hafızaya sığmayabilir. Bunun bir çözüm yolu, SUPER-ASS'ı doldurmamaktır. Diğer bir çözümünü ise yazımızın ilerleyen kısımlarında göreceğiz.
Önce REASS'ı MDE kullanarak yazın ve SAVE edin. Sıra kullanmaya gelince...
Önce makina dili programınızı bilgisayara yükleyin ,8,1 veya ,1,1 ile . Yalnız dikkat, bu programın $C000-$CB00 arasını boş bırakması lazım. Çünkü buraya REASS yerleşecek. Eğer program bu adresler arasındaysa, iki çözüm yolu var. Ya programınızı makina dili monitörü ile kaydırırsınız (11. sayıya bakınız) ya da BASIC programından bu işi yaparsınız. Bu işi yapabilecek bir