1 Ocak 1989 Tarihli Commodore Gazetesi Sayfa 50

1 Ocak 1989 tarihli Commodore Gazetesi Sayfa 50
Metin içeriği (otomatik olarak oluşturulmuştur)

Bulduğunuz oyun kolaylıklarını diğer Caommodore'- cu arkadaşlarla paylaşmak isterseniz bize gönderme- yi unutmayın. AMİSA'cı arkadaşlar da oyunlar hak- kındaki sorunlarını, bilgilerini veya AMISA ile ilgili di- ğer sorunlarını bana gönderebilirler. Adresimiz: Commaodore Dergisi Oyunlar İçin Kolaüylıklar Köşesi Şilahhane Cad. Ralli Apt. 59/3 80200 Teşvikiye-İstanbul MAKİNE DİLİ FOR-NEXT Bu komutu bazen programda bekleme meydana getirmek için kullanırız. Mesela, FOR1—1TO 10002 NEKXT | Bu komut hiç bir şey yapılmadan beklenmesini sağ- lar. Ve | değişkenin değeri 1000 olduğunda kontrol bir alttaki komuta geçer. Yazdığımız makine dili programlarda boş döngü- leri özellikle programı yavaşlatmak için kullanacağız. Mesela ekranda zıplayan bir top yapsak, bu top boş döngü olmadan belki de görünemeyecek kadar hızlı hareket edecektir. Ama gerekli yere döngü koyarak programın yavaşlamasını sağlarsak, hareket eden to- pun görünmesini sağlayabiliriz. Ne yazık ki makine dilinde BASIC'te olduğu gibi dön- günün ne zaman biteceğini belirten bir komut yok. Bu yüzden kendi sayaç değişkenimizi oluşturmalı ve bu değişkenin istenen değere gelip gelmediğini kont- rol etmeliyiz, Eğer istediğiniz döngü 255 çevrimden az olacak- sa X yazmacını sayaç olarak kullanabilirsiniz. Çünkü Y yazmacı çok kullanışlı olan dolaylı indeksleme ad- res modu İçin ayrılmıştır. Mesela X yazmacını kullana- rak 200'den 0'a doğrü sayacak bir progra yazalım: 2000 LDX 200 ; (veya SC8) 2002 DEX 2003 BNE $2002 255 çevrimden fazla döngüler için iki sayaç kullan- mak gerekir. Bu sayaçlardan birisi 255'den 0'a doğ- Tu giderken diğer sayacın değerinin artırılmasını sağ- lar, (Hatırlatalım, makine dilinde 255'ten sonra tekrar 0 gelir.) 512 sayacak bir program yazalım: 2000LDA $2 2002 STA $ö000Ü 6000 numaroalı adrese 2 değerini koyun Bu sayaç diğer sayacın her 255 saymasında bir azalacak, 2005 LDX — $O X yazmacını sıfıra eşitle. Böylece ilk DEX komutu X yazmacının değerini 255 yapsın. 2007 DEX - 2008 BNE S200/ 200A DEC $6000 ; — 6000 numaralı adresin değerini bir azdif. Z00D BNE $2007 Bu örnekte X yazmacını hizli dönen sayaç ölarük kül- landık, 6000 numaralı adresi ile yavaş değişen sayaç olarak kullandık. Bu adresi kullanmamızın sebebi, RAM de değeri değişmeyecek emin bir yer olması- dır. Buralarda bulunan istediğiniz başka bir adresi de kullanabilirsiniz. Bunlardan başka sifirinci sayfada yer alan, SFA ve $FB adreslerini de sayaç olarak kullanmanız mümkün- dü. Bu durumda LDA(SFA).Y şeklinde bir kullanım yapılabilirdi. FOR-NEXT-STEP Bu komut yardımı ile döngüde kullanılan değişke- nin değerini birden daha büyük aralıklarla değiştire- bilirsiniz. Mesela, FOR — 100 TO 1 STEP -2 komutunun makine dilinde karşılığı şöyle olabilir: 2000 LDX — 100 2002 DEX 2004 DEX 1004 BNE 52002 Daha büyük sayılar için iki değişken kullanabiliriz. Mesela. FOR 1—512 TO O STEP <2 komutunun karşılığı: —

Bu sayıdan diğer sayfalar: