Commodore sayı 47, sayfa 46

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 46

Bayt Etkilediği Komut: | Adresleme: Sayısı | Hex Dec | Süre: | Bayraklar LDA Sıfırıncı Sayfa 2 A5 165 3 NZ LDX Sıfırıncı Sayfa 2 AB 166 3 NZ LDY Sıfırıncı Sayfa 2 A4 164 3 NZ STA Sıfırıncı Sayfa 2 85 133 3 - STX Sıfırıncı Sayfa 2 86 134 3 - STY Sıfırıncı Sayfa 2 84 132 3 - INC | Sıfırıncı Sayfa 2 DE 222 5 | NZ DEC Sıfırıncı Sayfa 2 C6 198 5 NZ ADC Sıfırıncı Sayfa 2 65 101 3 SBC Sıfırıncı Sayfa 2 E5 229 3 CMP | Dolaysız 201 2 NZC Mutlak 3 CD 205 4 N.Z.C Sıfırıncı Sayfa 2 C5 197 3 N.Z.C CPX Dolaysız 2 E0 224 2 N.Z.C Mutlak 3 EC 236 4 Sıfırıncı Sayfa 2 E4 228 3 CPY Dolaysız 2 C0 192 2 NZ.C Mutlak 3 CC 204 4 Sıfırıncı Sayfa 2 C4 196 3 NZ.C, Resim 1:

şeyler not etmektedir. Böylece Assembler programcıları için sıfırıncı sayfayı kullanmak oldukça zor bir hal almıştır ve bazı sıfırıncı sayfa değerlerinin değiştirilmesi felaketlere yol açabilir. Bu nedenle kendiniz C-64'ün bellek haritasını inceleyip hangi adresleri kullanacağınıza karar vermelisiniz. Her Assembler programcısının kendine özgü sıfırıncı sayfa adresleme yöntemleri vardır. Yalnız $02 ve $FB-$FE baytlarında her an gönül rahatlığı ile adresleme yapabilirsiniz. Eğer programcılık bilginize güveniyorsanız Basic yorumlayıcıyı ve C-64'ün işletim sistemini tamamıyla devre dışı bırakma olanağına her zaman sahipsiniz. Böylelikle Sıfırıncı sayfanın tümünü rahatlıkla kullanabilirsiniz, yalnız bu durumda gerekli olacak tüm rutinleri kendi başınıza oluşturmak zorunda kalacağınızı kesinlikle unutmayın. Sonuçta kernal rutinleri kullanılarak yapılabilen en basit işlem bile içinden çıkılamayacak bir hal alacağı için bu yöntem çoğu zaman ihmal edilir. Kursumuzun bundan sonraki bölümünde sık sık sıfırıncı sayfa adresleme yöntemini kullanacağız ve bu sayfayı kullanan kernal ve Basic yorumlayıcı rutinlerini inceleyeceğiz. Sıfırıncı Sayfa'yı kullanan rutinlere en güzel örnek CHRGET rutinidir. Bu program sadece Sıfırıncı sayfayı kullanmaz, tamamıyla burada yeralır. Bu çok gerekli rutinin kullanılışına geçmeden önce karşılaştırma komutlarını ele almalıyız.

Kı Komutları:

X, CPY

Karşılaştırma kelimesinin İngilizce karşılığı “to compare”'dir ve bu kelimeden makine dilindeki CMP, CPY ve CPX komutları türetilmiştir. Burada karşılaştırılacak eleman akümülatör olduğu zaman CMP, X-Register'i olduğu zaman CPX ve de Y-Register'i olduğu zaman CPY kullanılır. Birkaç örnekle konuya daha açıklık kazandırabiliriz:

CMP $FF

Satırı akümülatörün değerini $FF sayısı ile karşılaştırır. Burada dolaysız adresleme kullanılmıştır ve komut bu haliyle 2 bayt'lıktır. Aynı adresleme CPX ve CPY komutları için de kullanılabilir.

CPX $3000

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