Amiga Dünyası sayı 11, sayfa 34

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 34

Örnek # textfile b—Set Breakpoints; Breakpoint yerleştirme b <Adres> : Adres'e bir breakpoint yerleştirir. Monitörden bir programı çalıştırdığınızda, bu programın, sizin belirleyeceğiniz adreslerde durmasını ve monitöre geri dönmesini isterseniz, bu adreslere birer breakpoint yerleştirmeniz gerekir. Böylece program belirlenen adreslere geldiğinde kırılır ve monitöre geri döner.

Breakpoint'ler kırmak istediğiniz adrese bir illegal Opcode ($4AFC) koyarlar. G veya J komutuyla çalıştırılan bir program, bu adrese gelince Illegal Trap tarafından yakalanır ve monitöre geri döner. Monitör bu adresteki eski değeri hemen yerine koyarak sizden yeni bir emir bekler. Breakpoint'ler ROM gibi yazılamaz hafızalarda kullanılamazlar.

bl—List breakpoints: Kullanmış olduğunuz tüm breakpoint'lerin adreslerini verir.

br--Remove breakpoints: Breakpoint'leri kaldırır.

br <adres>: adres'teki breakpoint'i kaldırır.

br all: Bütün breakpoint'leri kaldırır. l-Load Segment: Segment yükler. (segment=executable file) l <File ismi>: İstenilen bir executable file'ı hafızaya yükler, file'ın ilk hunk'ının başlangıç adresini ekrana yazar ve bu adresi PC (program counter) register'ına yükler. Executable file'lar, CLI'dan çağrıldığında yüklenebilen programlardır.

Örnek: l df0:c/dir : df0:c/dir programını hafızaya yükler ve başlangıç adresini verir.

u-Unload Segment: Yüklenmiş bir segmenti hafızadan siler. Hafızaya yeni bir segment yüklemeden önce, daha önce yüklenmiş olan segmenti silmeniz gerekir.

sl--Segment list: Yüklenmiş olan file'ın her hunk'ının başlangıç, bitiş adreslerini ve uzunluğunu verir.

[--Read file: İstediğiniz bir adrese istenilen file'ı yükler.

[ <adres> <file ismi>: İstenilen file'ı adres'ten itibaren yükler.

[ <adres> <uzunluk> <file ismi> : İstenilen file'dan belli bir uzunluktaki bölümü, adres'ten itibaren yükler.

Örnek: [ 30000 'df0:c/run' : run komutunu 30000'den itibaren yükler.

[ 30000 100 'df0:c/list' : List komutunun ilk $100 byte'ını 30000 adresinden itibaren yükler.

Not: Bir programı, istediğiniz bir adrese yükleyip çalıştırmak çok zor bir iştir. Sadece PC-relative (program sayacından bağımsız) programlar hafızada her adreste çalışabilir. Bu komutun iyi yanı incelemek istediğiniz bir programı, göze karışık gelmeyecek bir adrese koyup, daha rahat kurcalamanıza izin vermesidir. Ayrıca executable olmayan file'ları da, (Örneğin data file'larını Resim, ses gibi) bu komutla yükleyip inceleyebilirsiniz.

]--Write file; Belirlenen hafıza bölgesini diskete save eder. ] <adres> <drive> <uzunluk> <file ismi>

Örnek: ] 30000 1000 'df0:test' : 30000 adresinden itibaren $1000 uzunluğundaki datayı, yani 30000-31000 arasındaki bölgeyi, diskete 'test' ismiyle kaydeder.

<--Read disk sector; Sektörleri disketten hafızaya okur.

Örnek: < <adres> <başlangıç sektörü> <sektör sayısı>

Adres: sektörlerin hafızada yazılacağı adres.

Drive: bilginin hangi drive'dan okunacağı

Başlangıç sektörü: hangi sektörden itibaren okunmaya başlanacağı.

Sektör sayısı: kaç tane sektör okunacağı Örnek: < 40000 19 7; DF1:'deki disketin, 9'dan 16'ya (9+7=16) kadar olan sektörlerini 40000 adresinden itibaren hafızaya yazar. Diskette ulaşabileceğiniz sektörler 0-1759 arasındadır.

>--Write disk sector: Sektörleri hafızadan diskete yazar. Kullanımı read sektör gibidir.

> <adres> <drive> <başlangıç sektörü> <sektör sayısı>

Örnek: > 35000 0 5 3; 35000 adresinden itibaren olan datayı DF0:'daki disketin 5. sektöründen 8. sektörüne kadar yazar. Disketteki bir sektöre datayı yazarken unutulmaması gereken nokta, her sektörün "Checksum" denilen bir kontrol toplamı olduğudur. Bunu dikkate alıp, sektörleri checksum'larını hesapladıktan sonra yazınız.

=--Corrects blocks checksum: disk sektörlerinin checksum'ını düzeltir.

= <adres>: Verilen adresteki DOS formatlı bir disk sektörü datasının checksum'ını hesaplayıp düzeltir ve datayı diskete yazılabilir hale getirir. Ayrıca eski ve yeni Checksum'ları ekrana yazar. Örnek: = 30000 : 30000'den itibaren bulunan datanın checksum'ını hesaplar. #--Corrects Boot block checksum: # <adres>: Bootblock diğer sektörlere benzemez, iki sektörün toplamından, yani 2*512=1024 Byte'tan oluşur. Bu komut verilen adresteki bootblock datasının checksum'ını hesaplar ve diskete yazılmaya hazır hale getirir.

Not: Bootblock checksum'ını hesapladıktan sonra, boot datasını diskete şöyle yazabilirsiniz.

> <adres> 0 0 2 :adresteki boot'u DF0:'daki diskete yazar.

(boot 2 sektördür ve 0. sektörden başlar).

{--Read raw track: Normal DOS olmayan track'leri hafızaya yazar.

{ <adres> <drive> <başlangıç track'i> <track sayısı>: verilen adrese raw track'leri yazar.

Örnek: { 33000 1 8 :33000 adresinden itibaren bulunan datayı DF1:'deki disketin 8-10. track'lerine yazar. Not: Raw track'lerin okunmasında ve yazılmasında dikkat edilecek husus okunan veya yazılan bilgilerin DOS formatına çevrilmemesidir. Yani diskette bulunan byte'ların aynılarına sahiptir. Bu bakımdan system yükleme rutini bir syncron veya index için beklemez ve bilgiler herhangi bir yerden başlayabilir. Track sayıları 0-159 arasındadır ve bir track $3400 byte uzunluğundadır. Track'leri diskete save edeceğiniz zaman, bunların MFM veya GCR formatında kodlandığından emin olmanız gerekir. Hatasız bir geri yükleme için bunlar gereklidir. Yukarıda açıklanan diskete direk ulaşma ile ilgili komutlarla uğraşmadan önce drive'ınızdaki disketi, boş bir disketle değiştirin.

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