Commodore sayı 45, sayfa 23

Bu sayfadaki yazılar

Sayfanın metni

Sayfa 23

1200 CLC 1201 LDA $1400 1204 ADC $1300 1207 STA $1500

ADC mutlak olarak adreslendiği için 3 bayt kaplamıştır. Bu türden 8-Bit işlemler oldukça sık kullanılır: Örneğin bir döngüde ADC kullanılarak adım aralığı istenilen şekilde belirlenebilir. Pratikte 16-Bit hesap işlemlerinin çok önemli yeri vardır. Bildiğiniz gibi 16-Bit'lik bir sayı yüksek bayt ve alçak bayt olmak üzere iki parçaya ayrılır. İnceleyeceğimiz örnekte sadece 16 Bit'lik iki sayı toplanacak. SAYI1'in alçak baytı $1300'e, yüksek baytı ise $1301'e yerleştirilmelidir. Aynı şekilde SAYI2 ise $1400 ve $1401 adreslerinde yer almaktadır. Programımızın başında her zaman kullanmamız gereken hazırlık komutları yer almaktadır.

1200 CLD 1201 CLD

Önce her iki sayının da alçak baytlarını toplayalım:

1202 LDA $1300 1205 ADC $1400 1208 STA $1500

Burada 15. Bit işareti belirlediği için bu tür bir hata söz konusu değildir. Fakat birçok durumda iki sayının toplamı 255'ten ($FF) büyük olabilir. Eğer bu son hal gerçekleşirse Carry değerini alır. Şimdi yüksek baytları toplayalım: 120B LDA $1301 120E ADC $1401 1211 STA $1501

Carry Bit'inde ne olursa olsun yukarıdaki toplam işleminde beraber toplanacaktır. İşlemizin sonucu $1500

(Alçak Bayt) ve $1501'de (Yüksek Bayt) yer almaktadır. Örnek olarak 2176 (0000 1000 1000 0000) ve 1009 (0000 0011 1111 0001) sayılarını toplayalım. Burada kullanacağımız bellek birimleri şu şekilde düzenlenmelidir:

1300 1000 0000 Alçak Bayt 1301 0000 1000 Yüksek Bayt 1400 1111 0001 Alçak Bayt (SAYI2) 1401 000 001 Yüksek Bayt

İlk önce alçak baytları toplayalım:

1300 1000 0000 1400 1111 0001 Carry 0 1500 0001 Carry 1 Şimdi de yüksek baytları: 1301 0000 1000 1401 0000 0011 Carry 1 1501 0000 1100

Böylelikle sonuç olan 3185 (0000 1100 0111 0001) alçak ve yüksek bayt olarak $1500 ve $1501 adreslerinde yer alacaktır. Yalnız burada Carry'nin değeri “1”'dir. Bu nedenle yeni bir işleme başlamadan önce CLC ile Carry temizlenmelidir. Toplam hakkında bilmemiz gereken her şey yukarıda anlatılanlardan ibaret. Gelecek sayıda makine dilinde çıkartmanın nasıl yapıldığını göreceğiz. Hoşça kalın...

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