1 Ağustos 1986 Tarihli Commodore Gazetesi Sayfa 57

1 Ağustos 1986 tarihli Commodore Gazetesi Sayfa 57
Metin içeriği (otomatik olarak oluşturulmuştur)

BATAN BİTİRMEZ. Bu yazımızın konusu FLAĞ'ler. Ama aslında İngilizce'de yanlış olarak adlandırılmış bir şey bu FLAS denen şey. FLAGS, İngilizce'- de “bayrak” demek. Aslında FLAG yalnızca iki değer alabilen bir değişken ya da iki durum ala- bilen bir cihaz olarak düşünülebi- lir. Herhalde, Amerikalılar bunu bayrağın kalkık ya da inik olma: sına benzetmiş olacaklar. Ama aslında işlevi de gözönünde bu- lundurulursa, FLAĞ'in, bir şeyi unutmamak üzere bir yere attığı- nız “ÇENTİK” olarak karşılanması, çok daha yerinde olur. Çentiğin atılmış olma durumuna SET durumu diyoruz; bu durumda ÇENTİK *1' değerini alır. Atımamış, ya da kaldırılmış olma durumuna ise CLEAR, yani “temiz”... Bu du- rumda İse ÇENTİK "0” değerini alır. ÇENTİK için “bir değişken” de- dik ama aslında, bunu bir bellek yerleşiminden ziyade, bir elektrik AÇMA/KAPAMA düğmesine ben: zetmek daha doğru olur. Çenti- Basic Bilenler İçin Makine Dili-5 Biliyorum, tam bitirdi diye seviniyordunuz ki, işte yine karşınızdayım. Ama ne yapalım? Okurların makine diline olan taleplerinin ardı arkası kesilmiyor. Buralarda da, makine dilini bilen çok da, benim gibi lisan-ı münasiple, anlaşılır bir dille anlatabilecek başka kimse yok goaliba. (Aman n'olur, bunun Üzerine, yazdığın hiçbir şeyi anlamıyoruz, diye mektup yazıp beni rezil etmeyin.) Flag Nedir? Bayrak mı, Çentik mi? ğin açık olduğu, yani etkilendiği durum 1 ile, kapalı olduğu, yani etkilenmediği durum ise SIFİR ile belirtilir. İ C-64'te yedi tane ÇENTİK var. Bunlardan altı tanesine makine dilinden çeşitli komutlarla biz ula- şabiliriz, yedincisi sadece, minikiş- lemcinin işine yarıyor. Çentiklerin tamamı Status Re- gister (Durum Sicili) denilen yerde- dir. Dolayısıyla, Status Register okunarak hepsi birden görülebi- lir. Şimdi sırayla durum sicilindeki bu çentiklerin neler olduğunu ve onları nasıl etkileyebileceğimizi gözden geçirelim. Carry (elde) Flag: Durum sicilinin O noJu bitidir. Toplama veya diğer aritmetik iş- lemlerden sonra elde olup olma- dığını gösterir. Bu çentiği sıfırla- mak için CLC (Clear Carry kelime- lerinin baş harflerinden), birlemek için ise SEC (Set Carry kelimeleri- nin baş harflerinden) komutları kullanılır. Zero (sıfır) Flag: Durum sicilinin bir no.lu bitidir. Karşılaştırma ve çıkarma işlemle- rinde sonucun sıfır olup olmadığı- nı gösterir. Doğrudan doğruya bu çentiğin durumunu değiştirecek bir kommut yoktur. Dolayısıyla bu çentiğin de- ğeri ancak dolaylı yolla, yani ör- neğin sonucu sıfır olan bir çıkar- ma işlemi yaptırarak değiştirilebi- lir. Interrupt Disable Flag (Müdahaleleri durdurma çentiği): Durum sicilinin iki no.lu bitidir. Bu çentiğin 1 değerini alması, mikro- işlemciye programın çalışması sı- rasında gelebilecek herhangi bir Iİnterrupt talebini dikkate alma- ması gerektiğini gösterir. Bu SEİ (SET İnterrupt kelimelerinin baş harfleri) komuta ile sağlanır. Çen- tiği yeniden temizlemek, yani programı yeniden müdahale edi-

Bu sayıdan diğer sayfalar: