1 Ocak 1990 Tarihli Commodore Gazetesi Sayfa 47

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

satırı ise X-Registeri'ni $3000 adre- sinin içeriği ile karşılaştırmaktadır. Burada kullanılan mutlak adresleme diğer karşılaştırma komutları içinde geçerlidir ve bu şekilde 3 bayt kap- larlar, CPY $A8 satırı ise Y-Registeri'ni bir sıfırıncı sayfa adresi olan SA8'in değeri ile karşılaştırır ve 2 baytlıktır. CPX ve CPY için olan tüm adres- leme çeşitleri yukarıda sayılanlardır. CMP için mevcut diğer yöntemlere ise daha sonra değineceğiz, fakat şim- di gelelim karşılaştırma sonuçlarını nereden öğreneceğimize. Sonuçların tekrar akümülatöre veya registerler- den herhangi birisine yazılması man- tıksız olacağı için bu iş için yine sta- tü registerindeki üç tanıdık bayrak (flag) kullanılır: N-Bayrağı (Negatif Flag), Z-Bayrağı (Zero Flag) ve Carry Bit Sonuçların gösterimi şu şekilde olur: 1) Register değeri (X, Y veya akü- mülatör) karşılaştırılan değerden bü- yükse Carry Bit — 1, N- ve Z-Bayrak- ları -0 olur. 2) Register değeri karşılaştırılan de- ğere eşitse Carry ve Z-Bayrağı — 1, N- Bayrağı -0 olur. 3) Register değeri karşılaştırılan de- ğerden küçükse N-Bayrağı - 1, Z- Bayrağı ve Carry -0 olur. Yukarıda anlatılanlar bir şema ha- linde Resim 2'de gösterilmiştir. Compare komutlarının en yaygın kullanım alanı dallanma operasyon- larıdır. ve genellikle . kernaldaki CHRGET rutiniyle bir bütün halin- de kullanılırlar. CHRGET kısaltması “*Get a cha- racter'' veya “bir işaret al”” anlamı- na gelmektedir. Tamamıyla Sıfırıncı Sayfada yer alan bu rutin makine di- linde oldukça sık kullanılır. Şimdi Ex-Mon'da aşağıdaki satırı yazın. D 0073 008B Böylelikle CHRGET rutinin tama- mını ekranda görebilirsiniz: INC $7A BNE $0079 INC $T7A LDA $0225 CMP # $3A BCS $O08A 0073 E6 TA Akümülatör Akümülatör Akümülatör BAYRAK X Veriler X z Veriler X Veriler Y Y Y N 0 veya İ 0 1 veya Ü Z 0 1 0 C 1 1 0 Resim 2 0080 — C9 20 CMP # $20 0082 FO EF BEO $0073 0084 38 SEC 0085 E9 30 SBC 3430 0087 — 38 SEC 0088 E9 Dü SBC $DO 008A — 6Ü RTS Yukarıdaki dökümde 0079 no'lu satır sizde daha farklı olacaktır. Bu farklılık $7A ve $7B adreslerinden ileri gelmektedir. Bu baytlar bir gös- terge gibi kullanılmaktadırlar (Alçak Bayt —- $7A ve $7B — Yüksek Bayt) ve büyük bir ihtimalle bu değer sizde $0225'den farklıdır. Yukarıdaki CHRGET rutinini ge- lecek ay detaylı olarak ele alacağız. Şimdilik hoşçakalın! m =WMUımuu

Bu sayıdan diğer sayfalar: