1 Kasım 1987 Tarihli Commodore Gazetesi Sayfa 62

1 Kasım 1987 tarihli Commodore Gazetesi Sayfa 62
Metin içeriği (otomatik olarak oluşturulmuştur)

ralı satırda bir bloğu serbest olarak işaretliyoruz. Bu komut sayesinde o blokta herhangi bir bilgi varsa si- linmiş oluyor. 30 numaralı satırda açmış olduğumuz tampon böl- geyi işaret eden bir belirteç tampon bölgenin ilk byte'ını gösterecek şekilde ayarlanıyor. Daha sonra gelen ilk üç byte'a CBM karakterleri yazılıyor. S0 nu- maralı satırdaki komut, veri tamponunun disketin TRACKA SECTORÜ bölgesine yazılmasını sağlıyor. 60 numarocilı satırda bu bloğu kullanılmış olarak göster- dikten sonra /0 ve 80 numaraolı satırlarla dosyaları kapatıyoruz. Ufak programı yazıp çalıştırdıktan sonra, SYS DEC("FF53'),8,8 veya SYS DEC(“F890”),8,8 ile programın etkisini görebilirsiniz. Bu komutlardan birisini Uuygulamanızla birlikte disket sürücünün çalış- maya başlamasından kısa bir süre sonra ekrana BOOTİNG... mesajı çıkacak. Daha sonra büyük bir ihtimalle bil- gisayar MONTOR'e girecek, Şimdilik bunu normal karşılamak gerek. Biz otomatik başlama mekanizma- sının çalışmasını sağlayan ilk üç byte'i diskete yaz- dık. Diskette yeralan bloğun geri kalan kısmı büyük ihtimalle sıfır değeri ile doludur. Bilgisayar başka bir mesoaj alamadı ve başka blokları okuyamadı. Bun- dan sonra da bir makine dili programı çalıştırmak is- tedi ve sıfır değerli byte'larla karşılaştı. Makine dilin- de sıfir değerli byte BRK komutunu temsil ettiğinden bilgisayarımız MONİTOR'e girip kaldı. OLD Diyelim sizin için çok önemli bir program yazıyor- sunuz ve programınızı yazmadan NEW komutunu ver- diniz. Hemen üzülmeyin, kaybetmiş olduğunuz prog- ramınızı kurtarmanın yolları var. NEW komutunun verilmesi ile birlikte programın ba- şında bulunan iki byte sıfırlanır. Programın başında sıfırlanmış olan ilk iki byte bir sonraki programın sıfır numarasının adresini belirtir. NEW komutunun gaza- bına uğramış bir programı kurtarmak için değişken- lerin başlangıcını da düzeltmek gerekir. Kaybetmiş olduğumuz programı üç aşamada kur- taracağız. : 1. Programın ilk iki byte'ina sıfır hariç bir sayı verin. BASIC'in başlangıç adresinin high byte'ini vermeniz en İyi sonucu verir. 2. Genelde programa yeni satır ilavesinde kulla- nılan BASIC program satırlarını düzenleyen sistem ru- tinini çağırın. Bu rutin programın tüm satır bağlanfı belirteçlerini değiştirip tekrar hesaplar. Böylece prog- HMA AA KTT 62 AAP AM ÇÜ A ramın İlk satırını gösteren belirteç yeniden hesapla- nıp hafızaya yazılmış olur. 3, Kaybetmiş olduğunuz programın sonunda bu- lunan değişkenlerin başlangıcı yeniden ayarlanır. Bu işlemleri C128'de uygulamak çok daha kolay. 3 numaralı aşamayı C128'de iptal etmemiz mümkün, çünkü değişkenler BANK1'de saklanırlar. Kaybetmiş olduğunuz programı aşağıdaki komu- tu girerek kurtarabilirsiniz. Bu komut anlatmış olduğu- muz aşamaları gerçekleştirecek: POKE PEEK(4A5) 4 256 * PEEK(4ö) * 1,28:5Y5 DECİ“AFAF) 45/46 numaralı adresler BASIC başlangıcını işaret ederler. Bu rutin, belirteçleri eski haline getirir. Yap- tığımızın makine dilinde karşılığı: OBOO AO OA LDY 501 OBO2Z AŞ ACLDA $54C€; BASIC ram : başlangıcı rıcın 28 OBO4 914 2D STA (520D),Y OB06 20 4F JSR SAFAF; Bağları belirler OBÜ? 6Ü RTS Makine dilindeki programımızı SÜBO0 adresi yeri- ne başka bir adrese de yerleştirebilirsiniz. LIST Bir program hazırlarken eninde sonunda progra- mınızıin dökümünü Printer'dan almak ihtiyacını duyar- sınız. Ama bu iş için uzun uzun ÖPEN44:CMD A:LIST:CLOSE 4 komutlarını yazmaınız gerekir. Program Döküm Eki'ndeki PROGRAM1'İ yazıp, SYS DECEMA00') komutu ile çalıştırdığınızda istedi- ğiniz programın dökümünü yazıcıdan alabilirsiniz. Müakine dili ile ilgilenen arkadaşlar için programımı- zı makine dilinde de yazdık: YADO AŞ OOLDA — $00 ;Konfigirasyon 1A02 8D 00 FF STA SFFOO YAOS AŞ OOLDA $00 ;Dosya ismi AO7 20 BD FF JSR SFFBD ;Dosya ismini ayarla AĞA AŞ OA LDA — SO04 ;Logic dosya numarası 1YADCAA — TAX şArac numarası AD AO ÖOLDY SO7 ;lkincil adres 1AOF 20 BA FF JSR SFFBA ;Dosya parametre ayarı 4A42 20 CO FF JSR SFFCO ;OPEN Kernal rütini YAYSAZS OALDE 504 ;Loglic dosya numarası 1A47 20 C9 FF JSR SFFO9 ;Çikis aracını ayarlama 1AYA A5S 2D LDA $2D ;BASIC ram baslangıcı-low 1AAC 85 61 STA $61 1AYE A5 26 LDA $2E ;BASIC ram baslama-hıgh 1A20 85 62 STA 562 commodore KA

Bu sayıdan diğer sayfalar: