Commodore sayı 18, sayfa 64

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 64

92 SHİFT tuşu basılmış gibi

Ateş tuşu basılı Sola 90 CTRL tuşu basılmış gibi Sağa 91 Aşağı 88

Aşağıdaki ufak programla BASIC 7.0'daki GETKEY komutunu gerçekleştirebilirsiniz:

10 IF PEEK(213)—88 THEN 10 20 GET A$ 30 PRİNT AS 40 GOTO 10

Aynı programı Makine Dilinde üç satırda yazabiliriz:

LDA $D5 CMP $58 Loop

Döngüden çıktığımızda A yazmacında basılan tuşun değeri bulunur.

Geçen bölümde çubuk grafikleri C128'in hazır grafik komutlarını kullanarak gerçekleştirdik. Bu bölümde daire grafik yapacak bir programımız var. Programın kendisini program döküm ekinde bulabilirsiniz. (Program 1) Programımızın ana hatlarını açıklayalım: 100-140 Kullanılacak renkler ayarlanıp ekran temizleniyor. 170-190 Programda kullanılacak diziler hazırlanıyor.

200-260 Seçtiğiniz madde sayısınca verileri giriyorsunuz. 270-370 Alınan veriler işleniyor. 380-410 Ekran temizlenip grafik ekranına geçiliyor ve daire çiziliyor. 420-680 Grafik çiziliyor. 730-780 Programın nasıl devam etmesi gerektiği kullanıcıdan soruluyor. Program döküm ekinde 6 numaralı programı yazarak bilgisayarınızda hem analog hem de dijital bir saat sahibi olabilirsiniz. Programın açıklanması: 130-220: Saat çiziliyor. 230-430: ZAMAN yazısı çiziliyor. 440-570: Saati kuruyoruz. 580-800: Her defasında zamanı yeniliyor ve her saniye sonunda ses çıkartıyor.

KENDİNİ DEĞİŞTİREN PROGRAMLAR

Bir program yazarken genellikle programımızı belirli bir konuyu halledecek şekilde hazırlarız. Bizim amacımız hazırladığımız programın çalışırken kendisine yeni program satırları eklemesi, yani kendisini değiştirmesidir. Sanırım çalışan bir programa yeni program satırları eklemek teknik açıdan oldukça zor, ancak biz daha kolay bir yol kullanacağız. İlk olarak programı durduracak sonra ekleyeceğimiz satırları ekleyip programı tekrar çalıştıracağız. Bütün bu işleri yapmamızda klavye tamponu büyük rol oynuyor. Aşağıdaki kısa programı yazıp çalıştırın.

10 TP-842 20 POKE 30 POKE TP4- 40 POKE TP <4 2,ASC(“S” 50 POKE TP 4 3,ASC('T” 60 POKE TP-4-4,13:REM 70: 80 POKE 208,5 90 END

Üstteki ufak programı çalıştırdığınızda programın devamlı olarak kendisini LİST ettiğini göreceksiniz. Programımız 20-50 satırlar arasındaki komutlar ile klavye tamponuna LİST komutunu gönderiyor, 60 numaralı satırda ise tampona RETURN tuşu gönderiliyor. 80 numaralı satır ile klavye tamponuna beş karakter gönderdiğimizi belirtiyoruz. Programımız nasıl çalışıyor? Program 90'ıncı satıra geldiğinde çalışmasını bitiriyor, ancak daha evvel klavye tamponuna konmuş olan LİST komutu programın LİST edilmesini sağlıyor. İsterseniz siz de programı değiştirerek LİST yerine RUN komutunu yazdırın, bu arada en sona RETURN tuşunun kodunu eklemeyi unutmayın.

GİRİŞİ

Şimdi de yazımızın başında belirttiğimiz gibi çalışan bir programı değiştirelim. Program döküm ekin-

) ) ) RETURN tuşu deki programı yazıp çalıştırmadan evvel SAVE edin. Programımızın 10-50 satırları arasında formülü kullanıcıdan İstiyoruz. 60-90 arası satırlar yeni bir satır üretilmesini sağlıyor. 100-120 satırları ile klavye tamponuna RETURN tuşunun ASCİİ kodu olan 13'ü gönderiyoruz ve 130'uncu satırda POKE 208,4 satırı ile klavye tamponunda dört değer olduğunu belirtiyoruz. Bundan sonra programımız otomatik olarak 500'üncü satırdan başlıyor,

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