1 Kasım 1989 Tarihli Commodore Gazetesi Sayfa 21

1 Kasım 1989 tarihli Commodore Gazetesi Sayfa 21
Metin içeriği (otomatik olarak oluşturulmuştur)

Resim 2'de son öğrendiğimiz komutlarla ilgili bazı ge- rekli bilgiler yer almaktadır. Burada yine komutlar için harcanan süre çevrim sayısı (cycle) birim alınarak veril- miştir. Bu değerlerden faydalanarak yazdığınız program- daki bekleme sürelerini isteğiniz doğrultusunda belirle- yebilirsiniz. Bu bekleme sürelerinde bilgisayarımız prog- ramın işleyişini yavaşlatmaktan başka bir iş yapmaz fa- kat bu oldukça önemli bir unsurdur. Örneğin bir kelime işlem programı düşünün. Eğer bu programda tüm me- tinler bir anda ekrana gelip giderse hiçbir işe yaramaz. Dolayısıyla benzeri durumlarda makine dilinin işleyişini yavaşlatmak son derece önemlidir. Yalnız geciktirme programlarının oldukça çeşidi vardır. Bunlara yine da- ha sonra zamanı geldiğinde değineceğiz. Carry ve Overflew: Şu ana dek bilgisayarımızın tam sayıları nasıl sakladı- ğını öğrendik ve buna bağlı olarak da aritmetik işlemle- rinde kullanılan 9 yeni komut ile tanıştık. İsterseniz kısa bir hatırlatma yapalım: Tam sayılar C-64 tarafından ikinci dereceden karşılık- ları ile algılanmaktadır. 8-Bit bir sayının 7. Bit'i o sayı- nın önündeki işareti belirtmektedir. Eğer bu Bit **0” ise bu sayı her zaman kullandığımız normal bir ikilik sayı- dır. Diğer durumda ise, yani 7. Bit **1"” ise elimizde ne- gatif bir sayının ikinci dereceden karşılığı var demektir. 16 Bit'lik (2 Bayt) sayılar kullanırken ise 15. Bit işaret göstergesi olarak kullanılır. Bu sayılarla işlem yaptığımız bazen yanlış sonuç çıktı- ğını daha önce belirtmiştik. Bu sorunu çözerken statü re- gisterindeki iki bayrağı (göstergeyi) daha kullanacağız Carry ve V-bayrağı. “To Carry” dilimizde “taşımak"” anlamına gelmek- tedir. Register gösıergesınde bu bayrak kısaca **C” ile gösterilir. Şimdi, herşey iyi de burada taşınan nedir, di- ye sorabilirsiniz. Bu soruyu en iyisi bir örnek ile cevap- layalım. Örneğimizde normal ikilik sayılarla (İşaret Bit'ine bak- madan) işlem yapacağız. 128 ile 130'u toplayalım: 128 1000 0000 4130 — 41000 0010 258 (1)0000 0010 Sonuç olarak elde ettiğimiz 258 tastamam doğrudur fa- kat 8 Bit'e sığmamaktadır. Burada artan Bit özel olarak bu işi için ayrılmış bir yere, yani Carry Bit'ine taşınmış- tır. Eğer C-64'de aritmetik işlemlerinde bu tür bir artan olursa Carry Bit'i **1** olur. (Resim 3) Bazı durumlarda bu Carry Bit'ini göz ardı edebiliriz, fakat gnellikle sonraki işlemlerde bu Bit'in kullanılması gerekir. Yine burda da bazı özel durumlar için hata söz konusudur. Bilgisayarımız **1” değerini aldığında hemen işe negatif sa! karıştırmakta ve yanlış sonuçlam ulaş- maktadır. Bunu aşağıdaki örneği incelerseniz daha iyi an- layabilirsiniz: 21

Bu sayıdan diğer sayfalar: