İ — If]ah olmaz bir bilgisayar kurcalayı- | a | cısı mısınız? Bir oyun programını w n yazdıktan sonra, oynamaya başla- AF " B maktansa programı değiştirmeyi mi — yeğliyorsunuz? Bilgisayarınızı yükle- — dikten sonra tam istediğiniz konfigü- rasyonu sağlamak için bir sürü utility doldurma alışkanlığınız var mı? Programları tepeden tırnağa elden L geçirmedikçe içinizin rahat etmediği İ ü olur mu? | Eğer bu sorulardan herhangi biri- ne evet cevabı veriyorsanız, sizde bi- z raz da olsa kurcalayıcılık var demek- tir. “Kurcalama” deyimi kimi iyi ki- B mi kötü birkaç anlam birden taşıyor. : ” Biz burada ““yazılım deşen”, ya da - / “bit çevirenler''den bahsedeceğiz. F a Modemler aracılığıyla Stratejik Ha- #L — va Kumandanlığı'nın Savunma İleti- " şim Sistemi'ne nasıl girildiğini, veya en yeni telif koruma sistemlerini et- kisiz bıirakma yöntemlerini anlatmak niyetinde değiliz. Kendimize daha mütevazi hedefler koyuyoruz; fakat kurcalamacılık ruhuna da sadık ka- lacağız. Bu ay, hafızaya bir makine dili uti- lity'si sokmaya yarayan bir BASIC “yükleme” programıyla başlıyoruz. Makine dili monitörü aracılığıyla bu utility'i hafızanın içinde inceleyece- ğiz. Utility'i parçalayıp nasıl çalıştı- ğına bakacağız. Ve son olarak da, utility'nin hafıza içindeki konumu- nun nasıl değıştırılebı eceğini görece- ğiz. Neden mi yapıyoruz bütün bun- .Ca . ları? İçimizden geldiği için! Ee>a rell YÜKLEYİCİ Bugüne kadar bir sürü makine di- ge li yükleme programı görmüşsünüz- —i A dür. BASIC'le yazılırlar ve büyük öl- aa çüde ondalık veya onaltılık sayılarla dolu DATA cümlelerinden oluşurlar. Bu sayıların ne anlama geldiğini hiç H merak etmemiş miydiniz? — Bunu tam olarak anlamanız için, e . assembly dili konusunda biraz da ol- n ©| sa bilgi sahibi olmanız gerekiyor. Ne & yazık ki, bu makalede tek bir dersle h assembiy dilini öğretmemiz mümkün . | değil. Gene de, assembly dili uzmanı olmadan da bu tartışmayı izleyebilir- ; İ siniz. Burada assembiy dilinde yazıl- ğ mış bir programda nelere dikkat et- | meniz gerektiğini ve bazı cevaplara nasıl ulaşabileceğinizi an- sayılar onaltılık sayılar, gerı kalan]ar a latacağım. ise ondalık sayılardır.) 1 sa- Utility yükleyicisinin adı Sicim Yükleyici. Aslında C-128 — tırdaki CK bütün verilerin lOplamml için yazılmış, fakat birkaç küçük değişiklikte C-64'te de kul- — hesaplayıp bir. “kontrol-toplamı” lanılabiliyor. Aşağıdaki anlatacağımız değişikliklerden biri, — (check sum) oluşturur. Son veri de- İ — Programı C-64'e uyarlamanızı sağlayacak. Bğeri (“X”) okunduktan sonra, Fi 1050. satır, bir byte B verisini hafızada M konumu- — kontrol-toplamı gerçek değerle kar- D LN na getirir. Başlangıçta, M 1000. satırda 4892'dir. 1100. — şılaştırılarak DATA cümlelerinin ya- ı satırdan okunan ilk byte'ı ise $4C'dir. (Başında $ olan — zılması sırasında hata yapılıp yapıl-