64'ler sayı 15, sayfa 47

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 47

Disassembling'e devam eder. D ssss - ssss adresinden başlıyarak hafıza sonuna kadar Disassembling'e devam eder. D ssss eeee - 'ssss' den eeee'ye kadar olan bölümü Disassembling eder. Disassembling sırasında, her satır tek tek görünüp herhangi bir tuşa örneğin SHIFT tuşuna basılıncaya kadar beklemede kalır. STOP tuşuna basılarak Disassembling sona erdirilir. Disassembling süresince JSR, JMP, Absolute ve Zero Page referanslarında, dallanma komutlarında varış adresi takip edilmek istenirse F tuşuna basılması yeterlidir. Eğer komut hafızadaki bir adresten referans almaktaysa örneğin LDA 3D78,X - F tuşu sadece O adresteki değeri verir fakat o adreste herhangi bir JSR, JMP veya dallanma komutu varsa onun akışını izler. R tuşuna basarak bir önceki Follow (izle) komutunun başlangıcına dönebilirsiniz. Follow döngüsü içiçe onaltı kez tekrarlanabilir. Eğer monitor programı geniş NOP yada BRK komut bloklarıyla karşılaşırsa (üç'ten fazla olmak kaydıyla) onların hepsini tek bir satırda birleştirir. Örneğin: .> 201D - 203F NOP E ssss - Komutu size ssss adresinden başlamak üzere hafızaya ASCII kodundan metin yazma olanağı sağlar. ASCII metin ve kontrol karakterleri klavyeden girilir. Ins. Del. tuşu son karakteri siler ve yerine boş bir bayt koyar. Bu konumdan stop tuşuna basarak çıkabilirsiniz. O zaman program size bir sonraki karakterin adresini verir. Böylece sonradan ek yapmak isterseniz hangi adresten başlıyacağını bilirsiniz. F ssss eeee bb bb - Bu komut verilen adres aralığında nitelikleri belirlenmiş 1-7 arası bayt'ın bütün “occurance” larını bulur. Bayt değeri yerine * * yazmakla es geçilebilir. Bayt'lar önüne bir (') apostrof yazarak karakterin ASCII değerinden de girilebilir. F ssss eeee bb bb bb - bb bb bb: Bul komutu bu şekliyle verilen aralığı tarıyarak bayt'ların occurance'larını ikinci aralıktaki bayt'ların occurance'larıyla değiştirir. Birinci komutta olduğu gibi * * ile es geçilmiş bayt'ın hafızadaki esas değeri değişmeden kalır. Not: Bütün MATCH'lerin adresleri ekrana dökülür. Birden fazla occurance varsa BUL komutu STOP tuşuyla zamanından önce kesilebilir. Örneğin: F 1000 17FF A9 18 20 * * 18 - ** ** * 19 Bu komut 18. sayfadaki bütün A9 18 dizilimleri bularak (yani LDA N JSR dizilimi) onları aynı sırayı koruyarak fakat A9 40 şeklinde (yani LDA N JMP biçimiyle) 19. sayfaya yerleştirir. G ssss - ssss adresinden makina kodunu çalıştırmaya başlar. G - Program Counter belirdiği adresten makina kodunu çalıştırmaya başlar. 64'ler mon.'a geçildiğinde IRQ, NMI vektörlerini, program counter'ı, Stack Pointer'ı, Accumulator'u, X, Y, ve Status'u muhafaza eder. G komutuna girildiğinde bütün bu yukardaki register'ları yerlerine koyar, ve belirtilen adresten Makina kodunu başlatır. Otomatik olarak da 64'ler mon. NMIV'i kendini gösterecek şekilde ve RESTORE'a basıldığında programı yarıda keserek tekrar 64'ler mon.'a döner. GN ssss ve GN: İkisi de yukardaki komut gibidir. Ne var ki bir makina kodu işlemesi sırasında BRK ile karşılaşıldığında bilgisayar kendiliğinden 64'ler mon.'a döner. Böylece bir programın hatalarını Check ederken rutin aralarına BRK yerleştirerek işinizi kolaylaştırabilirsiniz. H - Ondalıklı sayı n'nin heksadesimal değerini verir. Örneğin: .H 326 0146 | bb ssss eeee - Hafızanın ssss eeee adresleri arasında kalan değerleri bb değeri kadar arttırır. Heksadesimal bir değeri FF kadar arttırmak elbette bir eksiltme etkisi yapar. J ssss ya da J yada JN ssss JN - G gibidir. Farkı RTS ile biten subroutine içeren Stack'a 64'ler mon.'a dönmesi için bir return adresi yerleştirir. K - VIC chip'ini reset ederek tekrar orjinal değerlerini almasını sağlar. Ayrıca SID chip'inin tüm ses kanal anahtarlarını kapalı (off) duruma getirir. Görüldüğü gibi çok kullanışlı bir komuttur. Bir programı BRK yada RESTORE komutuyla kırdığınızda ve tanımlanabilir karakterler, HI-RES, ekran ve ses kaybolduğunda bu komutu kullanabilirsiniz. L - Herhangi bir programı teypten yükler. L “TEST” -(” ”) içinde adı yazılan programı teypten yükler. L “TEST 2” dd - Adı yazılan programı 01 durumunda teypten, dd- 08 durumunda da disketten yükler. L “TEST 3” dd ssss - öteleme (yeniden yerleştirilmiş yükleme) Adı yazılan programı normalde varış adresi ne olursa olsun ssss adresinden başlamak üzere yükler. M ssss - Hafızanın 8 bayt'ını ssss adresinden itibaren ekrana çıkarır: M ssss eeee - ssss'den eeee'ye kadar olan bayt'ları ekrana döker. Döküm herhangi bir tuşa basılarak yavaşlatılabilir. RUN/STOP'a basarak durdurulabilir. Bayt'ların ASCII karşılıkları ekranın sağ tarafına dökülür. Karşılığı olmayanlar ise bir nokta şeklinde belirir. Herhangi bir bayt normal ekran yazım yollarıyla değeri değiştirilerek, istenen değişiklik yapılabilir. N ssss eeee dddd - Yeniden yerleştirme. Dışardan ne kadar karışık görünürse görünsün büyük kolaylıklar getiren kullanımı rahat bir komuttur. Bu komut size bir programı yeni bir adrese yerleştirme olanağı verir ve hafızanın başka bir bölgesinde tüm referansları değiştirerek yeniden uygulama olanağı sağlar. Program tüm JSR, JMP, Absolute, Zero Page ve Branch (dallanma) referanslarını yeniden yerleştirir. Hatta bir dallanma referansı hafıza sınırı dışına taşarsa yada bir Zero Page referansı Absolute adres olursa, program bu durumu belirtir. Değişen her referans önce ekrana yansıyacak ve siz herhangi bir tuşa basıncaya kadar bekliyecektir. Yeniden yerleştirilen programın taranması sırasında rutin (döngü) geçersiz hale gelen bir opcode'a rastlarsa o bayt'ın adresini ve değerini verip sizin bir tuşa basmanızı bekler. Böyle yapmasının nedenine gelince program bazı dataları özgün referans kabul edip, istemiyerek data listesinde değişiklik yapabilir.

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