Program Döküm Eki sayı 19, sayfa 7

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 7

İlk önce $5F/$60 adreslerine kaydırılacak hafıza bölgesinin ilk byte'ının adresi küçük/büyük byte biçiminde yerleştiriliyor. Sonra $5A/$5B adreslerine de, kaydırılacak blokun son byte'ından bir sonra gelen adres aynı şekilde yerleştiriliyor. Artık sıra, bu hafıza blokunun gideceği adrese geldi. Ancak, yeni başlangıç adresini değil de, yeni yerine kaydırıldıktan sonra son byte'ın yeralacağı adresten bir sonra gelen adresi kullanıyoruz. Bu adresi de $58/$59'a yerleştirdikten sonra $A3BF adresinden başlayan sistem rutini çağırıyoruz. Artık, istediğimiz kaydırma işlemi tamamlanmış ve makina dili programımız yerine yerleştirmiştir. JMP komutu ile onu çalıştırmaya başlayabiliriz.

Diyelim ki, $8000-$8FFF arasındaki bir programı $C000-$CFFF arasına kaydırmak ve sonra da SYS 49153 ($C001) ile başlatmak gerekiyor. Bu durumda, yukarıdaki rutinde soru işaretleri ile belirtilmiş değerler şu şekilde olacaktır:

LDA # $00 LDY # $80 STA $5F STY $60 LDA # $00 LDY # $90 STA $5A STY $5B LDA # $00 LDY # $D0 STA $58 STY $59 JSR $A3BF JMP $C001

Bu bilgilerin ışığında, gerek kullanımında gerekse programı incelemek isteyenlerin çalışmalarında bir sorun çıkmamasını diliyoruz.

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