Commodore sayı 37, sayfa 23

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 23

LDA#A JSR OPEN LDX#A JSR CHKOUT ; çıktıyı birinci kanala gönder BCC PRTOK ; carry sönük, hata yok LDA #1 ; hatayı hallet printer için açılan kanalı kapat JSR CLRCHN LDA # (MSG; printer hata mesajı LDY #)MSG JSR STROUT JSR GETİN CMP #32

; printer kanalını aç

BEKLE boşluk tuşu için bekle ; boşluk tuşunun kodu 32'dir BNE BEKLE JMP PRTKON ; boşluk tuşuna basıldı, tekrar dene ; printer açık JSR CLOSE

JMP CLRCHN

MSG *ASC “PRİNTER'İ KONTROL ET, TEKRAR DENEMEK İÇİN BOŞLUK TUŞUNA BASIN” 13.0

OYUNLAR İÇİN KOLAYLIKLAR (4)

Burada sözü oyunlar için çeşitli kolaylıklar gönderen arkadaşlarımıza bırakıyoruz. Barış İntepe arkadaşımız bize aşağıdaki ip ucunu göndermiş. Kendisine teşekkür ediyoruz. Paperboy Oyunda baştan beşinci eve gelince posta kutusuna gazete atmak yerine gazete ile camını kırıp sonradan sınav yolunu bitirmeyi başarırsanız 100000 puan alabilirsiniz. Ankara'dan A. Erdem Ertan arkadaşımız bize aşağıdaki ip uçlarını göndermiş. Kendisine teşekkür ediyoruz. Test Drive (C-64) V tuşuna basarsanız hız ekranın üstünde dijital olarak gösterilir.

Bombjack II POKE 7053,200:SYS 39712

Gink POKE SYS 16384

Future Night

BUG87 tuşlarına aynı anda basarsanız sonsuz hakkınız olacak.

Sentinel 1348 no.lu Landscape'in kodu: 58896035

Championship Wrestling Eğer rakibiniz sizi yere atarsa, Joystick'i mümkün olduğunca çabuk ileri iterek ateş tuşuna basın. Enerjiniz artacak ve rakibiniz geriye doğru fırlayacaktır.

Knight Mare

Kapının yanına (en üst sağ köşeye) gidip kapıya dönüp “OPEN DOOR” komutunu verince normal olarak kapının açılması lazım. Fakat bunu yapmadan önce zindandaki taşları ve yiyeceği alın.

Erdem arkadaşımız aşağıdaki soruları soruyor:

(4) Makine dilinde hafızadaki bir programı başka bir adrese göndermek için (program içinde) ne yapmam gerekir? Bu soruyu ikiye bölelim: (a) Bir programı normalde olduğu yerden başka bir yere nasıl taşıyıp çalışır halde kalmasını sağlayabiliriz? (b) Programın gereği olarak belirli bir hafıza bölgesini başka bir bölgeye nasıl taşıyabiliriz? a) Programı başka bir yere taşıdığımızda çalışma-

- sını istiyorsak elimizde assembler ile yazılmış listesi olması gerekir. Programın JMP veya JSR gibi komutlarında $FFC3 gibi direkt adres kullanmak yerine CLOSE gibi label'lar kullanılmış olması gerekir. Aksi takdirde tüm adresleri yeni başlangıç yerine göre yeni baştan hesaplayıp düzeltmeniz gerekir. Eğer Label kullanıldı ise yapılması gereken bütün şey program listesinin başında yer alan başlangıç adresini yeni olmasını istediğimiz adrese çevirmektir. (b) Hafızanın belirli bir bölümünü başka bir yere taşımak için monitördeki komutları kullanabilirsiniz. Ancak bu işlemi programınızın çalışması sırasında yapmak istiyorsanız; LDA $0804 STA $C000 komutlarını istediğiniz sınırlara göre döngü içine alarak taşıma işlemini gerçekleştirebilirsiniz. Bu işlem sırasında LDA komutunu indeksli olarak kullanmayı unutmayın. (2) Makine dilinde PRINT komutunun karşılığı nedir? (8) Makine dilinde INPUT komutunun karşılığı nedir? Bu iki sorunuzun karşılığını da bu yazının Makine Dili bölümünde bu ay ve önümüzdeki aylarda bulabilirsiniz.

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